ivfenc: incorrect fourcc for VP9 video
authorVictor Anjin <virinext@gmail.com>
Wed, 15 Apr 2015 16:51:59 +0000 (23:51 +0700)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 16 Apr 2015 11:06:35 +0000 (13:06 +0200)
VP80 fourcc are writed for all contexts (without ctx->codec_tag)
how to reproduce the issue:
1) Get any vp9 video (for example  http://base-n.de/webm/out9.webm)
2) ffmpeg  -i out9.webm -vcodec copy out9.ivf
3) out9.ivf have VP80 fourcc at ivf header
The proposed fix solves this issue

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/ivfenc.c

index 5700f01..1d76c5c 100644 (file)
@@ -38,7 +38,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, ctx->codec_tag ? ctx->codec_tag : AV_RL32("VP80"));
+    avio_wl32(pb, ctx->codec_tag ? ctx->codec_tag : ctx->codec_id == AV_CODEC_ID_VP9 ? AV_RL32("VP90") : AV_RL32("VP80"));
     avio_wl16(pb, ctx->width);
     avio_wl16(pb, ctx->height);
     avio_wl32(pb, s->streams[0]->time_base.den);