Mercurial > libavcodec.hg
comparison tiff.c @ 10304:370d05e51d90 libavcodec
Finally distinguish TIFF_CCITT_RLE and TIFF_G3 1-D case, so both of them
will be decoded correctly.
This fixes issue 1423.
author | kostya |
---|---|
date | Mon, 28 Sep 2009 05:17:20 +0000 |
parents | 8a49525f2b1e |
children | 5bbe55451800 |
comparison
equal
deleted
inserted
replaced
10303:8a49525f2b1e | 10304:370d05e51d90 |
---|---|
144 }else{ | 144 }else{ |
145 for(i = 0; i < size; i++) | 145 for(i = 0; i < size; i++) |
146 src2[i] = ff_reverse[src[i]]; | 146 src2[i] = ff_reverse[src[i]]; |
147 } | 147 } |
148 memset(src2+size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | 148 memset(src2+size, 0, FF_INPUT_BUFFER_PADDING_SIZE); |
149 if(s->compr == TIFF_G3 && !(s->fax_opts & 1)) | |
150 s->compr = TIFF_CCITT_RLE; | |
151 switch(s->compr){ | 149 switch(s->compr){ |
152 case TIFF_CCITT_RLE: | 150 case TIFF_CCITT_RLE: |
153 case TIFF_G3: | 151 case TIFF_G3: |
154 case TIFF_G4: | 152 case TIFF_G4: |
155 ret = ff_ccitt_unpack(s->avctx, src2, size, dst, lines, stride, s->compr); | 153 ret = ff_ccitt_unpack(s->avctx, src2, size, dst, lines, stride, s->compr, s->fax_opts); |
156 break; | 154 break; |
157 } | 155 } |
158 av_free(src2); | 156 av_free(src2); |
159 return ret; | 157 return ret; |
160 } | 158 } |