Mercurial > libavcodec.hg
changeset 5632:cdc40afde7b8 libavcodec
Fix issue 123 (Support Magic-carpet fli version,
https://roundup.mplayerhq.hu/roundup/ffmpeg/issue123 ) by rearranging the bit depth
author | melanson |
---|---|
date | Tue, 04 Sep 2007 17:31:25 +0000 |
parents | 550e37ec2204 |
children | 873ea64637d9 |
files | flicvideo.c |
diffstat | 1 files changed, 8 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/flicvideo.c Tue Sep 04 14:48:39 2007 +0000 +++ b/flicvideo.c Tue Sep 04 17:31:25 2007 +0000 @@ -85,18 +85,21 @@ s->avctx = avctx; s->fli_type = AV_RL16(&fli_header[4]); /* Might be overridden if a Magic Carpet FLC */ - depth = AV_RL16(&fli_header[12]); - if (depth == 0) { - depth = 8; /* Some FLC generators set depth to zero, when they mean 8Bpp. Fix up here */ - } - + depth = 0; if (s->avctx->extradata_size == 12) { /* special case for magic carpet FLIs */ s->fli_type = FLC_MAGIC_CARPET_SYNTHETIC_TYPE_CODE; + depth = 8; } else if (s->avctx->extradata_size != 128) { av_log(avctx, AV_LOG_ERROR, "Expected extradata of 12 or 128 bytes\n"); return -1; + } else { + depth = AV_RL16(&fli_header[12]); + } + + if (depth == 0) { + depth = 8; /* Some FLC generators set depth to zero, when they mean 8Bpp. Fix up here */ } if ((s->fli_type == FLC_FLX_TYPE_CODE) && (depth == 16)) {