aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2012-11-02 21:33:52 +0000
committerPaul B Mahol <onemda@gmail.com>2012-11-04 16:58:14 +0000
commit1b3dbe3f75a64fce040e863e52b80c3888b30ff1 (patch)
tree7d4b9c0a43075ab39d26589baa78d0b978824b3d
parentc4dd4f19f335c531ccc0afacc596b54ef2d2359e (diff)
downloadffmpeg-1b3dbe3f75a64fce040e863e52b80c3888b30ff1.tar.gz
lcldec: fix decoding of uncompressed rgb24 sample
Sample from ticket #1216 does not use any compression but bitstream claims it is. Reference decoder decodes sample just fine. Fixes #1216. Signed-off-by: Paul B Mahol <onemda@gmail.com>
-rw-r--r--libavcodec/lcldec.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/lcldec.c b/libavcodec/lcldec.c
index b3b7b523f6..66db7c7f1c 100644
--- a/libavcodec/lcldec.c
+++ b/libavcodec/lcldec.c
@@ -198,7 +198,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
case AV_CODEC_ID_MSZH:
switch (c->compression) {
case COMP_MSZH:
- if (c->flags & FLAG_MULTITHREAD) {
+ if (c->imgtype == IMGTYPE_RGB24 && len == width * height * 3) {
+ ;
+ } else if (c->flags & FLAG_MULTITHREAD) {
mthread_inlen = AV_RL32(encoded);
mthread_inlen = FFMIN(mthread_inlen, len - 8);
mthread_outlen = AV_RL32(encoded+4);