www.pudn.com > avs-m3.rar > block_const.c
/*!
*************************************************************************************
* \file
* block_const.c
* \brief
* Constant Arrays, Transforms etc to be used with Adaptive Block Transforms
*************************************************************************************
*/
#include "defines.h"
/*!
*************************************************************************************
* \brief
* static tables
*************************************************************************************
*/
const char VLC_GC_Order_INTRA[7][2] = //[tableindex][grad/maxlevel]
{
{1,22}, {0,22}, {1,22}, {1,22}, {0,22}, {1,22}, {0,22}
};
const char VLC_GC_Order_INTER[7][2] = //[tableindex][grad/maxlevel]
{
{1,22}, {0,22}, {0,22}, {0,22}, {0,22}, {0,22}, {0,22}
};
const char VLC_GC_Order_CHROMA[4][2] = //[grad/maxlevel]
{
{1,22}, {0,22}, {0,22}, {0,22}
};
char VLC_INTRA_dec[7][40][2]={{{-1,-1}}};
char VLC_INTER_dec[7][40][2]={{{-1,-1}}};
char VLC_CHROMA_dec[4][40][2]={{-1,-1}};
const char VLC_INTRA[7][16][16]=
{
{
{ 0, 8, 16, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 2, 18, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 4, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 6, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 12, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 10, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 5, 9, 15, 27, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 3, 13, 23, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 7, 19, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 11, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 17, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 9, 15, 23, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 5, 11, 19, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 7, 17, 27, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 13, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 21, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 9, 13, 23, 25, 31, -1, -1, -1, -1, -1, -1, -1},
{ -1, 7, 11, 17, 27, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 15, 19, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 21, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 7, 11, 15, 17, 23, 31, 35, -1, -1, -1, -1, -1},
{ -1, 9, 13, 19, 27, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 21, 25, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 7, 9, 11, 13, 19, 21, 25, 31, 35, -1, -1, -1},
{ -1, 15, 17, 23, 29, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 27, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 3, 1, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 31, 29, 33},
{ -1, 25, 27, 35, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
}
};
const char VLC_INTER[7][16][14] =
{
{
{ 0, 10, 22, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 2, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 4, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 6, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 8, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 12, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 7, 15, 27, 37, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 3, 17, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 5, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 9, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 11, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 9, 17, 23, 37, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 3, 15, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 5, 19, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 7, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 11, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 13, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 7, 11, 21, 27, 35, -1, -1, -1, -1, -1, -1, -1},
{ -1, 3, 13, 25, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 5, 17, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 9, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 15, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 23, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 7, 13, 21, 27, 35, -1, -1, -1, -1, -1, -1},
{ -1, 5, 11, 19, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 9, 17, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 15, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 23, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 9, 11, 17, 21, 29, 33, -1, -1, -1, -1},
{ -1, 7, 13, 19, 25, 35, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 15, 23, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 7, 9, 11, 13, 17, 21, 23, 27, 33, 37},
{ -1, 15, 19, 25, 29, 35, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
}
};
const char VLC_CHROMA[4][16][13] =
{
{
{ 0, 6, 14, 18, 24, 36, -1, -1, -1, -1, -1, -1, -1},
{ 2, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 4, 28, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 8, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 12, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 7, 11, 19, 23, 29, 33, -1, -1, -1, -1, -1},
{ -1, 3, 13, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 5, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 9, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 7, 9, 15, 19, 25, 29, 35, -1, -1, -1},
{ -1, 5, 11, 17, 27, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 13, 21, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 23, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
},
{
{ 0, 1, 3, 5, 7, 11, 13, 17, 23, 25, 29, 31, 33},
{ -1, 9, 15, 19, 27, 35, 37, -1, -1, -1, -1, -1, -1},
{ -1, 21, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1},
{ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
}
};
// end