}
}
+#if 0 /* unused, remove? */
static int get_num(GetBitContext *gb)
{
int n, n1;
return (n << 16) | n1;
}
}
+#endif
#endif //CONFIG_ENCODERS
}
seq= get_bits(&s->gb, 14)<<1;
- if(v>1){
+ if(v>1 || (s->avctx->sub_id < 0x20201002 && v>0)){
f= get_bits(&s->gb, av_log2(v-1)+1);
}
if(s->avctx->debug & FF_DEBUG_PICT_INFO){
- av_log(s->avctx, AV_LOG_DEBUG, "F %d\n", f);
+ av_log(s->avctx, AV_LOG_DEBUG, "F %d/%d\n", f, v);
}
mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1);
s->time= seq;
s->pb_time= s->pp_time - (s->last_non_b_time - s->time);
if(s->pp_time <=s->pb_time || s->pp_time <= s->pp_time - s->pb_time || s->pp_time<=0){
- av_log(s->avctx, AV_LOG_DEBUG, "messed up order, seeking?, skiping current b frame\n");
- return FRAME_SKIPED;
+ av_log(s->avctx, AV_LOG_DEBUG, "messed up order, possible from seeking? skipping current b frame\n");
+ return FRAME_SKIPPED;
}
}
}
break;
case 0x20200002:
case 0x20201002:
+ case 0x20203002:
case 0x30202002:
case 0x30203002:
s->low_delay=0;
NULL,
rv10_decode_end,
rv10_decode_frame,
- CODEC_CAP_DR1,
+ CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.flush= ff_mpeg_flush,
};