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

Paul B Mahol onemda at gmail.com
Mon Dec 17 23:23:40 EET 2018


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


More information about the ffmpeg-devel mailing list