From 07caa46e997ccb445b61e14366686dc6c6ae5391 Mon Sep 17 00:00:00 2001 From: Stefan Gehrer Date: Sat, 7 Jul 2007 06:34:30 +0000 Subject: [PATCH] setting special motion vectors in intra macroblocks is now in its own inline function Originally committed as revision 9516 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/cavs.c | 10 +--------- libavcodec/cavs.h | 11 +++++++++++ 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/libavcodec/cavs.c b/libavcodec/cavs.c index 4e4e5923c8..6846074250 100644 --- a/libavcodec/cavs.c +++ b/libavcodec/cavs.c @@ -645,15 +645,7 @@ static int decode_mb_i(AVSContext *h, int cbp_code) { decode_residual_chroma(h); filter_mb(h,I_8X8); - - /* mark motion vectors as intra */ - h->mv[MV_FWD_X0] = ff_cavs_intra_mv; - set_mvs(&h->mv[MV_FWD_X0], BLK_16X16); - h->mv[MV_BWD_X0] = ff_cavs_intra_mv; - set_mvs(&h->mv[MV_BWD_X0], BLK_16X16); - if(h->pic_type != FF_B_TYPE) - *h->col_type = I_8X8; - + set_mv_intra(h); return 0; } diff --git a/libavcodec/cavs.h b/libavcodec/cavs.h index b30f0aca61..aceb3b9e49 100644 --- a/libavcodec/cavs.h +++ b/libavcodec/cavs.h @@ -228,6 +228,7 @@ extern const int_fast8_t ff_left_modifier_l[8]; extern const int_fast8_t ff_top_modifier_l[8]; extern const int_fast8_t ff_left_modifier_c[7]; extern const int_fast8_t ff_top_modifier_c[7]; +extern const vector_t ff_cavs_intra_mv; extern const vector_t ff_cavs_un_mv; static inline void load_intra_pred_luma(AVSContext *h, uint8_t *top, @@ -344,6 +345,16 @@ static inline void set_mvs(vector_t *mv, enum block_t size) { } } +static inline void set_mv_intra(AVSContext *h) { + h->mv[MV_FWD_X0] = ff_cavs_intra_mv; + set_mvs(&h->mv[MV_FWD_X0], BLK_16X16); + h->mv[MV_BWD_X0] = ff_cavs_intra_mv; + set_mvs(&h->mv[MV_BWD_X0], BLK_16X16); + if(h->pic_type != FF_B_TYPE) + *h->col_type = I_8X8; +} + + /** * initialise predictors for motion vectors and intra prediction */