summaryrefslogtreecommitdiff
path: root/libavformat/mov.c
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2017-03-07 17:29:52 -0500
committerVittorio Giovara <vittorio.giovara@gmail.com>2017-03-07 17:29:52 -0500
commitac8c72f8f1f758ae7606db42eac83d04418aec48 (patch)
tree20d254f05f85b335d4db4d2864e6d42032b34401 /libavformat/mov.c
parent1afd246960202917e244c844c534e9c1e3c323f5 (diff)
mov: Fix checking layout and loading padding for cubemaps
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r--libavformat/mov.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index cc098cd977..d5c3949050 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -4635,7 +4635,7 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
{
AVStream *st;
MOVStreamContext *sc;
- int size;
+ int size, layout;
int32_t yaw, pitch, roll;
size_t l = 0, t = 0, r = 0, b = 0;
size_t padding = 0;
@@ -4699,6 +4699,12 @@ static int mov_read_sv3d(MOVContext *c, AVIOContext *pb, MOVAtom atom)
avio_skip(pb, 4); /* version + flags */
switch (tag) {
case MKTAG('c','b','m','p'):
+ layout = avio_rb32(pb);
+ if (layout) {
+ av_log(c->fc, AV_LOG_WARNING,
+ "Unsupported cubemap layout %d\n", layout);
+ return 0;
+ }
projection = AV_SPHERICAL_CUBEMAP;
padding = avio_rb32(pb);
break;