Forked from
jvet / VVCSoftware_VTM
4693 commits behind the upstream repository.
-
Philipp Merkle authoredPhilipp Merkle authored
MipData.h 69.74 KiB
/* The copyright in this software is being made available under the BSD
* License, included below. This software may be subject to other third party
* and contributor rights, including patent rights, and no such rights are
* granted under this license.
*
* Copyright (c) 2010-2020, ITU/ISO/IEC
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/** \file MipData.h
\brief weight and bias data for matrix-based intra prediction (MIP)
*/
#if JVET_Q0446_MIP_CONST_SHIFT_OFFSET
static const uint8_t MIP_SHIFT_MATRIX = 6;
static const uint8_t MIP_OFFSET_MATRIX = 32;
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix4x4[16][16][4]) =
{
{
{ 32, 30, 90, 28},
{ 32, 32, 72, 28},
{ 34, 77, 53, 30},
{ 51, 124, 36, 37},
{ 31, 31, 95, 37},
{ 33, 31, 70, 50},
{ 52, 80, 25, 60},
{ 78, 107, 1, 65},
{ 31, 29, 37, 95},
{ 38, 34, 19, 101},
{ 73, 85, 0, 81},
{ 92, 99, 0, 65},
{ 34, 29, 14, 111},
{ 48, 48, 7, 100},
{ 80, 91, 0, 74},
{ 89, 97, 0, 64}
},
{
{ 31, 23, 34, 29},
{ 31, 43, 34, 31},
{ 30, 95, 34, 32},
{ 29, 100, 35, 33},
{ 31, 23, 34, 29},
{ 31, 43, 34, 31},
{ 30, 95, 34, 32},
{ 29, 99, 35, 33},
{ 31, 24, 35, 29},
{ 31, 44, 34, 31},
{ 30, 95, 35, 32},
{ 29, 99, 35, 33},
{ 31, 24, 35, 30},
{ 31, 44, 35, 31},
{ 30, 95, 35, 32},
{ 29, 99, 35, 33}
},
{
{ 32, 32, 36, 58},
{ 32, 29, 26, 66},
{ 36, 37, 23, 61},
{ 79, 84, 3, 37},
{ 32, 32, 30, 69},
{ 33, 29, 24, 71},
{ 44, 16, 21, 70},
{ 96, 18, 0, 57},
{ 32, 31, 24, 74},
{ 33, 30, 23, 71},
{ 36, 24, 24, 71},
{ 59, 9, 16, 68},
{ 32, 32, 23, 75},
{ 33, 30, 24, 70},
{ 32, 30, 25, 71},
{ 36, 26, 25, 70}
},
{
{ 32, 33, 34, 32},
{ 32, 30, 22, 38},
{ 29, 46, 25, 38},
{ 53, 123, 28, 22},
{ 32, 33, 30, 37},
{ 32, 30, 21, 38},
{ 32, 40, 24, 38},
{ 64, 116, 26, 17},
{ 32, 32, 23, 49},
{ 32, 30, 21, 39},
{ 34, 39, 24, 37},
{ 72, 109, 23, 16},
{ 33, 31, 17, 60},
{ 32, 31, 21, 39},
{ 35, 41, 24, 37},
{ 72, 106, 22, 18}
},
{
{ 34, 25, 89, 20},
{ 38, 32, 47, 24},
{ 40, 86, 29, 27},
{ 38, 98, 32, 29},
{ 34, 31, 94, 40},
{ 44, 25, 83, 27},
{ 54, 72, 43, 16},
{ 47, 94, 33, 22},
{ 33, 31, 36, 94},
{ 43, 23, 51, 76},
{ 62, 55, 64, 25},
{ 57, 89, 38, 15},
{ 32, 32, 28, 101},
{ 38, 26, 33, 94},
{ 55, 38, 68, 47},
{ 59, 80, 52, 16}
},
{
{ 28, 30, 68, 29},
{ 23, 48, 23, 48},
{ 39, 98, 16, 42},
{ 84, 86, 20, 17},
{ 25, 31, 52, 74},
{ 38, 68, 5, 70},
{ 95, 78, 7, 21},
{ 127, 54, 12, 0},
{ 30, 47, 14, 107},
{ 79, 76, 0, 53},
{ 127, 59, 7, 1},
{ 127, 51, 9, 0},
{ 50, 71, 1, 96},
{ 109, 69, 7, 25},
{ 127, 56, 9, 0},
{ 123, 53, 13, 0}
},
{
{ 40, 20, 72, 18},
{ 48, 29, 44, 18},
{ 53, 81, 35, 18},
{ 48, 96, 33, 22},
{ 45, 23, 79, 49},
{ 61, 21, 56, 49},
{ 72, 52, 32, 48},
{ 65, 69, 20, 50},
{ 41, 27, 29, 96},
{ 49, 22, 28, 94},
{ 52, 22, 28, 93},
{ 49, 27, 27, 92},
{ 37, 29, 26, 98},
{ 39, 28, 28, 97},
{ 38, 28, 30, 97},
{ 38, 29, 30, 95}
},
{
{ 33, 27, 43, 27},
{ 32, 29, 31, 31},
{ 31, 73, 33, 31},
{ 35, 104, 34, 28},
{ 32, 30, 63, 22},
{ 33, 26, 33, 29},
{ 33, 57, 33, 30},
{ 37, 100, 35, 27},
{ 32, 31, 85, 25},
{ 34, 25, 39, 25},
{ 35, 39, 32, 28},
{ 40, 91, 35, 25},
{ 32, 30, 77, 50},
{ 34, 26, 54, 22},
{ 37, 31, 34, 27},
{ 45, 75, 34, 23}
},
{
{ 34, 25, 77, 19},
{ 36, 34, 56, 24},
{ 41, 83, 39, 30},
{ 47, 96, 28, 35},
{ 34, 31, 70, 65},
{ 38, 29, 53, 77},
{ 43, 36, 37, 83},
{ 48, 39, 28, 83},
{ 33, 31, 31, 98},
{ 33, 31, 30, 99},
{ 34, 30, 31, 98},
{ 36, 29, 31, 96},
{ 32, 32, 30, 97},
{ 32, 32, 31, 96},
{ 31, 33, 33, 96},
{ 32, 33, 34, 94}
},
{
{ 30, 30, 93, 19},
{ 31, 59, 67, 34},
{ 31, 79, 36, 59},
{ 30, 67, 17, 79},
{ 30, 38, 68, 69},
{ 29, 40, 43, 91},
{ 26, 35, 32, 101},
{ 23, 32, 30, 101},
{ 26, 34, 30, 101},
{ 23, 33, 30, 102},
{ 20, 32, 31, 102},
{ 18, 33, 32, 102},
{ 23, 33, 31, 100},
{ 20, 34, 32, 100},
{ 18, 35, 33, 100},
{ 18, 35, 33, 100}
},
{
{ 31, 54, 90, 26},
{ 32, 60, 53, 61},
{ 34, 49, 37, 84},
{ 34, 39, 35, 89},
{ 35, 38, 41, 88},
{ 35, 35, 32, 96},
{ 35, 31, 33, 96},
{ 35, 32, 35, 94},
{ 34, 34, 30, 97},
{ 35, 32, 33, 95},
{ 35, 32, 34, 94},
{ 35, 34, 34, 93},
{ 34, 34, 34, 93},
{ 35, 34, 34, 93},
{ 35, 34, 34, 92},
{ 36, 34, 35, 91}
},
{
{ 32, 29, 54, 24},
{ 31, 32, 34, 29},
{ 31, 43, 34, 29},
{ 32, 67, 36, 28},
{ 31, 34, 69, 37},
{ 31, 35, 46, 33},
{ 30, 35, 39, 33},
{ 30, 42, 39, 36},
{ 31, 35, 39, 88},
{ 30, 38, 41, 84},
{ 30, 39, 40, 81},
{ 39, 46, 38, 78},
{ 31, 36, 34, 96},
{ 34, 38, 37, 93},
{ 55, 42, 38, 82},
{ 89, 53, 38, 65}
},
{
{ 32, 33, 43, 29},
{ 32, 30, 29, 33},
{ 31, 47, 31, 33},
{ 33, 100, 31, 31},
{ 32, 33, 74, 25},
{ 32, 32, 34, 31},
{ 32, 33, 30, 33},
{ 32, 68, 30, 32},
{ 32, 31, 91, 40},
{ 32, 32, 58, 26},
{ 31, 31, 30, 32},
{ 31, 42, 30, 33},
{ 32, 31, 49, 85},
{ 32, 31, 83, 35},
{ 31, 33, 48, 29},
{ 31, 36, 32, 33}
},
{
{ 31, 29, 81, 35},
{ 32, 28, 34, 50},
{ 31, 75, 16, 43},
{ 34, 103, 29, 32},
{ 32, 32, 53, 78},
{ 31, 28, 36, 88},
{ 30, 52, 18, 73},
{ 52, 88, 17, 35},
{ 32, 32, 35, 94},
{ 30, 31, 35, 95},
{ 36, 29, 31, 92},
{ 100, 43, 16, 40},
{ 32, 32, 35, 93},
{ 30, 32, 38, 93},
{ 55, 18, 37, 83},
{ 127, 0, 30, 40}
},
{
{ 31, 22, 47, 30},
{ 31, 48, 25, 34},
{ 30, 95, 31, 32},
{ 32, 103, 33, 32},
{ 30, 24, 57, 31},
{ 30, 47, 26, 34},
{ 31, 95, 31, 32},
{ 43, 97, 35, 25},
{ 29, 26, 44, 63},
{ 37, 38, 24, 47},
{ 74, 63, 28, 20},
{ 110, 58, 34, 3},
{ 46, 22, 5, 108},
{ 93, 5, 9, 77},
{ 127, 0, 17, 52},
{ 127, 0, 15, 50}
},
{
{ 32, 27, 68, 24},
{ 35, 23, 35, 28},
{ 35, 64, 29, 29},
{ 37, 104, 33, 28},
{ 32, 32, 91, 40},
{ 36, 23, 67, 36},
{ 49, 23, 39, 28},
{ 60, 67, 30, 20},
{ 32, 32, 36, 95},
{ 35, 29, 38, 93},
{ 50, 16, 30, 84},
{ 72, 16, 15, 65},
{ 32, 32, 27, 100},
{ 33, 32, 29, 100},
{ 37, 29, 30, 98},
{ 48, 21, 29, 90}
}
};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix8x8[8][16][8]) =
{
{
{ 30, 63, 46, 37, 25, 33, 33, 34},
{ 30, 60, 66, 38, 32, 31, 32, 33},
{ 29, 45, 74, 42, 32, 32, 32, 33},
{ 30, 39, 62, 58, 32, 33, 32, 33},
{ 30, 66, 55, 39, 32, 30, 30, 36},
{ 29, 54, 69, 40, 33, 31, 31, 33},
{ 28, 48, 71, 43, 32, 33, 32, 33},
{ 28, 41, 72, 46, 32, 34, 32, 33},
{ 30, 66, 56, 40, 32, 33, 28, 33},
{ 29, 55, 69, 39, 33, 33, 30, 32},
{ 27, 46, 72, 43, 33, 33, 32, 33},
{ 27, 42, 69, 48, 32, 34, 32, 33},
{ 30, 63, 55, 40, 32, 33, 35, 30},
{ 29, 56, 66, 40, 33, 33, 33, 30},
{ 27, 47, 69, 44, 33, 33, 33, 32},
{ 27, 42, 65, 50, 32, 34, 32, 33}
},
{
{ 32, 33, 30, 31, 74, 30, 31, 32},
{ 33, 56, 28, 30, 41, 29, 32, 32},
{ 33, 77, 52, 26, 29, 34, 30, 32},
{ 33, 37, 80, 41, 31, 34, 30, 32},
{ 32, 32, 33, 31, 59, 76, 28, 31},
{ 33, 31, 31, 30, 78, 40, 28, 32},
{ 33, 47, 28, 29, 53, 27, 31, 31},
{ 33, 61, 44, 28, 34, 32, 31, 31},
{ 32, 31, 34, 30, 26, 64, 76, 27},
{ 32, 31, 34, 29, 45, 86, 36, 29},
{ 33, 27, 34, 29, 73, 55, 25, 32},
{ 33, 33, 34, 30, 62, 33, 30, 31},
{ 32, 31, 34, 30, 30, 29, 58, 74},
{ 32, 31, 35, 29, 27, 53, 77, 35},
{ 32, 30, 36, 29, 40, 80, 44, 31},
{ 33, 28, 37, 30, 58, 60, 31, 33}
},
{
{ 32, 51, 27, 32, 27, 50, 29, 32},
{ 32, 95, 42, 29, 29, 42, 30, 32},
{ 32, 27, 99, 34, 31, 41, 29, 32},
{ 32, 34, 21, 104, 31, 42, 30, 32},
{ 32, 45, 30, 32, 9, 88, 40, 30},
{ 32, 77, 38, 30, 9, 76, 38, 30},
{ 32, 38, 78, 33, 14, 67, 37, 30},
{ 32, 30, 30, 87, 20, 59, 38, 31},
{ 33, 37, 32, 32, 27, 18, 106, 34},
{ 34, 44, 34, 31, 25, 17, 108, 31},
{ 36, 39, 45, 31, 24, 15, 108, 30},
{ 37, 31, 31, 54, 25, 14, 101, 32},
{ 36, 33, 32, 30, 29, 37, 13, 110},
{ 39, 32, 32, 29, 27, 37, 15, 108},
{ 44, 33, 31, 27, 25, 37, 16, 106},
{ 47, 30, 31, 32, 25, 34, 19, 102}
},
{
{ 32, 48, 35, 35, 47, 68, 31, 31},
{ 32, 33, 59, 40, 27, 71, 33, 30},
{ 32, 29, 47, 65, 24, 62, 37, 30},
{ 33, 33, 31, 81, 26, 50, 42, 32},
{ 32, 30, 40, 38, 30, 70, 55, 31},
{ 32, 20, 46, 50, 26, 55, 64, 31},
{ 33, 30, 29, 66, 25, 41, 72, 33},
{ 36, 34, 27, 69, 26, 31, 67, 39},
{ 33, 28, 36, 40, 30, 26, 85, 47},
{ 36, 27, 33, 50, 31, 20, 79, 53},
{ 43, 30, 26, 57, 28, 17, 67, 62},
{ 51, 27, 28, 55, 22, 23, 49, 70},
{ 38, 29, 32, 39, 28, 30, 22, 104},
{ 51, 31, 28, 43, 24, 31, 17, 102},
{ 69, 23, 30, 40, 15, 38, 10, 95},
{ 77, 13, 35, 38, 8, 43, 8, 90}
},
{
{ 32, 38, 32, 33, 101, 40, 29, 32},
{ 32, 40, 37, 32, 100, 36, 30, 32},
{ 32, 37, 46, 35, 94, 33, 30, 31},
{ 33, 34, 30, 62, 81, 35, 30, 31},
{ 32, 32, 33, 32, 22, 102, 39, 29},
{ 32, 31, 33, 33, 26, 104, 34, 28},
{ 33, 33, 33, 33, 31, 103, 32, 28},
{ 33, 32, 34, 36, 37, 94, 33, 28},
{ 32, 33, 32, 32, 34, 24, 99, 36},
{ 32, 34, 33, 33, 33, 30, 98, 32},
{ 33, 33, 34, 33, 31, 37, 95, 29},
{ 33, 33, 33, 36, 30, 46, 85, 31},
{ 32, 33, 32, 33, 30, 34, 23, 104},
{ 32, 34, 33, 33, 31, 32, 30, 98},
{ 32, 33, 34, 34, 31, 29, 39, 91},
{ 33, 33, 32, 37, 32, 30, 47, 82}
},
{
{ 32, 52, 48, 31, 38, 76, 26, 32},
{ 33, 19, 62, 50, 25, 50, 51, 31},
{ 33, 30, 20, 74, 29, 29, 54, 51},
{ 34, 35, 23, 56, 31, 25, 41, 76},
{ 33, 25, 38, 39, 28, 39, 83, 35},
{ 35, 28, 25, 47, 31, 23, 57, 74},
{ 37, 35, 22, 38, 31, 27, 30, 101},
{ 38, 32, 33, 29, 30, 31, 27, 103},
{ 34, 32, 27, 37, 32, 25, 41, 92},
{ 38, 33, 28, 32, 30, 31, 18, 111},
{ 40, 32, 33, 27, 29, 33, 18, 111},
{ 40, 32, 34, 27, 28, 33, 23, 105},
{ 35, 32, 30, 33, 31, 33, 20, 107},
{ 38, 31, 33, 30, 29, 33, 21, 106},
{ 40, 32, 33, 29, 29, 34, 22, 105},
{ 40, 32, 33, 30, 29, 34, 24, 101}
},
{
{ 32, 28, 31, 33, 92, 33, 30, 31},
{ 33, 30, 28, 33, 71, 26, 32, 30},
{ 33, 60, 26, 33, 47, 28, 33, 30},
{ 33, 63, 44, 36, 37, 31, 33, 30},
{ 33, 30, 31, 33, 43, 90, 33, 29},
{ 33, 28, 29, 34, 71, 71, 26, 30},
{ 33, 30, 26, 33, 86, 45, 28, 30},
{ 33, 38, 29, 32, 74, 32, 33, 29},
{ 33, 32, 30, 32, 29, 41, 95, 27},
{ 34, 31, 29, 33, 26, 71, 73, 22},
{ 34, 31, 29, 33, 37, 88, 46, 25},
{ 33, 32, 28, 34, 55, 75, 36, 28},
{ 34, 31, 30, 32, 33, 27, 43, 89},
{ 35, 32, 28, 33, 33, 23, 77, 59},
{ 34, 33, 28, 33, 30, 35, 91, 37},
{ 34, 34, 28, 34, 33, 53, 74, 31}
},
{
{ 33, 49, 26, 32, 26, 52, 28, 31},
{ 33, 71, 72, 24, 30, 32, 34, 31},
{ 32, 23, 70, 68, 32, 32, 32, 32},
{ 31, 33, 21, 106, 33, 32, 32, 33},
{ 34, 47, 32, 29, 5, 86, 44, 26},
{ 34, 44, 89, 28, 28, 37, 33, 30},
{ 32, 27, 46, 89, 33, 31, 31, 32},
{ 30, 33, 20, 107, 33, 33, 32, 33},
{ 35, 39, 42, 27, 26, 24, 92, 35},
{ 34, 27, 87, 43, 30, 34, 38, 31},
{ 31, 31, 32, 100, 32, 33, 30, 32},
{ 29, 32, 22, 106, 33, 33, 32, 33},
{ 35, 29, 47, 32, 32, 32, 17, 100},
{ 34, 24, 69, 60, 34, 33, 28, 44},
{ 31, 33, 31, 99, 32, 33, 32, 31},
{ 29, 33, 25, 103, 33, 33, 32, 35}
}
};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix16x16[6][64][7]) =
{
{
{ 42, 37, 33, 27, 44, 33, 35},
{ 71, 39, 34, 24, 36, 35, 36},
{ 77, 46, 35, 33, 30, 34, 36},
{ 64, 60, 35, 33, 31, 32, 36},
{ 49, 71, 38, 32, 32, 31, 36},
{ 42, 66, 50, 33, 31, 32, 36},
{ 40, 52, 67, 33, 31, 32, 35},
{ 38, 43, 75, 33, 32, 32, 35},
{ 56, 40, 33, 26, 43, 38, 36},
{ 70, 49, 34, 30, 28, 38, 38},
{ 65, 57, 36, 34, 28, 33, 39},
{ 59, 60, 39, 33, 30, 31, 38},
{ 55, 60, 43, 33, 30, 31, 38},
{ 51, 61, 47, 33, 30, 32, 37},
{ 46, 62, 51, 34, 30, 32, 37},
{ 42, 60, 55, 33, 31, 32, 37},
{ 60, 42, 34, 30, 37, 43, 38},
{ 68, 52, 35, 35, 22, 37, 40},
{ 62, 58, 37, 34, 28, 31, 40},
{ 58, 59, 41, 33, 30, 30, 39},
{ 56, 59, 44, 34, 30, 31, 38},
{ 53, 60, 45, 33, 30, 31, 38},
{ 49, 65, 45, 33, 30, 31, 38},
{ 45, 64, 47, 33, 31, 32, 38},
{ 59, 44, 35, 31, 34, 43, 41},
{ 66, 53, 36, 35, 25, 31, 43},
{ 61, 58, 38, 34, 29, 30, 40},
{ 59, 57, 41, 33, 30, 31, 39},
{ 57, 58, 43, 33, 30, 31, 39},
{ 54, 61, 43, 33, 31, 31, 39},
{ 51, 64, 43, 33, 31, 31, 39},
{ 48, 64, 45, 33, 32, 31, 39},
{ 57, 45, 35, 30, 35, 40, 44},
{ 65, 54, 37, 33, 33, 24, 44},
{ 63, 56, 38, 34, 30, 29, 39},
{ 61, 56, 41, 34, 30, 32, 39},
{ 58, 58, 42, 33, 31, 31, 39},
{ 54, 62, 41, 33, 31, 31, 39},
{ 51, 65, 42, 33, 31, 31, 39},
{ 48, 63, 43, 33, 32, 31, 39},
{ 55, 46, 35, 30, 36, 38, 47},
{ 65, 53, 37, 32, 36, 26, 40},
{ 65, 54, 38, 33, 31, 30, 38},
{ 63, 55, 39, 33, 30, 32, 38},
{ 59, 58, 40, 33, 31, 31, 39},
{ 54, 64, 40, 33, 31, 30, 40},
{ 49, 66, 40, 32, 32, 30, 41},
{ 48, 64, 42, 32, 32, 30, 41},
{ 54, 46, 35, 30, 34, 39, 49},
{ 64, 52, 36, 32, 34, 34, 35},
{ 65, 53, 37, 33, 32, 32, 37},
{ 63, 55, 38, 33, 31, 31, 39},
{ 59, 60, 38, 33, 31, 31, 40},
{ 54, 64, 38, 33, 32, 30, 40},
{ 49, 66, 39, 33, 32, 29, 41},
{ 47, 64, 42, 32, 33, 29, 42},
{ 51, 46, 35, 31, 33, 37, 54},
{ 61, 51, 36, 32, 33, 38, 36},
{ 63, 53, 37, 32, 32, 34, 37},
{ 62, 55, 37, 33, 32, 32, 39},
{ 58, 59, 37, 33, 32, 31, 40},
{ 53, 63, 38, 33, 32, 31, 40},
{ 49, 64, 40, 33, 33, 30, 41},
{ 46, 62, 42, 33, 33, 30, 42}
},
{
{ 39, 34, 33, 58, 44, 31, 32},
{ 60, 38, 32, 40, 51, 30, 31},
{ 73, 49, 31, 39, 48, 32, 31},
{ 60, 73, 30, 39, 46, 33, 32},
{ 43, 87, 35, 38, 45, 33, 32},
{ 35, 78, 54, 36, 45, 33, 32},
{ 33, 47, 86, 35, 44, 33, 32},
{ 31, 17, 114, 34, 44, 34, 33},
{ 43, 37, 32, 53, 70, 30, 31},
{ 53, 50, 30, 42, 72, 31, 30},
{ 52, 66, 30, 39, 70, 32, 30},
{ 46, 78, 35, 37, 68, 34, 30},
{ 43, 75, 48, 37, 66, 34, 30},
{ 40, 62, 68, 35, 65, 35, 30},
{ 33, 37, 97, 33, 62, 37, 31},
{ 26, 14, 122, 32, 59, 38, 33},
{ 40, 39, 33, 34, 87, 37, 30},
{ 45, 54, 32, 34, 84, 41, 29},
{ 41, 70, 35, 33, 83, 40, 29},
{ 37, 73, 44, 32, 82, 40, 30},
{ 37, 65, 60, 31, 81, 41, 29},
{ 35, 48, 82, 30, 79, 43, 29},
{ 28, 27, 108, 28, 76, 45, 30},
{ 19, 11, 127, 27, 70, 46, 32},
{ 38, 40, 34, 27, 73, 62, 28},
{ 39, 54, 35, 30, 73, 62, 28},
{ 33, 65, 41, 29, 75, 59, 28},
{ 30, 65, 53, 27, 76, 58, 29},
{ 29, 53, 72, 26, 77, 58, 29},
{ 27, 35, 95, 24, 77, 60, 28},
{ 19, 19, 117, 23, 74, 61, 30},
{ 9, 16, 127, 23, 68, 60, 34},
{ 35, 40, 35, 29, 44, 89, 30},
{ 33, 51, 39, 29, 49, 86, 30},
{ 28, 57, 49, 28, 53, 83, 30},
{ 24, 52, 65, 26, 56, 82, 30},
{ 22, 39, 86, 24, 58, 82, 30},
{ 18, 22, 108, 23, 59, 82, 31},
{ 10, 13, 125, 22, 58, 80, 33},
{ 0, 19, 127, 22, 56, 74, 40},
{ 33, 40, 36, 31, 28, 90, 45},
{ 29, 46, 44, 29, 31, 92, 43},
{ 24, 45, 58, 28, 34, 91, 43},
{ 19, 37, 78, 26, 37, 91, 43},
{ 15, 22, 99, 25, 38, 91, 42},
{ 11, 11, 118, 24, 39, 90, 44},
{ 2, 11, 127, 23, 41, 85, 48},
{ 0, 17, 127, 23, 43, 75, 55},
{ 31, 37, 39, 30, 28, 54, 82},
{ 27, 37, 52, 28, 30, 58, 79},
{ 22, 30, 70, 27, 32, 58, 79},
{ 15, 19, 91, 26, 33, 58, 79},
{ 10, 8, 111, 25, 34, 58, 79},
{ 5, 2, 125, 25, 35, 57, 80},
{ 0, 9, 127, 25, 36, 53, 84},
{ 0, 13, 127, 25, 39, 47, 88},
{ 28, 29, 46, 28, 39, 2, 123},
{ 24, 24, 62, 27, 41, 1, 125},
{ 19, 14, 81, 25, 43, 0, 126},
{ 13, 4, 101, 24, 44, 0, 127},
{ 6, 0, 116, 23, 45, 0, 127},
{ 0, 0, 126, 23, 45, 1, 127},
{ 0, 4, 127, 25, 44, 2, 127},
{ 0, 9, 127, 25, 44, 3, 127}
},
{
{ 30, 32, 32, 42, 34, 32, 32},
{ 63, 26, 34, 16, 38, 32, 32},
{ 98, 26, 34, 25, 34, 33, 32},
{ 75, 61, 30, 31, 32, 33, 32},
{ 36, 94, 32, 30, 33, 32, 32},
{ 26, 76, 58, 30, 33, 32, 32},
{ 30, 39, 91, 31, 32, 33, 31},
{ 32, 23, 105, 32, 32, 32, 32},
{ 34, 30, 33, 31, 52, 29, 32},
{ 66, 24, 34, 11, 41, 33, 32},
{ 97, 28, 34, 24, 34, 33, 32},
{ 71, 65, 30, 30, 32, 33, 32},
{ 34, 92, 35, 30, 33, 32, 32},
{ 26, 70, 64, 29, 34, 32, 32},
{ 30, 37, 94, 30, 33, 32, 31},
{ 32, 23, 105, 31, 33, 33, 31},
{ 37, 29, 33, 8, 79, 27, 32},
{ 71, 22, 35, 5, 50, 32, 32},
{ 98, 29, 34, 23, 34, 34, 32},
{ 66, 70, 30, 31, 31, 33, 32},
{ 31, 92, 38, 30, 33, 32, 32},
{ 26, 66, 68, 29, 34, 32, 31},
{ 30, 34, 97, 30, 34, 33, 31},
{ 31, 22, 106, 30, 34, 33, 31},
{ 40, 28, 34, 0, 76, 46, 28},
{ 76, 21, 35, 0, 55, 35, 32},
{ 97, 32, 34, 21, 37, 33, 33},
{ 61, 75, 29, 30, 32, 32, 32},
{ 29, 92, 40, 29, 33, 32, 32},
{ 26, 62, 73, 29, 34, 32, 31},
{ 29, 32, 99, 30, 34, 33, 30},
{ 31, 22, 107, 30, 34, 33, 31},
{ 42, 27, 34, 1, 48, 79, 25},
{ 80, 20, 35, 0, 48, 47, 31},
{ 94, 36, 32, 17, 40, 33, 33},
{ 55, 80, 29, 27, 35, 31, 32},
{ 27, 90, 43, 28, 34, 32, 31},
{ 26, 58, 76, 29, 33, 33, 30},
{ 29, 30, 101, 29, 34, 34, 30},
{ 31, 21, 108, 29, 35, 34, 30},
{ 44, 26, 34, 6, 30, 80, 40},
{ 81, 21, 35, 0, 41, 52, 35},
{ 90, 41, 31, 14, 41, 35, 33},
{ 51, 82, 29, 24, 37, 32, 32},
{ 27, 87, 47, 27, 35, 32, 31},
{ 26, 54, 79, 29, 34, 33, 30},
{ 29, 29, 102, 28, 34, 33, 30},
{ 31, 21, 108, 28, 35, 33, 31},
{ 47, 26, 34, 7, 34, 44, 75},
{ 80, 24, 34, 0, 41, 41, 50},
{ 84, 45, 31, 12, 40, 36, 36},
{ 49, 81, 31, 22, 37, 33, 32},
{ 28, 81, 51, 26, 35, 33, 31},
{ 28, 51, 81, 28, 34, 33, 30},
{ 29, 30, 101, 28, 35, 33, 31},
{ 31, 22, 107, 28, 35, 33, 32},
{ 48, 27, 34, 10, 40, 16, 97},
{ 75, 27, 34, 3, 42, 26, 66},
{ 77, 47, 33, 12, 40, 32, 43},
{ 49, 75, 36, 21, 37, 33, 35},
{ 32, 72, 55, 25, 36, 33, 32},
{ 30, 49, 81, 27, 35, 33, 31},
{ 30, 32, 98, 28, 35, 32, 32},
{ 31, 24, 104, 28, 35, 32, 33}
},
{
{ 36, 29, 33, 43, 47, 29, 31},
{ 74, 20, 35, 19, 47, 34, 32},
{ 92, 35, 32, 29, 31, 40, 34},
{ 53, 80, 26, 33, 28, 36, 37},
{ 24, 91, 41, 31, 31, 31, 38},
{ 25, 57, 74, 31, 32, 30, 37},
{ 32, 28, 99, 32, 32, 29, 36},
{ 34, 20, 105, 33, 32, 30, 35},
{ 50, 26, 34, 33, 74, 30, 31},
{ 75, 28, 33, 23, 46, 47, 33},
{ 64, 58, 29, 30, 26, 46, 40},
{ 31, 85, 37, 31, 27, 33, 44},
{ 22, 67, 64, 30, 31, 28, 42},
{ 29, 35, 93, 31, 32, 27, 40},
{ 33, 20, 105, 32, 33, 27, 37},
{ 34, 19, 106, 33, 32, 29, 36},
{ 51, 29, 33, 25, 72, 51, 30},
{ 61, 42, 31, 30, 31, 60, 39},
{ 40, 70, 34, 32, 24, 41, 50},
{ 22, 72, 54, 30, 31, 27, 50},
{ 25, 44, 83, 30, 33, 25, 44},
{ 32, 23, 102, 32, 33, 26, 40},
{ 34, 18, 107, 32, 33, 28, 37},
{ 34, 19, 105, 33, 32, 30, 35},
{ 45, 35, 32, 30, 39, 79, 33},
{ 43, 53, 33, 35, 24, 53, 55},
{ 27, 67, 45, 32, 29, 27, 61},
{ 22, 53, 72, 30, 33, 22, 52},
{ 28, 31, 95, 31, 33, 25, 43},
{ 32, 20, 105, 32, 33, 27, 38},
{ 34, 18, 107, 32, 32, 29, 36},
{ 34, 20, 105, 33, 31, 31, 35},
{ 38, 40, 32, 35, 23, 72, 54},
{ 31, 55, 39, 34, 29, 32, 73},
{ 22, 57, 60, 31, 35, 18, 64},
{ 25, 39, 86, 31, 35, 22, 49},
{ 30, 24, 101, 32, 33, 27, 40},
{ 33, 19, 106, 32, 32, 30, 36},
{ 34, 18, 107, 33, 31, 31, 35},
{ 34, 20, 104, 33, 31, 32, 34},
{ 33, 42, 35, 34, 28, 39, 82},
{ 26, 51, 50, 33, 34, 18, 80},
{ 23, 46, 74, 31, 35, 20, 59},
{ 27, 32, 93, 32, 34, 26, 44},
{ 31, 22, 103, 32, 32, 30, 37},
{ 33, 19, 106, 33, 31, 31, 35},
{ 34, 19, 106, 33, 31, 32, 34},
{ 35, 21, 103, 34, 31, 32, 34},
{ 29, 41, 41, 33, 34, 20, 92},
{ 24, 44, 62, 34, 35, 18, 73},
{ 24, 37, 83, 34, 33, 25, 52},
{ 28, 28, 97, 33, 32, 30, 40},
{ 32, 23, 103, 33, 31, 32, 36},
{ 34, 20, 105, 34, 30, 33, 34},
{ 35, 20, 104, 34, 30, 33, 33},
{ 35, 22, 102, 34, 30, 33, 34},
{ 27, 38, 51, 34, 34, 20, 86},
{ 26, 37, 71, 35, 34, 24, 64},
{ 27, 33, 87, 35, 32, 30, 47},
{ 30, 28, 96, 34, 31, 32, 39},
{ 32, 24, 100, 35, 30, 32, 36},
{ 34, 23, 101, 34, 30, 33, 34},
{ 35, 23, 101, 34, 30, 32, 34},
{ 34, 24, 99, 35, 30, 33, 34}
},
{
{ 39, 30, 31, 67, 33, 34, 31},
{ 72, 21, 32, 43, 39, 33, 31},
{ 100, 23, 32, 35, 39, 34, 31},
{ 75, 63, 24, 32, 38, 34, 32},
{ 32, 98, 26, 29, 37, 35, 32},
{ 22, 77, 55, 29, 36, 35, 31},
{ 31, 37, 90, 31, 35, 35, 32},
{ 35, 22, 100, 33, 33, 36, 33},
{ 47, 29, 32, 74, 54, 32, 31},
{ 71, 24, 32, 60, 50, 36, 30},
{ 86, 31, 30, 46, 48, 37, 30},
{ 65, 63, 25, 34, 46, 39, 30},
{ 33, 85, 32, 28, 43, 40, 30},
{ 26, 64, 60, 27, 39, 41, 30},
{ 33, 33, 87, 29, 35, 41, 31},
{ 37, 23, 93, 32, 33, 41, 32},
{ 41, 32, 32, 45, 84, 32, 32},
{ 55, 31, 32, 50, 70, 40, 30},
{ 62, 37, 31, 45, 61, 45, 29},
{ 53, 55, 31, 36, 55, 48, 29},
{ 38, 63, 40, 29, 48, 50, 28},
{ 34, 49, 60, 27, 43, 51, 29},
{ 38, 30, 78, 28, 38, 50, 31},
{ 40, 24, 83, 30, 36, 48, 33},
{ 35, 33, 33, 29, 75, 58, 29},
{ 39, 35, 33, 34, 68, 59, 29},
{ 41, 39, 34, 36, 61, 62, 29},
{ 41, 43, 37, 33, 54, 64, 28},
{ 41, 43, 45, 30, 48, 65, 29},
{ 42, 36, 56, 27, 44, 63, 30},
{ 42, 30, 65, 27, 41, 60, 33},
{ 42, 28, 68, 28, 37, 56, 36},
{ 33, 34, 33, 31, 42, 88, 30},
{ 31, 36, 34, 31, 44, 84, 31},
{ 31, 37, 35, 32, 43, 83, 31},
{ 35, 35, 39, 32, 40, 82, 31},
{ 40, 32, 44, 31, 38, 81, 31},
{ 44, 30, 48, 30, 37, 78, 33},
{ 44, 30, 52, 28, 37, 72, 36},
{ 43, 30, 55, 29, 35, 66, 40},
{ 32, 33, 33, 34, 25, 85, 48},
{ 30, 34, 34, 33, 25, 88, 44},
{ 30, 34, 36, 34, 25, 90, 41},
{ 33, 32, 38, 34, 25, 90, 40},
{ 38, 29, 41, 34, 26, 88, 40},
{ 42, 29, 41, 33, 27, 85, 41},
{ 43, 30, 42, 31, 28, 80, 43},
{ 42, 31, 45, 31, 30, 72, 47},
{ 32, 33, 33, 33, 26, 54, 79},
{ 31, 32, 34, 35, 20, 68, 68},
{ 32, 32, 35, 36, 17, 76, 62},
{ 34, 31, 36, 36, 17, 79, 59},
{ 37, 29, 37, 36, 18, 78, 58},
{ 39, 29, 37, 35, 20, 77, 58},
{ 41, 30, 37, 34, 22, 74, 58},
{ 40, 31, 40, 32, 26, 68, 59},
{ 33, 31, 34, 33, 29, 31, 98},
{ 34, 30, 34, 35, 23, 45, 88},
{ 34, 31, 34, 36, 20, 54, 82},
{ 35, 31, 34, 36, 18, 59, 78},
{ 36, 31, 34, 37, 19, 60, 76},
{ 38, 30, 34, 36, 20, 61, 74},
{ 39, 31, 35, 35, 22, 60, 73},
{ 39, 31, 37, 34, 24, 59, 71}
},
{
{ 30, 33, 32, 55, 32, 32, 32},
{ 47, 30, 31, 29, 36, 32, 32},
{ 81, 28, 32, 28, 34, 32, 32},
{ 85, 46, 29, 32, 32, 33, 32},
{ 54, 82, 26, 32, 32, 33, 32},
{ 30, 90, 38, 31, 32, 33, 32},
{ 30, 56, 73, 31, 33, 32, 32},
{ 37, 21, 102, 32, 32, 32, 32},
{ 33, 32, 31, 68, 39, 31, 31},
{ 38, 32, 31, 43, 34, 33, 31},
{ 63, 30, 31, 29, 34, 32, 32},
{ 82, 37, 30, 29, 33, 32, 32},
{ 71, 63, 27, 31, 32, 33, 32},
{ 44, 86, 30, 30, 33, 33, 32},
{ 33, 72, 55, 30, 32, 32, 31},
{ 37, 37, 86, 31, 32, 33, 31},
{ 34, 33, 32, 60, 61, 29, 32},
{ 36, 33, 31, 56, 38, 32, 31},
{ 51, 30, 31, 38, 33, 33, 32},
{ 75, 31, 31, 30, 33, 33, 32},
{ 80, 47, 29, 30, 32, 33, 31},
{ 60, 73, 27, 30, 33, 33, 31},
{ 41, 78, 41, 30, 33, 32, 31},
{ 38, 53, 68, 30, 32, 33, 31},
{ 33, 33, 32, 43, 77, 35, 30},
{ 35, 33, 31, 55, 54, 29, 32},
{ 43, 32, 31, 46, 39, 31, 32},
{ 64, 30, 31, 35, 34, 33, 32},
{ 79, 37, 30, 31, 32, 33, 31},
{ 73, 57, 28, 30, 32, 33, 31},
{ 54, 73, 33, 30, 32, 33, 31},
{ 43, 64, 52, 30, 32, 33, 31},
{ 33, 33, 32, 34, 68, 58, 28},
{ 34, 33, 31, 45, 70, 33, 31},
{ 38, 33, 31, 48, 52, 29, 32},
{ 54, 31, 31, 40, 39, 31, 32},
{ 73, 32, 31, 34, 34, 33, 31},
{ 77, 45, 29, 31, 32, 32, 32},
{ 65, 63, 30, 31, 31, 33, 31},
{ 51, 66, 42, 30, 32, 33, 31},
{ 33, 32, 32, 34, 44, 81, 31},
{ 34, 33, 31, 38, 66, 52, 28},
{ 36, 33, 30, 44, 62, 34, 31},
{ 47, 31, 31, 43, 48, 30, 32},
{ 64, 31, 31, 38, 38, 32, 32},
{ 75, 38, 30, 33, 34, 32, 32},
{ 71, 53, 30, 31, 32, 33, 32},
{ 59, 61, 37, 30, 32, 33, 32},
{ 33, 32, 31, 35, 31, 71, 54},
{ 34, 33, 31, 37, 49, 70, 33},
{ 36, 33, 31, 41, 60, 48, 30},
{ 43, 32, 31, 43, 54, 35, 31},
{ 56, 31, 31, 40, 44, 32, 32},
{ 68, 35, 30, 36, 37, 32, 32},
{ 70, 45, 30, 33, 34, 33, 32},
{ 63, 55, 35, 31, 33, 33, 32},
{ 33, 32, 31, 33, 34, 36, 87},
{ 34, 32, 31, 36, 38, 62, 52},
{ 36, 33, 31, 39, 50, 57, 36},
{ 41, 33, 31, 41, 53, 43, 33},
{ 50, 33, 31, 41, 48, 36, 32},
{ 59, 35, 31, 37, 41, 34, 32},
{ 65, 42, 31, 35, 36, 33, 32},
{ 62, 49, 35, 33, 34, 34, 33}
}
};
#else
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix4x4[16][16][4]) =
{
{
{ 5, 16, 51, 2},
{ 5, 22, 18, 36},
{ 5, 15, 5, 55},
{ 5, 10, 6, 59},
{ 4, 6, 12, 59},
{ 5, 3, 4, 66},
{ 7, 0, 5, 67},
{ 8, 1, 7, 65},
{ 6, 2, 3, 67},
{ 7, 1, 5, 66},
{ 9, 1, 6, 66},
{ 10, 2, 6, 66},
{ 7, 3, 5, 64},
{ 9, 2, 6, 64},
{ 10, 2, 6, 65},
{ 10, 3, 7, 64}
},
{
{ 28, 27, 58, 26},
{ 28, 27, 52, 27},
{ 29, 39, 43, 28},
{ 28, 70, 38, 27},
{ 28, 28, 61, 28},
{ 28, 27, 62, 26},
{ 29, 30, 60, 25},
{ 25, 61, 49, 23},
{ 29, 28, 35, 54},
{ 29, 28, 42, 47},
{ 28, 26, 50, 36},
{ 16, 42, 46, 19},
{ 28, 28, 23, 64},
{ 29, 28, 24, 64},
{ 25, 24, 23, 58},
{ 0, 19, 21, 31}
},
{
{ 28, 27, 39, 26},
{ 29, 32, 29, 27},
{ 29, 60, 31, 27},
{ 27, 68, 31, 26},
{ 28, 27, 51, 27},
{ 28, 39, 39, 26},
{ 26, 64, 33, 28},
{ 21, 64, 27, 35},
{ 27, 28, 38, 50},
{ 19, 44, 31, 51},
{ 10, 57, 22, 54},
{ 7, 53, 16, 58},
{ 19, 31, 12, 72},
{ 6, 47, 14, 64},
{ 0, 50, 15, 60},
{ 2, 48, 15, 60}
},
{
{ 42, 40, 64, 45},
{ 43, 41, 44, 52},
{ 43, 67, 34, 49},
{ 41, 76, 38, 45},
{ 42, 41, 50, 67},
{ 41, 39, 42, 71},
{ 38, 52, 33, 63},
{ 31, 70, 31, 47},
{ 40, 41, 39, 76},
{ 31, 36, 38, 74},
{ 17, 30, 35, 69},
{ 9, 47, 30, 50},
{ 32, 37, 37, 75},
{ 15, 29, 36, 68},
{ 3, 22, 37, 62},
{ 0, 26, 38, 52}
},
{
{ 57, 53, 73, 55},
{ 58, 75, 61, 55},
{ 55, 91, 53, 63},
{ 45, 87, 43, 74},
{ 58, 60, 80, 63},
{ 51, 71, 62, 73},
{ 30, 65, 48, 77},
{ 14, 50, 47, 73},
{ 50, 56, 53, 89},
{ 20, 43, 50, 77},
{ 2, 32, 53, 67},
{ 2, 30, 54, 65},
{ 26, 41, 47, 82},
{ 2, 28, 53, 65},
{ 0, 27, 55, 63},
{ 3, 29, 55, 64}
},
{
{ 23, 19, 88, 8},
{ 23, 44, 61, 25},
{ 22, 64, 24, 52},
{ 21, 56, 0, 71},
{ 21, 25, 53, 61},
{ 20, 26, 31, 80},
{ 20, 22, 21, 88},
{ 19, 20, 17, 88},
{ 20, 22, 19, 89},
{ 19, 21, 19, 89},
{ 18, 20, 20, 88},
{ 17, 19, 20, 86},
{ 19, 20, 20, 87},
{ 18, 21, 21, 86},
{ 16, 21, 21, 85},
{ 13, 19, 21, 83}
},
{
{ 9, 0, 11, 6},
{ 9, 19, 11, 8},
{ 9, 70, 11, 8},
{ 9, 76, 12, 8},
{ 9, 0, 12, 6},
{ 9, 19, 11, 7},
{ 9, 70, 11, 9},
{ 9, 76, 12, 9},
{ 9, 0, 12, 6},
{ 9, 20, 12, 7},
{ 9, 70, 12, 9},
{ 9, 75, 12, 9},
{ 9, 1, 11, 8},
{ 9, 20, 12, 8},
{ 9, 70, 12, 8},
{ 9, 75, 11, 9}
},
{
{ 6, 3, 61, 7},
{ 7, 0, 34, 7},
{ 7, 13, 5, 6},
{ 6, 56, 1, 4},
{ 6, 7, 74, 5},
{ 6, 4, 70, 6},
{ 6, 0, 51, 6},
{ 6, 8, 19, 5},
{ 7, 7, 55, 23},
{ 7, 7, 71, 8},
{ 6, 5, 74, 5},
{ 6, 3, 59, 7},
{ 5, 5, 3, 74},
{ 6, 6, 36, 41},
{ 7, 7, 62, 15},
{ 6, 7, 66, 10}
},
{
{ 35, 26, 78, 28},
{ 34, 39, 35, 33},
{ 34, 96, 32, 35},
{ 35, 102, 35, 35},
{ 31, 30, 107, 25},
{ 29, 34, 66, 24},
{ 31, 93, 32, 31},
{ 35, 101, 34, 35},
{ 31, 31, 64, 72},
{ 19, 28, 86, 30},
{ 18, 85, 47, 20},
{ 31, 99, 34, 33},
{ 32, 32, 27, 106},
{ 12, 26, 52, 71},
{ 0, 72, 60, 19},
{ 20, 93, 37, 26}
},
{
{ 10, 6, 60, 0},
{ 7, 14, 39, 4},
{ 4, 65, 21, 11},
{ 1, 80, 12, 16},
{ 10, 11, 52, 46},
{ 6, 9, 36, 57},
{ 2, 18, 20, 65},
{ 0, 23, 11, 65},
{ 13, 13, 13, 80},
{ 12, 13, 12, 80},
{ 12, 12, 13, 80},
{ 11, 12, 14, 79},
{ 15, 14, 12, 79},
{ 15, 14, 13, 79},
{ 16, 16, 15, 78},
{ 16, 16, 17, 76}
},
{
{ 50, 48, 85, 42},
{ 47, 44, 59, 44},
{ 43, 52, 51, 43},
{ 14, 107, 51, 29},
{ 51, 49, 92, 77},
{ 47, 44, 70, 81},
{ 35, 32, 47, 79},
{ 0, 47, 35, 60},
{ 50, 49, 49, 116},
{ 49, 47, 49, 117},
{ 45, 41, 49, 115},
{ 30, 32, 47, 106},
{ 50, 49, 46, 117},
{ 49, 49, 48, 115},
{ 50, 48, 49, 115},
{ 47, 45, 50, 113}
},
{
{ 67, 65, 96, 61},
{ 66, 65, 90, 62},
{ 68, 83, 79, 64},
{ 59, 102, 70, 61},
{ 67, 67, 93, 74},
{ 68, 67, 93, 74},
{ 64, 75, 88, 69},
{ 30, 85, 69, 49},
{ 67, 67, 68, 97},
{ 68, 67, 68, 98},
{ 43, 60, 69, 80},
{ 4, 68, 65, 40},
{ 66, 66, 63, 101},
{ 62, 63, 62, 99},
{ 22, 49, 60, 76},
{ 0, 65, 64, 41}
},
{
{ 27, 18, 53, 22},
{ 26, 35, 22, 28},
{ 27, 90, 27, 27},
{ 28, 97, 29, 28},
{ 22, 19, 80, 29},
{ 15, 24, 42, 22},
{ 17, 72, 27, 20},
{ 22, 89, 28, 23},
{ 19, 22, 40, 82},
{ 6, 13, 36, 68},
{ 0, 19, 14, 53},
{ 8, 33, 10, 38},
{ 22, 26, 24, 95},
{ 13, 19, 25, 91},
{ 6, 14, 22, 87},
{ 4, 14, 13, 79}
},
{
{ 50, 48, 80, 49},
{ 50, 45, 73, 49},
{ 50, 48, 62, 49},
{ 49, 61, 54, 48},
{ 50, 50, 84, 48},
{ 50, 49, 84, 48},
{ 50, 48, 82, 49},
{ 50, 47, 76, 49},
{ 50, 50, 69, 64},
{ 51, 50, 77, 56},
{ 48, 48, 82, 50},
{ 37, 43, 81, 45},
{ 49, 48, 44, 87},
{ 40, 43, 50, 78},
{ 17, 32, 58, 58},
{ 0, 27, 64, 44}
},
{
{ 29, 26, 37, 36},
{ 24, 42, 16, 40},
{ 25, 62, 35, 28},
{ 28, 54, 51, 22},
{ 24, 29, 22, 52},
{ 9, 44, 21, 31},
{ 16, 50, 54, 14},
{ 27, 40, 65, 19},
{ 17, 36, 21, 49},
{ 0, 40, 41, 10},
{ 15, 37, 65, 9},
{ 28, 34, 66, 21},
{ 16, 41, 36, 33},
{ 6, 37, 54, 3},
{ 19, 32, 64, 12},
{ 28, 33, 62, 24}
},
{
{ 19, 20, 50, 19},
{ 19, 21, 49, 20},
{ 19, 27, 47, 19},
{ 19, 34, 43, 19},
{ 19, 22, 54, 18},
{ 19, 22, 55, 18},
{ 19, 22, 55, 18},
{ 19, 22, 53, 18},
{ 21, 22, 45, 27},
{ 19, 22, 47, 24},
{ 18, 21, 48, 23},
{ 18, 21, 47, 24},
{ 9, 14, 2, 65},
{ 3, 12, 2, 62},
{ 0, 11, 4, 59},
{ 0, 12, 6, 57}
}
};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipOffsetMatrix4x4[16]) =
{ 1, 28, 28, 42, 56, 22, 9, 6, 35, 14, 50, 66, 29, 50, 31, 19};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipShiftMatrix4x4[16]) =
{ 6, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 5, 6, 5, 5, 5};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix8x8[8][16][8]) =
{
{
{ 18, 77, 44, 26, 0, 17, 18, 19},
{ 19, 70, 83, 26, 16, 13, 16, 17},
{ 20, 40, 98, 36, 16, 16, 15, 16},
{ 20, 29, 75, 68, 15, 17, 16, 16},
{ 19, 82, 61, 29, 14, 10, 12, 22},
{ 21, 59, 88, 30, 17, 13, 14, 17},
{ 23, 46, 93, 36, 16, 17, 14, 16},
{ 23, 33, 96, 43, 16, 18, 15, 17},
{ 19, 82, 64, 30, 16, 17, 8, 17},
{ 22, 61, 89, 29, 17, 17, 12, 15},
{ 24, 44, 94, 38, 17, 17, 15, 16},
{ 25, 34, 90, 47, 16, 19, 15, 17},
{ 19, 77, 61, 30, 15, 17, 20, 10},
{ 22, 63, 83, 30, 17, 16, 18, 10},
{ 24, 44, 89, 39, 17, 18, 16, 16},
{ 24, 35, 82, 50, 16, 19, 16, 17}
},
{
{ 14, 15, 10, 12, 99, 11, 12, 13},
{ 12, 61, 6, 9, 32, 8, 14, 13},
{ 12, 104, 54, 2, 9, 17, 11, 14},
{ 12, 24, 110, 33, 11, 18, 10, 14},
{ 14, 14, 15, 11, 69, 102, 6, 12},
{ 13, 13, 11, 10, 105, 30, 5, 14},
{ 12, 45, 6, 8, 55, 5, 13, 12},
{ 12, 72, 38, 6, 18, 14, 12, 13},
{ 14, 12, 18, 10, 2, 77, 102, 3},
{ 13, 12, 19, 8, 41, 122, 22, 7},
{ 13, 4, 18, 8, 97, 60, 0, 13},
{ 12, 16, 18, 9, 73, 17, 11, 12},
{ 14, 12, 19, 9, 10, 8, 67, 98},
{ 13, 12, 20, 8, 4, 57, 104, 20},
{ 13, 10, 22, 7, 29, 109, 37, 12},
{ 12, 5, 24, 9, 66, 70, 12, 17}
},
{
{ 23, 42, 18, 23, 18, 41, 20, 23},
{ 23, 86, 33, 20, 20, 33, 21, 23},
{ 23, 18, 90, 25, 22, 32, 20, 23},
{ 23, 25, 12, 94, 22, 33, 21, 23},
{ 23, 36, 21, 23, 0, 79, 31, 21},
{ 23, 68, 29, 21, 0, 67, 29, 21},
{ 23, 29, 70, 24, 5, 58, 28, 21},
{ 23, 22, 21, 78, 11, 50, 29, 22},
{ 22, 28, 23, 23, 18, 9, 97, 25},
{ 21, 35, 25, 22, 16, 8, 99, 22},
{ 19, 30, 36, 22, 15, 6, 100, 21},
{ 18, 22, 22, 45, 16, 5, 92, 23},
{ 19, 24, 23, 21, 20, 28, 4, 101},
{ 16, 23, 23, 20, 18, 28, 6, 99},
{ 11, 24, 22, 18, 16, 28, 8, 97},
{ 8, 21, 21, 23, 16, 25, 11, 93}
},
{
{ 45, 61, 48, 48, 60, 81, 44, 44},
{ 45, 46, 72, 53, 41, 84, 46, 43},
{ 45, 42, 60, 78, 38, 76, 50, 43},
{ 44, 46, 43, 94, 39, 63, 55, 45},
{ 44, 44, 53, 51, 43, 83, 68, 44},
{ 45, 33, 59, 63, 39, 68, 77, 44},
{ 44, 43, 42, 79, 38, 54, 85, 46},
{ 41, 46, 40, 82, 39, 44, 80, 52},
{ 44, 41, 49, 52, 43, 39, 98, 60},
{ 41, 40, 46, 63, 43, 33, 92, 66},
{ 34, 43, 39, 70, 41, 30, 80, 75},
{ 26, 40, 41, 68, 35, 36, 62, 83},
{ 39, 42, 45, 52, 41, 43, 35, 117},
{ 26, 44, 41, 56, 38, 44, 30, 115},
{ 8, 36, 44, 53, 28, 51, 23, 108},
{ 0, 26, 48, 51, 22, 56, 21, 103}
},
{
{ 10, 15, 10, 11, 79, 18, 7, 10},
{ 10, 18, 15, 10, 79, 14, 8, 10},
{ 10, 15, 24, 13, 72, 12, 8, 9},
{ 10, 12, 8, 40, 59, 13, 8, 9},
{ 10, 10, 11, 10, 0, 80, 17, 7},
{ 10, 9, 11, 11, 4, 82, 12, 6},
{ 9, 11, 11, 11, 9, 81, 10, 6},
{ 9, 10, 12, 15, 15, 72, 12, 6},
{ 10, 11, 10, 10, 12, 2, 77, 14},
{ 10, 12, 11, 11, 11, 8, 76, 10},
{ 9, 11, 12, 11, 9, 15, 73, 7},
{ 9, 11, 11, 14, 9, 24, 63, 8},
{ 10, 11, 10, 11, 8, 12, 1, 82},
{ 10, 12, 11, 11, 9, 10, 8, 76},
{ 10, 11, 12, 12, 10, 7, 17, 69},
{ 9, 11, 10, 15, 10, 8, 25, 60}
},
{
{ 14, 34, 30, 13, 20, 58, 8, 14},
{ 13, 1, 44, 32, 7, 32, 33, 13},
{ 13, 12, 2, 56, 11, 11, 36, 33},
{ 12, 17, 5, 38, 13, 7, 23, 58},
{ 13, 7, 20, 22, 10, 21, 65, 18},
{ 11, 10, 6, 29, 13, 5, 39, 56},
{ 9, 17, 4, 20, 13, 9, 12, 83},
{ 8, 14, 15, 11, 12, 13, 9, 85},
{ 12, 14, 9, 19, 15, 7, 23, 74},
{ 8, 15, 10, 14, 13, 13, 0, 93},
{ 6, 14, 15, 9, 11, 15, 0, 93},
{ 6, 14, 16, 9, 10, 15, 5, 87},
{ 11, 14, 12, 15, 13, 15, 2, 89},
{ 8, 13, 15, 12, 11, 15, 3, 88},
{ 6, 14, 15, 11, 11, 16, 4, 87},
{ 6, 14, 15, 12, 11, 16, 6, 83}
},
{
{ 10, 6, 9, 11, 70, 11, 8, 9},
{ 9, 8, 6, 11, 49, 4, 10, 8},
{ 9, 38, 4, 11, 25, 6, 11, 8},
{ 9, 41, 22, 14, 15, 9, 11, 8},
{ 9, 8, 9, 11, 21, 68, 11, 7},
{ 9, 6, 7, 11, 49, 49, 4, 8},
{ 8, 9, 4, 11, 64, 23, 6, 8},
{ 9, 16, 7, 9, 52, 11, 11, 7},
{ 9, 10, 8, 10, 7, 19, 73, 5},
{ 8, 9, 7, 11, 4, 50, 51, 0},
{ 8, 9, 7, 11, 15, 66, 24, 3},
{ 9, 10, 6, 12, 33, 53, 14, 6},
{ 8, 9, 8, 10, 11, 5, 21, 67},
{ 7, 10, 6, 11, 11, 1, 55, 37},
{ 7, 11, 6, 11, 8, 13, 69, 15},
{ 8, 12, 6, 12, 11, 31, 52, 9}
},
{
{ 26, 43, 21, 27, 21, 46, 23, 26},
{ 26, 66, 67, 19, 25, 27, 28, 26},
{ 27, 18, 64, 63, 27, 27, 27, 27},
{ 28, 28, 16, 101, 28, 27, 27, 28},
{ 25, 42, 27, 24, 0, 81, 39, 21},
{ 25, 39, 84, 23, 23, 32, 28, 25},
{ 27, 22, 40, 84, 28, 25, 27, 27},
{ 29, 28, 15, 102, 28, 28, 27, 28},
{ 24, 34, 37, 22, 21, 19, 87, 30},
{ 25, 22, 82, 38, 25, 29, 33, 25},
{ 28, 26, 27, 95, 27, 28, 25, 27},
{ 30, 27, 17, 101, 28, 28, 27, 28},
{ 24, 24, 42, 27, 27, 27, 12, 95},
{ 26, 19, 64, 55, 29, 28, 23, 39},
{ 29, 28, 26, 94, 27, 28, 27, 26},
{ 30, 28, 20, 98, 28, 28, 27, 30}
}
};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const short mipOffsetMatrix8x8[8]) =
{ 15, 14, 23, 45, 10, 14, 10, 27};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const short mipShiftMatrix8x8[8]) =
{ 7, 7, 6, 6, 6, 6, 6, 6};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipMatrix16x16[6][64][7]) =
{
{
{ 22, 13, 15, 50, 16, 17, 14},
{ 55, 5, 15, 25, 22, 16, 14},
{ 83, 7, 14, 18, 22, 17, 14},
{ 58, 47, 7, 15, 21, 17, 15},
{ 15, 81, 9, 12, 20, 18, 14},
{ 5, 61, 38, 12, 19, 18, 14},
{ 14, 20, 73, 13, 17, 18, 15},
{ 18, 4, 84, 16, 16, 19, 16},
{ 30, 12, 15, 57, 36, 15, 14},
{ 54, 8, 14, 44, 33, 18, 13},
{ 69, 14, 12, 29, 32, 20, 12},
{ 48, 46, 8, 18, 30, 22, 13},
{ 17, 68, 14, 11, 26, 24, 13},
{ 10, 47, 43, 10, 22, 24, 13},
{ 16, 16, 70, 12, 18, 24, 14},
{ 20, 6, 77, 15, 16, 24, 16},
{ 24, 15, 15, 28, 67, 15, 15},
{ 38, 14, 14, 34, 52, 23, 13},
{ 46, 21, 13, 29, 45, 27, 11},
{ 36, 38, 13, 19, 38, 31, 11},
{ 21, 46, 22, 13, 31, 34, 11},
{ 18, 32, 43, 10, 26, 34, 12},
{ 21, 13, 62, 11, 21, 33, 14},
{ 22, 7, 66, 13, 18, 31, 17},
{ 18, 17, 15, 12, 58, 40, 12},
{ 22, 19, 15, 18, 50, 42, 12},
{ 24, 23, 15, 19, 44, 45, 11},
{ 25, 27, 19, 16, 37, 47, 11},
{ 24, 26, 27, 13, 31, 48, 12},
{ 25, 18, 39, 11, 27, 46, 13},
{ 25, 12, 48, 10, 23, 43, 16},
{ 25, 11, 51, 11, 20, 40, 19},
{ 16, 17, 16, 14, 24, 71, 13},
{ 14, 19, 16, 15, 27, 67, 14},
{ 14, 20, 17, 15, 26, 66, 13},
{ 18, 18, 21, 15, 24, 65, 13},
{ 24, 14, 27, 15, 22, 64, 14},
{ 27, 12, 31, 13, 20, 61, 16},
{ 27, 13, 35, 12, 19, 56, 19},
{ 26, 14, 37, 12, 18, 50, 23},
{ 15, 16, 16, 17, 8, 68, 31},
{ 13, 17, 17, 16, 8, 72, 26},
{ 13, 17, 18, 17, 8, 74, 23},
{ 16, 14, 21, 17, 8, 73, 22},
{ 21, 11, 24, 17, 9, 72, 22},
{ 25, 11, 24, 16, 9, 69, 24},
{ 26, 14, 25, 15, 10, 64, 26},
{ 25, 15, 28, 14, 12, 56, 30},
{ 14, 15, 16, 16, 9, 37, 62},
{ 14, 15, 17, 18, 4, 52, 51},
{ 15, 14, 18, 19, 1, 60, 44},
{ 17, 13, 19, 20, 0, 64, 41},
{ 20, 11, 20, 19, 1, 63, 40},
{ 22, 12, 20, 18, 3, 61, 40},
{ 23, 14, 20, 17, 5, 58, 40},
{ 23, 15, 22, 16, 8, 52, 42},
{ 16, 14, 17, 16, 12, 15, 81},
{ 17, 13, 17, 17, 6, 29, 71},
{ 18, 13, 18, 19, 3, 38, 64},
{ 18, 13, 18, 19, 1, 44, 60},
{ 19, 13, 17, 20, 2, 45, 58},
{ 20, 14, 17, 19, 3, 45, 56},
{ 21, 14, 18, 18, 5, 45, 55},
{ 22, 15, 19, 18, 7, 43, 53}
},
{
{ 42, 21, 26, 96, 39, 29, 20},
{ 42, 32, 28, 49, 66, 35, 21},
{ 30, 41, 30, 29, 73, 40, 23},
{ 23, 42, 35, 23, 72, 42, 26},
{ 25, 34, 44, 22, 68, 46, 26},
{ 26, 32, 49, 22, 65, 47, 25},
{ 24, 33, 53, 21, 62, 47, 25},
{ 22, 30, 62, 21, 57, 47, 25},
{ 27, 25, 27, 46, 97, 33, 22},
{ 11, 31, 31, 22, 94, 53, 22},
{ 0, 29, 35, 16, 89, 60, 26},
{ 6, 17, 41, 15, 86, 62, 28},
{ 20, 4, 42, 16, 84, 63, 28},
{ 26, 8, 35, 17, 84, 61, 28},
{ 23, 24, 25, 18, 83, 60, 27},
{ 21, 31, 27, 19, 77, 58, 28},
{ 16, 22, 27, 14, 107, 48, 24},
{ 11, 21, 32, 13, 84, 70, 26},
{ 11, 17, 36, 14, 77, 73, 29},
{ 13, 15, 35, 15, 77, 71, 31},
{ 16, 14, 34, 15, 80, 68, 30},
{ 17, 16, 31, 15, 84, 64, 30},
{ 19, 19, 29, 16, 85, 61, 29},
{ 19, 23, 30, 18, 81, 60, 29},
{ 17, 18, 28, 14, 81, 76, 24},
{ 15, 17, 31, 15, 71, 77, 33},
{ 15, 16, 33, 14, 70, 74, 36},
{ 15, 17, 32, 14, 73, 71, 36},
{ 15, 18, 32, 13, 77, 67, 36},
{ 15, 18, 32, 13, 81, 65, 34},
{ 16, 17, 32, 13, 82, 64, 32},
{ 18, 19, 32, 15, 78, 63, 32},
{ 18, 17, 28, 18, 52, 97, 31},
{ 16, 16, 31, 15, 64, 76, 41},
{ 14, 17, 31, 14, 66, 72, 43},
{ 15, 17, 32, 13, 70, 70, 42},
{ 16, 18, 33, 11, 72, 70, 38},
{ 16, 18, 33, 11, 74, 71, 35},
{ 17, 17, 34, 13, 73, 72, 32},
{ 18, 19, 33, 14, 70, 72, 32},
{ 17, 19, 26, 16, 39, 87, 55},
{ 14, 19, 29, 13, 57, 78, 49},
{ 15, 18, 31, 12, 61, 76, 45},
{ 15, 18, 32, 13, 63, 76, 42},
{ 16, 17, 33, 13, 63, 79, 38},
{ 17, 15, 35, 13, 62, 82, 34},
{ 18, 15, 36, 13, 62, 82, 33},
{ 19, 18, 34, 15, 59, 81, 33},
{ 17, 19, 25, 15, 34, 59, 89},
{ 14, 19, 29, 13, 47, 80, 56},
{ 14, 19, 31, 12, 54, 84, 44},
{ 16, 18, 32, 13, 57, 83, 41},
{ 17, 17, 33, 14, 55, 85, 38},
{ 18, 15, 35, 14, 53, 87, 36},
{ 19, 14, 36, 15, 53, 86, 35},
{ 20, 17, 36, 17, 52, 81, 37},
{ 19, 19, 26, 17, 32, 42, 105},
{ 17, 19, 28, 15, 40, 75, 65},
{ 16, 19, 30, 14, 45, 84, 49},
{ 17, 18, 32, 14, 50, 83, 45},
{ 18, 17, 33, 16, 50, 82, 43},
{ 19, 16, 35, 16, 49, 84, 40},
{ 20, 15, 38, 17, 48, 83, 40},
{ 21, 17, 38, 18, 48, 78, 41}
},
{
{ 52, 46, 46, 55, 50, 46, 47},
{ 65, 45, 45, 42, 52, 47, 47},
{ 74, 48, 45, 40, 51, 48, 47},
{ 67, 61, 44, 39, 50, 48, 48},
{ 52, 74, 45, 39, 48, 48, 49},
{ 44, 75, 53, 39, 47, 48, 50},
{ 44, 57, 71, 40, 46, 46, 51},
{ 50, 31, 92, 42, 45, 41, 55},
{ 55, 45, 45, 48, 61, 48, 46},
{ 65, 46, 45, 36, 57, 53, 46},
{ 72, 50, 44, 31, 54, 54, 48},
{ 66, 61, 44, 31, 51, 54, 49},
{ 54, 73, 45, 32, 48, 52, 52},
{ 45, 76, 52, 33, 46, 49, 55},
{ 45, 59, 70, 36, 44, 44, 59},
{ 50, 30, 93, 40, 43, 37, 64},
{ 54, 46, 45, 39, 66, 53, 46},
{ 65, 46, 45, 31, 57, 60, 47},
{ 71, 50, 44, 26, 52, 61, 50},
{ 67, 60, 44, 26, 48, 58, 53},
{ 56, 72, 45, 27, 45, 53, 58},
{ 47, 76, 51, 29, 43, 47, 63},
{ 46, 59, 69, 33, 41, 39, 69},
{ 51, 29, 93, 37, 40, 30, 76},
{ 53, 46, 46, 35, 60, 64, 47},
{ 64, 47, 45, 27, 53, 65, 50},
{ 71, 50, 45, 22, 49, 62, 55},
{ 68, 59, 44, 22, 46, 57, 61},
{ 58, 71, 45, 24, 43, 50, 67},
{ 48, 76, 51, 27, 41, 41, 74},
{ 46, 59, 69, 32, 39, 31, 82},
{ 51, 30, 93, 36, 38, 21, 88},
{ 52, 46, 46, 35, 51, 71, 50},
{ 63, 47, 45, 24, 51, 63, 58},
{ 70, 51, 45, 19, 49, 56, 65},
{ 68, 59, 44, 19, 45, 50, 72},
{ 58, 71, 45, 22, 42, 41, 80},
{ 48, 76, 51, 26, 39, 31, 88},
{ 46, 59, 69, 30, 37, 21, 95},
{ 51, 30, 93, 34, 36, 13, 100},
{ 52, 46, 46, 35, 47, 65, 61},
{ 62, 47, 45, 24, 49, 56, 69},
{ 69, 51, 45, 19, 47, 47, 77},
{ 68, 60, 44, 19, 44, 38, 85},
{ 59, 71, 45, 22, 40, 29, 94},
{ 49, 75, 51, 25, 37, 19, 102},
{ 47, 59, 69, 28, 35, 11, 108},
{ 52, 31, 93, 33, 34, 6, 110},
{ 52, 47, 46, 36, 46, 50, 77},
{ 61, 48, 45, 26, 46, 42, 84},
{ 67, 52, 45, 21, 44, 34, 92},
{ 66, 60, 44, 21, 41, 26, 100},
{ 59, 70, 46, 22, 38, 17, 108},
{ 50, 73, 53, 25, 35, 10, 114},
{ 48, 57, 70, 28, 33, 3, 118},
{ 52, 31, 92, 32, 32, 1, 118},
{ 52, 47, 46, 38, 45, 32, 93},
{ 59, 49, 46, 30, 43, 27, 99},
{ 65, 53, 46, 25, 41, 21, 106},
{ 64, 60, 46, 23, 38, 15, 111},
{ 58, 67, 48, 24, 36, 9, 117},
{ 51, 68, 56, 25, 34, 4, 121},
{ 49, 55, 72, 27, 32, 0, 123},
{ 52, 32, 92, 31, 30, 0, 123}
},
{
{ 18, 16, 16, 71, 13, 16, 16},
{ 36, 14, 16, 63, 18, 15, 17},
{ 64, 11, 16, 60, 20, 13, 17},
{ 64, 30, 13, 55, 22, 13, 17},
{ 33, 63, 9, 50, 25, 12, 18},
{ 15, 64, 24, 44, 27, 11, 18},
{ 19, 27, 59, 38, 30, 10, 18},
{ 24, 0, 81, 32, 31, 12, 18},
{ 22, 16, 16, 65, 46, 10, 17},
{ 25, 17, 16, 63, 50, 8, 18},
{ 35, 16, 16, 58, 54, 6, 19},
{ 41, 19, 16, 53, 58, 6, 19},
{ 36, 30, 15, 48, 62, 5, 19},
{ 28, 35, 20, 43, 63, 6, 19},
{ 26, 24, 35, 37, 62, 8, 18},
{ 26, 10, 50, 31, 59, 11, 19},
{ 18, 17, 16, 22, 81, 10, 18},
{ 18, 18, 16, 22, 81, 12, 19},
{ 19, 18, 16, 21, 81, 13, 19},
{ 22, 16, 17, 20, 80, 15, 18},
{ 25, 16, 17, 20, 77, 20, 17},
{ 26, 19, 17, 20, 73, 25, 16},
{ 25, 19, 20, 20, 68, 29, 16},
{ 24, 16, 27, 21, 60, 31, 17},
{ 16, 17, 16, 9, 59, 45, 14},
{ 16, 17, 16, 10, 55, 49, 14},
{ 16, 17, 16, 12, 50, 54, 14},
{ 17, 16, 16, 13, 45, 59, 13},
{ 19, 15, 16, 15, 39, 63, 13},
{ 21, 16, 16, 17, 35, 66, 14},
{ 22, 17, 16, 18, 33, 65, 16},
{ 22, 17, 19, 18, 33, 59, 21},
{ 17, 16, 16, 15, 20, 78, 16},
{ 17, 16, 16, 16, 18, 77, 19},
{ 17, 16, 15, 17, 15, 77, 22},
{ 17, 16, 15, 17, 13, 76, 24},
{ 18, 16, 15, 18, 11, 75, 27},
{ 18, 16, 15, 19, 11, 71, 31},
{ 19, 17, 15, 19, 13, 65, 35},
{ 19, 17, 16, 18, 16, 57, 39},
{ 17, 16, 16, 18, 9, 61, 42},
{ 17, 16, 15, 18, 10, 55, 47},
{ 18, 16, 15, 18, 9, 51, 52},
{ 18, 17, 15, 18, 9, 47, 56},
{ 18, 17, 15, 18, 10, 43, 60},
{ 18, 17, 14, 18, 11, 39, 63},
{ 18, 18, 14, 17, 12, 36, 65},
{ 19, 17, 15, 18, 13, 35, 65},
{ 16, 16, 15, 16, 14, 24, 75},
{ 17, 17, 15, 17, 14, 21, 78},
{ 17, 17, 15, 17, 14, 19, 80},
{ 18, 17, 15, 17, 13, 17, 82},
{ 18, 18, 14, 17, 13, 16, 84},
{ 18, 18, 15, 17, 13, 15, 84},
{ 19, 17, 15, 17, 13, 16, 84},
{ 19, 17, 16, 17, 14, 18, 81},
{ 16, 16, 16, 16, 16, 8, 89},
{ 17, 16, 16, 16, 16, 8, 89},
{ 18, 17, 15, 16, 15, 8, 90},
{ 18, 18, 15, 16, 15, 8, 90},
{ 19, 18, 15, 17, 15, 8, 90},
{ 19, 18, 15, 17, 15, 7, 90},
{ 19, 17, 16, 17, 14, 8, 90},
{ 19, 17, 17, 17, 15, 10, 87}
},
{
{ 29, 12, 13, 53, 18, 11, 15},
{ 56, 12, 13, 24, 32, 7, 16},
{ 54, 32, 12, 12, 33, 11, 15},
{ 21, 61, 15, 8, 27, 18, 13},
{ 5, 54, 36, 8, 20, 22, 13},
{ 10, 21, 64, 9, 15, 24, 16},
{ 16, 2, 75, 11, 11, 23, 23},
{ 16, 2, 68, 12, 9, 19, 33},
{ 29, 16, 14, 41, 56, 2, 17},
{ 28, 29, 15, 18, 56, 10, 15},
{ 14, 42, 21, 7, 42, 24, 13},
{ 6, 36, 37, 7, 25, 35, 14},
{ 11, 14, 55, 10, 13, 37, 21},
{ 16, 0, 61, 11, 8, 33, 31},
{ 16, 0, 56, 11, 6, 26, 43},
{ 15, 6, 46, 12, 7, 20, 53},
{ 13, 22, 16, 9, 73, 17, 14},
{ 8, 28, 22, 9, 46, 40, 11},
{ 6, 23, 32, 11, 21, 53, 15},
{ 11, 9, 43, 13, 9, 50, 27},
{ 16, 0, 46, 14, 4, 40, 42},
{ 17, 2, 41, 14, 5, 28, 55},
{ 15, 7, 34, 13, 6, 20, 65},
{ 14, 11, 29, 12, 9, 15, 69},
{ 10, 18, 19, 8, 35, 62, 9},
{ 9, 16, 25, 15, 13, 67, 18},
{ 12, 9, 32, 17, 4, 54, 36},
{ 15, 5, 34, 17, 4, 36, 53},
{ 16, 4, 31, 15, 7, 22, 67},
{ 16, 8, 27, 15, 9, 14, 75},
{ 14, 12, 22, 13, 10, 11, 79},
{ 12, 14, 21, 12, 12, 10, 78},
{ 12, 13, 19, 16, 6, 73, 23},
{ 13, 10, 24, 17, 4, 49, 46},
{ 14, 7, 26, 17, 7, 27, 65},
{ 15, 7, 25, 16, 10, 13, 77},
{ 15, 9, 22, 15, 12, 7, 83},
{ 14, 12, 19, 14, 13, 5, 85},
{ 13, 14, 18, 13, 13, 5, 85},
{ 12, 14, 18, 12, 14, 7, 82},
{ 14, 12, 19, 16, 7, 40, 56},
{ 14, 9, 22, 15, 11, 17, 74},
{ 14, 8, 22, 15, 13, 6, 84},
{ 14, 9, 21, 15, 14, 2, 87},
{ 13, 11, 18, 14, 14, 2, 88},
{ 13, 13, 17, 14, 15, 2, 88},
{ 12, 14, 16, 13, 16, 3, 87},
{ 12, 15, 16, 12, 15, 6, 83},
{ 14, 11, 18, 14, 14, 10, 81},
{ 14, 9, 19, 14, 15, 3, 87},
{ 14, 10, 19, 14, 15, 0, 90},
{ 13, 11, 17, 14, 15, 0, 90},
{ 13, 12, 17, 14, 15, 1, 89},
{ 13, 14, 16, 13, 16, 2, 88},
{ 12, 15, 15, 12, 16, 3, 86},
{ 12, 14, 16, 13, 16, 6, 83},
{ 13, 11, 17, 14, 16, 2, 87},
{ 14, 11, 18, 14, 16, 1, 88},
{ 14, 11, 17, 14, 15, 2, 88},
{ 13, 13, 17, 14, 15, 3, 87},
{ 13, 13, 17, 14, 15, 3, 86},
{ 13, 14, 16, 13, 16, 4, 85},
{ 12, 15, 16, 12, 16, 5, 83},
{ 12, 15, 16, 13, 15, 7, 81}
},
{
{ 11, 11, 11, 53, 9, 12, 11},
{ 18, 10, 10, 32, 13, 10, 11},
{ 40, 8, 11, 20, 13, 11, 11},
{ 56, 14, 9, 16, 13, 12, 10},
{ 47, 37, 6, 13, 12, 12, 10},
{ 23, 60, 10, 12, 13, 11, 11},
{ 10, 50, 33, 11, 12, 11, 11},
{ 13, 15, 66, 12, 12, 11, 11},
{ 15, 11, 11, 62, 26, 9, 10},
{ 13, 12, 10, 57, 17, 11, 10},
{ 17, 12, 10, 43, 15, 11, 10},
{ 34, 8, 11, 30, 14, 12, 10},
{ 49, 12, 10, 22, 13, 12, 10},
{ 45, 31, 7, 17, 13, 12, 10},
{ 28, 49, 11, 14, 13, 12, 10},
{ 17, 41, 31, 13, 13, 11, 10},
{ 14, 11, 11, 33, 59, 6, 11},
{ 13, 11, 11, 48, 42, 8, 10},
{ 12, 12, 11, 51, 30, 9, 10},
{ 18, 10, 11, 45, 22, 11, 10},
{ 31, 8, 11, 37, 17, 12, 10},
{ 41, 13, 10, 28, 15, 12, 9},
{ 39, 27, 8, 21, 15, 12, 10},
{ 29, 36, 15, 17, 15, 12, 10},
{ 11, 12, 11, 11, 63, 26, 8},
{ 12, 11, 11, 23, 61, 16, 10},
{ 12, 12, 11, 34, 53, 10, 10},
{ 13, 12, 11, 41, 43, 9, 10},
{ 18, 10, 11, 42, 33, 9, 10},
{ 27, 9, 11, 37, 26, 10, 10},
{ 33, 14, 10, 31, 22, 11, 10},
{ 32, 23, 12, 24, 20, 11, 10},
{ 11, 12, 11, 10, 32, 61, 5},
{ 11, 12, 11, 11, 49, 42, 6},
{ 11, 12, 11, 17, 58, 26, 8},
{ 11, 12, 11, 25, 58, 16, 9},
{ 13, 11, 11, 32, 52, 11, 9},
{ 17, 10, 11, 35, 43, 10, 10},
{ 23, 11, 10, 34, 35, 10, 10},
{ 27, 15, 11, 29, 29, 12, 9},
{ 11, 12, 11, 13, 9, 70, 17},
{ 11, 11, 11, 12, 23, 65, 10},
{ 11, 12, 10, 12, 38, 53, 6},
{ 11, 12, 10, 14, 51, 37, 7},
{ 11, 11, 11, 20, 56, 24, 8},
{ 12, 11, 11, 26, 53, 17, 9},
{ 16, 11, 11, 30, 47, 14, 9},
{ 20, 13, 11, 30, 38, 14, 10},
{ 11, 11, 10, 13, 9, 35, 52},
{ 11, 11, 10, 13, 11, 51, 34},
{ 11, 11, 10, 13, 20, 57, 20},
{ 11, 12, 10, 13, 33, 52, 12},
{ 10, 12, 10, 14, 44, 42, 10},
{ 11, 12, 10, 18, 49, 32, 9},
{ 12, 12, 11, 23, 49, 24, 10},
{ 15, 13, 11, 25, 43, 21, 10},
{ 11, 11, 11, 11, 16, 0, 81},
{ 10, 12, 10, 12, 16, 16, 65},
{ 11, 11, 10, 13, 17, 33, 47},
{ 11, 12, 10, 13, 22, 43, 31},
{ 11, 12, 10, 13, 29, 45, 21},
{ 11, 12, 11, 15, 37, 40, 16},
{ 11, 12, 11, 18, 41, 34, 14},
{ 12, 13, 12, 20, 40, 28, 14}
}
};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipOffsetMatrix16x16[6]) =
{ 15, 19, 46, 16, 14, 11};
ALIGN_DATA(MEMORY_ALIGN_DEF_SIZE, const uint8_t mipShiftMatrix16x16[6]) =
{ 6, 7, 5, 6, 6, 6};
#endif