summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorDmitry Kovalev <dkovalev@google.com>2013-10-03 16:07:26 -0700
committerDmitry Kovalev <dkovalev@google.com>2013-10-03 17:46:28 -0700
commit8b34437522fc16b9c557dbac8074ed2a23daa72b (patch)
tree8bf45fad52e8c1cffed02fa977e4729650bd9e30 /vp9
parent3b7794f9eb28bf4e70b4ac2bd0e5f1c730c10724 (diff)
downloadlibvpx-8b34437522fc16b9c557dbac8074ed2a23daa72b.tar
libvpx-8b34437522fc16b9c557dbac8074ed2a23daa72b.tar.gz
libvpx-8b34437522fc16b9c557dbac8074ed2a23daa72b.tar.bz2
libvpx-8b34437522fc16b9c557dbac8074ed2a23daa72b.zip
Replacing duplicated code with get_scan_and_band call.
Change-Id: I2cc3684f416a63dc99b9303109f9850f34a470d5
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_rdopt.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index c5cc4e984..2ea27cc82 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -667,6 +667,7 @@ static void txfm_rd_in_plane(MACROBLOCK *x,
const BLOCK_SIZE bs = get_plane_block_size(bsize, pd);
const int num_4x4_w = num_4x4_blocks_wide_lookup[bs];
const int num_4x4_h = num_4x4_blocks_high_lookup[bs];
+ const uint8_t *band_translate; // just for the get_scan_and_band call
struct rdcost_block_args args = { x, { 0 }, { 0 }, tx_size,
num_4x4_w, num_4x4_h,
@@ -678,26 +679,9 @@ static void txfm_rd_in_plane(MACROBLOCK *x,
vp9_get_entropy_contexts(tx_size, args.t_above, args.t_left,
pd->above_context, pd->left_context,
num_4x4_w, num_4x4_h);
- switch (tx_size) {
- case TX_4X4:
- get_scan_nb_4x4(get_tx_type_4x4(pd->plane_type, xd, 0),
- &args.scan, &args.nb);
- break;
- case TX_8X8:
- get_scan_nb_8x8(get_tx_type_8x8(pd->plane_type, xd),
- &args.scan, &args.nb);
- break;
- case TX_16X16:
- get_scan_nb_16x16(get_tx_type_16x16(pd->plane_type, xd),
- &args.scan, &args.nb);
- break;
- case TX_32X32:
- args.scan = vp9_default_scan_32x32;
- args.nb = vp9_default_scan_32x32_neighbors;
- break;
- default:
- assert(0);
- }
+
+ get_scan_and_band(xd, tx_size, pd->plane_type, 0, &args.scan, &args.nb,
+ &band_translate);
foreach_transformed_block_in_plane(xd, bsize, plane, block_yrd_txfm, &args);
if (args.skip) {