diff options
author | Yaowu Xu <yaowu@google.com> | 2013-10-18 12:55:24 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2013-10-18 12:55:24 -0700 |
commit | db1045f2c0879c009d424ea28df3601bad65feb3 (patch) | |
tree | 0bc313ef8e12603aa6fd867ab036040867f541a5 /vp9/decoder | |
parent | 5cb8cca9eb790d196a87d5d13f0a6ea052aaf050 (diff) | |
parent | 30d1ec38a77a6df146d2b18c96719899b6871580 (diff) | |
download | libvpx-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.c | 16 |
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, |