summaryrefslogtreecommitdiffstats
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2015-03-23 19:43:27 +0000
committerVittorio Giovara <vittorio.giovara@gmail.com>2015-04-09 13:46:54 +0200
commitbe089af38f65dc8b1fe3564f98020fc815577edb (patch)
treeaed0408ca9a51ce1f28675c66557d08975cf090e /libavformat/mov.c
parentf8fd0c29ce5dc7d4be13e7e89d0f1e8a035ae71b (diff)
downloadffmpeg-streaming-be089af38f65dc8b1fe3564f98020fc815577edb.zip
ffmpeg-streaming-be089af38f65dc8b1fe3564f98020fc815577edb.tar.gz
mov: Rely on box type rather than file type for colr atom
Although it's not allowed to use only allows 'nclc' in ISOM files, there are samples that do not always respect this rule. This change prevents atom overread and a spurious color range initialization. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index ef58492..72dd699 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -992,7 +992,7 @@ static int mov_read_colr(MOVContext *c, AVIOContext *pb, MOVAtom atom)
av_dlog(c->fc, "%s: pri %"PRIu16" trc %"PRIu16" matrix %"PRIu16"",
color_parameter_type, color_primaries, color_trc, color_matrix);
- if (c->isom) {
+ if (!strncmp(color_parameter_type, "nclx", 4)) {
uint8_t color_range = avio_r8(pb) >> 7;
av_dlog(c->fc, " full %"PRIu8"", color_range);
if (color_range)
@@ -1012,7 +1012,7 @@ static int mov_read_colr(MOVContext *c, AVIOContext *pb, MOVAtom atom)
st->codec->color_primaries = color_primaries;
st->codec->color_trc = color_trc;
st->codec->colorspace = color_matrix;
- } else {
+ } else if (!strncmp(color_parameter_type, "nclc", 4)) {
/* color primaries, Table 4-4 */
switch (color_primaries) {
case 1: st->codec->color_primaries = AVCOL_PRI_BT709; break;
OpenPOWER on IntegriCloud