[FFmpeg-devel] [PATCH 1/2 v3] lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264

Jan Ekström jeebjp at gmail.com
Mon Dec 17 23:29:40 EET 2018


On Mon, Dec 17, 2018 at 11:23 PM Paul B Mahol <onemda at gmail.com> wrote:
>
> On 12/3/18, Jan Ekström <jeebjp at gmail.com> wrote:
> > From: Rodger Combs <rodger.combs at gmail.com>
> >
> > These are registered identifiers at the MPEG-4 RA, which are
> > defined as to be utilized for Dolby Vision AVC/HEVC streams that
> > are not correctly presentable by standards-compliant AVC/HEVC players.
> >
> > According to the Dolby Vision specification for ISOBMFF, these sample
> > entry codes are specified to have the standard AVC or HEVC decoder
> > configuration box in addition to the Dolby custom DOVIConfigurationBox.
> > This is what enables us to decode the streams without custom parsing.
> >
> > For correct presentation information from the DOVIConfigurationBox
> > is required (YCbCr or modified ICtCP, SDR or HDR, base or enhancement
> > layer).
> > ---
> >  libavformat/isom.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> >
> > diff --git a/libavformat/isom.c b/libavformat/isom.c
> > index ca9d22e4f7..f7e1654484 100644
> > --- a/libavformat/isom.c
> > +++ b/libavformat/isom.c
> > @@ -163,6 +163,8 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
> >
> >      { AV_CODEC_ID_HEVC, MKTAG('h', 'e', 'v', '1') }, /* HEVC/H.265 which
> > indicates parameter sets may be in ES */
> >      { AV_CODEC_ID_HEVC, MKTAG('h', 'v', 'c', '1') }, /* HEVC/H.265 which
> > indicates parameter sets shall not be in ES */
> > +    { AV_CODEC_ID_HEVC, MKTAG('d', 'v', 'h', 'e') }, /* HEVC-based Dolby
> > Vision derived from hev1 */
> > +                                                     /* dvh1 is handled
> > within mov.c */
> >
> >      { AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '1') }, /* AVC-1/H.264 */
> >      { AV_CODEC_ID_H264, MKTAG('a', 'v', 'c', '2') },
> > @@ -185,6 +187,8 @@ const AVCodecTag ff_codec_movvideo_tags[] = {
> >      { AV_CODEC_ID_H264, MKTAG('r', 'v', '6', '4') }, /* X-Com Radvision */
> >      { AV_CODEC_ID_H264, MKTAG('x', 'a', 'l', 'g') }, /* XAVC-L HD422
> > produced by FCP */
> >      { AV_CODEC_ID_H264, MKTAG('a', 'v', 'l', 'g') }, /* Panasonic P2
> > AVC-LongG */
> > +    { AV_CODEC_ID_H264, MKTAG('d', 'v', 'a', 'v') }, /* AVC-based Dolby
> > Vision derived from avc1 */
> > +    { AV_CODEC_ID_H264, MKTAG('d', 'v', 'a', '1') }, /* AVC-based Dolby
> > Vision derived from avc3 */
> >
> >      { AV_CODEC_ID_VP8,  MKTAG('v', 'p', '0', '8') }, /* VP8 */
> >      { AV_CODEC_ID_VP9,  MKTAG('v', 'p', '0', '9') }, /* VP9 */
> > --
> > 2.19.2
>
> OK

As it was verified to pass FATE on IRC, the patch with the comments
matching the AVC identifiers (they were the other way around) was
pushed.

Jan


More information about the ffmpeg-devel mailing list