summaryrefslogtreecommitdiff
path: root/libavformat
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 /libavformat
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.
Diffstat (limited to 'libavformat')
-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