diff --git a/libavformat/utils.c b/libavformat/utils.c index 4e26a21b10..97fdd1c984 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3173,8 +3173,11 @@ int avformat_write_header(AVFormatContext *s, AVDictionary **options) } if(s->oformat->codec_tag){ - if(st->codec->codec_tag && st->codec->codec_id == CODEC_ID_RAWVIDEO && av_codec_get_tag(s->oformat->codec_tag, st->codec->codec_id) == 0 && !validate_codec_tag(s, st)){ - //the current rawvideo encoding system ends up setting the wrong codec_tag for avi, we override it here + if( st->codec->codec_tag + && st->codec->codec_id == CODEC_ID_RAWVIDEO + && (av_codec_get_tag(s->oformat->codec_tag, st->codec->codec_id) == 0 || av_codec_get_tag(s->oformat->codec_tag, st->codec->codec_id) ==MKTAG('r', 'a', 'w', ' ')) + && !validate_codec_tag(s, st)){ + //the current rawvideo encoding system ends up setting the wrong codec_tag for avi/mov, we override it here st->codec->codec_tag= 0; } if(st->codec->codec_tag){