Mercurial > libavcodec.hg
comparison mdec.c @ 5986:da1e68b0e975 libavcodec
Fix missing chroma in version 3 STR.
Closes issue 290
Patch by Alexander Strange: astrange ithinksw com
author | benoit |
---|---|
date | Wed, 05 Dec 2007 13:11:18 +0000 |
parents | 470601203f44 |
children | 0ed0d9d578ad |
comparison
equal
deleted
inserted
replaced
5985:51b4b51fa622 | 5986:da1e68b0e975 |
---|---|
173 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); | 173 av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); |
174 return -1; | 174 return -1; |
175 } | 175 } |
176 p->pict_type= I_TYPE; | 176 p->pict_type= I_TYPE; |
177 p->key_frame= 1; | 177 p->key_frame= 1; |
178 a->last_dc[0]= | |
179 a->last_dc[1]= | |
180 a->last_dc[2]= 0; | |
181 | 178 |
182 a->bitstream_buffer= av_fast_realloc(a->bitstream_buffer, &a->bitstream_buffer_size, buf_size + FF_INPUT_BUFFER_PADDING_SIZE); | 179 a->bitstream_buffer= av_fast_realloc(a->bitstream_buffer, &a->bitstream_buffer_size, buf_size + FF_INPUT_BUFFER_PADDING_SIZE); |
183 for(i=0; i<buf_size; i+=2){ | 180 for(i=0; i<buf_size; i+=2){ |
184 a->bitstream_buffer[i] = buf[i+1]; | 181 a->bitstream_buffer[i] = buf[i+1]; |
185 a->bitstream_buffer[i+1]= buf[i ]; | 182 a->bitstream_buffer[i+1]= buf[i ]; |
189 /* skip over 4 preamble bytes in stream (typically 0xXX 0xXX 0x00 0x38) */ | 186 /* skip over 4 preamble bytes in stream (typically 0xXX 0xXX 0x00 0x38) */ |
190 skip_bits(&a->gb, 32); | 187 skip_bits(&a->gb, 32); |
191 | 188 |
192 a->qscale= get_bits(&a->gb, 16); | 189 a->qscale= get_bits(&a->gb, 16); |
193 a->version= get_bits(&a->gb, 16); | 190 a->version= get_bits(&a->gb, 16); |
191 | |
192 a->last_dc[0]= | |
193 a->last_dc[1]= | |
194 a->last_dc[2]= 128; | |
194 | 195 |
195 // printf("qscale:%d (0x%X), version:%d (0x%X)\n", a->qscale, a->qscale, a->version, a->version); | 196 // printf("qscale:%d (0x%X), version:%d (0x%X)\n", a->qscale, a->qscale, a->version, a->version); |
196 | 197 |
197 for(a->mb_x=0; a->mb_x<a->mb_width; a->mb_x++){ | 198 for(a->mb_x=0; a->mb_x<a->mb_width; a->mb_x++){ |
198 for(a->mb_y=0; a->mb_y<a->mb_height; a->mb_y++){ | 199 for(a->mb_y=0; a->mb_y<a->mb_height; a->mb_y++){ |