summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2015-07-07 22:35:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-07-07 22:35:31 +0000
commit6e6c57da9af10bb45c18338a910f062b34ec8a95 (patch)
tree11fd94845357f9e07e37087f8038749664d06899
parent1acdd04d2dbcf683f3e9bbd49a72fd62a42d006f (diff)
parentcccad1c5de41e29d6cc64c6e11a1d91c8486d090 (diff)
downloadlibvpx-6e6c57da9af10bb45c18338a910f062b34ec8a95.tar
libvpx-6e6c57da9af10bb45c18338a910f062b34ec8a95.tar.gz
libvpx-6e6c57da9af10bb45c18338a910f062b34ec8a95.tar.bz2
libvpx-6e6c57da9af10bb45c18338a910f062b34ec8a95.zip
Merge "Reduce dqcoeff array size in decoder"
-rw-r--r--vp9/common/vp9_blockd.h5
-rw-r--r--vp9/decoder/vp9_decodeframe.c2
-rw-r--r--vp9/decoder/vp9_detokenize.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h
index d293cf2cf..fd8fe3f11 100644
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -188,8 +188,11 @@ typedef struct macroblockd {
#endif
/* dqcoeff are shared by all the planes. So planes must be decoded serially */
+#if CONFIG_VP9_ENCODER
DECLARE_ALIGNED(16, tran_low_t, dqcoeff[64 * 64]);
-
+#else
+ DECLARE_ALIGNED(16, tran_low_t, dqcoeff[32 * 32]);
+#endif
int lossless;
int corrupted;
diff --git a/vp9/decoder/vp9_decodeframe.c b/vp9/decoder/vp9_decodeframe.c
index e81fa0478..6ddfcbb4b 100644
--- a/vp9/decoder/vp9_decodeframe.c
+++ b/vp9/decoder/vp9_decodeframe.c
@@ -188,7 +188,7 @@ static void inverse_transform_block(MACROBLOCKD* xd, int plane, int block,
struct macroblockd_plane *const pd = &xd->plane[plane];
if (eob > 0) {
TX_TYPE tx_type = DCT_DCT;
- tran_low_t *const dqcoeff = BLOCK_OFFSET(pd->dqcoeff, block);
+ tran_low_t *const dqcoeff = pd->dqcoeff;
#if CONFIG_VP9_HIGHBITDEPTH
if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) {
if (xd->lossless) {
diff --git a/vp9/decoder/vp9_detokenize.c b/vp9/decoder/vp9_detokenize.c
index 3304e64b2..2e2605903 100644
--- a/vp9/decoder/vp9_detokenize.c
+++ b/vp9/decoder/vp9_detokenize.c
@@ -217,7 +217,7 @@ int vp9_decode_block_tokens(MACROBLOCKD *xd,
pd->left_context + y);
const scan_order *so = get_scan(xd, tx_size, pd->plane_type, block);
const int eob = decode_coefs(xd, pd->plane_type,
- BLOCK_OFFSET(pd->dqcoeff, block), tx_size,
+ pd->dqcoeff, tx_size,
dequant, ctx, so->scan, so->neighbors, r);
vp9_set_contexts(xd, pd, plane_bsize, tx_size, eob > 0, x, y);
return eob;