summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2016-06-09 18:55:19 -0400
committerVittorio Giovara <vittorio.giovara@gmail.com>2016-06-17 11:38:33 -0400
commit846a3e78a535f05ee61bb23a160f3378f041f751 (patch)
treed0e1394cdb13540474049629f0e19bb0bb0f986e
parent76729970049fe95659346503f7401a5d869f9959 (diff)
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.
-rw-r--r--libavformat/mov.c2
1 files changed, 2 insertions, 0 deletions
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