[FFmpeg-devel,0/5] Implement SEI parsing for QSV decoders

Message ID DM8P223MB036593954D38BB2FF563EE7EBA669@DM8P223MB0365.NAMP223.PROD.OUTLOOK.COM
Headers show


Soft Works Nov. 29, 2021, 6:51 p.m. UTC
Missing SEI information has always been a major drawback when using 
the QSV decoders. I used to think that there's no chance to get at 
the data without explicit implementation from the MSDK side (or doing
something weird like parsing in parallel).
It turned out that there's a hardly known api method that provides
access to all SEI (h264/hevc) or user data (mpeg2video).

This allows to get things like closed captions, frame packing, display
orientation, HDR data (mastering display, content light level, etc.)

softworkz (5):
  avcodec/mpeg12dec: make mpeg_decode_user_data() accessible
  avcodec/hevcdec: make set_side_data() accessible
  avcodec/h264dec: make h264_export_frame_props() accessible
  avcodec/qsvdec: Implement SEI parsing for QSV decoders
  avcodec/qsvenc: Ensure payload array is initialized when using

 libavcodec/h264_slice.c |  98 ++++++++++---------
 libavcodec/h264dec.h    |   2 +
 libavcodec/hevcdec.c    | 112 +++++++++++----------
 libavcodec/hevcdec.h    |   2 +
 libavcodec/mpeg12.h     |  25 +++++
 libavcodec/mpeg12dec.c  |  36 +------
 libavcodec/qsvdec.c     | 210 ++++++++++++++++++++++++++++++++++++++++
 libavcodec/qsvenc.c     |  11 ++-
 8 files changed, 359 insertions(+), 137 deletions(-)