diff --git a/libavcodec/h263.c b/libavcodec/h263.c index ab470901f9..a2292a40c6 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 418bab9cac..344a89d541 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);