Originally committed as revision 3749 to svn://svn.ffmpeg.org/ffmpeg/trunk
Michael Niedermayer authored on 2004/12/13 20:41:59... | ... |
@@ -429,28 +429,21 @@ static int rv20_decode_picture_header(MpegEncContext *s) |
429 | 429 |
} |
430 | 430 |
|
431 | 431 |
if(s->avctx->has_b_frames){ |
432 |
- int f1=9; |
|
433 |
- int f2=9; |
|
434 |
- int f3=9; |
|
432 |
+ int f=9; |
|
433 |
+ int v= s->avctx->extradata_size >= 4 ? ((uint8_t*)s->avctx->extradata)[1] : 0; |
|
435 | 434 |
|
436 | 435 |
if (get_bits(&s->gb, 1)){ |
437 | 436 |
av_log(s->avctx, AV_LOG_ERROR, "unknown bit3 set\n"); |
438 | 437 |
// return -1; |
439 | 438 |
} |
440 | 439 |
seq= get_bits(&s->gb, 14)<<1; |
441 |
- |
|
442 |
- if(s->avctx->extradata_size >= 4 && ((uint8_t*)s->avctx->extradata)[1]&1){ |
|
443 |
- f1= get_bits(&s->gb, 1); |
|
444 |
- } |
|
445 |
- if(s->avctx->extradata_size >= 4 && ((uint8_t*)s->avctx->extradata)[1]&2){ |
|
446 |
- f2= get_bits(&s->gb, 1); |
|
447 |
- } |
|
448 |
- if(s->avctx->extradata_size >= 4 && ((uint8_t*)s->avctx->extradata)[1]&4){ |
|
449 |
- f3= get_bits(&s->gb, 2); |
|
440 |
+ |
|
441 |
+ if(v>1){ |
|
442 |
+ f= get_bits(&s->gb, av_log2(v-1)+1); |
|
450 | 443 |
} |
451 | 444 |
|
452 | 445 |
if(s->avctx->debug & FF_DEBUG_PICT_INFO){ |
453 |
- av_log(s->avctx, AV_LOG_DEBUG, "F %d %d %d\n", f1,f2,f3); |
|
446 |
+ av_log(s->avctx, AV_LOG_DEBUG, "F %d\n", f); |
|
454 | 447 |
} |
455 | 448 |
|
456 | 449 |
mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1); |