--- libavcodec/aac/aacdec_tab.c | 54 ++ libavcodec/aactab.c | 1820 +++++++++++++++++++++++++++++++++++ libavcodec/aactab.h | 20 + 3 files changed, 1894 insertions(+)
diff --git a/libavcodec/aac/aacdec_tab.c b/libavcodec/aac/aacdec_tab.c index 45a84a9a72..5ba20c0d8a 100644 --- a/libavcodec/aac/aacdec_tab.c +++ b/libavcodec/aac/aacdec_tab.c @@ -111,6 +111,16 @@ const AVChannelLayout ff_aac_ch_layout[] = { VLCElem ff_vlc_scalefactors[352]; const VLCElem *ff_vlc_spectral[11]; +const VLCElem *ff_vlc_cld_lav3_2D[2][2]; +const VLCElem *ff_vlc_cld_lav5_2D[2][2]; +const VLCElem *ff_vlc_cld_lav7_2D[2][2]; +const VLCElem *ff_vlc_cld_lav9_2D[2][2]; + +const VLCElem *ff_vlc_icc_lav1_2D[2][2]; +const VLCElem *ff_vlc_icc_lav3_2D[2][2]; +const VLCElem *ff_vlc_icc_lav5_2D[2][2]; +const VLCElem *ff_vlc_icc_lav7_2D[2][2]; + /// Huffman tables for SBR static const uint8_t sbr_huffman_tab[][2] = { @@ -279,6 +289,50 @@ static av_cold void aacdec_common_init(void) 0); } +#define LAV_N_PAIR(NAME, NB) \ + ff_vlc_ ## NAME[0][0] = ff_vlc_init_tables(&state, NB, NB, \ + ff_aac_ ## NAME ## _0_0_bits, \ + sizeof(ff_aac_ ## NAME ## _0_0_bits), \ + sizeof(ff_aac_ ## NAME ## _0_0_bits), \ + ff_aac_ ## NAME ## _0_0_codes, \ + sizeof(ff_aac_ ## NAME ## _0_0_codes), \ + sizeof(ff_aac_ ## NAME ## _0_0_codes), \ + 0); \ + ff_vlc_ ## NAME[0][1] = ff_vlc_init_tables(&state, NB, NB, \ + ff_aac_ ## NAME ## _0_1_bits, \ + sizeof(ff_aac_ ## NAME ## _0_1_bits), \ + sizeof(ff_aac_ ## NAME ## _0_1_bits), \ + ff_aac_ ## NAME ## _0_1_codes, \ + sizeof(ff_aac_ ## NAME ## _0_1_codes), \ + sizeof(ff_aac_ ## NAME ## _0_1_codes), \ + 0); \ + ff_vlc_ ## NAME[1][0] = ff_vlc_init_tables(&state, NB, NB, \ + ff_aac_ ## NAME ## _1_0_bits, \ + sizeof(ff_aac_ ## NAME ## _1_0_bits), \ + sizeof(ff_aac_ ## NAME ## _1_0_bits), \ + ff_aac_ ## NAME ## _1_0_codes, \ + sizeof(ff_aac_ ## NAME ## _1_0_codes), \ + sizeof(ff_aac_ ## NAME ## _1_0_codes), \ + 0); \ + ff_vlc_ ## NAME[1][1] = ff_vlc_init_tables(&state, NB, NB, \ + ff_aac_ ## NAME ## _1_1_bits, \ + sizeof(ff_aac_ ## NAME ## _1_1_bits), \ + sizeof(ff_aac_ ## NAME ## _1_1_bits), \ + ff_aac_ ## NAME ## _1_1_codes, \ + sizeof(ff_aac_ ## NAME ## _1_1_codes), \ + sizeof(ff_aac_ ## NAME ## _1_1_codes), \ + 0); + + LAV_N_PAIR(icc_lav1_2D, 8) + LAV_N_PAIR(icc_lav3_2D, 8) + LAV_N_PAIR(icc_lav5_2D, 8) + LAV_N_PAIR(icc_lav7_2D, 8) + + LAV_N_PAIR(cld_lav3_2D, 8) + LAV_N_PAIR(cld_lav5_2D, 8) + LAV_N_PAIR(cld_lav7_2D, 8) + LAV_N_PAIR(cld_lav9_2D, 8) + VLC_INIT_STATIC_TABLE(ff_vlc_scalefactors, 7, FF_ARRAY_ELEMS(ff_aac_scalefactor_code), ff_aac_scalefactor_bits, diff --git a/libavcodec/aactab.c b/libavcodec/aactab.c index 128bacfdf1..43852897ba 100644 --- a/libavcodec/aactab.c +++ b/libavcodec/aactab.c @@ -3901,3 +3901,1823 @@ const float ff_aac_usac_mdst_filt_cur[4 /* Window */][4 /* Shape */][7] = { 0.207421, 0.001416, 0.635010, 0.000000, -0.635010, -0.001416, -0.207421 }, { 0.207421, -0.001416, 0.635010, 0.000000, -0.635010, 0.001416, -0.207421 } } }; + +static const uint32_t firstband_cld_ipd_codes[8] = { + 0x00, 0x06, 0x1c, 0x3e, 0x1d, 0x3f, 0x1e, 0x02 +}; + +static const uint8_t firstband_cld_ipd_bits[8] = { + 1, 3, 5, 6, 5, 6, 5, 2 +}; + +static const uint32_t ipd_1d_df_codes[8] = { + 0x00, 0x06, 0x1e, 0x3a, 0x3b, 0x1c, 0x1f, 0x02 +}; + +static const uint8_t ipd_1d_df_bits[8] = { + 1, 3, 5, 6, 6, 5, 5, 2 +}; + +static const uint32_t ipd_1d_dt_codes[8] = { + 0x00, 0x02, 0x0e, 0x3e, 0x7e, 0x7f, 0x1e, 0x06 +}; + +static const uint8_t ipd_1d_dt_bits[8] = { + 1, 2, 4, 6, 7, 7, 5, 3 +}; + +static const uint32_t ipd_2d_df_esc_codes[4] = { /* LL/Lav 01, 03, 05, 07 */ + 0x00007, 0x000ff, 0x001bf, 0x0057f +}; + +static const uint8_t ipd_2d_df_esc_bits[4] = { + 3, 8, 9, 11 +}; + +static const uint32_t ipd_2d_dt_esc_codes[4] = { /* LL/Lav 01, 03, 05, 07 */ + 0x00007, 0x000bf, 0x005ff, 0x01fbf +}; + +static const uint8_t ipd_2d_dt_esc_bits[4] = { + 3, 8, 11, 13 +}; + +/* cld_1D*/ +static const uint8_t cld_1D_0_bits[31] = { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 15, 16, + 16, 17, 17, 18, 18, 19, 18, 20, 21, 24, 24, 24, 24, 23, 23 +}; + +static const uint32_t cld_1D_0_codes[31] = { + 0x00000000, 0x00000002, 0x00000006, 0x0000000e, 0x0000001e, 0x0000003e, 0x0000007e, 0x000000fe, + 0x000001fe, 0x000003fe, 0x000007fe, 0x00000ffe, 0x00001ffe, 0x00007ffe, 0x00007ffc, 0x0000fffe, + 0x0000fffa, 0x0001fffe, 0x0001fff6, 0x0003fffe, 0x0003ffff, 0x0007ffde, 0x0003ffee, 0x000fffbe, + 0x001fff7e, 0x00fffbfc, 0x00fffbfd, 0x00fffbfe, 0x00fffbff, 0x007ffdfc, 0x007ffdfd +}; + +static const uint8_t cld_1D_1_bits[31] = { + 1, 2, 3, 4, 5, 6, 7, 9, 9, 10, 10, 11, 11, 12, 12, 13, + 13, 14, 14, 14, 15, 16, 17, 19, 19, 20, 21, 21, 21, 21, 20 +}; + +static const uint32_t cld_1D_1_codes[31] = { + 0x00000000, 0x00000002, 0x00000006, 0x0000000e, 0x0000001e, 0x0000003e, 0x0000007e, 0x000001fe, + 0x000001fc, 0x000003fe, 0x000003fa, 0x000007fe, 0x000007f6, 0x00000ffe, 0x00000fee, 0x00001ffe, + 0x00001fde, 0x00003ffe, 0x00003fbe, 0x00003fbf, 0x00007ffe, 0x0000fffe, 0x0001fffe, 0x0007fffe, + 0x0007fffc, 0x000ffffa, 0x001ffffc, 0x001ffffd, 0x001ffffe, 0x001fffff, 0x000ffffb +}; + +/* cld_lav3_2D_0_0*/ +static const uint8_t cld_lav3_2D_0_0_0_bits[4] = { + 2, 3, 5, 8 +}; + +static const uint32_t cld_lav3_2D_0_0_0_codes[4] = { + 0x00000002, 0x00000002, 0x00000004, 0x0000003e +}; + +static const uint8_t cld_lav3_2D_0_0_1_bits[4] = { + 4, 4, 6, 10 +}; + +static const uint32_t cld_lav3_2D_0_0_1_codes[4] = { + 0x00000006, 0x00000007, 0x0000000e, 0x000000fe +}; + +static const uint8_t cld_lav3_2D_0_0_2_bits[4] = { + 9, 7, 6, 5 +}; + +static const uint32_t cld_lav3_2D_0_0_2_codes[4] = { + 0x0000007e, 0x0000001e, 0x0000000c, 0x00000005 +}; + +static const uint8_t cld_lav3_2D_0_0_3_bits[4] = { + 10, 6, 3, 2 +}; + +static const uint32_t cld_lav3_2D_0_0_3_codes[4] = { + 0x000000ff, 0x0000000d, 0x00000000, 0x00000003 +}; + +/* cld_lav5_2D_0_0*/ +static const uint8_t cld_lav5_2D_0_0_0_bits[6] = { + 3, 3, 5, 7, 8, 10 +}; + +static const uint32_t cld_lav5_2D_0_0_0_codes[6] = { + 0x00000002, 0x00000003, 0x00000010, 0x0000007c, 0x000000d6, 0x000003ee +}; + +static const uint8_t cld_lav5_2D_0_0_1_bits[6] = { + 4, 4, 5, 6, 8, 13 +}; + +static const uint32_t cld_lav5_2D_0_0_1_codes[6] = { + 0x0000000a, 0x0000000c, 0x00000016, 0x00000034, 0x000000fe, 0x00001f7e +}; + +static const uint8_t cld_lav5_2D_0_0_2_bits[6] = { + 7, 6, 6, 7, 9, 9 +}; + +static const uint32_t cld_lav5_2D_0_0_2_codes[6] = { + 0x0000007e, 0x00000036, 0x00000026, 0x00000046, 0x0000011e, 0x000001f6 +}; + +static const uint8_t cld_lav5_2D_0_0_3_bits[6] = { + 9, 8, 8, 8, 7, 7 +}; + +static const uint32_t cld_lav5_2D_0_0_3_codes[6] = { + 0x0000011f, 0x000000d7, 0x0000008e, 0x000000ff, 0x0000006a, 0x0000004e +}; + +static const uint8_t cld_lav5_2D_0_0_4_bits[6] = { + 12, 11, 7, 6, 5, 5 +}; + +static const uint32_t cld_lav5_2D_0_0_4_codes[6] = { + 0x00000fbe, 0x000007de, 0x0000004f, 0x00000037, 0x00000017, 0x0000001e +}; + +static const uint8_t cld_lav5_2D_0_0_5_bits[6] = { + 13, 8, 6, 5, 4, 2 +}; + +static const uint32_t cld_lav5_2D_0_0_5_codes[6] = { + 0x00001f7f, 0x000000fa, 0x00000022, 0x00000012, 0x0000000e, 0x00000000 +}; + +/* cld_lav7_2D_0_0*/ +static const uint8_t cld_lav7_2D_0_0_0_bits[8] = { + 4, 4, 5, 7, 8, 9, 9, 11 +}; + +static const uint32_t cld_lav7_2D_0_0_0_codes[8] = { + 0x0000000e, 0x0000000a, 0x0000000a, 0x0000007c, 0x000000be, 0x0000017a, 0x000000ee, 0x000007b6 +}; + +static const uint8_t cld_lav7_2D_0_0_1_bits[8] = { + 4, 4, 5, 6, 7, 7, 9, 15 +}; + +static const uint32_t cld_lav7_2D_0_0_1_codes[8] = { + 0x00000006, 0x0000000c, 0x00000016, 0x00000026, 0x0000003e, 0x0000002e, 0x000001ec, 0x000047ce +}; + +static const uint8_t cld_lav7_2D_0_0_2_bits[8] = { + 6, 6, 6, 7, 7, 8, 12, 12 +}; + +static const uint32_t cld_lav7_2D_0_0_2_codes[8] = { + 0x00000016, 0x0000003c, 0x00000022, 0x0000004e, 0x0000003f, 0x0000005e, 0x000008fa, 0x000008fb +}; + +static const uint8_t cld_lav7_2D_0_0_3_bits[8] = { + 8, 8, 8, 7, 9, 10, 10, 11 +}; + +static const uint32_t cld_lav7_2D_0_0_3_codes[8] = { + 0x0000005f, 0x000000fa, 0x000000bf, 0x0000003a, 0x000001f6, 0x000001de, 0x000003da, 0x000007b7 +}; + +static const uint8_t cld_lav7_2D_0_0_4_bits[8] = { + 10, 10, 9, 10, 9, 8, 9, 9 +}; + +static const uint32_t cld_lav7_2D_0_0_4_codes[8] = { + 0x000001df, 0x000003ee, 0x0000017b, 0x000003ef, 0x000001ee, 0x0000008e, 0x000001ef, 0x000001fe +}; + +static const uint8_t cld_lav7_2D_0_0_5_bits[8] = { + 12, 11, 11, 8, 7, 7, 7, 7 +}; + +static const uint32_t cld_lav7_2D_0_0_5_codes[8] = { + 0x000008f8, 0x0000047e, 0x0000047f, 0x00000076, 0x0000003c, 0x00000046, 0x0000007a, 0x0000007e +}; + +static const uint8_t cld_lav7_2D_0_0_6_bits[8] = { + 14, 13, 9, 7, 7, 6, 5, 4 +}; + +static const uint32_t cld_lav7_2D_0_0_6_codes[8] = { + 0x000023e6, 0x000011f2, 0x000001ff, 0x0000003d, 0x0000004f, 0x0000002e, 0x00000012, 0x00000004 +}; + +static const uint8_t cld_lav7_2D_0_0_7_bits[8] = { + 15, 9, 8, 8, 6, 5, 4, 2 +}; + +static const uint32_t cld_lav7_2D_0_0_7_codes[8] = { + 0x000047cf, 0x0000011e, 0x000000bc, 0x000000fe, 0x0000001c, 0x00000010, 0x0000000d, 0x00000000 +}; + +/* cld_lav9_2D_0_0*/ +static const uint8_t cld_lav9_2D_0_0_0_bits[10] = { + 4, 4, 5, 7, 7, 8, 9, 10, 10, 11 +}; + +static const uint32_t cld_lav9_2D_0_0_0_codes[10] = { + 0x00000006, 0x00000007, 0x00000006, 0x0000007e, 0x0000000a, 0x0000001e, 0x0000008a, 0x0000004e, + 0x00000276, 0x000002e2 +}; + +static const uint8_t cld_lav9_2D_0_0_1_bits[10] = { + 4, 4, 5, 6, 7, 8, 8, 8, 9, 15 +}; + +static const uint32_t cld_lav9_2D_0_0_1_codes[10] = { + 0x00000000, 0x0000000a, 0x00000016, 0x00000026, 0x00000076, 0x000000f2, 0x00000012, 0x0000005e, + 0x0000008b, 0x00002e76 +}; + +static const uint8_t cld_lav9_2D_0_0_2_bits[10] = { + 6, 5, 6, 7, 7, 8, 8, 9, 14, 14 +}; + +static const uint32_t cld_lav9_2D_0_0_2_codes[10] = { + 0x00000012, 0x00000007, 0x00000038, 0x0000007c, 0x00000008, 0x00000046, 0x000000f6, 0x000001ca, + 0x0000173a, 0x00001738 +}; + +static const uint8_t cld_lav9_2D_0_0_3_bits[10] = { + 8, 7, 7, 7, 8, 8, 9, 11, 12, 12 +}; + +static const uint32_t cld_lav9_2D_0_0_3_codes[10] = { + 0x0000009e, 0x0000004a, 0x00000026, 0x0000000c, 0x0000004e, 0x000000f7, 0x0000013a, 0x0000009e, + 0x000009fe, 0x0000013e +}; + +static const uint8_t cld_lav9_2D_0_0_4_bits[10] = { + 9, 8, 9, 9, 8, 9, 10, 10, 11, 11 +}; + +static const uint32_t cld_lav9_2D_0_0_4_codes[10] = { + 0x00000026, 0x0000001a, 0x000001e6, 0x000001e2, 0x000000ee, 0x000001ce, 0x00000277, 0x000003ce, + 0x000002e6, 0x000004fc +}; + +static const uint8_t cld_lav9_2D_0_0_5_bits[10] = { + 11, 10, 10, 9, 9, 9, 8, 9, 9, 9 +}; + +static const uint32_t cld_lav9_2D_0_0_5_codes[10] = { + 0x000002e3, 0x00000170, 0x00000172, 0x000000ba, 0x0000003e, 0x000001e3, 0x0000001b, 0x0000003f, + 0x0000009e, 0x0000009f +}; + +static const uint8_t cld_lav9_2D_0_0_6_bits[10] = { + 13, 12, 11, 11, 9, 8, 8, 8, 8, 8 +}; + +static const uint32_t cld_lav9_2D_0_0_6_codes[10] = { + 0x00000b9e, 0x000009ff, 0x000004fd, 0x000004fe, 0x000001cf, 0x000000ef, 0x00000044, 0x0000005f, + 0x000000e4, 0x000000f0 +}; + +static const uint8_t cld_lav9_2D_0_0_7_bits[10] = { + 15, 12, 13, 9, 8, 8, 7, 7, 6, 6 +}; + +static const uint32_t cld_lav9_2D_0_0_7_codes[10] = { + 0x00002e72, 0x0000013f, 0x00000b9f, 0x0000013e, 0x000000fe, 0x00000047, 0x0000000e, 0x0000007d, + 0x00000010, 0x00000024 +}; + +static const uint8_t cld_lav9_2D_0_0_8_bits[10] = { + 15, 16, 9, 8, 8, 8, 7, 6, 5, 4 +}; + +static const uint32_t cld_lav9_2D_0_0_8_codes[10] = { + 0x00002e77, 0x00005ce6, 0x000000bb, 0x000000e6, 0x00000016, 0x000000ff, 0x0000007a, 0x0000003a, + 0x00000017, 0x00000002 +}; + +static const uint8_t cld_lav9_2D_0_0_9_bits[10] = { + 16, 10, 8, 9, 8, 7, 6, 5, 4, 3 +}; + +static const uint32_t cld_lav9_2D_0_0_9_codes[10] = { + 0x00005ce7, 0x000003cf, 0x00000017, 0x000001cb, 0x0000009c, 0x0000004b, 0x00000016, 0x0000000a, + 0x00000008, 0x00000006 +}; + +/* cld_lav3_2D_0_1*/ +static const uint8_t cld_lav3_2D_0_1_0_bits[4] = { + 1, 6, 11, 12 +}; + +static const uint32_t cld_lav3_2D_0_1_0_codes[4] = { + 0x00000000, 0x0000003e, 0x0000076e, 0x00000ede +}; + +static const uint8_t cld_lav3_2D_0_1_1_bits[4] = { + 3, 6, 10, 6 +}; + +static const uint32_t cld_lav3_2D_0_1_1_codes[4] = { + 0x00000006, 0x0000003f, 0x000003b6, 0x0000003a +}; + +static const uint8_t cld_lav3_2D_0_1_2_bits[4] = { + 5, 8, 9, 5 +}; + +static const uint32_t cld_lav3_2D_0_1_2_codes[4] = { + 0x0000001c, 0x000000ee, 0x000001da, 0x0000001e +}; + +static const uint8_t cld_lav3_2D_0_1_3_bits[4] = { + 8, 12, 8, 2 +}; + +static const uint32_t cld_lav3_2D_0_1_3_codes[4] = { + 0x000000ef, 0x00000edf, 0x000000ec, 0x00000002 +}; + +/* cld_lav5_2D_0_1*/ +static const uint8_t cld_lav5_2D_0_1_0_bits[6] = { + 3, 5, 8, 12, 16, 17 +}; + +static const uint32_t cld_lav5_2D_0_1_0_codes[6] = { + 0x00000006, 0x0000001c, 0x0000007e, 0x00000efc, 0x0000effe, 0x0001dffe +}; + +static const uint8_t cld_lav5_2D_0_1_1_bits[6] = { + 3, 4, 7, 12, 15, 7 +}; + +static const uint32_t cld_lav5_2D_0_1_1_codes[6] = { + 0x00000004, 0x0000000a, 0x0000003e, 0x00000efe, 0x000077fe, 0x00000076 +}; + +static const uint8_t cld_lav5_2D_0_1_2_bits[6] = { + 4, 5, 8, 12, 8, 5 +}; + +static const uint32_t cld_lav5_2D_0_1_2_codes[6] = { + 0x00000006, 0x00000016, 0x000000be, 0x00000efd, 0x000000ee, 0x0000000e +}; + +static const uint8_t cld_lav5_2D_0_1_3_bits[6] = { + 6, 6, 9, 10, 7, 5 +}; + +static const uint32_t cld_lav5_2D_0_1_3_codes[6] = { + 0x0000003e, 0x0000002e, 0x000001de, 0x000003be, 0x0000007e, 0x0000001e +}; + +static const uint8_t cld_lav5_2D_0_1_4_bits[6] = { + 7, 7, 14, 9, 6, 3 +}; + +static const uint32_t cld_lav5_2D_0_1_4_codes[6] = { + 0x0000007f, 0x0000005e, 0x00003bfe, 0x000000fe, 0x0000001e, 0x00000002 +}; + +static const uint8_t cld_lav5_2D_0_1_5_bits[6] = { + 8, 17, 13, 9, 6, 2 +}; + +static const uint32_t cld_lav5_2D_0_1_5_codes[6] = { + 0x000000bf, 0x0001dfff, 0x00001dfe, 0x000000ff, 0x0000003a, 0x00000000 +}; + +/* cld_lav7_2D_0_1*/ +static const uint8_t cld_lav7_2D_0_1_0_bits[8] = { + 3, 5, 8, 11, 15, 18, 20, 21 +}; + +static const uint32_t cld_lav7_2D_0_1_0_codes[8] = { + 0x00000002, 0x0000001c, 0x000000bc, 0x000005fc, 0x00005ffe, 0x0002ffde, 0x000bff7e, 0x0017feff +}; + +static const uint8_t cld_lav7_2D_0_1_1_bits[8] = { + 3, 4, 7, 10, 13, 16, 19, 8 +}; + +static const uint32_t cld_lav7_2D_0_1_1_codes[8] = { + 0x00000004, 0x0000000a, 0x0000000e, 0x000002fa, 0x000001fe, 0x0000bff2, 0x0005ffbe, 0x000000ee +}; + +static const uint8_t cld_lav7_2D_0_1_2_bits[8] = { + 4, 5, 8, 11, 13, 16, 9, 7 +}; + +static const uint32_t cld_lav7_2D_0_1_2_codes[8] = { + 0x00000002, 0x00000016, 0x000000f6, 0x000005fe, 0x000001ff, 0x0000bff6, 0x000001de, 0x0000007e +}; + +static const uint8_t cld_lav7_2D_0_1_3_bits[8] = { + 5, 6, 8, 10, 14, 10, 8, 6 +}; + +static const uint32_t cld_lav7_2D_0_1_3_codes[8] = { + 0x00000000, 0x0000003c, 0x0000000e, 0x0000003e, 0x00002ffe, 0x000002fb, 0x000000f7, 0x0000002e +}; + +static const uint8_t cld_lav7_2D_0_1_4_bits[8] = { + 6, 7, 8, 11, 12, 9, 7, 5 +}; + +static const uint32_t cld_lav7_2D_0_1_4_codes[8] = { + 0x00000006, 0x0000007a, 0x0000000a, 0x0000007e, 0x000000fe, 0x00000016, 0x00000006, 0x00000002 +}; + +static const uint8_t cld_lav7_2D_0_1_5_bits[8] = { + 7, 7, 9, 15, 12, 9, 7, 4 +}; + +static const uint32_t cld_lav7_2D_0_1_5_codes[8] = { + 0x0000000f, 0x00000076, 0x00000017, 0x00005ff8, 0x00000bfe, 0x0000001e, 0x0000007f, 0x00000003 +}; + +static const uint8_t cld_lav7_2D_0_1_6_bits[8] = { + 7, 8, 16, 15, 12, 9, 6, 3 +}; + +static const uint32_t cld_lav7_2D_0_1_6_codes[8] = { + 0x00000004, 0x000000bd, 0x0000bff3, 0x00005fff, 0x00000bfa, 0x0000017c, 0x0000003a, 0x00000003 +}; + +static const uint8_t cld_lav7_2D_0_1_7_bits[8] = { + 9, 21, 17, 15, 12, 9, 6, 3 +}; + +static const uint32_t cld_lav7_2D_0_1_7_codes[8] = { + 0x0000017e, 0x0017fefe, 0x00017fee, 0x00005ffa, 0x00000bfb, 0x000001df, 0x0000003e, 0x00000006 +}; + +/* cld_lav9_2D_0_1*/ +static const uint8_t cld_lav9_2D_0_1_0_bits[10] = { + 4, 5, 8, 11, 14, 16, 19, 21, 21, 21 +}; + +static const uint32_t cld_lav9_2D_0_1_0_codes[10] = { + 0x0000000e, 0x00000014, 0x0000008e, 0x000004fe, 0x000023fe, 0x00008ffe, 0x0005ffbc, 0x0017fef7, + 0x0017fef7, 0x0017fef7 +}; + +static const uint8_t cld_lav9_2D_0_1_1_bits[10] = { + 3, 4, 7, 10, 13, 16, 19, 17, 20, 8 +}; + +static const uint32_t cld_lav9_2D_0_1_1_codes[10] = { + 0x00000002, 0x00000002, 0x00000044, 0x0000027e, 0x000017fc, 0x0000bff6, 0x0005ffbe, 0x00011ff8, + 0x000bff7a, 0x000000bc +}; + +static const uint8_t cld_lav9_2D_0_1_2_bits[10] = { + 4, 5, 7, 10, 13, 16, 17, 21, 9, 7 +}; + +static const uint32_t cld_lav9_2D_0_1_2_codes[10] = { + 0x00000006, 0x00000016, 0x0000001a, 0x000000fe, 0x000011f6, 0x0000bffe, 0x00011ff9, 0x0017fef6, + 0x0000011e, 0x00000056 +}; + +static const uint8_t cld_lav9_2D_0_1_3_bits[10] = { + 5, 6, 8, 11, 13, 15, 17, 11, 8, 7 +}; + +static const uint32_t cld_lav9_2D_0_1_3_codes[10] = { + 0x00000010, 0x0000003e, 0x0000009e, 0x000007fe, 0x000011f7, 0x00005ff8, 0x00017fee, 0x000007ff, + 0x000000ae, 0x0000001e +}; + +static const uint8_t cld_lav9_2D_0_1_4_bits[10] = { + 6, 6, 9, 11, 12, 16, 12, 9, 9, 7 +}; + +static const uint32_t cld_lav9_2D_0_1_4_codes[10] = { + 0x00000026, 0x0000000e, 0x000001ee, 0x0000047e, 0x00000bfc, 0x0000bfff, 0x000008fa, 0x0000006e, + 0x000001ef, 0x0000007e +}; + +static const uint8_t cld_lav9_2D_0_1_5_bits[10] = { + 7, 7, 9, 10, 13, 14, 11, 10, 8, 6 +}; + +static const uint32_t cld_lav9_2D_0_1_5_codes[10] = { + 0x0000007a, 0x0000004e, 0x0000007e, 0x000000de, 0x000011fe, 0x00002ffe, 0x000004ff, 0x000000ff, + 0x000000bd, 0x0000002e +}; + +static const uint8_t cld_lav9_2D_0_1_6_bits[10] = { + 8, 8, 9, 11, 17, 14, 12, 10, 7, 5 +}; + +static const uint32_t cld_lav9_2D_0_1_6_codes[10] = { + 0x000000fe, 0x000000af, 0x000001ec, 0x000001be, 0x00011ffe, 0x00002ffa, 0x000008fe, 0x000003fe, + 0x00000046, 0x00000012 +}; + +static const uint8_t cld_lav9_2D_0_1_7_bits[10] = { + 8, 7, 10, 20, 15, 15, 12, 9, 6, 4 +}; + +static const uint32_t cld_lav9_2D_0_1_7_codes[10] = { + 0x0000003e, 0x00000045, 0x000002fe, 0x000bff7e, 0x00005ff9, 0x00005ffa, 0x00000bfd, 0x0000013e, + 0x0000000c, 0x00000007 +}; + +static const uint8_t cld_lav9_2D_0_1_8_bits[10] = { + 8, 8, 20, 18, 17, 15, 11, 9, 6, 3 +}; + +static const uint32_t cld_lav9_2D_0_1_8_codes[10] = { + 0x000000be, 0x00000036, 0x000bff7f, 0x00023ffe, 0x00011ffa, 0x00005ffe, 0x000001bf, 0x000001ed, + 0x0000002a, 0x00000000 +}; + +static const uint8_t cld_lav9_2D_0_1_9_bits[10] = { + 9, 21, 19, 19, 17, 14, 11, 9, 6, 3 +}; + +static const uint32_t cld_lav9_2D_0_1_9_codes[10] = { + 0x0000017e, 0x0017fef7, 0x00047ffe, 0x00047fff, 0x00011ffb, 0x00002ffb, 0x0000047c, 0x000001fe, + 0x0000003c, 0x00000006 +}; + +/* cld_lav3_2D_1_0*/ +static const uint8_t cld_lav3_2D_1_0_0_bits[4] = { + 1, 5, 10, 12 +}; + +static const uint32_t cld_lav3_2D_1_0_0_codes[4] = { + 0x00000000, 0x0000001e, 0x000003be, 0x00000efe +}; + +static const uint8_t cld_lav3_2D_1_0_1_bits[4] = { + 3, 5, 9, 8 +}; + +static const uint32_t cld_lav3_2D_1_0_1_codes[4] = { + 0x00000006, 0x0000001c, 0x000001de, 0x000000ea +}; + +static const uint8_t cld_lav3_2D_1_0_2_bits[4] = { + 7, 8, 8, 5 +}; + +static const uint32_t cld_lav3_2D_1_0_2_codes[4] = { + 0x00000074, 0x000000ee, 0x000000eb, 0x0000001f +}; + +static const uint8_t cld_lav3_2D_1_0_3_bits[4] = { + 11, 12, 7, 2 +}; + +static const uint32_t cld_lav3_2D_1_0_3_codes[4] = { + 0x0000077e, 0x00000eff, 0x00000076, 0x00000002 +}; + +/* cld_lav5_2D_1_0*/ +static const uint8_t cld_lav5_2D_1_0_0_bits[6] = { + 2, 4, 7, 11, 14, 15 +}; + +static const uint32_t cld_lav5_2D_1_0_0_codes[6] = { + 0x00000000, 0x00000006, 0x00000024, 0x0000025e, 0x00003cfe, 0x000079fe +}; + +static const uint8_t cld_lav5_2D_1_0_1_bits[6] = { + 3, 4, 7, 10, 13, 9 +}; + +static const uint32_t cld_lav5_2D_1_0_1_codes[6] = { + 0x00000006, 0x00000007, 0x00000078, 0x000003ce, 0x00001e7e, 0x000000be +}; + +static const uint8_t cld_lav5_2D_1_0_2_bits[6] = { + 5, 6, 7, 10, 9, 7 +}; + +static const uint32_t cld_lav5_2D_1_0_2_codes[6] = { + 0x00000008, 0x0000003e, 0x00000026, 0x0000012e, 0x000000bf, 0x0000002e +}; + +static const uint8_t cld_lav5_2D_1_0_3_bits[6] = { + 7, 7, 9, 9, 7, 6 +}; + +static const uint32_t cld_lav5_2D_1_0_3_codes[6] = { + 0x00000027, 0x0000007a, 0x000001e4, 0x00000096, 0x0000007b, 0x0000003f +}; + +static const uint8_t cld_lav5_2D_1_0_4_bits[6] = { + 9, 9, 12, 8, 6, 4 +}; + +static const uint32_t cld_lav5_2D_1_0_4_codes[6] = { + 0x000001e6, 0x000001e5, 0x00000f3e, 0x0000005e, 0x00000016, 0x0000000e +}; + +static const uint8_t cld_lav5_2D_1_0_5_bits[6] = { + 11, 15, 11, 8, 5, 2 +}; + +static const uint32_t cld_lav5_2D_1_0_5_codes[6] = { + 0x0000079e, 0x000079ff, 0x0000025f, 0x0000004a, 0x0000000a, 0x00000002 +}; + +/* cld_lav7_2D_1_0*/ +static const uint8_t cld_lav7_2D_1_0_0_bits[8] = { + 2, 4, 8, 11, 14, 17, 19, 19 +}; + +static const uint32_t cld_lav7_2D_1_0_0_codes[8] = { + 0x00000000, 0x00000006, 0x000000de, 0x0000069e, 0x000034fe, 0x0001a7fe, 0x00069ff6, 0x00069ff7 +}; + +static const uint8_t cld_lav7_2D_1_0_1_bits[8] = { + 3, 4, 7, 10, 13, 15, 17, 10 +}; + +static const uint32_t cld_lav7_2D_1_0_1_codes[8] = { + 0x00000002, 0x0000000c, 0x0000006a, 0x0000034e, 0x00001fde, 0x000069fe, 0x0001a7fc, 0x00000372 +}; + +static const uint8_t cld_lav7_2D_1_0_2_bits[8] = { + 6, 6, 8, 10, 12, 15, 10, 8 +}; + +static const uint32_t cld_lav7_2D_1_0_2_codes[8] = { + 0x0000003e, 0x0000003c, 0x000000df, 0x000001ee, 0x00000dde, 0x000069fa, 0x00000373, 0x0000007a +}; + +static const uint8_t cld_lav7_2D_1_0_3_bits[8] = { + 7, 7, 9, 10, 12, 10, 9, 8 +}; + +static const uint32_t cld_lav7_2D_1_0_3_codes[8] = { + 0x0000003e, 0x00000068, 0x000001ba, 0x000003f6, 0x00000d3e, 0x0000034c, 0x000001fa, 0x000000d2 +}; + +static const uint8_t cld_lav7_2D_1_0_4_bits[8] = { + 8, 8, 9, 11, 11, 9, 9, 7 +}; + +static const uint32_t cld_lav7_2D_1_0_4_codes[8] = { + 0x0000007e, 0x0000007f, 0x000001f8, 0x000006ee, 0x000003de, 0x000001b8, 0x000001fc, 0x0000006b +}; + +static const uint8_t cld_lav7_2D_1_0_5_bits[8] = { + 9, 9, 10, 14, 11, 10, 7, 6 +}; + +static const uint32_t cld_lav7_2D_1_0_5_codes[8] = { + 0x000000f6, 0x000001fe, 0x0000034d, 0x00003fbe, 0x000007f6, 0x000003fa, 0x0000003c, 0x0000003d +}; + +static const uint8_t cld_lav7_2D_1_0_6_bits[8] = { + 10, 10, 17, 14, 12, 9, 6, 4 +}; + +static const uint32_t cld_lav7_2D_1_0_6_codes[8] = { + 0x000003f7, 0x00000376, 0x0001a7ff, 0x00003fbf, 0x00000ddf, 0x000001f9, 0x00000036, 0x0000000e +}; + +static const uint8_t cld_lav7_2D_1_0_7_bits[8] = { + 11, 18, 15, 14, 12, 9, 5, 2 +}; + +static const uint32_t cld_lav7_2D_1_0_7_codes[8] = { + 0x000003df, 0x00034ffa, 0x000069fb, 0x000034fc, 0x00000fee, 0x000001ff, 0x0000000e, 0x00000002 +}; + +/* cld_lav9_2D_1_0*/ +static const uint8_t cld_lav9_2D_1_0_0_bits[10] = { + 3, 4, 7, 11, 13, 16, 17, 21, 21, 21 +}; + +static const uint32_t cld_lav9_2D_1_0_0_codes[10] = { + 0x00000006, 0x00000004, 0x00000012, 0x000007fe, 0x00001f7e, 0x0000fbfe, 0x0001f7fe, 0x000b7dfe, + 0x000b7dff, 0x000b7dff +}; + +static const uint8_t cld_lav9_2D_1_0_1_bits[10] = { + 3, 4, 7, 9, 12, 14, 17, 16, 18, 10 +}; + +static const uint32_t cld_lav9_2D_1_0_1_codes[10] = { + 0x00000000, 0x00000006, 0x0000007c, 0x00000046, 0x000007d0, 0x00001f4e, 0x0000b7fe, 0x00005bee, + 0x00016fbe, 0x000003ee +}; + +static const uint8_t cld_lav9_2D_1_0_2_bits[10] = { + 5, 5, 7, 10, 12, 14, 15, 17, 10, 8 +}; + +static const uint32_t cld_lav9_2D_1_0_2_codes[10] = { + 0x00000006, 0x0000000a, 0x0000002e, 0x000003fe, 0x000007d2, 0x00001f4f, 0x00002dfe, 0x0000b7de, + 0x000001fe, 0x0000002e +}; + +static const uint8_t cld_lav9_2D_1_0_3_bits[10] = { + 7, 7, 8, 10, 12, 13, 14, 10, 8, 8 +}; + +static const uint32_t cld_lav9_2D_1_0_3_codes[10] = { + 0x0000007a, 0x0000007e, 0x0000007a, 0x000001fa, 0x000007fe, 0x00001f7c, 0x000016fa, 0x0000009e, + 0x00000020, 0x00000021 +}; + +static const uint8_t cld_lav9_2D_1_0_4_bits[10] = { + 8, 7, 9, 10, 10, 13, 11, 9, 9, 8 +}; + +static const uint32_t cld_lav9_2D_1_0_4_codes[10] = { + 0x000000fe, 0x00000016, 0x000000fe, 0x0000016e, 0x0000009f, 0x00000b7c, 0x000003de, 0x000000b6, + 0x000000be, 0x0000007c +}; + +static const uint8_t cld_lav9_2D_1_0_5_bits[10] = { + 8, 8, 9, 9, 12, 12, 10, 10, 8, 7 +}; + +static const uint32_t cld_lav9_2D_1_0_5_codes[10] = { + 0x0000005a, 0x00000078, 0x00000047, 0x00000044, 0x000007ff, 0x000007d1, 0x000001f6, 0x000001f7, + 0x0000002f, 0x0000002c +}; + +static const uint8_t cld_lav9_2D_1_0_6_bits[10] = { + 9, 9, 9, 11, 14, 11, 11, 9, 8, 6 +}; + +static const uint32_t cld_lav9_2D_1_0_6_codes[10] = { + 0x000000fc, 0x000001f6, 0x000000f6, 0x000007ff, 0x000016fe, 0x000002de, 0x000003ea, 0x000000bf, + 0x000000fa, 0x0000000a +}; + +static const uint8_t cld_lav9_2D_1_0_7_bits[10] = { + 9, 8, 10, 16, 14, 13, 11, 9, 7, 5 +}; + +static const uint32_t cld_lav9_2D_1_0_7_codes[10] = { + 0x0000004e, 0x00000026, 0x000001ee, 0x00005bfe, 0x00003efe, 0x00000b7e, 0x000003eb, 0x000001fe, + 0x0000007b, 0x00000007 +}; + +static const uint8_t cld_lav9_2D_1_0_8_bits[10] = { + 10, 9, 18, 17, 15, 13, 11, 8, 6, 4 +}; + +static const uint32_t cld_lav9_2D_1_0_8_codes[10] = { + 0x000001fb, 0x00000045, 0x00016ffe, 0x0001f7ff, 0x00002df6, 0x00001f7d, 0x000003fe, 0x0000005e, + 0x0000003c, 0x0000000e +}; + +static const uint8_t cld_lav9_2D_1_0_9_bits[10] = { + 11, 20, 19, 18, 15, 13, 11, 8, 5, 2 +}; + +static const uint32_t cld_lav9_2D_1_0_9_codes[10] = { + 0x000003df, 0x0005befe, 0x0002df7e, 0x00016fff, 0x00007dfe, 0x00000fa6, 0x000007de, 0x00000079, + 0x0000000e, 0x00000002 +}; + +/* cld_lav3_2D_1_1*/ +static const uint8_t cld_lav3_2D_1_1_0_bits[4] = { + 1, 4, 8, 11 +}; + +static const uint32_t cld_lav3_2D_1_1_0_codes[4] = { + 0x00000000, 0x0000000e, 0x000000fa, 0x000007de +}; + +static const uint8_t cld_lav3_2D_1_1_1_bits[4] = { + 4, 5, 8, 9 +}; + +static const uint32_t cld_lav3_2D_1_1_1_codes[4] = { + 0x0000000c, 0x0000001e, 0x000000fe, 0x000001f6 +}; + +static const uint8_t cld_lav3_2D_1_1_2_bits[4] = { + 8, 7, 7, 5 +}; + +static const uint32_t cld_lav3_2D_1_1_2_codes[4] = { + 0x000000ff, 0x0000007c, 0x0000007e, 0x0000001a +}; + +static const uint8_t cld_lav3_2D_1_1_3_bits[4] = { + 11, 10, 5, 2 +}; + +static const uint32_t cld_lav3_2D_1_1_3_codes[4] = { + 0x000007df, 0x000003ee, 0x0000001b, 0x00000002 +}; + +/* cld_lav5_2D_1_1*/ +static const uint8_t cld_lav5_2D_1_1_0_bits[6] = { + 3, 4, 7, 10, 12, 14 +}; + +static const uint32_t cld_lav5_2D_1_1_0_codes[6] = { + 0x00000006, 0x0000000e, 0x0000007c, 0x000003fe, 0x00000fbe, 0x00003efe +}; + +static const uint8_t cld_lav5_2D_1_1_1_bits[6] = { + 3, 3, 6, 8, 11, 11 +}; + +static const uint32_t cld_lav5_2D_1_1_1_codes[6] = { + 0x00000000, 0x00000001, 0x0000003c, 0x0000005e, 0x000007de, 0x000007be +}; + +static const uint8_t cld_lav5_2D_1_1_2_bits[6] = { + 6, 5, 6, 8, 9, 9 +}; + +static const uint32_t cld_lav5_2D_1_1_2_codes[6] = { + 0x0000001e, 0x0000000a, 0x0000001f, 0x0000005f, 0x000001ee, 0x000001f6 +}; + +static const uint8_t cld_lav5_2D_1_1_3_bits[6] = { + 9, 8, 8, 8, 7, 6 +}; + +static const uint32_t cld_lav5_2D_1_1_3_codes[6] = { + 0x000001fe, 0x000000fe, 0x000000f6, 0x000000fa, 0x0000007e, 0x00000016 +}; + +static const uint8_t cld_lav5_2D_1_1_4_bits[6] = { + 11, 10, 10, 7, 5, 4 +}; + +static const uint32_t cld_lav5_2D_1_1_4_codes[6] = { + 0x000007bf, 0x000003de, 0x000003ee, 0x0000007a, 0x0000000e, 0x00000006 +}; + +static const uint8_t cld_lav5_2D_1_1_5_bits[6] = { + 14, 13, 10, 7, 4, 2 +}; + +static const uint32_t cld_lav5_2D_1_1_5_codes[6] = { + 0x00003eff, 0x00001f7e, 0x000003ff, 0x0000002e, 0x00000004, 0x00000002 +}; + +/* cld_lav7_2D_1_1*/ +static const uint8_t cld_lav7_2D_1_1_0_bits[8] = { + 3, 4, 6, 9, 11, 12, 13, 15 +}; + +static const uint32_t cld_lav7_2D_1_1_0_codes[8] = { + 0x00000002, 0x0000000a, 0x0000001a, 0x000001be, 0x000006e6, 0x0000067a, 0x00000cf2, 0x000033de +}; + +static const uint8_t cld_lav7_2D_1_1_1_bits[8] = { + 4, 4, 5, 8, 10, 11, 12, 13 +}; + +static const uint32_t cld_lav7_2D_1_1_1_codes[8] = { + 0x0000000c, 0x0000000e, 0x0000000e, 0x000000de, 0x00000372, 0x000003d6, 0x00000678, 0x00000cf6 +}; + +static const uint8_t cld_lav7_2D_1_1_2_bits[8] = { + 6, 5, 6, 7, 9, 11, 11, 11 +}; + +static const uint32_t cld_lav7_2D_1_1_2_codes[8] = { + 0x00000036, 0x00000012, 0x0000003e, 0x0000003c, 0x000001b8, 0x000003d4, 0x0000033e, 0x0000033f +}; + +static const uint8_t cld_lav7_2D_1_1_3_bits[8] = { + 8, 7, 7, 7, 9, 9, 9, 10 +}; + +static const uint32_t cld_lav7_2D_1_1_3_codes[8] = { + 0x0000007e, 0x0000006a, 0x0000004e, 0x0000007e, 0x000001ba, 0x000000ce, 0x000000f6, 0x000001ee +}; + +static const uint8_t cld_lav7_2D_1_1_4_bits[8] = { + 10, 9, 8, 8, 8, 7, 8, 8 +}; + +static const uint32_t cld_lav7_2D_1_1_4_codes[8] = { + 0x000001ef, 0x0000013e, 0x0000007f, 0x00000066, 0x000000d6, 0x0000003e, 0x000000d7, 0x0000009e +}; + +static const uint8_t cld_lav7_2D_1_1_5_bits[8] = { + 12, 10, 10, 10, 7, 6, 6, 6 +}; + +static const uint32_t cld_lav7_2D_1_1_5_codes[8] = { + 0x000007ae, 0x000001e8, 0x000001e9, 0x0000027e, 0x00000032, 0x00000018, 0x00000026, 0x00000034 +}; + +static const uint8_t cld_lav7_2D_1_1_6_bits[8] = { + 13, 12, 12, 10, 9, 6, 5, 4 +}; + +static const uint32_t cld_lav7_2D_1_1_6_codes[8] = { + 0x00000cf3, 0x000007aa, 0x000007ab, 0x0000027f, 0x000001bf, 0x0000001b, 0x0000001e, 0x0000000b +}; + +static const uint8_t cld_lav7_2D_1_1_7_bits[8] = { + 15, 14, 12, 11, 9, 7, 4, 2 +}; + +static const uint32_t cld_lav7_2D_1_1_7_codes[8] = { + 0x000033df, 0x000019ee, 0x000007af, 0x000006e7, 0x000001bb, 0x0000007f, 0x00000008, 0x00000000 +}; + +/* cld_lav9_2D_1_1*/ +static const uint8_t cld_lav9_2D_1_1_0_bits[10] = { + 4, 4, 7, 9, 10, 12, 13, 14, 15, 17 +}; + +static const uint32_t cld_lav9_2D_1_1_0_codes[10] = { + 0x0000000e, 0x00000008, 0x0000007e, 0x000001fe, 0x000001ba, 0x00000dbe, 0x00000d7e, 0x00001af6, + 0x00007fec, 0x0001ffb6 +}; + +static const uint8_t cld_lav9_2D_1_1_1_bits[10] = { + 4, 4, 5, 7, 9, 11, 12, 13, 15, 15 +}; + +static const uint32_t cld_lav9_2D_1_1_1_codes[10] = { + 0x0000000a, 0x0000000c, 0x0000000c, 0x00000036, 0x000000de, 0x000005fe, 0x000006be, 0x00001b7e, + 0x00007fee, 0x00006dfe +}; + +static const uint8_t cld_lav9_2D_1_1_2_bits[10] = { + 6, 5, 5, 7, 9, 11, 11, 13, 13, 13 +}; + +static const uint32_t cld_lav9_2D_1_1_2_codes[10] = { + 0x0000001e, 0x0000000e, 0x0000000a, 0x0000006a, 0x000001ae, 0x000006fe, 0x00000376, 0x00000dfe, + 0x00000dff, 0x00000d7f +}; + +static const uint8_t cld_lav9_2D_1_1_3_bits[10] = { + 8, 7, 7, 7, 8, 9, 12, 12, 12, 13 +}; + +static const uint32_t cld_lav9_2D_1_1_3_codes[10] = { + 0x000000b6, 0x0000005e, 0x0000007c, 0x0000006e, 0x0000006a, 0x0000016a, 0x00000ffe, 0x00000dfe, + 0x00000ffc, 0x00001bfe +}; + +static const uint8_t cld_lav9_2D_1_1_4_bits[10] = { + 10, 9, 8, 8, 7, 9, 10, 10, 11, 11 +}; + +static const uint32_t cld_lav9_2D_1_1_4_codes[10] = { + 0x0000035e, 0x000001b6, 0x0000005e, 0x000000b4, 0x0000006c, 0x0000017e, 0x0000036e, 0x000003ee, + 0x0000037e, 0x00000377 +}; + +static const uint8_t cld_lav9_2D_1_1_5_bits[10] = { + 12, 10, 10, 9, 9, 8, 8, 9, 9, 10 +}; + +static const uint32_t cld_lav9_2D_1_1_5_codes[10] = { + 0x00000fff, 0x000001ae, 0x000001be, 0x000001f6, 0x000001be, 0x000000da, 0x000000fe, 0x0000016b, + 0x000000d6, 0x0000037e +}; + +static const uint8_t cld_lav9_2D_1_1_6_bits[10] = { + 13, 12, 11, 11, 10, 8, 7, 7, 8, 8 +}; + +static const uint32_t cld_lav9_2D_1_1_6_codes[10] = { + 0x000017fe, 0x00000bfe, 0x000007de, 0x000006de, 0x000001b8, 0x000000d6, 0x0000002e, 0x00000034, + 0x000000de, 0x000000be +}; + +static const uint8_t cld_lav9_2D_1_1_7_bits[10] = { + 15, 12, 13, 13, 10, 10, 8, 6, 6, 6 +}; + +static const uint32_t cld_lav9_2D_1_1_7_codes[10] = { + 0x00007fef, 0x000006bc, 0x00001bff, 0x00001ffa, 0x000001b9, 0x000003fe, 0x000000fa, 0x0000002e, + 0x00000034, 0x0000001f +}; + +static const uint8_t cld_lav9_2D_1_1_8_bits[10] = { + 15, 14, 14, 12, 12, 10, 8, 6, 5, 4 +}; + +static const uint32_t cld_lav9_2D_1_1_8_codes[10] = { + 0x00006dff, 0x00001af7, 0x000036fe, 0x000006fe, 0x00000fbe, 0x0000035f, 0x000000b7, 0x0000002c, + 0x0000001e, 0x00000009 +}; + +static const uint8_t cld_lav9_2D_1_1_9_bits[10] = { + 17, 16, 13, 13, 12, 10, 8, 6, 4, 2 +}; + +static const uint32_t cld_lav9_2D_1_1_9_codes[10] = { + 0x0001ffb7, 0x0000ffda, 0x00000d7a, 0x000017ff, 0x00000fbf, 0x000002fe, 0x0000005f, 0x00000016, + 0x00000004, 0x00000000 +}; + +/* icc_1D*/ +static const uint8_t icc_1D_0_bits[8] = { + 1, 2, 3, 4, 5, 6, 7, 7 +}; + +static const uint32_t icc_1D_0_codes[8] = { + 0x00000000, 0x00000002, 0x00000006, 0x0000000e, 0x0000001e, 0x0000003e, 0x0000007e, 0x0000007f +}; + +static const uint8_t icc_1D_1_bits[8] = { + 1, 2, 3, 4, 5, 6, 7, 7 +}; + +static const uint32_t icc_1D_1_codes[8] = { + 0x00000000, 0x00000002, 0x00000006, 0x0000000e, 0x0000001e, 0x0000003e, 0x0000007e, 0x0000007f +}; + +/* icc_lav1_2D_0_0*/ +static const uint8_t icc_lav1_2D_0_0_0_bits[2] = { + 1, 3 +}; + +static const uint32_t icc_lav1_2D_0_0_0_codes[2] = { + 0x00000000, 0x00000006 +}; + +static const uint8_t icc_lav1_2D_0_0_1_bits[2] = { + 3, 2 +}; + +static const uint32_t icc_lav1_2D_0_0_1_codes[2] = { + 0x00000007, 0x00000002 +}; + +/* icc_lav3_2D_0_0*/ +static const uint8_t icc_lav3_2D_0_0_0_bits[4] = { + 2, 2, 5, 8 +}; + +static const uint32_t icc_lav3_2D_0_0_0_codes[4] = { + 0x00000002, 0x00000000, 0x0000000a, 0x0000007e +}; + +static const uint8_t icc_lav3_2D_0_0_1_bits[4] = { + 5, 4, 6, 11 +}; + +static const uint32_t icc_lav3_2D_0_0_1_codes[4] = { + 0x0000000e, 0x00000004, 0x00000016, 0x000003fe +}; + +static const uint8_t icc_lav3_2D_0_0_2_bits[4] = { + 10, 9, 7, 6 +}; + +static const uint32_t icc_lav3_2D_0_0_2_codes[4] = { + 0x000001fe, 0x000000fe, 0x0000003e, 0x0000001e +}; + +static const uint8_t icc_lav3_2D_0_0_3_bits[4] = { + 11, 6, 4, 2 +}; + +static const uint32_t icc_lav3_2D_0_0_3_codes[4] = { + 0x000003ff, 0x00000017, 0x00000006, 0x00000003 +}; + +/* icc_lav5_2D_0_0*/ +static const uint8_t icc_lav5_2D_0_0_0_bits[6] = { + 2, 3, 5, 7, 8, 11 +}; + +static const uint32_t icc_lav5_2D_0_0_0_codes[6] = { + 0x00000000, 0x00000002, 0x0000000c, 0x0000006a, 0x000000dc, 0x000006ee +}; + +static const uint8_t icc_lav5_2D_0_0_1_bits[6] = { + 5, 4, 5, 6, 9, 16 +}; + +static const uint32_t icc_lav5_2D_0_0_1_codes[6] = { + 0x0000001e, 0x0000000c, 0x0000000d, 0x0000001e, 0x000001ae, 0x0000ddff +}; + +static const uint8_t icc_lav5_2D_0_0_2_bits[6] = { + 8, 7, 6, 9, 15, 16 +}; + +static const uint32_t icc_lav5_2D_0_0_2_codes[6] = { + 0x000000de, 0x0000007e, 0x0000001f, 0x000001be, 0x00006efe, 0x0000ddfe +}; + +static const uint8_t icc_lav5_2D_0_0_3_bits[6] = { + 14, 13, 12, 9, 8, 10 +}; + +static const uint32_t icc_lav5_2D_0_0_3_codes[6] = { + 0x0000377e, 0x00001bbe, 0x00000dde, 0x000001bf, 0x000000d6, 0x00000376 +}; + +static const uint8_t icc_lav5_2D_0_0_4_bits[6] = { + 16, 16, 9, 6, 6, 5 +}; + +static const uint32_t icc_lav5_2D_0_0_4_codes[6] = { + 0x0000ddff, 0x0000ddff, 0x000001ba, 0x00000034, 0x0000003e, 0x0000000e +}; + +static const uint8_t icc_lav5_2D_0_0_5_bits[6] = { + 16, 9, 7, 6, 4, 2 +}; + +static const uint32_t icc_lav5_2D_0_0_5_codes[6] = { + 0x0000ddff, 0x000001af, 0x0000007f, 0x00000036, 0x0000000e, 0x00000002 +}; + +/* icc_lav7_2D_0_0*/ +static const uint8_t icc_lav7_2D_0_0_0_bits[8] = { + 2, 4, 6, 7, 8, 11, 11, 12 +}; + +static const uint32_t icc_lav7_2D_0_0_0_codes[8] = { + 0x00000000, 0x0000000c, 0x0000002e, 0x00000044, 0x00000086, 0x0000069e, 0x0000043e, 0x0000087a +}; + +static const uint8_t icc_lav7_2D_0_0_1_bits[8] = { + 5, 4, 6, 7, 9, 7, 10, 12 +}; + +static const uint32_t icc_lav7_2D_0_0_1_codes[8] = { + 0x0000001e, 0x0000000e, 0x0000002a, 0x00000046, 0x0000015e, 0x00000047, 0x0000034a, 0x0000087b +}; + +static const uint8_t icc_lav7_2D_0_0_2_bits[8] = { + 8, 6, 6, 8, 7, 10, 12, 12 +}; + +static const uint32_t icc_lav7_2D_0_0_2_codes[8] = { + 0x000000d6, 0x00000026, 0x0000002f, 0x000000d7, 0x0000006a, 0x0000034e, 0x0000087b, 0x0000087b +}; + +static const uint8_t icc_lav7_2D_0_0_3_bits[8] = { + 10, 9, 9, 5, 9, 12, 12, 12 +}; + +static const uint32_t icc_lav7_2D_0_0_3_codes[8] = { + 0x000002be, 0x000001a6, 0x000001be, 0x00000012, 0x000001bf, 0x0000087b, 0x0000087b, 0x0000087b +}; + +static const uint8_t icc_lav7_2D_0_0_4_bits[8] = { + 12, 12, 12, 12, 6, 8, 11, 11 +}; + +static const uint32_t icc_lav7_2D_0_0_4_codes[8] = { + 0x0000087b, 0x0000087b, 0x0000087b, 0x0000087b, 0x00000036, 0x000000d0, 0x0000043c, 0x0000043f +}; + +static const uint8_t icc_lav7_2D_0_0_5_bits[8] = { + 12, 12, 12, 10, 6, 6, 7, 8 +}; + +static const uint32_t icc_lav7_2D_0_0_5_codes[8] = { + 0x0000087b, 0x0000087b, 0x0000087b, 0x0000034b, 0x00000027, 0x00000020, 0x00000042, 0x000000d1 +}; + +static const uint8_t icc_lav7_2D_0_0_6_bits[8] = { + 12, 12, 10, 8, 8, 7, 5, 5 +}; + +static const uint32_t icc_lav7_2D_0_0_6_codes[8] = { + 0x0000087b, 0x0000087b, 0x000002bf, 0x000000de, 0x000000ae, 0x00000056, 0x00000016, 0x00000014 +}; + +static const uint8_t icc_lav7_2D_0_0_7_bits[8] = { + 12, 11, 9, 9, 7, 7, 5, 2 +}; + +static const uint32_t icc_lav7_2D_0_0_7_codes[8] = { + 0x0000087b, 0x0000069f, 0x000001a4, 0x0000010e, 0x00000045, 0x0000006e, 0x0000001f, 0x00000001 +}; + +/* icc_lav1_2D_0_1*/ +static const uint8_t icc_lav1_2D_0_1_0_bits[2] = { + 1, 3 +}; + +static const uint32_t icc_lav1_2D_0_1_0_codes[2] = { + 0x00000000, 0x00000006 +}; + +static const uint8_t icc_lav1_2D_0_1_1_bits[2] = { + 3, 2 +}; + +static const uint32_t icc_lav1_2D_0_1_1_codes[2] = { + 0x00000007, 0x00000002 +}; + +/* icc_lav3_2D_0_1*/ +static const uint8_t icc_lav3_2D_0_1_0_bits[4] = { + 2, 4, 10, 11 +}; + +static const uint32_t icc_lav3_2D_0_1_0_codes[4] = { + 0x00000002, 0x00000004, 0x0000017e, 0x000002fe +}; + +static const uint8_t icc_lav3_2D_0_1_1_bits[4] = { + 2, 5, 9, 6 +}; + +static const uint32_t icc_lav3_2D_0_1_1_codes[4] = { + 0x00000000, 0x0000000e, 0x000000be, 0x00000016 +}; + +static const uint8_t icc_lav3_2D_0_1_2_bits[4] = { + 5, 6, 8, 4 +}; + +static const uint32_t icc_lav3_2D_0_1_2_codes[4] = { + 0x0000000f, 0x00000014, 0x0000005e, 0x00000006 +}; + +static const uint8_t icc_lav3_2D_0_1_3_bits[4] = { + 7, 11, 6, 2 +}; + +static const uint32_t icc_lav3_2D_0_1_3_codes[4] = { + 0x0000002e, 0x000002ff, 0x00000015, 0x00000003 +}; + +/* icc_lav5_2D_0_1*/ +static const uint8_t icc_lav5_2D_0_1_0_bits[6] = { + 2, 5, 10, 16, 20, 20 +}; + +static const uint32_t icc_lav5_2D_0_1_0_codes[6] = { + 0x00000000, 0x0000001e, 0x000003fc, 0x0000fffa, 0x000fff9e, 0x000fff9f +}; + +static const uint8_t icc_lav5_2D_0_1_1_bits[6] = { + 3, 4, 9, 15, 19, 8 +}; + +static const uint32_t icc_lav5_2D_0_1_1_codes[6] = { + 0x00000006, 0x00000004, 0x000000be, 0x00007ffe, 0x0007ffce, 0x000000fe +}; + +static const uint8_t icc_lav5_2D_0_1_2_bits[6] = { + 4, 6, 10, 16, 12, 6 +}; + +static const uint32_t icc_lav5_2D_0_1_2_codes[6] = { + 0x00000006, 0x0000001e, 0x000003fd, 0x0000fffb, 0x00000ffe, 0x0000003e +}; + +static const uint8_t icc_lav5_2D_0_1_3_bits[6] = { + 5, 7, 13, 15, 8, 5 +}; + +static const uint32_t icc_lav5_2D_0_1_3_codes[6] = { + 0x0000000a, 0x0000007e, 0x00001ffe, 0x00007fff, 0x0000005e, 0x0000000e +}; + +static const uint8_t icc_lav5_2D_0_1_4_bits[6] = { + 6, 10, 17, 12, 7, 4 +}; + +static const uint32_t icc_lav5_2D_0_1_4_codes[6] = { + 0x0000001f, 0x000003fe, 0x0001fff2, 0x00000ffc, 0x0000002e, 0x0000000e +}; + +static const uint8_t icc_lav5_2D_0_1_5_bits[6] = { + 9, 18, 16, 12, 6, 2 +}; + +static const uint32_t icc_lav5_2D_0_1_5_codes[6] = { + 0x000000bf, 0x0003ffe6, 0x0000fff8, 0x00000ffd, 0x00000016, 0x00000002 +}; + +/* icc_lav7_2D_0_1*/ +static const uint8_t icc_lav7_2D_0_1_0_bits[8] = { + 2, 6, 12, 16, 16, 16, 16, 16 +}; + +static const uint32_t icc_lav7_2D_0_1_0_codes[8] = { + 0x00000002, 0x0000001e, 0x00000ffe, 0x0000ffff, 0x0000fffe, 0x0000ffff, 0x0000ffff, 0x0000ffff +}; + +static const uint8_t icc_lav7_2D_0_1_1_bits[8] = { + 3, 5, 11, 16, 16, 16, 16, 8 +}; + +static const uint32_t icc_lav7_2D_0_1_1_codes[8] = { + 0x00000006, 0x00000008, 0x000007fe, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000005a +}; + +static const uint8_t icc_lav7_2D_0_1_2_bits[8] = { + 4, 7, 10, 15, 16, 16, 13, 6 +}; + +static const uint32_t icc_lav7_2D_0_1_2_codes[8] = { + 0x00000006, 0x0000007a, 0x00000164, 0x00007ffa, 0x0000ffff, 0x0000ffff, 0x00001fee, 0x0000003c +}; + +static const uint8_t icc_lav7_2D_0_1_3_bits[8] = { + 5, 8, 11, 11, 15, 13, 9, 7 +}; + +static const uint32_t icc_lav7_2D_0_1_3_codes[8] = { + 0x0000000e, 0x000000fe, 0x000002ce, 0x000002cf, 0x00007ffb, 0x00001fec, 0x000000b0, 0x0000002e +}; + +static const uint8_t icc_lav7_2D_0_1_4_bits[8] = { + 6, 10, 10, 15, 13, 11, 11, 6 +}; + +static const uint32_t icc_lav7_2D_0_1_4_codes[8] = { + 0x0000003e, 0x000003fe, 0x00000165, 0x00007ffc, 0x00001fef, 0x000007fa, 0x000007f8, 0x0000001f +}; + +static const uint8_t icc_lav7_2D_0_1_5_bits[8] = { + 7, 8, 13, 16, 15, 12, 9, 5 +}; + +static const uint32_t icc_lav7_2D_0_1_5_codes[8] = { + 0x0000002f, 0x000000f6, 0x00001fed, 0x0000ffff, 0x00007ffd, 0x00000ff2, 0x000000b1, 0x0000000a +}; + +static const uint8_t icc_lav7_2D_0_1_6_bits[8] = { + 5, 10, 16, 16, 15, 14, 8, 4 +}; + +static const uint32_t icc_lav7_2D_0_1_6_codes[8] = { + 0x00000009, 0x00000166, 0x0000ffff, 0x0000ffff, 0x00007ffe, 0x00003ffc, 0x0000005b, 0x0000000e +}; + +static const uint8_t icc_lav7_2D_0_1_7_bits[8] = { + 7, 16, 16, 16, 16, 12, 8, 2 +}; + +static const uint32_t icc_lav7_2D_0_1_7_codes[8] = { + 0x0000007e, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x0000ffff, 0x00000ff3, 0x000000f7, 0x00000000 +}; + +/* icc_lav1_2D_1_0*/ +static const uint8_t icc_lav1_2D_1_0_0_bits[2] = { + 1, 3 +}; + +static const uint32_t icc_lav1_2D_1_0_0_codes[2] = { + 0x00000000, 0x00000006 +}; + +static const uint8_t icc_lav1_2D_1_0_1_bits[2] = { + 3, 2 +}; + +static const uint32_t icc_lav1_2D_1_0_1_codes[2] = { + 0x00000007, 0x00000002 +}; + +/* icc_lav3_2D_1_0*/ +static const uint8_t icc_lav3_2D_1_0_0_bits[4] = { + 2, 4, 10, 12 +}; + +static const uint32_t icc_lav3_2D_1_0_0_codes[4] = { + 0x00000002, 0x0000000e, 0x0000037e, 0x00000dfe +}; + +static const uint8_t icc_lav3_2D_1_0_1_bits[4] = { + 4, 4, 9, 9 +}; + +static const uint32_t icc_lav3_2D_1_0_1_codes[4] = { + 0x0000000f, 0x0000000c, 0x000001ba, 0x000001bb +}; + +static const uint8_t icc_lav3_2D_1_0_2_bits[4] = { + 8, 8, 9, 5 +}; + +static const uint32_t icc_lav3_2D_1_0_2_codes[4] = { + 0x000000de, 0x000000dc, 0x000001be, 0x0000001a +}; + +static const uint8_t icc_lav3_2D_1_0_3_bits[4] = { + 11, 12, 6, 1 +}; + +static const uint32_t icc_lav3_2D_1_0_3_codes[4] = { + 0x000006fe, 0x00000dff, 0x00000036, 0x00000000 +}; + +/* icc_lav5_2D_1_0*/ +static const uint8_t icc_lav5_2D_1_0_0_bits[6] = { + 1, 4, 9, 13, 16, 18 +}; + +static const uint32_t icc_lav5_2D_1_0_0_codes[6] = { + 0x00000000, 0x0000000c, 0x000001b6, 0x00001b7c, 0x0000dbfe, 0x00036fff +}; + +static const uint8_t icc_lav5_2D_1_0_1_bits[6] = { + 4, 5, 9, 12, 18, 10 +}; + +static const uint32_t icc_lav5_2D_1_0_1_codes[6] = { + 0x0000000e, 0x0000001e, 0x000001be, 0x00000dfe, 0x00036ffe, 0x0000036e +}; + +static const uint8_t icc_lav5_2D_1_0_2_bits[6] = { + 7, 8, 8, 14, 11, 8 +}; + +static const uint32_t icc_lav5_2D_1_0_2_codes[6] = { + 0x0000006e, 0x000000fe, 0x000000d8, 0x000036fe, 0x000006de, 0x000000de +}; + +static const uint8_t icc_lav5_2D_1_0_3_bits[6] = { + 9, 8, 12, 13, 8, 8 +}; + +static const uint32_t icc_lav5_2D_1_0_3_codes[6] = { + 0x000001fa, 0x000000da, 0x00000dff, 0x00001b7e, 0x000000d9, 0x000000ff +}; + +static const uint8_t icc_lav5_2D_1_0_4_bits[6] = { + 10, 11, 15, 10, 8, 5 +}; + +static const uint32_t icc_lav5_2D_1_0_4_codes[6] = { + 0x000003f6, 0x000006fe, 0x00006dfe, 0x0000037e, 0x000000fc, 0x0000001a +}; + +static const uint8_t icc_lav5_2D_1_0_5_bits[6] = { + 11, 17, 13, 11, 6, 2 +}; + +static const uint32_t icc_lav5_2D_1_0_5_codes[6] = { + 0x000007ee, 0x0001b7fe, 0x00001b7d, 0x000007ef, 0x0000003e, 0x00000002 +}; + +/* icc_lav7_2D_1_0*/ +static const uint8_t icc_lav7_2D_1_0_0_bits[8] = { + 1, 4, 11, 13, 14, 15, 15, 15 +}; + +static const uint32_t icc_lav7_2D_1_0_0_codes[8] = { + 0x00000000, 0x0000000c, 0x000007ee, 0x00001e7e, 0x00003cfe, 0x000079ff, 0x000079ff, 0x000079ff +}; + +static const uint8_t icc_lav7_2D_1_0_1_bits[8] = { + 4, 5, 9, 13, 15, 15, 15, 11 +}; + +static const uint32_t icc_lav7_2D_1_0_1_codes[8] = { + 0x0000000e, 0x0000001a, 0x000001e6, 0x00001fbe, 0x000079fe, 0x000079ff, 0x000079ff, 0x000006fc +}; + +static const uint8_t icc_lav7_2D_1_0_2_bits[8] = { + 7, 8, 9, 12, 12, 15, 12, 9 +}; + +static const uint32_t icc_lav7_2D_1_0_2_codes[8] = { + 0x0000006c, 0x000000f6, 0x000001ba, 0x00000dfc, 0x00000dfd, 0x000079ff, 0x00000f3e, 0x000001bb +}; + +static const uint8_t icc_lav7_2D_1_0_3_bits[8] = { + 8, 9, 10, 10, 15, 12, 9, 8 +}; + +static const uint32_t icc_lav7_2D_1_0_3_codes[8] = { + 0x000000dc, 0x000001fe, 0x0000036e, 0x000003fe, 0x000079ff, 0x00000fde, 0x000001ee, 0x000000f2 +}; + +static const uint8_t icc_lav7_2D_1_0_4_bits[8] = { + 9, 10, 9, 15, 13, 10, 10, 8 +}; + +static const uint32_t icc_lav7_2D_1_0_4_codes[8] = { + 0x000001fa, 0x000003f6, 0x000001be, 0x000079ff, 0x00001fbf, 0x000003ce, 0x000003ff, 0x000000de +}; + +static const uint8_t icc_lav7_2D_1_0_5_bits[8] = { + 7, 8, 15, 15, 11, 10, 9, 8 +}; + +static const uint32_t icc_lav7_2D_1_0_5_codes[8] = { + 0x00000078, 0x000000da, 0x000079ff, 0x000079ff, 0x000006fd, 0x0000036c, 0x000001ef, 0x000000fe +}; + +static const uint8_t icc_lav7_2D_1_0_6_bits[8] = { + 10, 12, 15, 15, 15, 10, 8, 6 +}; + +static const uint32_t icc_lav7_2D_1_0_6_codes[8] = { + 0x0000036f, 0x00000dfe, 0x000079ff, 0x000079ff, 0x000079ff, 0x0000036d, 0x000000fc, 0x0000003e +}; + +static const uint8_t icc_lav7_2D_1_0_7_bits[8] = { + 12, 15, 15, 15, 15, 11, 7, 2 +}; + +static const uint32_t icc_lav7_2D_1_0_7_codes[8] = { + 0x00000dff, 0x000079ff, 0x000079ff, 0x000079ff, 0x000079ff, 0x0000079e, 0x0000007a, 0x00000002 +}; + +/* icc_lav1_2D_1_1*/ +static const uint8_t icc_lav1_2D_1_1_0_bits[2] = { + 1, 3 +}; + +static const uint32_t icc_lav1_2D_1_1_0_codes[2] = { + 0x00000000, 0x00000006 +}; + +static const uint8_t icc_lav1_2D_1_1_1_bits[2] = { + 3, 2 +}; + +static const uint32_t icc_lav1_2D_1_1_1_codes[2] = { + 0x00000007, 0x00000002 +}; + +/* icc_lav3_2D_1_1*/ +static const uint8_t icc_lav3_2D_1_1_0_bits[4] = { + 2, 4, 8, 12 +}; + +static const uint32_t icc_lav3_2D_1_1_0_codes[4] = { + 0x00000002, 0x0000000e, 0x000000fc, 0x00000fde +}; + +static const uint8_t icc_lav3_2D_1_1_1_bits[4] = { + 4, 4, 9, 11 +}; + +static const uint32_t icc_lav3_2D_1_1_1_codes[4] = { + 0x0000000c, 0x0000000d, 0x000001fe, 0x000007ee +}; + +static const uint8_t icc_lav3_2D_1_1_2_bits[4] = { + 9, 9, 8, 6 +}; + +static const uint32_t icc_lav3_2D_1_1_2_codes[4] = { + 0x000001fa, 0x000001ff, 0x000000fe, 0x0000003e +}; + +static const uint8_t icc_lav3_2D_1_1_3_bits[4] = { + 12, 10, 5, 1 +}; + +static const uint32_t icc_lav3_2D_1_1_3_codes[4] = { + 0x00000fdf, 0x000003f6, 0x0000001e, 0x00000000 +}; + +/* icc_lav5_2D_1_1*/ +static const uint8_t icc_lav5_2D_1_1_0_bits[6] = { + 2, 4, 7, 11, 13, 16 +}; + +static const uint32_t icc_lav5_2D_1_1_0_codes[6] = { + 0x00000000, 0x0000000e, 0x0000003a, 0x00000676, 0x000019fe, 0x0000cebe +}; + +static const uint8_t icc_lav5_2D_1_1_1_bits[6] = { + 4, 3, 6, 9, 13, 15 +}; + +static const uint32_t icc_lav5_2D_1_1_1_codes[6] = { + 0x0000000f, 0x00000002, 0x0000001e, 0x000000fe, 0x000019d6, 0x0000675e +}; + +static const uint8_t icc_lav5_2D_1_1_2_bits[6] = { + 7, 6, 5, 10, 12, 11 +}; + +static const uint32_t icc_lav5_2D_1_1_2_codes[6] = { + 0x0000003e, 0x00000032, 0x00000018, 0x0000033e, 0x00000cfe, 0x00000677 +}; + +static const uint8_t icc_lav5_2D_1_1_3_bits[6] = { + 11, 9, 9, 7, 6, 8 +}; + +static const uint32_t icc_lav5_2D_1_1_3_codes[6] = { + 0x00000674, 0x0000019c, 0x000000ff, 0x0000003b, 0x0000001c, 0x0000007e +}; + +static const uint8_t icc_lav5_2D_1_1_4_bits[6] = { + 14, 14, 12, 7, 5, 4 +}; + +static const uint32_t icc_lav5_2D_1_1_4_codes[6] = { + 0x000033fe, 0x000033ff, 0x00000cea, 0x00000066, 0x0000001a, 0x00000006 +}; + +static const uint8_t icc_lav5_2D_1_1_5_bits[6] = { + 16, 14, 11, 9, 5, 2 +}; + +static const uint32_t icc_lav5_2D_1_1_5_codes[6] = { + 0x0000cebf, 0x000033ae, 0x0000067e, 0x0000019e, 0x0000001b, 0x00000002 +}; + +/* icc_lav7_2D_1_1*/ +static const uint8_t icc_lav7_2D_1_1_0_bits[8] = { + 2, 4, 9, 12, 13, 13, 15, 16 +}; + +static const uint32_t icc_lav7_2D_1_1_0_codes[8] = { + 0x00000002, 0x00000002, 0x000000fe, 0x000007be, 0x00000ffc, 0x00000ffd, 0x00001efe, 0x00003dfe +}; + +static const uint8_t icc_lav7_2D_1_1_1_bits[8] = { + 4, 3, 7, 10, 11, 12, 15, 16 +}; + +static const uint32_t icc_lav7_2D_1_1_1_codes[8] = { + 0x00000004, 0x00000000, 0x0000003c, 0x000000f6, 0x000001da, 0x000003fe, 0x00003dfe, 0x00003dff +}; + +static const uint8_t icc_lav7_2D_1_1_2_bits[8] = { + 8, 7, 5, 8, 11, 13, 14, 14 +}; + +static const uint32_t icc_lav7_2D_1_1_2_codes[8] = { + 0x0000003c, 0x0000003e, 0x0000000a, 0x0000003a, 0x000003de, 0x000007be, 0x00000f7e, 0x00001efe +}; + +static const uint8_t icc_lav7_2D_1_1_3_bits[8] = { + 11, 10, 9, 5, 10, 13, 12, 15 +}; + +static const uint32_t icc_lav7_2D_1_1_3_codes[8] = { + 0x000001de, 0x000000ec, 0x0000007e, 0x0000000c, 0x000001ee, 0x00000f7e, 0x000007fc, 0x00003dff +}; + +static const uint8_t icc_lav7_2D_1_1_4_bits[8] = { + 16, 12, 10, 10, 6, 7, 12, 13 +}; + +static const uint32_t icc_lav7_2D_1_1_4_codes[8] = { + 0x00007ffe, 0x000003be, 0x000000fe, 0x000001fe, 0x0000001a, 0x0000001c, 0x000007fd, 0x00000ffe +}; + +static const uint8_t icc_lav7_2D_1_1_5_bits[8] = { + 16, 12, 14, 12, 8, 6, 8, 9 +}; + +static const uint32_t icc_lav7_2D_1_1_5_codes[8] = { + 0x00003dff, 0x000003bf, 0x00001ffe, 0x000003ff, 0x0000003e, 0x0000001b, 0x0000007e, 0x000000f6 +}; + +static const uint8_t icc_lav7_2D_1_1_6_bits[8] = { + 16, 16, 15, 11, 10, 8, 5, 5 +}; + +static const uint32_t icc_lav7_2D_1_1_6_codes[8] = { + 0x00007fff, 0x00003dff, 0x00003ffe, 0x000001db, 0x000000ee, 0x0000007a, 0x0000000e, 0x0000000b +}; + +static const uint8_t icc_lav7_2D_1_1_7_bits[8] = { + 16, 16, 12, 11, 11, 9, 5, 2 +}; + +static const uint32_t icc_lav7_2D_1_1_7_codes[8] = { + 0x00003dff, 0x00003dff, 0x000003de, 0x000001fe, 0x000001ee, 0x0000007a, 0x00000006, 0x00000003 +}; + +#define MATRIX_PAIR1(NAME, X, Y) \ +const uint32_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _codes[2] = { \ + NAME ## _ ## X ## _ ## Y ## _0_codes, \ + NAME ## _ ## X ## _ ## Y ## _1_codes, \ +}; \ +const uint8_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _bits[2] = { \ + NAME ## _ ## X ## _ ## Y ## _0_bits, \ + NAME ## _ ## X ## _ ## Y ## _1_bits, \ +}; + +#define MATRIX_PAIR3(NAME, X, Y) \ +const uint32_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _codes[4] = { \ + NAME ## _ ## X ## _ ## Y ## _0_codes, \ + NAME ## _ ## X ## _ ## Y ## _1_codes, \ + NAME ## _ ## X ## _ ## Y ## _2_codes, \ + NAME ## _ ## X ## _ ## Y ## _3_codes, \ +}; \ +const uint8_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _bits[4] = { \ + NAME ## _ ## X ## _ ## Y ## _0_bits, \ + NAME ## _ ## X ## _ ## Y ## _1_bits, \ + NAME ## _ ## X ## _ ## Y ## _2_bits, \ + NAME ## _ ## X ## _ ## Y ## _3_bits, \ +}; + +#define MATRIX_PAIR5(NAME, X, Y) \ +const uint32_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _codes[6] = { \ + NAME ## _ ## X ## _ ## Y ## _0_codes, \ + NAME ## _ ## X ## _ ## Y ## _1_codes, \ + NAME ## _ ## X ## _ ## Y ## _2_codes, \ + NAME ## _ ## X ## _ ## Y ## _3_codes, \ + NAME ## _ ## X ## _ ## Y ## _4_codes, \ + NAME ## _ ## X ## _ ## Y ## _5_codes, \ +}; \ +const uint8_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _bits[6] = { \ + NAME ## _ ## X ## _ ## Y ## _0_bits, \ + NAME ## _ ## X ## _ ## Y ## _1_bits, \ + NAME ## _ ## X ## _ ## Y ## _2_bits, \ + NAME ## _ ## X ## _ ## Y ## _3_bits, \ + NAME ## _ ## X ## _ ## Y ## _4_bits, \ + NAME ## _ ## X ## _ ## Y ## _5_bits, \ +}; + +#define MATRIX_PAIR7(NAME, X, Y) \ +const uint32_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _codes[8] = { \ + NAME ## _ ## X ## _ ## Y ## _0_codes, \ + NAME ## _ ## X ## _ ## Y ## _1_codes, \ + NAME ## _ ## X ## _ ## Y ## _2_codes, \ + NAME ## _ ## X ## _ ## Y ## _3_codes, \ + NAME ## _ ## X ## _ ## Y ## _4_codes, \ + NAME ## _ ## X ## _ ## Y ## _5_codes, \ + NAME ## _ ## X ## _ ## Y ## _6_codes, \ + NAME ## _ ## X ## _ ## Y ## _7_codes, \ +}; \ +const uint8_t * const ff_aac_ ## NAME ## _ ## X ## _ ## Y ## _bits[8] = { \ + NAME ## _ ## X ## _ ## Y ## _0_bits, \ + NAME ## _ ## X ## _ ## Y ## _1_bits, \ + NAME ## _ ## X ## _ ## Y ## _2_bits, \ + NAME ## _ ## X ## _ ## Y ## _3_bits, \ + NAME ## _ ## X ## _ ## Y ## _4_bits, \ + NAME ## _ ## X ## _ ## Y ## _5_bits, \ + NAME ## _ ## X ## _ ## Y ## _6_bits, \ + NAME ## _ ## X ## _ ## Y ## _7_bits, \ +}; + +#define MATRIX_PAIR9(NAME, X, Y) \ +const uint32_t * const ff_aac ## NAME ## _ ## X ## _ ## Y ## _codes[10] = { \ + NAME ## _ ## X ## _ ## Y ## _0_codes, \ + NAME ## _ ## X ## _ ## Y ## _1_codes, \ + NAME ## _ ## X ## _ ## Y ## _2_codes, \ + NAME ## _ ## X ## _ ## Y ## _3_codes, \ + NAME ## _ ## X ## _ ## Y ## _4_codes, \ + NAME ## _ ## X ## _ ## Y ## _5_codes, \ + NAME ## _ ## X ## _ ## Y ## _6_codes, \ + NAME ## _ ## X ## _ ## Y ## _7_codes, \ + NAME ## _ ## X ## _ ## Y ## _8_codes, \ + NAME ## _ ## X ## _ ## Y ## _9_codes, \ +}; \ +const uint8_t * const ff_aac ## NAME ## _ ## X ## _ ## Y ## _bits[10] = { \ + NAME ## _ ## X ## _ ## Y ## _0_bits, \ + NAME ## _ ## X ## _ ## Y ## _1_bits, \ + NAME ## _ ## X ## _ ## Y ## _2_bits, \ + NAME ## _ ## X ## _ ## Y ## _3_bits, \ + NAME ## _ ## X ## _ ## Y ## _4_bits, \ + NAME ## _ ## X ## _ ## Y ## _5_bits, \ + NAME ## _ ## X ## _ ## Y ## _6_bits, \ + NAME ## _ ## X ## _ ## Y ## _7_bits, \ + NAME ## _ ## X ## _ ## Y ## _8_bits, \ + NAME ## _ ## X ## _ ## Y ## _9_bits, \ +}; + +MATRIX_PAIR3(cld_lav3_2D, 0, 0) +MATRIX_PAIR3(cld_lav3_2D, 0, 1) +MATRIX_PAIR3(cld_lav3_2D, 1, 0) +MATRIX_PAIR3(cld_lav3_2D, 1, 1) + +MATRIX_PAIR5(cld_lav5_2D, 0, 0) +MATRIX_PAIR5(cld_lav5_2D, 0, 1) +MATRIX_PAIR5(cld_lav5_2D, 1, 0) +MATRIX_PAIR5(cld_lav5_2D, 1, 1) + +MATRIX_PAIR7(cld_lav7_2D, 0, 0) +MATRIX_PAIR7(cld_lav7_2D, 0, 1) +MATRIX_PAIR7(cld_lav7_2D, 1, 0) +MATRIX_PAIR7(cld_lav7_2D, 1, 1) + +MATRIX_PAIR7(cld_lav9_2D, 0, 0) +MATRIX_PAIR7(cld_lav9_2D, 0, 1) +MATRIX_PAIR7(cld_lav9_2D, 1, 0) +MATRIX_PAIR7(cld_lav9_2D, 1, 1) + +MATRIX_PAIR1(icc_lav1_2D, 0, 0) +MATRIX_PAIR1(icc_lav1_2D, 0, 1) +MATRIX_PAIR1(icc_lav1_2D, 1, 0) +MATRIX_PAIR1(icc_lav1_2D, 1, 1) + +MATRIX_PAIR3(icc_lav3_2D, 0, 0) +MATRIX_PAIR3(icc_lav3_2D, 0, 1) +MATRIX_PAIR3(icc_lav3_2D, 1, 0) +MATRIX_PAIR3(icc_lav3_2D, 1, 1) + +MATRIX_PAIR5(icc_lav5_2D, 0, 0) +MATRIX_PAIR5(icc_lav5_2D, 0, 1) +MATRIX_PAIR5(icc_lav5_2D, 1, 0) +MATRIX_PAIR5(icc_lav5_2D, 1, 1) + +MATRIX_PAIR7(icc_lav7_2D, 0, 0) +MATRIX_PAIR7(icc_lav7_2D, 0, 1) +MATRIX_PAIR7(icc_lav7_2D, 1, 0) +MATRIX_PAIR7(icc_lav7_2D, 1, 1) diff --git a/libavcodec/aactab.h b/libavcodec/aactab.h index e7dbbf1ecd..c9c5335a1b 100644 --- a/libavcodec/aactab.h +++ b/libavcodec/aactab.h @@ -124,4 +124,24 @@ extern const int ff_aac_usac_samplerate[32]; /* Window type (only long+eight, start/stop/stopstart), sine+sine, kbd+kbd, sine+kbd, kbd+sine */ extern const float ff_aac_usac_mdst_filt_cur[4 /* Window */][4 /* Shape */][7]; +#define TAB_2D(NAME, LEN) \ + extern const uint32_t * const NAME ## _0_0_codes[LEN]; \ + extern const uint32_t * const NAME ## _0_1_codes[LEN]; \ + extern const uint32_t * const NAME ## _1_0_codes[LEN]; \ + extern const uint32_t * const NAME ## _1_1_codes[LEN]; \ + extern const uint8_t * const NAME ## _0_0_bits[LEN]; \ + extern const uint8_t * const NAME ## _0_1_bits[LEN]; \ + extern const uint8_t * const NAME ## _1_0_bits[LEN]; \ + extern const uint8_t * const NAME ## _1_1_bits[LEN]; + +TAB_2D(ff_aac_icc_lav1_2D, 2) +TAB_2D(ff_aac_icc_lav3_2D, 4) +TAB_2D(ff_aac_icc_lav5_2D, 6) +TAB_2D(ff_aac_icc_lav7_2D, 8) + +TAB_2D(ff_aac_cld_lav3_2D, 4) +TAB_2D(ff_aac_cld_lav5_2D, 6) +TAB_2D(ff_aac_cld_lav7_2D, 8) +TAB_2D(ff_aac_cld_lav9_2D, 8) + #endif /* AVCODEC_AACTAB_H */ -- 2.49.0.395.g12beb8f557c _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".