Demuxing only. Muxing is disabled as altref frame handling is not defined, and there's no way to know the presence of such frames during stream initialization.
Based on a patch by Steven Liu. Fixes ticket #7000 Signed-off-by: James Almer <jamr...@gmail.com> --- libavformat/isom.c | 1 + libavformat/mov.c | 1 + libavformat/movenc.c | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/libavformat/isom.c b/libavformat/isom.c index 9d9f85885b..59502a8b3f 100644 --- a/libavformat/isom.c +++ b/libavformat/isom.c @@ -186,6 +186,7 @@ const AVCodecTag ff_codec_movvideo_tags[] = { { 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_VP8, MKTAG('v', 'p', '0', '8') }, /* VP8 */ { AV_CODEC_ID_VP9, MKTAG('v', 'p', '0', '9') }, /* VP9 */ { AV_CODEC_ID_MPEG1VIDEO, MKTAG('m', '1', 'v', ' ') }, diff --git a/libavformat/mov.c b/libavformat/mov.c index d16b431e03..acfbfc5324 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2397,6 +2397,7 @@ static int mov_finalize_stsd_codec(MOVContext *c, AVIOContext *pb, case AV_CODEC_ID_EAC3: case AV_CODEC_ID_MPEG1VIDEO: case AV_CODEC_ID_VC1: + case AV_CODEC_ID_VP8: case AV_CODEC_ID_VP9: st->need_parsing = AVSTREAM_PARSE_FULL; break; diff --git a/libavformat/movenc.c b/libavformat/movenc.c index f7079f3df7..6913fce470 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6074,6 +6074,12 @@ static int mov_init(AVFormatContext *s) pix_fmt == AV_PIX_FMT_MONOWHITE || pix_fmt == AV_PIX_FMT_MONOBLACK; } + if (track->par->codec_id == AV_CODEC_ID_VP8) { + /* altref frames handling is not defined in the spec as of version v1.0, + * so just forbid muxing VP8 streams altogether */ + av_log(s, AV_LOG_ERROR, "VP8 muxing is currently not supported.\n"); + return AVERROR(EINVAL); + } if (track->par->codec_id == AV_CODEC_ID_VP9) { if (track->mode != MODE_MP4) { av_log(s, AV_LOG_ERROR, "VP9 only supported in MP4.\n"); -- 2.16.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel