Sigrid Solveig Haflínudóttirmake the decoder compile and run with treason37423d45 years agoHistory
904 lines · 58.6 KB · C++
RawDownload
/*! * \copy *     Copyright (c)  2013, Cisco Systems *     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. * *     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. * */ #include "wels_common_defs.h" /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////pNonZeroCount[16+8] mapping scan indexconst uint8_t g_kuiMbCountScan4Idx[24] = {                   //  0   1 | 4  5      luma 8*8 block           pNonZeroCount[16+8]  0,  1,  4,  5,   //  2   3 | 6  7        0  |  1                  0   1   2   3  2,  3,  6,  7,   //---------------      ---------                 4   5   6   7  8,  9, 12, 13,   //  8   9 | 12 13       2  |  3                  8   9  10  11  10, 11, 14, 15,  // 10  11 | 14 15-----------------------------> 12  13  14  15  16, 17, 20, 21,  //----------------    chroma 8*8 block          16  17  18  19  18, 19, 22, 23   // 16  17 | 20 21        0    1                 20  21  22  23}; const uint8_t g_kuiCache48CountScan4Idx[24] = {  /* Luma */  9, 10, 17, 18,        // 1+1*8, 2+1*8, 1+2*8, 2+2*8,  11, 12, 19, 20,       // 3+1*8, 4+1*8, 3+2*8, 4+2*8,  25, 26, 33, 34,       // 1+3*8, 2+3*8, 1+4*8, 2+4*8,  27, 28, 35, 36,       // 3+3*8, 4+3*8, 3+4*8, 4+4*8,  /* Cb */  14, 15,               // 6+1*8, 7+1*8,  22, 23,               // 6+2*8, 7+2*8,   /* Cr */  38, 39,               // 6+4*8, 7+4*8,  46, 47,               // 6+5*8, 7+5*8,}; const uint8_t g_kuiMatrixV[6][8][8] = { // generated from equation 8-317, 8-318  {    {20, 19, 25, 19, 20, 19, 25, 19},    {19, 18, 24, 18, 19, 18, 24, 18},    {25, 24, 32, 24, 25, 24, 32, 24},    {19, 18, 24, 18, 19, 18, 24, 18},    {20, 19, 25, 19, 20, 19, 25, 19},    {19, 18, 24, 18, 19, 18, 24, 18},    {25, 24, 32, 24, 25, 24, 32, 24},    {19, 18, 24, 18, 19, 18, 24, 18}  },  {    {22, 21, 28, 21, 22, 21, 28, 21},    {21, 19, 26, 19, 21, 19, 26, 19},    {28, 26, 35, 26, 28, 26, 35, 26},    {21, 19, 26, 19, 21, 19, 26, 19},    {22, 21, 28, 21, 22, 21, 28, 21},    {21, 19, 26, 19, 21, 19, 26, 19},    {28, 26, 35, 26, 28, 26, 35, 26},    {21, 19, 26, 19, 21, 19, 26, 19}  },  {    {26, 24, 33, 24, 26, 24, 33, 24},    {24, 23, 31, 23, 24, 23, 31, 23},    {33, 31, 42, 31, 33, 31, 42, 31},    {24, 23, 31, 23, 24, 23, 31, 23},    {26, 24, 33, 24, 26, 24, 33, 24},    {24, 23, 31, 23, 24, 23, 31, 23},    {33, 31, 42, 31, 33, 31, 42, 31},    {24, 23, 31, 23, 24, 23, 31, 23}  },  {    {28, 26, 35, 26, 28, 26, 35, 26},    {26, 25, 33, 25, 26, 25, 33, 25},    {35, 33, 45, 33, 35, 33, 45, 33},    {26, 25, 33, 25, 26, 25, 33, 25},    {28, 26, 35, 26, 28, 26, 35, 26},    {26, 25, 33, 25, 26, 25, 33, 25},    {35, 33, 45, 33, 35, 33, 45, 33},    {26, 25, 33, 25, 26, 25, 33, 25}  },  {    {32, 30, 40, 30, 32, 30, 40, 30},    {30, 28, 38, 28, 30, 28, 38, 28},    {40, 38, 51, 38, 40, 38, 51, 38},    {30, 28, 38, 28, 30, 28, 38, 28},    {32, 30, 40, 30, 32, 30, 40, 30},    {30, 28, 38, 28, 30, 28, 38, 28},    {40, 38, 51, 38, 40, 38, 51, 38},    {30, 28, 38, 28, 30, 28, 38, 28}  },  {    {36, 34, 46, 34, 36, 34, 46, 34},    {34, 32, 43, 32, 34, 32, 43, 32},    {46, 43, 58, 43, 46, 43, 58, 43},    {34, 32, 43, 32, 34, 32, 43, 32},    {36, 34, 46, 34, 36, 34, 46, 34},    {34, 32, 43, 32, 34, 32, 43, 32},    {46, 43, 58, 43, 46, 43, 58, 43},    {34, 32, 43, 32, 34, 32, 43, 32}  }}; //cache element equal to 30const uint8_t g_kuiCache30ScanIdx[16] = { //mv or uiRefIndex cache scan index, 4*4 block as basic unit  7,  8, 13, 14,  9, 10, 15, 16,  19, 20, 25, 26,  21, 22, 27, 28}; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  // extern at wels_common_defs.hconst uint8_t g_kuiChromaQpTable[52] = {  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,  12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,  28, 29, 29, 30, 31, 32, 32, 33, 34, 34, 35, 35, 36, 36, 37, 37,  37, 38, 38, 38, 39, 39, 39, 39}; /* *  vcl type map for given NAL unit type and corresponding H264 type (0: AVC; 1: SVC). */const EVclType g_keTypeMap[32][2] = {  { NON_VCL,    NON_VCL },      // 0: NAL_UNIT_UNSPEC_0  { VCL,        VCL,    },      // 1: NAL_UNIT_CODED_SLICE  { VCL,        NOT_APP },      // 2: NAL_UNIT_CODED_SLICE_DPA  { VCL,        NOT_APP },      // 3: NAL_UNIT_CODED_SLICE_DPB  { VCL,        NOT_APP },      // 4: NAL_UNIT_CODED_SLICE_DPC  { VCL,        VCL     },      // 5: NAL_UNIT_CODED_SLICE_IDR  { NON_VCL,    NON_VCL },      // 6: NAL_UNIT_SEI  { NON_VCL,    NON_VCL },      // 7: NAL_UNIT_SPS  { NON_VCL,    NON_VCL },      // 8: NAL_UNIT_PPS  { NON_VCL,    NON_VCL },      // 9: NAL_UNIT_AU_DELIMITER  { NON_VCL,    NON_VCL },      // 10: NAL_UNIT_END_OF_SEQ  { NON_VCL,    NON_VCL },      // 11: NAL_UNIT_END_OF_STR  { NON_VCL,    NON_VCL },      // 12: NAL_UNIT_FILLER_DATA  { NON_VCL,    NON_VCL },      // 13: NAL_UNIT_SPS_EXT  { NON_VCL,    NON_VCL },      // 14: NAL_UNIT_PREFIX, NEED associate succeeded NAL to make a VCL  { NON_VCL,    NON_VCL },      // 15: NAL_UNIT_SUBSET_SPS  { NON_VCL,    NON_VCL },      // 16: NAL_UNIT_DEPTH_PARAM  { NON_VCL,    NON_VCL },      // 17: NAL_UNIT_RESV_17  { NON_VCL,    NON_VCL },      // 18: NAL_UNIT_RESV_18  { NON_VCL,    NON_VCL },      // 19: NAL_UNIT_AUX_CODED_SLICE  { NON_VCL,    VCL     },      // 20: NAL_UNIT_CODED_SLICE_EXT  { NON_VCL,    NON_VCL },      // 21: NAL_UNIT_MVC_SLICE_EXT  { NON_VCL,    NON_VCL },      // 22: NAL_UNIT_RESV_22  { NON_VCL,    NON_VCL },      // 23: NAL_UNIT_RESV_23  { NON_VCL,    NON_VCL },      // 24: NAL_UNIT_UNSPEC_24  { NON_VCL,    NON_VCL },      // 25: NAL_UNIT_UNSPEC_25  { NON_VCL,    NON_VCL },      // 26: NAL_UNIT_UNSPEC_26  { NON_VCL,    NON_VCL },      // 27: NAL_UNIT_UNSPEC_27  { NON_VCL,    NON_VCL },      // 28: NAL_UNIT_UNSPEC_28  { NON_VCL,    NON_VCL },      // 29: NAL_UNIT_UNSPEC_29  { NON_VCL,    NON_VCL },      // 30: NAL_UNIT_UNSPEC_30  { NON_VCL,    NON_VCL }       // 31: NAL_UNIT_UNSPEC_31};//default scaling list matrix value of 4x4const uint8_t g_kuiDequantScaling4x4Default[2][16]={  {  6, 13, 20, 28, 13, 20, 28, 32, 20, 28, 32, 37, 28, 32, 37, 42 },  { 10, 14, 20, 24, 14, 20, 24, 27, 20, 24, 27, 30, 24, 27, 30, 34 }};//default scaling list matrix value of 8x8const uint8_t g_kuiDequantScaling8x8Default[2][64]={  {  6, 10, 13, 16, 18, 23, 25, 27, 10, 11, 16, 18, 23, 25, 27, 29,      13, 16, 18, 23, 25, 27, 29, 31,      16, 18, 23, 25, 27, 29, 31, 33,      18, 23, 25, 27, 29, 31, 33, 36,      23, 25, 27, 29, 31, 33, 36, 38,      25, 27, 29, 31, 33, 36, 38, 40,      27, 29, 31, 33, 36, 38, 40, 42 },    {  9, 13, 15, 17, 19, 21, 22, 24,      13, 13, 17, 19, 21, 22, 24, 25,      15, 17, 19, 21, 22, 24, 25, 27,      17, 19, 21, 22, 24, 25, 27, 28,      19, 21, 22, 24, 25, 27, 28, 30,      21, 22, 24, 25, 27, 28, 30, 32,      22, 24, 25, 27, 28, 30, 32, 33,      24, 25, 27, 28, 30, 32, 33, 35 }};const uint16_t g_kuiDequantCoeff[52][8] = {  /* 0*/{   10,   13,   10,   13,   13,   16,   13,   16 },     /* 1*/{   11,   14,   11,   14,   14,   18,   14,   18 },  /* 2*/{   13,   16,   13,   16,   16,   20,   16,   20 },     /* 3*/{   14,   18,   14,   18,   18,   23,   18,   23 },  /* 4*/{   16,   20,   16,   20,   20,   25,   20,   25 },     /* 5*/{   18,   23,   18,   23,   23,   29,   23,   29 },  /* 6*/{   20,   26,   20,   26,   26,   32,   26,   32 },     /* 7*/{   22,   28,   22,   28,   28,   36,   28,   36 },  /* 8*/{   26,   32,   26,   32,   32,   40,   32,   40 },     /* 9*/{   28,   36,   28,   36,   36,   46,   36,   46 },  /*10*/{   32,   40,   32,   40,   40,   50,   40,   50 },     /*11*/{   36,   46,   36,   46,   46,   58,   46,   58 },  /*12*/{   40,   52,   40,   52,   52,   64,   52,   64 },     /*13*/{   44,   56,   44,   56,   56,   72,   56,   72 },  /*14*/{   52,   64,   52,   64,   64,   80,   64,   80 },     /*15*/{   56,   72,   56,   72,   72,   92,   72,   92 },  /*16*/{   64,   80,   64,   80,   80,  100,   80,  100 },     /*17*/{   72,   92,   72,   92,   92,  116,   92,  116 },  /*18*/{   80,  104,   80,  104,  104,  128,  104,  128 },     /*19*/{   88,  112,   88,  112,  112,  144,  112,  144 },  /*20*/{  104,  128,  104,  128,  128,  160,  128,  160 },     /*21*/{  112,  144,  112,  144,  144,  184,  144,  184 },  /*22*/{  128,  160,  128,  160,  160,  200,  160,  200 },     /*23*/{  144,  184,  144,  184,  184,  232,  184,  232 },  /*24*/{  160,  208,  160,  208,  208,  256,  208,  256 },     /*25*/{  176,  224,  176,  224,  224,  288,  224,  288 },  /*26*/{  208,  256,  208,  256,  256,  320,  256,  320 },     /*27*/{  224,  288,  224,  288,  288,  368,  288,  368 },  /*28*/{  256,  320,  256,  320,  320,  400,  320,  400 },     /*29*/{  288,  368,  288,  368,  368,  464,  368,  464 },  /*30*/{  320,  416,  320,  416,  416,  512,  416,  512 },     /*31*/{  352,  448,  352,  448,  448,  576,  448,  576 },  /*32*/{  416,  512,  416,  512,  512,  640,  512,  640 },     /*33*/{  448,  576,  448,  576,  576,  736,  576,  736 },  /*34*/{  512,  640,  512,  640,  640,  800,  640,  800 },     /*35*/{  576,  736,  576,  736,  736,  928,  736,  928 },  /*36*/{  640,  832,  640,  832,  832, 1024,  832, 1024 },     /*37*/{  704,  896,  704,  896,  896, 1152,  896, 1152 },  /*38*/{  832, 1024,  832, 1024, 1024, 1280, 1024, 1280 },     /*39*/{  896, 1152,  896, 1152, 1152, 1472, 1152, 1472 },  /*40*/{ 1024, 1280, 1024, 1280, 1280, 1600, 1280, 1600 },     /*41*/{ 1152, 1472, 1152, 1472, 1472, 1856, 1472, 1856 },  /*42*/{ 1280, 1664, 1280, 1664, 1664, 2048, 1664, 2048 },     /*43*/{ 1408, 1792, 1408, 1792, 1792, 2304, 1792, 2304 },  /*44*/{ 1664, 2048, 1664, 2048, 2048, 2560, 2048, 2560 },     /*45*/{ 1792, 2304, 1792, 2304, 2304, 2944, 2304, 2944 },  /*46*/{ 2048, 2560, 2048, 2560, 2560, 3200, 2560, 3200 },     /*47*/{ 2304, 2944, 2304, 2944, 2944, 3712, 2944, 3712 },  /*48*/{ 2560, 3328, 2560, 3328, 3328, 4096, 3328, 4096 },     /*49*/{ 2816, 3584, 2816, 3584, 3584, 4608, 3584, 4608 },  /*50*/{ 3328, 4096, 3328, 4096, 4096, 5120, 4096, 5120 },     /*51*/{ 3584, 4608, 3584, 4608, 4608, 5888, 4608, 5888 },}; const uint16_t g_kuiDequantCoeff8x8[52][64] = {/* QP ==  0 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP ==  1 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP ==  2 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP ==  3 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP ==  4 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP ==  5 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP ==  6 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP ==  7 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP ==  8 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP ==  9 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 10 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 11 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 12 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 13 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 14 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 15 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 16 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 17 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 18 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 19 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 20 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 21 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 22 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 23 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 24 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 25 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 26 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 27 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 28 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 29 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 30 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 31 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 32 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 33 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 34 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 35 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 36 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 37 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 38 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 39 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 40 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 41 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 42 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 43 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 44 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 45 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },/* QP == 46 */{ 512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448,  512,  480,  640,  480,  512,  480,  640,  480,  480,  448,  608,  448,  480,  448,  608,  448,  640,  608,  816,  608,  640,  608,  816,  608,  480,  448,  608,  448,  480,  448,  608,  448 },/* QP == 47 */{ 576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512,  576,  544,  736,  544,  576,  544,  736,  544,  544,  512,  688,  512,  544,  512,  688,  512,  736,  688,  928,  688,  736,  688,  928,  688,  544,  512,  688,  512,  544,  512,  688,  512 },/* QP == 48 */{ 320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288,  320,  304,  400,  304,  320,  304,  400,  304,  304,  288,  384,  288,  304,  288,  384,  288,  400,  384,  512,  384,  400,  384,  512,  384,  304,  288,  384,  288,  304,  288,  384,  288 },/* QP == 49 */{ 352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304,  352,  336,  448,  336,  352,  336,  448,  336,  336,  304,  416,  304,  336,  304,  416,  304,  448,  416,  560,  416,  448,  416,  560,  416,  336,  304,  416,  304,  336,  304,  416,  304 },/* QP == 50 */{ 416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368,  416,  384,  528,  384,  416,  384,  528,  384,  384,  368,  496,  368,  384,  368,  496,  368,  528,  496,  672,  496,  528,  496,  672,  496,  384,  368,  496,  368,  384,  368,  496,  368 },/* QP == 51 */{ 448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400,  448,  416,  560,  416,  448,  416,  560,  416,  416,  400,  528,  400,  416,  400,  528,  400,  560,  528,  720,  528,  560,  528,  720,  528,  416,  400,  528,  400,  416,  400,  528,  400 },}; // table A-1 - Level limitsconst SLevelLimits g_ksLevelLimits[LEVEL_NUMBER] = {  {LEVEL_1_0, 1485, 99, 396, 64, 175, -256, 255, 2, 0x7fff}, /* level 1 */  {LEVEL_1_B, 1485, 99, 396, 128, 350, -256, 255, 2, 0x7fff}, /* level 1.b */  {LEVEL_1_1, 3000, 396, 900, 192, 500, -512, 511, 2, 0x7fff}, /* level 1.1 */  {LEVEL_1_2, 6000, 396, 2376, 384, 1000, -512, 511, 2, 0x7fff}, /* level 1.2 */  {LEVEL_1_3, 11880, 396, 2376, 768, 2000, -512, 511, 2, 0x7fff}, /* level 1.3 */   {LEVEL_2_0, 11880, 396, 2376, 2000, 2000, -512, 511, 2, 0x7fff}, /* level 2 */  {LEVEL_2_1, 19800, 792, 4752, 4000, 4000, -1024, 1023, 2, 0x7fff}, /* level 2.1 */  {LEVEL_2_2, 20250, 1620, 8100, 4000, 4000, -1024, 1023, 2, 0x7fff}, /* level 2.2 */   {LEVEL_3_0, 40500, 1620, 8100, 10000, 10000, -1024, 1023, 2, 32 }, /* level 3 */  {LEVEL_3_1, 108000, 3600, 18000, 14000, 14000, -2048, 2047, 4, 16}, /* level 3.1 */  {LEVEL_3_2, 216000, 5120, 20480, 20000, 20000, -2048, 2047, 4, 16}, /* level 3.2 */   {LEVEL_4_0, 245760, 8192, 32768, 20000, 25000, -2048, 2047, 4, 16}, /* level 4 */  {LEVEL_4_1, 245760, 8192, 32768, 50000, 62500, -2048, 2047, 2, 16}, /* level 4.1 */  {LEVEL_4_2, 522240, 8704, 34816, 50000, 62500, -2048, 2047, 2, 16}, /* level 4.2 */   {LEVEL_5_0, 589824, 22080, 110400, 135000, 135000, -2048, 2047, 2, 16}, /* level 5 */  {LEVEL_5_1, 983040, 36864, 184320, 240000, 240000, -2048, 2047, 2, 16}, /* level 5.1 */  {LEVEL_5_2, 2073600, 36864, 184320, 240000, 240000, -2048, 2047, 2, 16} /* level 5.2 */};const uint32_t g_kuiLevelMaps[LEVEL_NUMBER] = {  10, 9, 11, 12, 13, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, 51, 52};//for cabac/* this table is from Table9-12 to Table 9-24 */ const int8_t g_kiCabacGlobalContextIdx[WELS_CONTEXT_COUNT][4][2] = {  //0-10 Table 9-12  {{20, -15}, {20, -15}, {20, -15}, {20, -15}},  {{2, 54}, {2, 54}, {2, 54}, {2, 54}},  {{3, 74}, {3, 74}, {3, 74}, {3, 74}},  {{20, -15}, {20, -15}, {20, -15}, {20, -15}},  {{2, 54}, {2, 54}, {2, 54}, {2, 54}},  {{3, 74}, {3, 74}, {3, 74}, {3, 74}},  {{ -28, 127}, { -28, 127}, { -28, 127}, { -28, 127}},  {{ -23, 104}, { -23, 104}, { -23, 104}, { -23, 104}},  {{ -6, 53}, { -6, 53}, { -6, 53}, { -6, 53}},  {{ -1, 54}, { -1, 54}, { -1, 54}, { -1, 54}},  {{7, 51}, {7, 51}, {7, 51}, {7, 51}},  //11-23 Table 9-13  {{CTX_NA, CTX_NA}, {23, 33}, {22, 25}, {29, 16}},  {{CTX_NA, CTX_NA}, {23, 2}, {34, 0}, {25, 0}},  {{CTX_NA, CTX_NA}, {21, 0}, {16, 0}, {14, 0}},  {{CTX_NA, CTX_NA}, {1, 9}, { -2, 9}, { -10, 51}},  {{CTX_NA, CTX_NA}, {0, 49}, {4, 41}, { -3, 62}},  {{CTX_NA, CTX_NA}, { -37, 118}, { -29, 118}, { -27, 99}},  {{CTX_NA, CTX_NA}, {5, 57}, {2, 65}, {26, 16}},  {{CTX_NA, CTX_NA}, { -13, 78}, { -6, 71}, { -4, 85}},  {{CTX_NA, CTX_NA}, { -11, 65}, { -13, 79}, { -24, 102}},  {{CTX_NA, CTX_NA}, {1, 62}, {5, 52}, {5, 57}},  {{CTX_NA, CTX_NA}, {12, 49}, {9, 50}, {6, 57}},  {{CTX_NA, CTX_NA}, { -4, 73}, { -3, 70}, { -17, 73}},  {{CTX_NA, CTX_NA}, {17, 50}, {10, 54}, {14, 57}},  //24-39 Table9-14  {{CTX_NA, CTX_NA}, {18, 64}, {26, 34}, {20, 40}},  {{CTX_NA, CTX_NA}, {9, 43}, {19, 22}, {20, 10}},  {{CTX_NA, CTX_NA}, {29, 0}, {40, 0}, {29, 0}},  {{CTX_NA, CTX_NA}, {26, 67}, {57, 2}, {54, 0}},  {{CTX_NA, CTX_NA}, {16, 90}, {41, 36}, {37, 42}},  {{CTX_NA, CTX_NA}, {9, 104}, {26, 69}, {12, 97}},  {{CTX_NA, CTX_NA}, { -46, 127}, { -45, 127}, { -32, 127}},  {{CTX_NA, CTX_NA}, { -20, 104}, { -15, 101}, { -22, 117}},  {{CTX_NA, CTX_NA}, {1, 67}, { -4, 76}, { -2, 74}},  {{CTX_NA, CTX_NA}, { -13, 78}, { -6, 71}, { -4, 85}},  {{CTX_NA, CTX_NA}, { -11, 65}, { -13, 79}, { -24, 102}},  {{CTX_NA, CTX_NA}, {1, 62}, {5, 52}, {5, 57}},  {{CTX_NA, CTX_NA}, { -6, 86}, {6, 69}, { -6, 93}},  {{CTX_NA, CTX_NA}, { -17, 95}, { -13, 90}, { -14, 88}},  {{CTX_NA, CTX_NA}, { -6, 61}, {0, 52}, { -6, 44}},  {{CTX_NA, CTX_NA}, {9, 45}, {8, 43}, {4, 55}},  //40-53 Table 9-15  {{CTX_NA, CTX_NA}, { -3, 69}, { -2, 69}, { -11, 89}},  {{CTX_NA, CTX_NA}, { -6, 81}, { -5, 82}, { -15, 103}},  {{CTX_NA, CTX_NA}, { -11, 96}, { -10, 96}, { -21, 116}},  {{CTX_NA, CTX_NA}, {6, 55}, {2, 59}, {19, 57}},  {{CTX_NA, CTX_NA}, {7, 67}, {2, 75}, {20, 58}},  {{CTX_NA, CTX_NA}, { -5, 86}, { -3, 87}, {4, 84}},  {{CTX_NA, CTX_NA}, {2, 88}, { -3, 100}, {6, 96}},  {{CTX_NA, CTX_NA}, {0, 58}, {1, 56}, {1, 63}},  {{CTX_NA, CTX_NA}, { -3, 76}, { -3, 74}, { -5, 85}},  {{CTX_NA, CTX_NA}, { -10, 94}, { -6, 85}, { -13, 106}},  {{CTX_NA, CTX_NA}, {5, 54}, {0, 59}, {5, 63}},  {{CTX_NA, CTX_NA}, {4, 69}, { -3, 81}, {6, 75}},  {{CTX_NA, CTX_NA}, { -3, 81}, { -7, 86}, { -3, 90}},  {{CTX_NA, CTX_NA}, {0, 88}, { -5, 95}, { -1, 101}},  //54-59 Table 9-16  {{CTX_NA, CTX_NA}, { -7, 67}, { -1, 66}, {3, 55}},  {{CTX_NA, CTX_NA}, { -5, 74}, { -1, 77}, { -4, 79}},  {{CTX_NA, CTX_NA}, { -4, 74}, {1, 70}, { -2, 75}},  {{CTX_NA, CTX_NA}, { -5, 80}, { -2, 86}, { -12, 97}},  {{CTX_NA, CTX_NA}, { -7, 72}, { -5, 72}, { -7, 50}},  {{CTX_NA, CTX_NA}, {1, 58}, {0, 61}, {1, 60}},  //60-69 Table 9-17  {{0, 41}, {0, 41}, {0, 41}, {0, 41}},  {{0, 63}, {0, 63}, {0, 63}, {0, 63}},  {{0, 63}, {0, 63}, {0, 63}, {0, 63}},  {{0, 63}, {0, 63}, {0, 63}, {0, 63}},  {{ -9, 83}, { -9, 83}, { -9, 83}, { -9, 83}},  {{4, 86}, {4, 86}, {4, 86}, {4, 86}},  {{0, 97}, {0, 97}, {0, 97}, {0, 97}},  {{ -7, 72}, { -7, 72}, { -7, 72}, { -7, 72}},  {{13, 41}, {13, 41}, {13, 41}, {13, 41}},  {{3, 62}, {3, 62}, {3, 62}, {3, 62}},  //70-104 Table 9-18  {{0, 11}, {0, 45}, {13, 15}, {7, 34}},  {{1, 55}, { -4, 78}, {7, 51}, { -9, 88}},  {{0, 69}, { -3, 96}, {2, 80}, { -20, 127}},  {{ -17, 127}, { -27, 126}, { -39, 127}, { -36, 127}},  {{ -13, 102}, { -28, 98}, { -18, 91}, { -17, 91}},  {{0, 82}, { -25, 101}, { -17, 96}, { -14, 95}},  {{ -7, 74}, { -23, 67}, { -26, 81}, { -25, 84}},  {{ -21, 107}, { -28, 82}, { -35, 98}, { -25, 86}},  {{ -27, 127}, { -20, 94}, { -24, 102}, { -12, 89}},  {{ -31, 127}, { -16, 83}, { -23, 97}, { -17, 91}},  {{ -24, 127}, { -22, 110}, { -27, 119}, { -31, 127}},  {{ -18, 95}, { -21, 91}, { -24, 99}, { -14, 76}},  {{ -27, 127}, { -18, 102}, { -21, 110}, { -18, 103}},  {{ -21, 114}, { -13, 93}, { -18, 102}, { -13, 90}},  {{ -30, 127}, { -29, 127}, { -36, 127}, { -37, 127}},  {{ -17, 123}, { -7, 92}, {0, 80}, {11, 80}},  {{ -12, 115}, { -5, 89}, { -5, 89}, {5, 76}},  {{ -16, 122}, { -7, 96}, { -7, 94}, {2, 84}},  {{ -11, 115}, { -13, 108}, { -4, 92}, {5, 78}},  {{ -12, 63}, { -3, 46}, {0, 39}, { -6, 55}},  {{ -2, 68}, { -1, 65}, {0, 65}, {4, 61}},  {{ -15, 84}, { -1, 57}, { -15, 84}, { -14, 83}},  {{ -13, 104}, { -9, 93}, { -35, 127}, { -37, 127}},  {{ -3, 70}, { -3, 74}, { -2, 73}, { -5, 79}},  {{ -8, 93}, { -9, 92}, { -12, 104}, { -11, 104}},  {{ -10, 90}, { -8, 87}, { -9, 91}, { -11, 91}},  {{ -30, 127}, { -23, 126}, { -31, 127}, { -30, 127}},  {{ -1, 74}, {5, 54}, {3, 55}, {0, 65}},  {{ -6, 97}, {6, 60}, {7, 56}, { -2, 79}},  {{ -7, 91}, {6, 59}, {7, 55}, {0, 72}},  {{ -20, 127}, {6, 69}, {8, 61}, { -4, 92}},  {{ -4, 56}, { -1, 48}, { -3, 53}, { -6, 56}},  {{ -5, 82}, {0, 68}, {0, 68}, {3, 68}},  {{ -7, 76}, { -4, 69}, { -7, 74}, { -8, 71}},  {{ -22, 125}, { -8, 88}, { -9, 88}, { -13, 98}},  //105-165 Table 9-19  {{ -7, 93}, { -2, 85}, { -13, 103}, { -4, 86}},  {{ -11, 87}, { -6, 78}, { -13, 91}, { -12, 88}},  {{ -3, 77}, { -1, 75}, { -9, 89}, { -5, 82}},  {{ -5, 71}, { -7, 77}, { -14, 92}, { -3, 72}},  {{ -4, 63}, {2, 54}, { -8, 76}, { -4, 67}},  {{ -4, 68}, {5, 50}, { -12, 87}, { -8, 72}},  {{ -12, 84}, { -3, 68}, { -23, 110}, { -16, 89}},  {{ -7, 62}, {1, 50}, { -24, 105}, { -9, 69}},  {{ -7, 65}, {6, 42}, { -10, 78}, { -1, 59}},  {{8, 61}, { -4, 81}, { -20, 112}, {5, 66}},  {{5, 56}, {1, 63}, { -17, 99}, {4, 57}},  {{ -2, 66}, { -4, 70}, { -78, 127}, { -4, 71}},  {{1, 64}, {0, 67}, { -70, 127}, { -2, 71}},  {{0, 61}, {2, 57}, { -50, 127}, {2, 58}},

Lines 1–500 of 904.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t