Skip to content
Snippets Groups Projects
Forked from jvet / VVCSoftware_VTM
4693 commits behind the upstream repository.
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