[FFmpeg-devel] [PATCH v2 0/3] avcodec: move HDR10 (MDCV/CLL) SEI handling to h2645_sei
Jan Ekström
jeebjp at gmail.com
Tue Jul 25 22:29:08 EEST 2023
This allows parsing code to be re-utilized from H.264, as well as probably
from VVC in the future.
This additionally eases verification of the AVCodecContext side data patch
set, which includes libx264 integration for HDR10 side data.
Changes from v1:
* Reordered the new h2645_sei include to correct location as per alphabetical
order. Thanks for Leo Izen for noticing this.
* Cleaned up the mastering_display_metadata.h include in hevcdec, as that file
no longer directly handles AVContentLightMetadata or
AVMasteringDisplayMetadata.
Notes:
* In addition to testing with FATE, looking at the show_frames ffprobe output
for a UHD BD sample with each IRAP containing these SEI entries, the
behavior is the same as before with regards to each frame having the side
data persist.
There is also no change with tests I've done with a UHD BD mp4 remux as well
as an iphone 12 sample I had around, So I think I have not modified the HEVC
behavior in any great manner.
* As for H.264, it now automatically gains support for these SEI messages. It
seems like its definition of CVS (coded video sequence) is from one IDR to
another (essentially a GOP). That said, currently the decoder resets the SEI
setup in decode_nal_units, which means that the side data only persist for
a single frame.
Jan
Jan Ekström (3):
avcodec: move mastering display colour volume SEI handling to
h2645_sei
avcodec: move content light level SEI handling to h2645_sei
avcodec/hevcdec: simplify decrementing of MDCV/CLL flags
libavcodec/h2645_sei.c | 112 +++++++++++++++++++++++++
libavcodec/h2645_sei.h | 16 ++++
libavcodec/h264_slice.c | 2 +
libavcodec/hevc_sei.c | 50 -----------
libavcodec/hevc_sei.h | 16 ----
libavcodec/hevcdec.c | 79 +++--------------
tests/ref/fate/hevc-hdr-vivid-metadata | 6 +-
7 files changed, 143 insertions(+), 138 deletions(-)
--
2.41.0
More information about the ffmpeg-devel
mailing list