ref: 6e6c57da9af10bb45c18338a910f062b34ec8a95
parent: 1acdd04d2dbcf683f3e9bbd49a72fd62a42d006f
parent: cccad1c5de41e29d6cc64c6e11a1d91c8486d090
author: Jingning Han <[email protected]>
date: Tue Jul 7 18:35:26 EDT 2015
Merge "Reduce dqcoeff array size in decoder"
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -188,8 +188,11 @@
#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;
--- a/vp9/decoder/vp9_decodeframe.c
+++ b/vp9/decoder/vp9_decodeframe.c
@@ -188,7 +188,7 @@
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) {
--- a/vp9/decoder/vp9_detokenize.c
+++ b/vp9/decoder/vp9_detokenize.c
@@ -217,7 +217,7 @@
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;