Message ID | 20210101213537.169546-1-sw@jkqxz.net |
---|---|
Headers | show |
Series | Metadata handling in CBS | expand |
Hi, Are there any plans to get this (or even a similar patch) merged? I was excited to see this initially, but it has been six months now without a word about it. Thanks, Kenny > On Jan 1, 2021, at 2:35 PM, Mark Thompson <sw@jkqxz.net> wrote: > > Happy New Year! > > The fun part here is: > > AVMasteringDisplayMetadata mdm = { ... }; > AVContentLightMetadata clm = { ... }; > ff_cbs_insert_metadata(cbc, fragment, CBS_METADATA_MASTERING_DISPLAY, &mdm); > ff_cbs_insert_metadata(cbc, fragment, CBS_METADATA_CONTENT_LIGHT_LEVEL, &clm); > > which does whatever is needed to splice that metadata into the given bitstream fragment. > > It's implemented for H.264, H.265 and AV1 here. Extension to the common parts of H.266 is trivial (just add to the type table). > > The metadata bitstream filters are extended to support that as well from side data. That's only library-usable, though - there is no ffmpeg-the-program interface for including the side data in the first place. (From discussion on IRC a few days ago there was interest in adding ffmpeg support for that along with automatic BSF insertion?) > > Not particularly well tested, since much of this was written in the last few days (though some parts like the common BSF implementation have been sent before). > > - Mark > > > Mark Thompson (27): > cbs_h2645: Merge SEI messages in common between codecs > h264_metadata_bsf: Move SEI user data parsing to init time > cbs_h2645: Merge SEI message handling in common between codecs > cbs_sei: Remove restrictions on MDCV values > h264_metadata_bsf: Refactor the filter function into smaller parts > h264_metadata_bsf: Improve interpretation of input display matrices > cbs: Implement common parts of cbs-based bitstream filters separately > h264_metadata_bsf: Use common cbs bsf implementation > h265_metadata_bsf: Use common cbs bsf implementation > mpeg2_metadata_bsf: Use common cbs bsf implementation > vp9_metadata_bsf: Use common cbs bsf implementation > av1_metadata_bsf: Use common cbs bsf implementation > h264_redundant_pps_bsf: Use common cbs bsf implementation > cbs: Add interface for manipulating metadata in fragments > cbs_sei: Implement metadata manipulation for SEI codecs > cbs_sei: Implement fill and extract for HDR SEI messages > cbs_h264: Implement fill and extract for display orientation SEI > message > cbs_av1: Implement metadata manipulation > cbs_av1: Support manipulating HDR CLL and MDCV metadata > cbs: Add interface to allow BSFs easy access to metadata manipulation > h264_metadata_bsf: Simplify display orientation handling > h264_metadata_bsf: Support HDR metadata > h265_metadata_bsf: Support HDR metadata > av1_metadata_bsf: Support HDR metadata > vaapi_encode: Unify SEI option mask enum > vaapi_encode_h265: Ensure that HDR metadata is included with seek > points > vaapi_encode_h264: Support HDR metadata > > doc/bitstream_filters.texi | 51 +++ > libavcodec/Makefile | 6 +- > libavcodec/av1_metadata_bsf.c | 198 ++------- > libavcodec/cbs_av1.c | 233 +++++++++++ > libavcodec/cbs_bsf.c | 234 +++++++++++ > libavcodec/cbs_bsf.h | 106 +++++ > libavcodec/cbs_h264.h | 79 +--- > libavcodec/cbs_h2645.c | 494 ++++++++++++++++------ > libavcodec/cbs_h264_syntax_template.c | 271 +----------- > libavcodec/cbs_h265.h | 66 +-- > libavcodec/cbs_h265_syntax_template.c | 370 ++--------------- > libavcodec/cbs_internal.h | 17 + > libavcodec/cbs_metadata.c | 107 +++++ > libavcodec/cbs_metadata.h | 94 +++++ > libavcodec/cbs_sei.c | 469 +++++++++++++++++++++ > libavcodec/cbs_sei.h | 350 ++++++++++++++++ > libavcodec/cbs_sei_syntax_template.c | 307 ++++++++++++++ > libavcodec/h264_metadata_bsf.c | 569 ++++++++++---------------- > libavcodec/h264_redundant_pps_bsf.c | 99 +---- > libavcodec/h265_metadata_bsf.c | 213 +++------- > libavcodec/mpeg2_metadata_bsf.c | 94 +---- > libavcodec/vaapi_encode.h | 8 + > libavcodec/vaapi_encode_h264.c | 125 ++++-- > libavcodec/vaapi_encode_h265.c | 123 ++---- > libavcodec/vp9_metadata_bsf.c | 61 +-- > 25 files changed, 2859 insertions(+), 1885 deletions(-) > create mode 100644 libavcodec/cbs_bsf.c > create mode 100644 libavcodec/cbs_bsf.h > create mode 100644 libavcodec/cbs_metadata.c > create mode 100644 libavcodec/cbs_metadata.h > create mode 100644 libavcodec/cbs_sei.c > create mode 100644 libavcodec/cbs_sei.h > create mode 100644 libavcodec/cbs_sei_syntax_template.c > > -- > 2.29.2 > _______________________________________________ > 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".