From: Niklas Haas <ffmpeg@haasn.xyz> To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH v2 16/17] fftools/ffmpeg_filter: propagate codec yuv metadata to filters Date: Wed, 10 Apr 2024 12:29:06 +0200 Message-ID: <20240410122906.GB9919@haasn.xyz> (raw) In-Reply-To: <20240410012545.GM6420@pb2> On Wed, 10 Apr 2024 03:25:45 +0200 Michael Niedermayer <michael@niedermayer.cc> wrote: > On Mon, Apr 08, 2024 at 02:57:20PM +0200, Niklas Haas wrote: > > From: Niklas Haas <git@haasn.dev> > > > > To convert between color spaces/ranges, if needed by the codec > > properties. > > --- > > fftools/ffmpeg_filter.c | 34 ++++++++++++++++++++++++++++++++++ > > 1 file changed, 34 insertions(+) > > I presume this is intended to change some cases > iam asking because it does > for example, this one > -i aletrek.mkv -t 1 -bitexact /tmp/file-aletrek-palette.mkv > has the output file change slightly > > https://trac.ffmpeg.org/attachment/ticket/5071/aletrek.mkv > > also given fate does not change, it would make sense to add a testcase > to fate that does cover this Two notes: 1. The only difference between the `master` behavior and the new behavior is that the file is marked as limited range instead of as unspecified. However, this is the correct tagging, as the actual output *is* limited range. 2. While not *broken* per se, this is actually still a bug - in this case, since the input is basically full range, we should actually try and output full range by default. The reason it doesn't output full range here is because a consequence of the fact that format reduction happens *before* the logic in pick_format() fixes all non-YUV links to be tagged as PC/RGB-only. So the format reduction logic just sees that vf_scale can output any range in this scenario (true) and picks TV range output as the default, resulting in a conversion from the PC range input to a TV range output. The easiest solution would be to not blindly pick the first here, but to instead try and pick a colorspace and range matching the input (if one exists). But this may still break in more complicated scenarios where the dependence on the forced format spans several filters. The more correct solution would probably be to explicitly reduce only the format first (going through all the steps) and then negotiate everything that depends on the format in an entirely separate step. I'll see if I can do something about this situation, though it's ultimately not a high priority as it's not a regression compared to the status quo - just something that we could definitely improve. > > thx > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > What does censorship reveal? It reveals fear. -- Julian Assange > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2024-04-10 10:29 UTC|newest] Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-04-08 12:57 [FFmpeg-devel] [PATCH v2 00/17] Add avcodec_get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 01/17] avcodec/internal: add FFCodec.color_ranges Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 02/17] avcodec: add avcodec_get_supported_config() Niklas Haas 2024-08-01 1:48 ` Andreas Rheinhardt 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 03/17] avcodec/encode: switch to avcodec_get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 04/17] avcodec/allcodecs: add backcompat for new config API Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 05/17] avcodec/libx265: switch to get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 06/17] avcodec/libvpxenc: " Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 07/17] avcodec/libaomenc: " Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 08/17] avcodec/mjpegenc: " Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 09/17] avcodec/codec_internal: nuke init_static_data() Niklas Haas 2024-04-09 13:00 ` Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 10/17] fftools/opt_common: switch to avcodec_get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 11/17] fftools: drop unused/hacky macros Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 12/17] fftools/ffmpeg_mux_init: switch to avcodec_get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 13/17] fftools/ffmpeg_filter: set strict_std_compliance Niklas Haas 2024-04-09 13:01 ` Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 14/17] fftools/ffmpeg_filter: simplify choose_pix_fmts Niklas Haas 2024-04-10 1:13 ` Michael Niedermayer 2024-04-10 11:23 ` Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 15/17] fftools/ffmpeg_filter: switch to avcodec_get_supported_config() Niklas Haas 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 16/17] fftools/ffmpeg_filter: propagate codec yuv metadata to filters Niklas Haas 2024-04-10 1:25 ` Michael Niedermayer 2024-04-10 10:29 ` Niklas Haas [this message] 2024-04-10 10:31 ` Niklas Haas 2024-04-10 12:59 ` Michael Niedermayer 2024-04-10 13:10 ` Niklas Haas 2024-04-10 13:12 ` Nicolas George 2024-04-11 7:45 ` Paul B Mahol 2024-04-08 12:57 ` [FFmpeg-devel] [PATCH v2 17/17] fftools/ffmpeg_filter: remove YUVJ hack Niklas Haas
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20240410122906.GB9919@haasn.xyz \ --to=ffmpeg@haasn.xyz \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git