[FFmpeg-devel] [PATCH v2 2/7] lavutil: add dolby vision related header

mypopy at gmail.com mypopy at gmail.com
Sun Apr 12 04:30:50 EEST 2020


On Sat, Apr 11, 2020 at 11:01 PM Jan Ekström <jeebjp at gmail.com> wrote:
>
> On Sat, Apr 11, 2020 at 5:49 PM Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> >
> > Am Sa., 11. Apr. 2020 um 16:08 Uhr schrieb Jun Zhao <mypopydev at gmail.com>:
> > >
> > > From: vacinfang <vacinfang at tencent.com>
> > >
> > > add dolby vision related header
> >
> > Apart from the name of the header file:
> > Could you explain why it is needed?
> >
> > Is the Dolby Vision metadata not a black box that libavformat
> > has to provide to interested decoders?
> >
>
> There's usually two different things:
>
> 1. Metadata in the file confirming that this is indeed DoVi. This is
> what is being parsed. Otherwise the player application has no idea how
> to handle DoVi (many of the profiles are actually just re-brands of
> already standardized setups, while profiles 5 and I think 7 are the
> more interesting ones).
> 2. The kind of "black box" (RPU) metadata within NAL units 62. That is
> then what (for now) would be passed to a special metadata reader to
> enable correct rendering of f.ex. profile 5 clips.
>
> This patch set enables noting whether a file has the general metadata
> from 1. I have seen implementations of 2. around, and we might have a
> patch set for it at some point in the near future as we already have
> open source code to render the DoVi data w/o the dynamic metadata of
> those NAL unit 62 entries (see
> https://code.videolan.org/videolan/libplacebo/-/commit/f850fa2839f9b679092e721068a57b0404608bdc
> ).
>
> So to reiterate:
> - The container metadata lets a player figure out if the AVStream is
> flagged as DoVi and in which profile/level/does it have base|extension
> layer contained within it.
> - The NAL unit 62 metadata (RPUs) then enable correct rendering in
> case of a profile that is not backwards compatible with standard color
> spaces.
>
> Best regards,
> Jan
Yes, you are right, and thanks given a great details too, in our case,
we used FFmpeg libavformat for Dolby Vision MPEG TS/MP4 demuxing,
libavformat will parse the profile/level from MPEG TS/MP4 for other decoder (
the decoder is not part of FFmpeg)


More information about the ffmpeg-devel mailing list