| @@ -39,95 +39,94 @@ | |||||
| * for some slightly nonconventional bark-scale function | * for some slightly nonconventional bark-scale function | ||||
| */ | */ | ||||
| static const uint16_t bark_tab_l08_512[] = { | static const uint16_t bark_tab_l08_512[] = { | ||||
| 7, 8, 7, 8, 8, 8, 8, 8, 8, 9, | |||||
| 9, 10, 10, 11, 11, 12, 12, 14, 15, 16, | |||||
| 18, 19, 21, 24, 27, 30, 35, 40, 46, 53 | |||||
| 7, 8, 7, 8, 8, 8, 8, 8, 8, 9, | |||||
| 9, 10, 10, 11, 11, 12, 12, 14, 15, 16, | |||||
| 18, 19, 21, 24, 27, 30, 35, 40, 46, 53 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_l11_512[] = { | static const uint16_t bark_tab_l11_512[] = { | ||||
| 6, 6, 6, 6, 6, 6, 7, 6, 7, 7, | |||||
| 8, 8, 8, 9, 10, 10, 11, 13, 13, 15, | |||||
| 17, 18, 21, 25, 27, 33, 38, 45, 54, 66 | |||||
| 6, 6, 6, 6, 6, 6, 7, 6, 7, 7, | |||||
| 8, 8, 8, 9, 10, 10, 11, 13, 13, 15, | |||||
| 17, 18, 21, 25, 27, 33, 38, 45, 54, 66 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_l16_1024[] = { | static const uint16_t bark_tab_l16_1024[] = { | ||||
| 9, 9, 8, 9, 10, 9, 10, 10, 10, 12, | |||||
| 11, 13, 13, 14, 16, 17, 19, 20, 24, 26, | |||||
| 30, 35, 40, 48, 56, 68, 83, 102, 128, 165 | |||||
| 9, 9, 8, 9, 10, 9, 10, 10, 10, 12, | |||||
| 11, 13, 13, 14, 16, 17, 19, 20, 24, 26, | |||||
| 30, 35, 40, 48, 56, 68, 83, 102, 128, 165 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_l22_1024[] = { | static const uint16_t bark_tab_l22_1024[] = { | ||||
| 6, 7, 6, 6, 7, 7, 7, 7, 7, 8, | |||||
| 9, 8, 10, 10, 11, 12, 13, 15, 16, 18, | |||||
| 21, 24, 27, 33, 38, 46, 55, 68, 84, 107, | |||||
| 140, 191 | |||||
| 6, 7, 6, 6, 7, 7, 7, 7, 7, 8, | |||||
| 9, 8, 10, 10, 11, 12, 13, 15, 16, 18, | |||||
| 21, 24, 27, 33, 38, 46, 55, 68, 84, 107, | |||||
| 140, 191 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_l22_512[] = { | static const uint16_t bark_tab_l22_512[] = { | ||||
| 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, | |||||
| 4, 5, 4, 5, 6, 6, 7, 7, 8, 9, | |||||
| 10, 12, 14, 16, 20, 22, 28, 34, 42, 53, | |||||
| 71, 95 | |||||
| 3, 3, 3, 4, 3, 3, 4, 3, 4, 4, | |||||
| 4, 5, 4, 5, 6, 6, 7, 7, 8, 9, | |||||
| 10, 12, 14, 16, 20, 22, 28, 34, 42, 53, | |||||
| 71, 95 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_l44_2048[] = { | static const uint16_t bark_tab_l44_2048[] = { | ||||
| 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, | |||||
| 7, 7, 7, 8, 8, 9, 9, 10, 11, 11, | |||||
| 13, 14, 16, 17, 19, 22, 25, 29, 33, 39, | |||||
| 46, 54, 64, 79, 98, 123, 161, 220, 320, 512 | |||||
| 5, 6, 5, 6, 5, 6, 6, 6, 6, 6, | |||||
| 7, 7, 7, 8, 8, 9, 9, 10, 11, 11, | |||||
| 13, 14, 16, 17, 19, 22, 25, 29, 33, 39, | |||||
| 46, 54, 64, 79, 98, 123, 161, 220, 320, 512 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m08_256[] = { | static const uint16_t bark_tab_m08_256[] = { | ||||
| 6, 5, 6, 6, 6, 6, 7, 7, 8, 8, | |||||
| 9, 10, 11, 13, 15, 18, 20, 25, 31, 39 | |||||
| 6, 5, 6, 6, 6, 6, 7, 7, 8, 8, | |||||
| 9, 10, 11, 13, 15, 18, 20, 25, 31, 39 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m11_256[] = { | static const uint16_t bark_tab_m11_256[] = { | ||||
| 4, 5, 4, 5, 5, 5, 6, 5, 7, 7, | |||||
| 8, 9, 10, 12, 15, 17, 22, 28, 35, 47 | |||||
| 4, 5, 4, 5, 5, 5, 6, 5, 7, 7, | |||||
| 8, 9, 10, 12, 15, 17, 22, 28, 35, 47 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m16_512[] = { | static const uint16_t bark_tab_m16_512[] = { | ||||
| 7, 6, 7, 7, 7, 8, 9, 9, 10, 11, | |||||
| 14, 15, 18, 22, 27, 34, 44, 59, 81, 117 | |||||
| 7, 6, 7, 7, 7, 8, 9, 9, 10, 11, | |||||
| 14, 15, 18, 22, 27, 34, 44, 59, 81, 117 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m22_256[] = { | static const uint16_t bark_tab_m22_256[] = { | ||||
| 3, 2, 3, 2, 3, 3, 4, 3, 4, 5, | |||||
| 5, 7, 8, 9, 13, 16, 22, 30, 44, 70 | |||||
| 3, 2, 3, 2, 3, 3, 4, 3, 4, 5, | |||||
| 5, 7, 8, 9, 13, 16, 22, 30, 44, 70 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m22_512[] = { | static const uint16_t bark_tab_m22_512[] = { | ||||
| 5, 5, 5, 6, 5, 7, 6, 7, 9, 9, | |||||
| 11, 13, 15, 20, 24, 33, 43, 61, 88, 140 | |||||
| 5, 5, 5, 6, 5, 7, 6, 7, 9, 9, | |||||
| 11, 13, 15, 20, 24, 33, 43, 61, 88, 140 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_m44_512[] = { | static const uint16_t bark_tab_m44_512[] = { | ||||
| 3, 2, 3, 3, 3, 4, 3, 5, 4, 6, | |||||
| 7, 8, 10, 14, 18, 25, 36, 55, 95, 208 | |||||
| 3, 2, 3, 3, 3, 4, 3, 5, 4, 6, | |||||
| 7, 8, 10, 14, 18, 25, 36, 55, 95, 208 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_s08_64[] = { | static const uint16_t bark_tab_s08_64[] = { | ||||
| 3, 3, 3, 3, 4, 5, 6, 8, 12, 17 | |||||
| 3, 3, 3, 3, 4, 5, 6, 8, 12, 17 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_s11_64[] = { | static const uint16_t bark_tab_s11_64[] = { | ||||
| 2, 3, 2, 3, 3, 4, 6, 8, 12, 21 | |||||
| 2, 3, 2, 3, 3, 4, 6, 8, 12, 21 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_s16_128[] = { | static const uint16_t bark_tab_s16_128[] = { | ||||
| 3, 4, 4, 4, 5, 7, 10, 16, 26, 49 | |||||
| 3, 4, 4, 4, 5, 7, 10, 16, 26, 49 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_s22_128[] = { | static const uint16_t bark_tab_s22_128[] = { | ||||
| 3, 2, 3, 4, 4, 6, 9, 14, 26, 57 | |||||
| 3, 2, 3, 4, 4, 6, 9, 14, 26, 57 | |||||
| }; | }; | ||||
| static const uint16_t bark_tab_s44_128[] = { | static const uint16_t bark_tab_s44_128[] = { | ||||
| 1, 2, 1, 2, 3, 4, 6, 10, 23, 76 | |||||
| 1, 2, 1, 2, 3, 4, 6, 10, 23, 76 | |||||
| }; | }; | ||||
| /** | /** | ||||
| * TwinVQ codebooks. They are coded in a struct so we can use code such as | * TwinVQ codebooks. They are coded in a struct so we can use code such as | ||||
| * | * | ||||
| @@ -10991,147 +10990,155 @@ static const struct twinvq_data { | |||||
| }, | }, | ||||
| }; | }; | ||||
| static const uint8_t tab7[][35] = { | static const uint8_t tab7[][35] = { | ||||
| {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0}, | |||||
| {0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0}, | |||||
| {0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |||||
| {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0}, | |||||
| {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0}, | |||||
| {0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0}, | |||||
| {0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, | |||||
| {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0}, | |||||
| {0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1}, | |||||
| {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0}, | |||||
| {0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0} | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, | |||||
| 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, | |||||
| 1, 0, 1 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0 } | |||||
| }; | }; | ||||
| static const uint8_t tab8[][5] = { | static const uint8_t tab8[][5] = { | ||||
| {0, 0, 0, 1, 1}, | |||||
| {0, 1, 0, 0, 1}, | |||||
| {1, 1, 0, 0, 0}, | |||||
| {1, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 1, 1}, | |||||
| {0, 1, 0, 0, 1}, | |||||
| {1, 1, 0, 0, 0}, | |||||
| {1, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 1, 1}, | |||||
| {0, 1, 0, 0, 1}, | |||||
| {1, 1, 0, 0, 0}, | |||||
| {0, 0, 0, 0, 0}, | |||||
| {0, 1, 0, 1, 0} | |||||
| { 0, 0, 0, 1, 1 }, | |||||
| { 0, 1, 0, 0, 1 }, | |||||
| { 1, 1, 0, 0, 0 }, | |||||
| { 1, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 1, 1 }, | |||||
| { 0, 1, 0, 0, 1 }, | |||||
| { 1, 1, 0, 0, 0 }, | |||||
| { 1, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 1, 1 }, | |||||
| { 0, 1, 0, 0, 1 }, | |||||
| { 1, 1, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0 }, | |||||
| { 0, 1, 0, 1, 0 } | |||||
| }; | }; | ||||
| static const uint8_t tab9[][45] = { | static const uint8_t tab9[][45] = { | ||||
| { | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, | |||||
| 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | |||||
| } | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, | |||||
| 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } | |||||
| }; | }; | ||||
| static const uint8_t tab10[][25] = | |||||
| { | |||||
| {1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0}, | |||||
| {1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0}, | |||||
| {1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0}, | |||||
| {1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0}, | |||||
| {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, | |||||
| {0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1}, | |||||
| {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1}, | |||||
| {1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}, | |||||
| {0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1} | |||||
| static const uint8_t tab10[][25] = { | |||||
| { 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, | |||||
| 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 }, | |||||
| { 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, | |||||
| 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0 }, | |||||
| { 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, | |||||
| 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0 }, | |||||
| { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, | |||||
| 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, | |||||
| { 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, | |||||
| 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 }, | |||||
| { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, | |||||
| 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1 }, | |||||
| { 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, | |||||
| 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0 }, | |||||
| { 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, | |||||
| 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 } | |||||
| }; | }; | ||||
| static const uint8_t tab11[][55] = { | static const uint8_t tab11[][55] = { | ||||
| { | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| }, { | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| },{ | |||||
| 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, | |||||
| } | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, | |||||
| { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, | |||||
| 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | |||||
| 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, } | |||||
| }; | }; | ||||
| static const uint8_t tab12[][15] = { | static const uint8_t tab12[][15] = { | ||||
| {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | |||||
| {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | |||||
| {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | |||||
| {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | |||||
| {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, | |||||
| {0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0}, | |||||
| {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0}, | |||||
| {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1}, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, | |||||
| { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, | |||||
| { 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, | |||||
| { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 }, | |||||
| { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 }, | |||||
| }; | }; | ||||
| static const struct { | static const struct { | ||||
| int size; | int size; | ||||
| const uint8_t *tab; | const uint8_t *tab; | ||||
| } tabs[] = { | } tabs[] = { | ||||
| {0 , NULL}, | |||||
| {5 , &tab8 [0][0]},{5 , &tab8 [0][0]}, {15, &tab12[0][0]}, | |||||
| {5 , &tab8 [0][0]},{25, &tab10[0][0]}, {15, &tab12[0][0]}, | |||||
| {35, &tab7 [0][0]},{5 , &tab8 [0][0]}, {45, &tab9 [0][0]}, | |||||
| {25, &tab10[0][0]},{55, &tab11[0][0]}, {15, &tab12[0][0]} | |||||
| { 0, NULL }, | |||||
| { 5, &tab8[0][0] }, { 5, &tab8[0][0] }, { 15, &tab12[0][0] }, | |||||
| { 5, &tab8[0][0] }, { 25, &tab10[0][0] }, { 15, &tab12[0][0] }, | |||||
| { 35, &tab7[0][0] }, { 5, &tab8[0][0] }, { 45, &tab9[0][0] }, | |||||
| { 25, &tab10[0][0] }, { 55, &tab11[0][0] }, { 15, &tab12[0][0] } | |||||
| }; | }; | ||||
| #endif /* AVCODEC_TWINVQ_DATA_H */ | #endif /* AVCODEC_TWINVQ_DATA_H */ | ||||