Commit be9e48fc authored by stefang's avatar stefang

setting special motion vectors in intra macroblocks

is now in it's own inline function


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@9516 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 05420b29
......@@ -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;
}
......
......@@ -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
*/
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment