diff options
author | Adrian Grange <agrange@google.com> | 2012-04-13 10:26:49 -0700 |
---|---|---|
committer | Adrian Grange <agrange@google.com> | 2012-04-13 10:26:49 -0700 |
commit | fa589adc5fda876fc4ee04bebfc76c67abe3e05a (patch) | |
tree | 1ddae5699244965371594cf26bd825c2ff240e8c /vp8/encoder/encodeframe.c | |
parent | 636b2f385e81cf9a8d5d4d78af90a763796d59c4 (diff) | |
download | libvpx-fa589adc5fda876fc4ee04bebfc76c67abe3e05a.tar libvpx-fa589adc5fda876fc4ee04bebfc76c67abe3e05a.tar.gz libvpx-fa589adc5fda876fc4ee04bebfc76c67abe3e05a.tar.bz2 libvpx-fa589adc5fda876fc4ee04bebfc76c67abe3e05a.zip |
Added save coding context & modified MV bounds
Added code to save the coding context in vp8_rd_pick_inter_mode
when the coding mode is forced to ARF(0,0).
Also, modified the MV bounds computation to comply with the
change in MV border from 32 to 64 pixels.
Change-Id: I96963a6f5f4d04ce84c807ae11e0635177c3ad6c
Diffstat (limited to 'vp8/encoder/encodeframe.c')
-rw-r--r-- | vp8/encoder/encodeframe.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index 5032cbdce..bc17cd4bc 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -559,12 +559,12 @@ static void pick_mb_modes (VP8_COMP *cpi, // Set up limit values for MV components to prevent them from // extending beyond the UMV borders assuming 16x16 block size - x->mv_row_min = -((mb_row * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_col_min = -((mb_col * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_row_max = ((cm->mb_rows - 1 - mb_row) * 16) - + (VP8BORDERINPIXELS - 16); - x->mv_col_max = ((cm->mb_cols - 1 - mb_col) * 16) - + (VP8BORDERINPIXELS - 16); + x->mv_row_min = -((mb_row * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_col_min = -((mb_col * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_row_max = ((cm->mb_rows - mb_row) * 16 + + (VP8BORDERINPIXELS - 16 - INTERP_EXTEND)); + x->mv_col_max = ((cm->mb_cols - mb_col) * 16 + + (VP8BORDERINPIXELS - 16 - INTERP_EXTEND)); xd->up_available = (mb_row != 0); xd->left_available = (mb_col != 0); @@ -756,22 +756,22 @@ static void encode_sb ( VP8_COMP *cpi, // Set up limit values for MV components to prevent them from // extending beyond the UMV borders assuming 16x16 block size - x->mv_row_min = -((mb_row * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_col_min = -((mb_col * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_row_max = ((cm->mb_rows - 1 - mb_row) * 16) - + (VP8BORDERINPIXELS - 16); - x->mv_col_max = ((cm->mb_cols - 1 - mb_col) * 16) - + (VP8BORDERINPIXELS - 16); + x->mv_row_min = -((mb_row * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_col_min = -((mb_col * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_row_max = ((cm->mb_rows - mb_row) * 16 + + (VP8BORDERINPIXELS - 16 - INTERP_EXTEND)); + x->mv_col_max = ((cm->mb_cols - mb_col) * 16 + + (VP8BORDERINPIXELS - 16 - INTERP_EXTEND)); #if CONFIG_SUPERBLOCKS // Set up limit values for MV components to prevent them from // extending beyond the UMV borders assuming 32x32 block size - x->mv_row_min_sb = -((mb_row * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_row_max_sb = ((cm->mb_rows - 1 - mb_row) * 16) - + (VP8BORDERINPIXELS - 32); - x->mv_col_min_sb = -((mb_col * 16) + (VP8BORDERINPIXELS - 16)); - x->mv_col_max_sb = ((cm->mb_cols - 1 - mb_col) * 16) - + (VP8BORDERINPIXELS - 32); + x->mv_row_min_sb = -((mb_row * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_col_min_sb = -((mb_col * 16) + VP8BORDERINPIXELS - INTERP_EXTEND); + x->mv_row_max_sb = ((cm->mb_rows - mb_row) * 16 + + (VP8BORDERINPIXELS - 32 - INTERP_EXTEND)); + x->mv_col_max_sb = ((cm->mb_cols - mb_col) * 16 + + (VP8BORDERINPIXELS - 32 - INTERP_EXTEND)); #endif xd->up_available = (mb_row != 0); |