[FFmpeg-devel] [PATCH 3/4] lavc: Implement Dolby Vision RPU parsing
James Almer
jamrial at gmail.com
Wed Dec 8 00:44:45 EET 2021
On 12/7/2021 4:59 PM, Niklas Haas wrote:
> From: Niklas Haas <git at 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 <git at 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.
More information about the ffmpeg-devel
mailing list