diff options
author | Yaowu Xu <yaowu@google.com> | 2014-04-14 11:23:19 -0700 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2014-04-14 11:23:19 -0700 |
commit | 54306b586132de8802a7c4f8401c8d9231d3fd6c (patch) | |
tree | 8ccbb88e67da00aa3dfbe9304491a8757575bf22 /vp9 | |
parent | e5930d5b77e5c4a78299454c5db66c9ca5729708 (diff) | |
download | libvpx-54306b586132de8802a7c4f8401c8d9231d3fd6c.tar libvpx-54306b586132de8802a7c4f8401c8d9231d3fd6c.tar.gz libvpx-54306b586132de8802a7c4f8401c8d9231d3fd6c.tar.bz2 libvpx-54306b586132de8802a7c4f8401c8d9231d3fd6c.zip |
Reduce code duplication
Change-Id: I6ea1c335da9ca5b65f6a11466b417ad196fd0d65
Diffstat (limited to 'vp9')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 49 |
1 files changed, 20 insertions, 29 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 795765d15..f8a83dd4f 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1355,6 +1355,25 @@ static void set_fixed_partitioning(VP9_COMP *cpi, const TileInfo *const tile, } } +static void copy_partitioning(VP9_COMMON *cm, MODE_INFO **mi_8x8, + MODE_INFO **prev_mi_8x8) { + const int mis = cm->mi_stride; + int block_row, block_col; + + for (block_row = 0; block_row < 8; ++block_row) { + for (block_col = 0; block_col < 8; ++block_col) { + MODE_INFO *const prev_mi = prev_mi_8x8[block_row * mis + block_col]; + const BLOCK_SIZE sb_type = prev_mi ? prev_mi->mbmi.sb_type : 0; + + if (prev_mi) { + const ptrdiff_t offset = prev_mi - cm->prev_mi; + mi_8x8[block_row * mis + block_col] = cm->mi + offset; + mi_8x8[block_row * mis + block_col]->mbmi.sb_type = sb_type; + } + } + } +} + static void constrain_copy_partitioning(VP9_COMP *const cpi, const TileInfo *const tile, MODE_INFO **mi_8x8, @@ -1404,38 +1423,10 @@ static void constrain_copy_partitioning(VP9_COMP *const cpi, } } else { // Else this is a partial SB64, copy previous partition. - for (block_row = 0; block_row < 8; ++block_row) { - for (block_col = 0; block_col < 8; ++block_col) { - MODE_INFO *const prev_mi = prev_mi_8x8[block_row * mis + block_col]; - const BLOCK_SIZE sb_type = prev_mi ? prev_mi->mbmi.sb_type : 0; - if (prev_mi) { - const ptrdiff_t offset = prev_mi - cm->prev_mi; - mi_8x8[block_row * mis + block_col] = cm->mi + offset; - mi_8x8[block_row * mis + block_col]->mbmi.sb_type = sb_type; - } - } - } + copy_partitioning(cm, mi_8x8, prev_mi_8x8); } } -static void copy_partitioning(VP9_COMMON *cm, MODE_INFO **mi_8x8, - MODE_INFO **prev_mi_8x8) { - const int mis = cm->mi_stride; - int block_row, block_col; - - for (block_row = 0; block_row < 8; ++block_row) { - for (block_col = 0; block_col < 8; ++block_col) { - MODE_INFO *const prev_mi = prev_mi_8x8[block_row * mis + block_col]; - const BLOCK_SIZE sb_type = prev_mi ? prev_mi->mbmi.sb_type : 0; - - if (prev_mi) { - const ptrdiff_t offset = prev_mi - cm->prev_mi; - mi_8x8[block_row * mis + block_col] = cm->mi + offset; - mi_8x8[block_row * mis + block_col]->mbmi.sb_type = sb_type; - } - } - } -} const struct { int row; |