[FFmpeg-devel] [PATCH] avformat/ivfenc: fix writing codec tag

Jan Ekström jeebjp at gmail.com
Mon Sep 24 20:54:24 EEST 2018


On Mon, Sep 24, 2018 at 3:57 AM, James Almer <jamrial at gmail.com> wrote:
> The value in AVCodecParameters->codec_tag may not be correct for IVF,
> as it's the case when remuxing AV1 streams from mp4, so ignore it and
> write the correct value based on codec ID instead.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavformat/ivfenc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavformat/ivfenc.c b/libavformat/ivfenc.c
> index af803d59ee..66441a2a43 100644
> --- a/libavformat/ivfenc.c
> +++ b/libavformat/ivfenc.c
> @@ -46,7 +46,7 @@ static int ivf_write_header(AVFormatContext *s)
>      avio_write(pb, "DKIF", 4);
>      avio_wl16(pb, 0); // version
>      avio_wl16(pb, 32); // header length
> -    avio_wl32(pb, par->codec_tag ? par->codec_tag :
> +    avio_wl32(pb,
>                par->codec_id == AV_CODEC_ID_VP9 ? AV_RL32("VP90") :
>                par->codec_id == AV_CODEC_ID_VP8 ? AV_RL32("VP80") : AV_RL32("AV01"));

In the future we might want to make a mapping array, but for now this
looks a-OK. Unfortunately the tags for AV1 do not match between IVF
and ISOBMFF.

LGTM.

Jan


More information about the ffmpeg-devel mailing list