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".

Reply via email to