[FFmpeg-devel] [PATCH 0/3] avcodec: move HDR10 (MDCV/CLL) SEI handling to h2645_sei

Jan Ekström jeebjp at gmail.com
Wed Jul 12 21:32:44 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.

Notes: 
* At least in ffprobe and FATE tests the code works even without the additional
  sync in "update_thread_context" in either HEVC or H.264 (as the viewing
  environment SEI patch set showed earlier). As the current HEVC code had such
  sync, I kept it and added a similar thing to the H.264 decoder.
** If this is required for all things, the sync should possibly be added to
   ff_h2645_sei_ctx_replace? As currently both the HEVC and H.264 decoders are
   synchronizing various structs by themselves in addition to calling
   ctx_replace.
* I did not add a simlar decrementing logic to the H.264 decoder for now,
  as not sure how it should be handled exactly.

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                   |  78 +++--------------
 tests/ref/fate/hevc-hdr-vivid-metadata |   6 +-
 7 files changed, 143 insertions(+), 137 deletions(-)

-- 
2.41.0



More information about the ffmpeg-devel mailing list