aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/mov.c
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/mov.c
parent76729970049fe95659346503f7401a5d869f9959 (diff)
downloadffmpeg-846a3e78a535f05ee61bb23a160f3378f041f751.tar.gz
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/mov.c')
-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