diff options
Diffstat (limited to 'vp9/common')
-rw-r--r-- | vp9/common/vp9_alloccommon.c | 20 | ||||
-rw-r--r-- | vp9/common/vp9_blockd.c | 919 | ||||
-rw-r--r-- | vp9/common/vp9_blockd.h | 26 | ||||
-rw-r--r-- | vp9/common/vp9_entropy.h | 13 | ||||
-rw-r--r-- | vp9/common/vp9_onyxc_int.h | 4 |
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; |