diff --git a/libavcodec/h263.c b/libavcodec/h263.c index ab470901f91352f2a527be437a78fd6e0988ca1f..a2292a40c66975e1a6a8155101ad878dc6d29d32 100644 --- a/libavcodec/h263.c +++ b/libavcodec/h263.c @@ -556,7 +556,7 @@ void ff_clean_mpeg4_qscales(MpegEncContext *s){ #define tab_size ((signed)(sizeof(s->direct_scale_mv[0])/sizeof(int16_t))) #define tab_bias (tab_size/2) -static void ff_mpeg4_init_direct_mv(MpegEncContext *s){ +void ff_mpeg4_init_direct_mv(MpegEncContext *s){ int i; for(i=0; idirect_scale_mv[0][i] = (i-tab_bias)*s->pb_time/s->pp_time; diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 418bab9cac7efc5ad1600e074ed23a74ec660556..344a89d541fb7b8526aff471dd3e19e9ce0f93df 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -473,6 +473,7 @@ static int rv20_decode_picture_header(MpegEncContext *s) av_log(s->avctx, AV_LOG_DEBUG, "messed up order, possible from seeking? skipping current b frame\n"); return FRAME_SKIPPED; } + ff_mpeg4_init_direct_mv(s); } } // printf("%d %d %d %d %d\n", seq, (int)s->time, (int)s->last_non_b_time, s->pp_time, s->pb_time);