summaryrefslogtreecommitdiff
path: root/vp9/common
diff options
context:
space:
mode:
Diffstat (limited to 'vp9/common')
-rw-r--r--vp9/common/vp9_alloccommon.c20
-rw-r--r--vp9/common/vp9_blockd.c919
-rw-r--r--vp9/common/vp9_blockd.h26
-rw-r--r--vp9/common/vp9_entropy.h13
-rw-r--r--vp9/common/vp9_onyxc_int.h4
5 files changed, 26 insertions, 956 deletions
diff --git a/vp9/common/vp9_alloccommon.c b/vp9/common/vp9_alloccommon.c
index a7dc079a8..a80276705 100644
--- a/vp9/common/vp9_alloccommon.c
+++ b/vp9/common/vp9_alloccommon.c
@@ -57,19 +57,20 @@ void vp9_free_frame_buffers(VP9_COMMON *oci) {
vp8_yv12_de_alloc_frame_buffer(&oci->temp_scale_frame);
vp8_yv12_de_alloc_frame_buffer(&oci->post_proc_buffer);
- vpx_free(oci->above_context);
vpx_free(oci->mip);
vpx_free(oci->prev_mip);
vpx_free(oci->above_seg_context);
- oci->above_context = 0;
+ vpx_free(oci->above_context[0]);
+ for (i = 0; i < MAX_MB_PLANE; i++)
+ oci->above_context[i] = 0;
oci->mip = 0;
oci->prev_mip = 0;
oci->above_seg_context = 0;
}
int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height) {
- int i;
+ int i, mb_cols;
// Our internal buffers are always multiples of 16
const int aligned_width = multiple16(width);
@@ -137,13 +138,18 @@ int vp9_alloc_frame_buffers(VP9_COMMON *oci, int width, int height) {
oci->prev_mi = oci->prev_mip + oci->mode_info_stride + 1;
- oci->above_context =
- vpx_calloc(sizeof(ENTROPY_CONTEXT_PLANES) * mb_cols_aligned_to_sb(oci), 1);
-
- if (!oci->above_context) {
+ // FIXME(jkoleszar): allocate subsampled arrays for U/V once subsampling
+ // information is exposed at this level
+ mb_cols = mb_cols_aligned_to_sb(oci);
+ oci->above_context[0] = vpx_calloc(sizeof(ENTROPY_CONTEXT) * 12 * mb_cols, 1);
+ if (!oci->above_context[0]) {
vp9_free_frame_buffers(oci);
return 1;
}
+ oci->above_context[1] =
+ oci->above_context[0] + sizeof(ENTROPY_CONTEXT) * 4 * mb_cols;
+ oci->above_context[2] =
+ oci->above_context[1] + sizeof(ENTROPY_CONTEXT) * 4 * mb_cols;
oci->above_seg_context =
vpx_calloc(sizeof(PARTITION_CONTEXT) * mb_cols_aligned_to_sb(oci), 1);
diff --git a/vp9/common/vp9_blockd.c b/vp9/common/vp9_blockd.c
deleted file mode 100644
index d06e1b2f5..000000000
--- a/vp9/common/vp9_blockd.c
+++ /dev/null
@@ -1,919 +0,0 @@
-/*
- * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-
-#include "./vpx_config.h"
-#include "vp9/common/vp9_blockd.h"
-#include "vpx_mem/vpx_mem.h"
-
-const uint8_t vp9_block2left[TX_SIZE_MAX_MB][24] = {
- { 0, 0, 0, 0,
- 1, 1, 1, 1,
- 2, 2, 2, 2,
- 3, 3, 3, 3,
- 4, 4,
- 5, 5,
- 6, 6,
- 7, 7 },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 2, 2, 2, 2,
- 4, 4,
- 4, 4,
- 6, 6,
- 6, 6 },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0 },
-};
-const uint8_t vp9_block2above[TX_SIZE_MAX_MB][24] = {
- { 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 4, 5,
- 4, 5,
- 6, 7,
- 6, 7 },
- { 0, 0, 0, 0,
- 2, 2, 2, 2,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 4, 4,
- 4, 4,
- 6, 6,
- 6, 6 },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0 },
-};
-
-#define S(x) x + sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT)
-
-const uint8_t vp9_block2left_sb16x32[TX_SIZE_MAX_MB][48] = {
- { 0, 0, 0, 0,
- 1, 1, 1, 1,
- 2, 2, 2, 2,
- 3, 3, 3, 3,
- S(0), S(0), S(0), S(0),
- S(1), S(1), S(1), S(1),
- S(2), S(2), S(2), S(2),
- S(3), S(3), S(3), S(3),
- 4, 4,
- 5, 5,
- S(4), S(4),
- S(5), S(5),
- 6, 6,
- 7, 7,
- S(6), S(6),
- S(7), S(7) },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 2, 2, 2, 2,
- S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0),
- S(2), S(2), S(2), S(2),
- S(2), S(2), S(2), S(2),
- 4, 4,
- 4, 4,
- S(4), S(4),
- S(4), S(4),
- 6, 6,
- 6, 6,
- S(6), S(6),
- S(6), S(6) },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0) },
-};
-const uint8_t vp9_block2above_sb16x32[TX_SIZE_MAX_MB][48] = {
- { 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 0, 1, 2, 3,
- 4, 5,
- 4, 5,
- 4, 5,
- 4, 5,
- 6, 7,
- 6, 7,
- 6, 7,
- 6, 7 },
- { 0, 0, 0, 0,
- 2, 2, 2, 2,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 0, 0, 0, 0,
- 2, 2, 2, 2,
- 4, 4,
- 4, 4,
- 4, 4,
- 4, 4,
- 6, 6,
- 6, 6,
- 6, 6,
- 6, 6 },
- { 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0,
- 0, 0, 0, 0 },
-};
-
-const uint8_t vp9_block2left_sb32x16[TX_SIZE_MAX_MB][48] = {
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3,
- 4, 4, 4, 4,
- 5, 5, 5, 5,
- 6, 6, 6, 6,
- 7, 7, 7, 7 },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 6, 6, 6, 6,
- 6, 6, 6, 6 },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-const uint8_t vp9_block2above_sb32x16[TX_SIZE_MAX_MB][48] = {
- { 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7) },
- { 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-
-const uint8_t vp9_block2left_sb[TX_SIZE_MAX_SB][96] = {
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3),
- 4, 4, 4, 4,
- 5, 5, 5, 5,
- S(4), S(4), S(4), S(4),
- S(5), S(5), S(5), S(5),
- 6, 6, 6, 6,
- 7, 7, 7, 7,
- S(6), S(6), S(6), S(6),
- S(7), S(7), S(7), S(7) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- S(4), S(4), S(4), S(4),
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- S(6), S(6), S(6), S(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6 },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-const uint8_t vp9_block2above_sb[TX_SIZE_MAX_SB][96] = {
- { 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7) },
- { 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6 },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-
-#define T(x) x + 2 * (sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT))
-#define U(x) x + 3 * (sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT))
-
-const uint8_t vp9_block2left_sb32x64[TX_SIZE_MAX_SB][192] = {
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3),
- 4, 4, 4, 4,
- 5, 5, 5, 5,
- S(4), S(4), S(4), S(4),
- S(5), S(5), S(5), S(5),
- T(4), T(4), T(4), T(4),
- T(5), T(5), T(5), T(5),
- U(4), U(4), U(4), U(4),
- U(5), U(5), U(5), U(5),
- 6, 6, 6, 6,
- 7, 7, 7, 7,
- S(6), S(6), S(6), S(6),
- S(7), S(7), S(7), S(7),
- T(6), T(6), T(6), T(6),
- T(7), T(7), T(7), T(7) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4),
- U(4), U(4), U(4), U(4),
- U(4), U(4), U(4), U(4),
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6),
- U(6), U(6), U(6), U(6),
- U(6), U(6), U(6), U(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4),
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0) },
-};
-const uint8_t vp9_block2above_sb32x64[TX_SIZE_MAX_SB][192] = {
- { 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 4, 5, S(4), S(5),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7),
- 6, 7, S(6), S(7) },
- { 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 0, 0, 0, 0, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 4, 4, 4, 4,
- S(4), S(4), S(4), S(4),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6),
- 6, 6, 6, 6,
- S(6), S(6), S(6), S(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 4, 4, 4, 4,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6,
- 6, 6, 6, 6 },
- { 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-
-const uint8_t vp9_block2left_sb64x32[TX_SIZE_MAX_SB][192] = {
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 5, 5, 5, 5, 5, 5,
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- S(5), S(5), S(5), S(5), S(5), S(5), S(5), S(5),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 7, 7, 7, 7, 7, 7, 7, 7,
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6),
- S(7), S(7), S(7), S(7), S(7), S(7), S(7), S(7) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6),
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6 },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-};
-const uint8_t vp9_block2above_sb64x32[TX_SIZE_MAX_SB][192] = {
- { 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7) },
- { 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0) },
-};
-
-const uint8_t vp9_block2left_sb64[TX_SIZE_MAX_SB][384] = {
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1), S(1),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3), S(3),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1), T(1),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3), T(3),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1), U(1),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3), U(3),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 5, 5, 5, 5, 5, 5, 5, 5,
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- S(5), S(5), S(5), S(5), S(5), S(5), S(5), S(5),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(5), T(5), T(5), T(5), T(5), T(5), T(5), T(5),
- U(4), U(4), U(4), U(4), U(4), U(4), U(4), U(4),
- U(5), U(5), U(5), U(5), U(5), U(5), U(5), U(5),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 7, 7, 7, 7, 7, 7, 7, 7,
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6),
- S(7), S(7), S(7), S(7), S(7), S(7), S(7), S(7),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(7), T(7), T(7), T(7), T(7), T(7), T(7), T(7),
- U(6), U(6), U(6), U(6), U(6), U(6), U(6), U(6),
- U(7), U(7), U(7), U(7), U(7), U(7), U(7), U(7) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2), T(2),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2), U(2),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- S(4), S(4), S(4), S(4), S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- U(4), U(4), U(4), U(4), U(4), U(4), U(4), U(4),
- U(4), U(4), U(4), U(4), U(4), U(4), U(4), U(4),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6),
- S(6), S(6), S(6), S(6), S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- U(6), U(6), U(6), U(6), U(6), U(6), U(6), U(6),
- U(6), U(6), U(6), U(6), U(6), U(6), U(6), U(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6 },
-};
-const uint8_t vp9_block2above_sb64[TX_SIZE_MAX_SB][384] = {
- { 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 0, 1, 2, 3, S(0), S(1), S(2), S(3), T(0), T(1), T(2), T(3), U(0), U(1), U(2), U(3),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 4, 5, S(4), S(5), T(4), T(5), U(4), U(5),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7),
- 6, 7, S(6), S(7), T(6), T(7), U(6), U(7) },
- { 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 0, 0, 0, 0, 2, 2, 2, 2, S(0), S(0), S(0), S(0), S(2), S(2), S(2), S(2),
- T(0), T(0), T(0), T(0), T(2), T(2), T(2), T(2), U(0), U(0), U(0), U(0), U(2), U(2), U(2), U(2),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 4, 4, 4, 4, S(4), S(4), S(4), S(4),
- T(4), T(4), T(4), T(4), U(4), U(4), U(4), U(4),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6),
- 6, 6, 6, 6, S(6), S(6), S(6), S(6),
- T(6), T(6), T(6), T(6), U(6), U(6), U(6), U(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0), S(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0), U(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- T(4), T(4), T(4), T(4), T(4), T(4), T(4), T(4),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6),
- T(6), T(6), T(6), T(6), T(6), T(6), T(6), T(6) },
- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0), T(0),
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6,
- 6, 6, 6, 6, 6, 6, 6, 6 },
-};
-#undef U
-#undef T
-#undef S
diff --git a/vp9/common/vp9_blockd.h b/vp9/common/vp9_blockd.h
index 246aae164..8bb5a6911 100644
--- a/vp9/common/vp9_blockd.h
+++ b/vp9/common/vp9_blockd.h
@@ -48,11 +48,6 @@ typedef enum {
} PLANE_TYPE;
typedef char ENTROPY_CONTEXT;
-typedef struct {
- ENTROPY_CONTEXT y1[4];
- ENTROPY_CONTEXT u[2];
- ENTROPY_CONTEXT v[2];
-} ENTROPY_CONTEXT_PLANES;
typedef char PARTITION_CONTEXT;
@@ -329,6 +324,8 @@ struct macroblockd_plane {
struct buf_2d dst;
struct buf_2d pre[2];
int16_t *dequant;
+ ENTROPY_CONTEXT *above_context;
+ ENTROPY_CONTEXT *left_context;
};
#define BLOCK_OFFSET(x, i, n) ((x) + (i) * (n))
@@ -354,10 +351,6 @@ typedef struct macroblockd {
int left_available;
int right_available;
- /* Y,U,V */
- ENTROPY_CONTEXT_PLANES *above_context;
- ENTROPY_CONTEXT_PLANES *left_context;
-
// partition contexts
PARTITION_CONTEXT *above_seg_context;
PARTITION_CONTEXT *left_seg_context;
@@ -546,21 +539,6 @@ static TX_TYPE txfm_map(B_PREDICTION_MODE bmode) {
}
}
-extern const uint8_t vp9_block2left[TX_SIZE_MAX_MB][24];
-extern const uint8_t vp9_block2above[TX_SIZE_MAX_MB][24];
-extern const uint8_t vp9_block2left_sb[TX_SIZE_MAX_SB][96];
-extern const uint8_t vp9_block2above_sb[TX_SIZE_MAX_SB][96];
-extern const uint8_t vp9_block2left_sb64[TX_SIZE_MAX_SB][384];
-extern const uint8_t vp9_block2above_sb64[TX_SIZE_MAX_SB][384];
-extern const uint8_t vp9_block2left_sb16x32[TX_SIZE_MAX_MB][48];
-extern const uint8_t vp9_block2above_sb16x32[TX_SIZE_MAX_MB][48];
-extern const uint8_t vp9_block2left_sb32x16[TX_SIZE_MAX_MB][48];
-extern const uint8_t vp9_block2above_sb32x16[TX_SIZE_MAX_MB][48];
-extern const uint8_t vp9_block2left_sb32x64[TX_SIZE_MAX_SB][192];
-extern const uint8_t vp9_block2above_sb32x64[TX_SIZE_MAX_SB][192];
-extern const uint8_t vp9_block2left_sb64x32[TX_SIZE_MAX_SB][192];
-extern const uint8_t vp9_block2above_sb64x32[TX_SIZE_MAX_SB][192];
-
#define USE_ADST_FOR_I16X16_8X8 1
#define USE_ADST_FOR_I16X16_4X4 1
#define USE_ADST_FOR_I8X8_4X4 1
diff --git a/vp9/common/vp9_entropy.h b/vp9/common/vp9_entropy.h
index 06641dcdf..34cf14552 100644
--- a/vp9/common/vp9_entropy.h
+++ b/vp9/common/vp9_entropy.h
@@ -119,10 +119,15 @@ void vp9_adapt_coef_probs(struct VP9Common *);
static INLINE void vp9_reset_sb_tokens_context(MACROBLOCKD* const xd,
BLOCK_SIZE_TYPE bsize) {
/* Clear entropy contexts */
- const int bw = 1 << (b_width_log2(bsize) - 2);
- const int bh = 1 << (b_height_log2(bsize) - 2);
- vpx_memset(xd->above_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * bw);
- vpx_memset(xd->left_context, 0, sizeof(ENTROPY_CONTEXT_PLANES) * bh);
+ const int bw = 1 << b_width_log2(bsize);
+ const int bh = 1 << b_height_log2(bsize);
+ int i;
+ for (i = 0; i < MAX_MB_PLANE; i++) {
+ vpx_memset(xd->plane[i].above_context, 0,
+ sizeof(ENTROPY_CONTEXT) * bw >> xd->plane[i].subsampling_x);
+ vpx_memset(xd->plane[i].left_context, 0,
+ sizeof(ENTROPY_CONTEXT) * bh >> xd->plane[i].subsampling_y);
+ }
}
extern const int vp9_coef_bands8x8[64];
diff --git a/vp9/common/vp9_onyxc_int.h b/vp9/common/vp9_onyxc_int.h
index aa5905393..68fed951d 100644
--- a/vp9/common/vp9_onyxc_int.h
+++ b/vp9/common/vp9_onyxc_int.h
@@ -253,8 +253,8 @@ typedef struct VP9Common {
int ref_frame_sign_bias[MAX_REF_FRAMES]; /* Two state 0, 1 */
/* Y,U,V */
- ENTROPY_CONTEXT_PLANES *above_context; /* row of context for each plane */
- ENTROPY_CONTEXT_PLANES left_context[4]; /* (up to) 4 contexts "" */
+ ENTROPY_CONTEXT *above_context[MAX_MB_PLANE];
+ ENTROPY_CONTEXT left_context[MAX_MB_PLANE][16];
// partition contexts
PARTITION_CONTEXT *above_seg_context;