comparison h264.c @ 2771:7da100c7403c libavcodec

keep decoding nal units after an error
author michael
date Mon, 27 Jun 2005 09:37:16 +0000
parents 0609f405e000
children 4d8010054ba9
comparison
equal deleted inserted replaced
2770:07a63c88e3a7 2771:7da100c7403c
7220 init_get_bits(&s->gb, ptr, bit_length); 7220 init_get_bits(&s->gb, ptr, bit_length);
7221 h->intra_gb_ptr= 7221 h->intra_gb_ptr=
7222 h->inter_gb_ptr= &s->gb; 7222 h->inter_gb_ptr= &s->gb;
7223 s->data_partitioning = 0; 7223 s->data_partitioning = 0;
7224 7224
7225 if(decode_slice_header(h) < 0) return -1; 7225 if(decode_slice_header(h) < 0){
7226 av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
7227 break;
7228 }
7226 if(h->redundant_pic_count==0 && s->hurry_up < 5 ) 7229 if(h->redundant_pic_count==0 && s->hurry_up < 5 )
7227 decode_slice(h); 7230 decode_slice(h);
7228 break; 7231 break;
7229 case NAL_DPA: 7232 case NAL_DPA:
7230 init_get_bits(&s->gb, ptr, bit_length); 7233 init_get_bits(&s->gb, ptr, bit_length);
7231 h->intra_gb_ptr= 7234 h->intra_gb_ptr=
7232 h->inter_gb_ptr= NULL; 7235 h->inter_gb_ptr= NULL;
7233 s->data_partitioning = 1; 7236 s->data_partitioning = 1;
7234 7237
7235 if(decode_slice_header(h) < 0) return -1; 7238 if(decode_slice_header(h) < 0){
7239 av_log(h->s.avctx, AV_LOG_ERROR, "decode_slice_header error\n");
7240 }
7236 break; 7241 break;
7237 case NAL_DPB: 7242 case NAL_DPB:
7238 init_get_bits(&h->intra_gb, ptr, bit_length); 7243 init_get_bits(&h->intra_gb, ptr, bit_length);
7239 h->intra_gb_ptr= &h->intra_gb; 7244 h->intra_gb_ptr= &h->intra_gb;
7240 break; 7245 break;