summaryrefslogtreecommitdiff
path: root/vp9/decoder
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2013-10-18 12:55:24 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-10-18 12:55:24 -0700
commitdb1045f2c0879c009d424ea28df3601bad65feb3 (patch)
tree0bc313ef8e12603aa6fd867ab036040867f541a5 /vp9/decoder
parent5cb8cca9eb790d196a87d5d13f0a6ea052aaf050 (diff)
parent30d1ec38a77a6df146d2b18c96719899b6871580 (diff)
downloadlibvpx-db1045f2c0879c009d424ea28df3601bad65feb3.tar
libvpx-db1045f2c0879c009d424ea28df3601bad65feb3.tar.gz
libvpx-db1045f2c0879c009d424ea28df3601bad65feb3.tar.bz2
libvpx-db1045f2c0879c009d424ea28df3601bad65feb3.zip
Merge "Use lookup table to simplify logic"
Diffstat (limited to 'vp9/decoder')
-rw-r--r--vp9/decoder/vp9_decodemv.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/vp9/decoder/vp9_decodemv.c b/vp9/decoder/vp9_decodemv.c
index 4cb9a67df..16e07a56b 100644
--- a/vp9/decoder/vp9_decodemv.c
+++ b/vp9/decoder/vp9_decodemv.c
@@ -78,17 +78,13 @@ static TX_SIZE read_tx_size(VP9D_COMP *pbi, TX_MODE tx_mode,
vp9_reader *r) {
VP9_COMMON *const cm = &pbi->common;
MACROBLOCKD *const xd = &pbi->mb;
-
- if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8)
+ if (allow_select && tx_mode == TX_MODE_SELECT && bsize >= BLOCK_8X8) {
return read_selected_tx_size(cm, xd, bsize, r);
- else if (tx_mode >= ALLOW_32X32 && bsize >= BLOCK_32X32)
- return TX_32X32;
- else if (tx_mode >= ALLOW_16X16 && bsize >= BLOCK_16X16)
- return TX_16X16;
- else if (tx_mode >= ALLOW_8X8 && bsize >= BLOCK_8X8)
- return TX_8X8;
- else
- return TX_4X4;
+ } else {
+ const TX_SIZE max_tx_size_block = max_txsize_lookup[bsize];
+ const TX_SIZE max_tx_size_txmode = tx_mode_to_biggest_tx_size[tx_mode];
+ return MIN(max_tx_size_block, max_tx_size_txmode);
+ }
}
static void set_segment_id(VP9_COMMON *cm, BLOCK_SIZE bsize,