From 846a3e78a535f05ee61bb23a160f3378f041f751 Mon Sep 17 00:00:00 2001 From: Vittorio Giovara Date: Thu, 9 Jun 2016 18:55:19 -0400 Subject: [PATCH] mov: Support prores with multiple stsd This function needs to return false, or data in the additional tables will be skipped, and the decoder will not be able to decode frames associated with them. --- libavformat/mov.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index a9b826fd21..fe1f264463 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1774,6 +1774,8 @@ static int mov_skip_multiple_stsd(MOVContext *c, AVIOContext *pb, (codec_tag == AV_RL32("hvc1") || codec_tag == AV_RL32("hev1") || (codec_tag != format && + // prores is allowed to have differing data format and codec tag + codec_tag != AV_RL32("apcn") && codec_tag != AV_RL32("apch") && (c->fc->video_codec_id ? video_codec_id != c->fc->video_codec_id : codec_tag != MKTAG('j','p','e','g'))))) { /* Multiple fourcc, we skip JPEG. This is not correct, we should