diff options
author | Alex Converse <aconverse@google.com> | 2016-03-02 17:21:08 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2016-03-02 17:21:08 +0000 |
commit | fcaedc56813eb173a46f0d547896d0e03342f298 (patch) | |
tree | f7dbe1c0eddb59748c0fa85f6115c7bcd1c690b9 /vp9 | |
parent | 8b47c2662a740b8ecc9da8bc804a9e24631233e6 (diff) | |
parent | 6c0dd11f29a56b285d61976dac7d1c5118891be8 (diff) | |
download | libvpx-fcaedc56813eb173a46f0d547896d0e03342f298.tar libvpx-fcaedc56813eb173a46f0d547896d0e03342f298.tar.gz libvpx-fcaedc56813eb173a46f0d547896d0e03342f298.tar.bz2 libvpx-fcaedc56813eb173a46f0d547896d0e03342f298.zip |
Merge "Simplify the inner loop of duplicate_mode_info_in_sb."
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 8953f0f32..a6d059b59 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -243,14 +243,16 @@ static void set_offsets(VP9_COMP *cpi, const TileInfo *const tile, static void duplicate_mode_info_in_sb(VP9_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col, BLOCK_SIZE bsize) { - const int block_width = num_8x8_blocks_wide_lookup[bsize]; - const int block_height = num_8x8_blocks_high_lookup[bsize]; + const int block_width = VPXMIN(num_8x8_blocks_wide_lookup[bsize], + cm->mi_cols - mi_col); + const int block_height = VPXMIN(num_8x8_blocks_high_lookup[bsize], + cm->mi_rows - mi_row); + const int mi_stride = xd->mi_stride; + MODE_INFO *const src_mi = xd->mi[0]; int i, j; for (j = 0; j < block_height; ++j) - for (i = 0; i < block_width; ++i) { - if (mi_row + j < cm->mi_rows && mi_col + i < cm->mi_cols) - xd->mi[j * xd->mi_stride + i] = xd->mi[0]; - } + for (i = 0; i < block_width; ++i) + xd->mi[j * mi_stride + i] = src_mi; } static void set_block_size(VP9_COMP * const cpi, |