[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