comparison tiff.c @ 5261:d6957da94689 libavcodec

use correct type for palette
author mru
date Mon, 09 Jul 2007 00:08:47 +0000
parents f2eaf5afe6ae
children a6c9aa23d379
comparison
equal deleted inserted replaced
5260:d623b3171830 5261:d6957da94689
153 static int tiff_decode_tag(TiffContext *s, uint8_t *start, uint8_t *buf, uint8_t *end_buf, AVFrame *pic) 153 static int tiff_decode_tag(TiffContext *s, uint8_t *start, uint8_t *buf, uint8_t *end_buf, AVFrame *pic)
154 { 154 {
155 int tag, type, count, off, value = 0; 155 int tag, type, count, off, value = 0;
156 uint8_t *src, *dst; 156 uint8_t *src, *dst;
157 int i, j, ssize, soff, stride; 157 int i, j, ssize, soff, stride;
158 int *pal; 158 uint32_t *pal;
159 uint8_t *rp, *gp, *bp; 159 uint8_t *rp, *gp, *bp;
160 160
161 tag = tget_short(&buf, s->le); 161 tag = tget_short(&buf, s->le);
162 type = tget_short(&buf, s->le); 162 type = tget_short(&buf, s->le);
163 count = tget_long(&buf, s->le); 163 count = tget_long(&buf, s->le);
243 av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n"); 243 av_log(s->avctx, AV_LOG_ERROR, "get_buffer() failed\n");
244 return -1; 244 return -1;
245 } 245 }
246 if(s->bpp == 8){ 246 if(s->bpp == 8){
247 /* make default grayscale pal */ 247 /* make default grayscale pal */
248 pal = (int *) s->picture.data[1]; 248 pal = (uint32_t *) s->picture.data[1];
249 for(i = 0; i < 256; i++) 249 for(i = 0; i < 256; i++)
250 pal[i] = i * 0x010101; 250 pal[i] = i * 0x010101;
251 } 251 }
252 break; 252 break;
253 case TIFF_COMPR: 253 case TIFF_COMPR:
376 case TIFF_PAL: 376 case TIFF_PAL:
377 if(s->avctx->pix_fmt != PIX_FMT_PAL8){ 377 if(s->avctx->pix_fmt != PIX_FMT_PAL8){
378 av_log(s->avctx, AV_LOG_ERROR, "Palette met but this is not palettized format\n"); 378 av_log(s->avctx, AV_LOG_ERROR, "Palette met but this is not palettized format\n");
379 return -1; 379 return -1;
380 } 380 }
381 pal = (int *) s->picture.data[1]; 381 pal = (uint32_t *) s->picture.data[1];
382 off = type_sizes[type]; 382 off = type_sizes[type];
383 rp = buf; 383 rp = buf;
384 gp = buf + count / 3 * off; 384 gp = buf + count / 3 * off;
385 bp = buf + count / 3 * off * 2; 385 bp = buf + count / 3 * off * 2;
386 off = (type_sizes[type] - 1) << 3; 386 off = (type_sizes[type] - 1) << 3;