On 12/7/2021 4:59 PM, Niklas Haas wrote:
From: Niklas Haas <g...@haasn.dev> Based on a mixture of guesswork, partial documentation in patents, and reverse engineering of real-world samples. Confirmed working for all the samples I've thrown at it. Contains some annoying machinery to persist these values in between frames, which is needed in theory even though I've never actually seen a sample that relies on it in practice. May or may not work. Notable omissions: - CRC32 verificaiton. This is based on the MPEG2 CRC32 type, which does not seem to be implemented in lavc. (And I don't care enough to do so) - Linear interpolation support. Nothing documents this (beyond its existence) and no samples use it, so impossible to implement. - All of the extension metadata blocks, but these contain values that are basically congruent with ST2094, HDR10, or other existing forms of side data, so I will defer parsing/attaching them to a future commit. Heavily influenced by https://github.com/quietvoid/dovi_tool Documentation drawn from US Patent 10,701,399 B2 and ETSI GS CCM 001 Signed-off-by: Niklas Haas <g...@haasn.dev> --- libavcodec/Makefile | 2 + libavcodec/dovi.c | 367 ++++++++++++++++++++++++++++++++++++++++++++ libavcodec/dovi.h | 62 ++++++++ 3 files changed, 431 insertions(+) create mode 100644 libavcodec/dovi.c create mode 100644 libavcodec/dovi.h diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 4122a9b144..ece29ca0bd 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -14,6 +14,7 @@ HEADERS = ac3_parser.h \ d3d11va.h \ defs.h \ dirac.h \ + dovi.h \
No need to add it to the installed headers list. It's internal. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".