From: James Almer <jamrial@gmail.com> To: ffmpeg-devel@ffmpeg.org Subject: Re: [FFmpeg-devel] [PATCH 07/29] lavc: add a decoder option for configuring side data preference Date: Tue, 5 Mar 2024 12:07:05 -0300 Message-ID: <e9c0bf33-c9eb-4481-bdf8-d6c548e00ccb@gmail.com> (raw) In-Reply-To: <170965045875.29002.15043263301458990476@lain.khirnov.net> On 3/5/2024 11:54 AM, Anton Khirnov wrote: > Quoting James Almer (2024-03-05 15:35:02) >> On 3/5/2024 11:29 AM, Anton Khirnov wrote: >>> Quoting James Almer (2024-03-05 13:30:58) >>>>> + {"dynamic_hdr10_plus", .default_val.i64 = AV_PKT_DATA_DYNAMIC_HDR10_PLUS, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, >>>> >>>> This one packet/frame level only, not global. >>> >>> It is in sd_global_map >> >> Then that's a mistake, and I'm probably he culprit. HDR10+ is per frame >> metadata. Static HDR metadata are mastering_display and ccl. > > Ok, dropped from the options table locally. > >> >>> >>>> Is this option meant to also choose which one of those to use? >>> >>> ??? >> >> You can have packet side data at the container level that corresponds to >> the same thinga per frame side data at the bitstream level does. In >> HDR10+ case, Matroska may have it in block additional, and then afaik it >> could be present in the hevc bitstream. >> One of them should have priority, or the user could be given the choice. > > Right, I've thought about this a bit, but then couldn't find any side > data types that some container could export per-packet AND could also be > present in the bitstream. Aside from HDR10+, I'm sure this scenario can also happen with closed captions. > > One possible solution is to rename the option to something like > side_data_prefer_external (better names welcome), and have it switch > between user-supplied (i.e. global or per-packet) and in-bitstream side > data. > > This adds an ambiguity for the hypothetical case where some side data > exists as global and per-packet - then I'd say lavc should default to > per-packet and leave the other case to the caller (should be very rare, > possibly could be handled with a bitstream filter). If a given side data type at the container level were to be duplicated in the header (global) and per packet, then IMO the packet must have priority, given it's the container overriding its own parameters. _______________________________________________ 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-03-05 15:07 UTC|newest] Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top 2024-03-04 13:06 [FFmpeg-devel] [PATCH 01/29] lavu/opt: factor per-type dispatch out of av_opt_get() Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 02/29] lavu/opt: factor per-type dispatch out of av_opt_set() Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 03/29] libavutil/opt: rework figuring out option sizes Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 04/29] lavu/opt: factor per-type dispatch out of av_opt_copy() Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 05/29] lavu/opt: distinguish between native and foreign access for AVOption fields Anton Khirnov 2024-03-04 22:39 ` Marton Balint 2024-03-05 9:48 ` Anton Khirnov 2024-03-05 10:17 ` Diederick C. Niehorster 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 06/29] lavu/opt: add array options Anton Khirnov 2024-03-04 13:29 ` Andreas Rheinhardt 2024-03-04 21:00 ` Anton Khirnov 2024-03-05 8:52 ` Andreas Rheinhardt 2024-03-07 14:50 ` Andreas Rheinhardt 2024-03-07 15:24 ` [FFmpeg-devel] [PATCH v2 " Anton Khirnov 2024-03-04 21:32 ` [FFmpeg-devel] [PATCH " Marton Balint 2024-03-05 9:50 ` Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 07/29] lavc: add a decoder option for configuring side data preference Anton Khirnov 2024-03-04 14:05 ` Derek Buitenhuis 2024-03-05 9:57 ` Anton Khirnov 2024-03-05 12:30 ` James Almer 2024-03-05 14:29 ` Anton Khirnov 2024-03-05 14:35 ` James Almer 2024-03-05 14:54 ` Anton Khirnov 2024-03-05 15:07 ` James Almer [this message] 2024-03-05 15:19 ` Anton Khirnov 2024-03-06 13:58 ` [FFmpeg-devel] [PATCH v2 " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 08/29] avcodec: add internal side data wrappers Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 09/29] lavc: add content light/mastering display " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 10/29] avcodec/av1dec: respect side data preference Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 11/29] avcodec/cri: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 12/29] avcodec/h264_slice: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 13/29] lavc/hevcdec: pass an actual codec context to ff_h2645_sei_to_frame() Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 14/29] avcodec/hevcdec: respect side data preference Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 15/29] avcodec/libjxldec: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 16/29] avcodec/mjpegdec: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 17/29] avcodec/mpeg12dec: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 18/29] avcodec/pngdec: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 19/29] avcodec/tiff: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 20/29] avcodec/webp: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 21/29] avcodec/libdav1d: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 22/29] avcodec/dpx: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 23/29] avcodec/mpeg12dec: use ff_frame_new_side_data Anton Khirnov 2024-03-04 13:36 ` Andreas Rheinhardt 2024-03-05 10:00 ` Anton Khirnov 2024-03-07 11:19 ` Andreas Rheinhardt 2024-03-07 12:18 ` Anton Khirnov 2024-03-07 12:25 ` James Almer 2024-03-07 12:37 ` Anton Khirnov 2024-03-07 20:05 ` Niklas Haas 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 24/29] avcodec/h2645_sei: use ff_frame_new_side_data_from_buf Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 25/29] avcodec/snowdec: use ff_frame_new_side_data Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 26/29] avcodec/mjpegdec: " Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 27/29] avcodec/hevcdec: switch to ff_frame_new_side_data_from_buf Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 28/29] lavc/*dec: use side data preference for mastering display/content light metadata Anton Khirnov 2024-03-04 13:06 ` [FFmpeg-devel] [PATCH 29/29] tests/fate/matroska: add tests for side data preference Anton Khirnov 2024-03-07 23:42 ` Andreas Rheinhardt 2024-03-07 9:30 ` [FFmpeg-devel] [PATCH 01/29] lavu/opt: factor per-type dispatch out of av_opt_get() Anton Khirnov
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=e9c0bf33-c9eb-4481-bdf8-d6c548e00ccb@gmail.com \ --to=jamrial@gmail.com \ --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