Mercurial > libavcodec.hg
changeset 10272:cc02e912d20e libavcodec
Fix decoding of TIFF CCITT RLE compressed data.
This fixes issue 1417.
author | kostya |
---|---|
date | Sat, 26 Sep 2009 05:48:50 +0000 |
parents | 4c1259af2fce |
children | 38147f0f94cc |
files | faxcompr.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/faxcompr.c Fri Sep 25 01:31:53 2009 +0000 +++ b/faxcompr.c Sat Sep 26 05:48:50 2009 +0000 @@ -293,12 +293,14 @@ return -1; } }else{ - if(find_group3_syncmarker(&gb, srcsize*8) < 0) + if(compr!=TIFF_CCITT_RLE && find_group3_syncmarker(&gb, srcsize*8) < 0) break; if(compr==TIFF_CCITT_RLE || get_bits1(&gb)) ret = decode_group3_1d_line(avctx, &gb, avctx->width, runs, runend); else ret = decode_group3_2d_line(avctx, &gb, avctx->width, runs, runend, ref); + if(compr==TIFF_CCITT_RLE && (get_bits_count(&gb) & 7)) + skip_bits(&gb, 8 - (get_bits_count(&gb) & 7)); } if(ret < 0){ put_line(dst, stride, avctx->width, ref);