Revision b98202a4 libavcodec/h263.c
libavcodec/h263.c  

3336  3336 
if(s>pict_type==I_TYPE){ 
3337  3337 
int i; 
3338  3338  
3339 
if(show_bits_long(&s>gb, 19)==DC_MARKER){ 

3340 
return mb_num1; 

3341 
} 

3342  
3343  3339 
do{ 
3340 
if(show_bits_long(&s>gb, 19)==DC_MARKER){ 

3341 
return mb_num1; 

3342 
} 

3343  
3344  3344 
cbpc = get_vlc2(&s>gb, intra_MCBPC_vlc.table, INTRA_MCBPC_VLC_BITS, 2); 
3345  3345 
if (cbpc < 0){ 
3346  3346 
av_log(s>avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s>mb_x, s>mb_y); 
3347  3347 
return 1; 
3348  3348 
} 
3349  3349 
}while(cbpc == 8); 
3350  
3350 


3351  3351 
s>cbp_table[xy]= cbpc & 3; 
3352  3352 
s>current_picture.mb_type[xy]= MB_TYPE_INTRA; 
3353  3353 
s>mb_intra = 1; 
...  ...  
3374  3374 
int16_t * const mot_val= s>current_picture.motion_val[0][s>block_index[0]]; 
3375  3375 
const int stride= s>block_wrap[0]*2; 
3376  3376  
3377 
// do{ //FIXME


3377 
try_again:


3378  3378 
bits= show_bits(&s>gb, 17); 
3379  3379 
if(bits==MOTION_MARKER){ 
3380  3380 
return mb_num1; 
...  ...  
3405  3405 
av_log(s>avctx, AV_LOG_ERROR, "cbpc corrupted at %d %d\n", s>mb_x, s>mb_y); 
3406  3406 
return 1; 
3407  3407 
} 
3408 
// }while(cbpc == 20); 

3408 
if(cbpc == 20) 

3409 
goto try_again; 

3409  3410  
3410  3411 
s>cbp_table[xy]= cbpc&(8+3); //8 is dquant 
3411  3412 

...  ...  
3586  3587 
s>mb_num_left= mb_num; 
3587  3588 

3588  3589 
if(s>pict_type==I_TYPE){ 
3590 
while(show_bits(&s>gb, 9) == 1) 

3591 
skip_bits(&s>gb, 9); 

3589  3592 
if(get_bits_long(&s>gb, 19)!=DC_MARKER){ 
3590  3593 
av_log(s>avctx, AV_LOG_ERROR, "marker missing after first I partition at %d %d\n", s>mb_x, s>mb_y); 
3591  3594 
return 1; 
3592  3595 
} 
3593  3596 
}else{ 
3597 
while(show_bits(&s>gb, 10) == 1) 

3598 
skip_bits(&s>gb, 10); 

3594  3599 
if(get_bits(&s>gb, 17)!=MOTION_MARKER){ 
3595  3600 
av_log(s>avctx, AV_LOG_ERROR, "marker missing after first P partition at %d %d\n", s>mb_x, s>mb_y); 
3596  3601 
return 1; 
Also available in: Unified diff