aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorJonne Ahner <jonne.ahner@gmail.com>2011-09-22 02:40:49 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-22 06:26:52 +0200
commit8a73246391480bfc79ccca8fa34268b9274e4378 (patch)
treebdc4c501a2ef8c36362e96bbf5d98b1b6720d7b4 /libavcodec
parent3a87dce6bf1b5677c06239a034031ff69f718d5e (diff)
downloadffmpeg-8a73246391480bfc79ccca8fa34268b9274e4378.tar.gz
prores: skip alpha if present
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/proresdec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/proresdec.c b/libavcodec/proresdec.c
index 00eb38d1c6..fc7a55bfc8 100644
--- a/libavcodec/proresdec.c
+++ b/libavcodec/proresdec.c
@@ -480,6 +480,7 @@ static int decode_slice_thread(AVCodecContext *avctx, void *arg, int jobnr, int
y_data_size = AV_RB16(buf + 2);
u_data_size = AV_RB16(buf + 4);
v_data_size = slice->data_size - y_data_size - u_data_size - hdr_size;
+ if (hdr_size > 7) v_data_size = AV_RB16(buf + 6);
if (y_data_size < 0 || u_data_size < 0 || v_data_size < 0) {
av_log(avctx, AV_LOG_ERROR, "invalid plane data size\n");