comparison h263dec.c @ 353:386f430e93f4 libavcodec

freeze fix
author michaelni
date Thu, 02 May 2002 20:45:43 +0000
parents 6ebbecc10063
children dc2fb310008d
comparison
equal deleted inserted replaced
352:5a8eb5cf9f92 353:386f430e93f4
115 if (buf_size == 0) { 115 if (buf_size == 0) {
116 *data_size = 0; 116 *data_size = 0;
117 return 0; 117 return 0;
118 } 118 }
119 119
120 if(s->bitstream_buffer_size) //divx 5.01+ frame reorder 120 if(s->bitstream_buffer_size){ //divx 5.01+ frame reorder
121 init_get_bits(&s->gb, s->bitstream_buffer, s->bitstream_buffer_size); 121 init_get_bits(&s->gb, s->bitstream_buffer, s->bitstream_buffer_size);
122 else 122 s->bitstream_buffer_size=0;
123 }else
123 init_get_bits(&s->gb, buf, buf_size); 124 init_get_bits(&s->gb, buf, buf_size);
124 125
125 /* let's go :-) */ 126 /* let's go :-) */
126 if (s->h263_msmpeg4) { 127 if (s->h263_msmpeg4) {
127 ret = msmpeg4_decode_picture_header(s); 128 ret = msmpeg4_decode_picture_header(s);
254 if( buf_size - current_pos > 5 255 if( buf_size - current_pos > 5
255 && buf_size - current_pos < BITSTREAM_BUFFER_SIZE){ 256 && buf_size - current_pos < BITSTREAM_BUFFER_SIZE){
256 memcpy(s->bitstream_buffer, buf + current_pos, buf_size - current_pos); 257 memcpy(s->bitstream_buffer, buf + current_pos, buf_size - current_pos);
257 s->bitstream_buffer_size= buf_size - current_pos; 258 s->bitstream_buffer_size= buf_size - current_pos;
258 } 259 }
259 }else 260 }
260 s->bitstream_buffer_size=0;
261 261
262 MPV_frame_end(s); 262 MPV_frame_end(s);
263 263
264 if(s->pict_type==B_TYPE || (!s->has_b_frames)){ 264 if(s->pict_type==B_TYPE || (!s->has_b_frames)){
265 pict->data[0] = s->current_picture[0]; 265 pict->data[0] = s->current_picture[0];