diff options
Diffstat (limited to 'vp9/common/vp9_blockd.c')
-rw-r--r-- | vp9/common/vp9_blockd.c | 513 |
1 files changed, 497 insertions, 16 deletions
diff --git a/vp9/common/vp9_blockd.c b/vp9/common/vp9_blockd.c index 9151622d3..6a68f6ee2 100644 --- a/vp9/common/vp9_blockd.c +++ b/vp9/common/vp9_blockd.c @@ -9,6 +9,7 @@ */ +#include "./vpx_config.h" #include "vp9/common/vp9_blockd.h" #include "vpx_mem/vpx_mem.h" @@ -58,6 +59,139 @@ const uint8_t vp9_block2above[TX_SIZE_MAX_MB][24] = { }; #define S(x) x + sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT) + +#if CONFIG_SBSEGMENT +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 }, +}; +#endif + 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, @@ -177,6 +311,353 @@ const uint8_t vp9_block2above_sb[TX_SIZE_MAX_SB][96] = { #define T(x) x + 2 * (sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT)) #define U(x) x + 3 * (sizeof(ENTROPY_CONTEXT_PLANES) / sizeof(ENTROPY_CONTEXT)) + +#if CONFIG_SBSEGMENT +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) }, +}; +#endif + 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, @@ -282,14 +763,14 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, @@ -408,18 +889,18 @@ const uint8_t vp9_block2above_sb64[TX_SIZE_MAX_SB][384] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, |