1static DSP_STATIC_DATA const q7_t in_com1[256] = { 2 0x52, 0x01, 0x47, 0x20, 0xA5, 0xFD, 0xFC, 0x44, 3 0xF5, 0xCB, 0x2A, 0xE7, 0x1E, 0x28, 0xFF, 0xEF, 4 0x3E, 0x2C, 0x05, 0x32, 0xAE, 0x09, 0xBE, 0xF5, 5 0x24, 0xFA, 0xDE, 0xD6, 0xF4, 0xE7, 0x0D, 0xD7, 6 0x10, 0x19, 0x0C, 0xC8, 0xBB, 0x1E, 0x05, 0xAA, 7 0x44, 0x60, 0x2D, 0x21, 0x1C, 0xF0, 0x2E, 0x25, 8 0xF4, 0xF1, 0xC7, 0x19, 0x26, 0xBB, 0xD0, 0x08, 9 0x46, 0xF9, 0xEF, 0x7E, 0x19, 0x1E, 0x1B, 0x0A, 10 0x1F, 0x22, 0x12, 0x10, 0x13, 0x05, 0x41, 0x0F, 11 0x3B, 0xF6, 0xF9, 0x45, 0xE5, 0xE4, 0x14, 0xCD, 12 0xE5, 0xED, 0xF3, 0x14, 0x00, 0xEF, 0xEE, 0xDA, 13 0x19, 0x12, 0xB4, 0x0B, 0xAB, 0x14, 0x0A, 0xF7, 14 0x15, 0x35, 0x38, 0x0C, 0xCA, 0x32, 0x02, 0xD9, 15 0x1F, 0x00, 0xB9, 0x5C, 0xE4, 0x39, 0xE0, 0xE6, 16 0x09, 0xAD, 0x0E, 0x30, 0x24, 0xAE, 0xF5, 0x02, 17 0x1E, 0xE5, 0x1D, 0xE0, 0xC0, 0x16, 0xEB, 0x35, 18 0xAA, 0x30, 0xF4, 0x95, 0xFB, 0xFB, 0xD4, 0x17, 19 0x36, 0xF5, 0x26, 0x00, 0x59, 0xDD, 0x47, 0xC5, 20 0xE0, 0x86, 0xCA, 0x26, 0x3B, 0xC8, 0x36, 0x31, 21 0xD0, 0xAD, 0x05, 0x19, 0x07, 0xF4, 0xBE, 0xED, 22 0xC9, 0xD3, 0x17, 0xC0, 0x0D, 0xDE, 0xCF, 0xDA, 23 0x66, 0x95, 0xE2, 0xE4, 0x00, 0x10, 0xEC, 0xB8, 24 0xD5, 0x27, 0x0B, 0xDD, 0x13, 0x85, 0xD3, 0xDF, 25 0xCD, 0xD0, 0x36, 0x3A, 0xFC, 0xDB, 0x2B, 0xE0, 26 0x21, 0xDB, 0xE0, 0x1F, 0x64, 0xF0, 0x8F, 0x0E, 27 0x45, 0xE1, 0x39, 0x80, 0xBB, 0xF6, 0xC8, 0x42, 28 0x02, 0x38, 0x16, 0x62, 0xE2, 0x3B, 0xFD, 0xE4, 29 0xF6, 0x91, 0x15, 0xF0, 0xAB, 0x6A, 0x16, 0x0E, 30 0xF3, 0xC4, 0xE7, 0x0E, 0xAA, 0x34, 0x1D, 0x13, 31 0x44, 0xE8, 0xF2, 0xEF, 0x2E, 0x22, 0x44, 0x41, 32 0x2C, 0x2E, 0x74, 0x02, 0x16, 0x06, 0xEA, 0x45, 33 0xCB, 0xDE, 0xE5, 0xF3, 0x0F, 0xDE, 0x35, 0x09 34 }; 35 36static DSP_STATIC_DATA const q7_t in_com2[256] = { 37 0x1E, 0xDE, 0x10, 0xF2, 0x91, 0xDC, 0x37, 0x02, 38 0xDE, 0x08, 0x28, 0xC3, 0x00, 0xFD, 0x14, 0x14, 39 0xFC, 0x1E, 0x25, 0xF2, 0xEC, 0xD7, 0x5B, 0x66, 40 0xF2, 0x93, 0xF2, 0x11, 0x35, 0x2A, 0xEE, 0xFE, 41 0xE7, 0xE2, 0x27, 0xED, 0xDF, 0x02, 0x41, 0xC1, 42 0xED, 0x1C, 0xD8, 0x0D, 0x2D, 0xE7, 0xEA, 0xD6, 43 0xD3, 0x44, 0xB5, 0x63, 0x12, 0x2D, 0xF1, 0x1C, 44 0xDC, 0xD8, 0xD8, 0xD4, 0x05, 0xEB, 0x04, 0x48, 45 0xC6, 0xE1, 0x01, 0x30, 0x1D, 0x01, 0xEA, 0x17, 46 0xE0, 0xB4, 0x1D, 0xFD, 0xBB, 0xF3, 0xC1, 0x2C, 47 0x2B, 0xE0, 0x95, 0xD4, 0x0A, 0xEA, 0x07, 0xFF, 48 0x2F, 0x04, 0x17, 0xF7, 0x02, 0x09, 0x22, 0xE6, 49 0x0A, 0xCE, 0x36, 0x35, 0xF1, 0x33, 0x01, 0x27, 50 0x96, 0xCC, 0xEB, 0xBC, 0x1C, 0x30, 0x9B, 0xC8, 51 0x09, 0xD4, 0x07, 0x25, 0x00, 0x2F, 0x3A, 0xF3, 52 0x0F, 0x2A, 0xF6, 0x2B, 0xEE, 0xE9, 0xE1, 0xE3, 53 0x01, 0x0D, 0x1D, 0x0F, 0x40, 0x0A, 0x01, 0x12, 54 0x39, 0x2F, 0x2F, 0x0C, 0xE7, 0x08, 0x09, 0xE9, 55 0xB8, 0xED, 0x93, 0xFD, 0x21, 0xED, 0xE5, 0xCF, 56 0x65, 0xE3, 0x16, 0xEC, 0xB9, 0x02, 0xFA, 0x3A, 57 0x13, 0x14, 0x27, 0x2A, 0xE4, 0x32, 0xE1, 0xF0, 58 0xEF, 0x51, 0x0E, 0x4B, 0x18, 0xF2, 0xB6, 0x18, 59 0x16, 0xF2, 0xFA, 0x0A, 0xFE, 0x14, 0x84, 0x1B, 60 0x03, 0x05, 0xDC, 0xD9, 0x50, 0xF2, 0x1F, 0xF1, 61 0x34, 0x7B, 0x0C, 0x02, 0xCC, 0x2D, 0xFC, 0xBE, 62 0x27, 0x0E, 0x1A, 0xFA, 0xD8, 0xFA, 0x14, 0x49, 63 0xC0, 0x24, 0x05, 0x18, 0xE6, 0xBC, 0x7F, 0xE0, 64 0x24, 0xEE, 0x3B, 0xA6, 0xC2, 0xF9, 0x00, 0xCB, 65 0xE0, 0xF0, 0xF7, 0xD3, 0x09, 0xE4, 0x0F, 0xF3, 66 0xA8, 0xD8, 0xD0, 0x22, 0x96, 0x1B, 0x0F, 0x44, 67 0xA0, 0x45, 0x0C, 0xF4, 0x00, 0xC2, 0xEA, 0xE3, 68 0x2A, 0x0E, 0xD5, 0xE2, 0x0E, 0xDC, 0x09, 0xC1 69 }; 70 71static DSP_STATIC_DATA const q7_t in_bitwise1[47] = { 72 0xFB, 0xD4, 0xF1, 0xD8, 0x8A, 0x8F, 0x00, 0xF8, 73 0xD2, 0xD0, 0xE3, 0x46, 0xC4, 0x64, 0x5E, 0xB8, 74 0x45, 0x14, 0x1C, 0x71, 0x9D, 0x9A, 0x5F, 0x42, 75 0xFE, 0x7C, 0xCA, 0x2C, 0x3F, 0x1B, 0xFA, 0xC7, 76 0xB5, 0x33, 0x72, 0x46, 0xF0, 0x8A, 0x39, 0xCC, 77 0xA2, 0x05, 0xA4, 0x41, 0x87, 0xE0, 0x79 78 }; 79 80static DSP_STATIC_DATA const q7_t in_bitwise2[47] = { 81 0xA7, 0xE3, 0x1B, 0xCA, 0x5D, 0x6A, 0x31, 0x4C, 82 0xB2, 0x00, 0xB9, 0xA2, 0x09, 0xEE, 0xA0, 0x4E, 83 0xC2, 0x21, 0x65, 0x98, 0xD6, 0xCC, 0x50, 0xD6, 84 0x27, 0x04, 0x0D, 0x18, 0x3E, 0xE5, 0x44, 0x3C, 85 0x44, 0x5F, 0xC8, 0xBC, 0x2C, 0x67, 0x7A, 0x36, 86 0x88, 0x8A, 0xC7, 0xBA, 0x91, 0x45, 0xB9 87 }; 88 89static DSP_STATIC_DATA const q7_t in_rand[33] = { 90 0xF6, 0xFE, 0xF5, 0x1B, 0x0D, 0x13, 0xF9, 0x10, 91 0xF6, 0x02, 0xE4, 0xD5, 0xF5, 0xF7, 0x14, 0xDF, 92 0xFB, 0xE6, 0xF0, 0xEE, 0x02, 0x18, 0x0E, 0x0E, 93 0x16, 0xF8, 0xF3, 0xF2, 0xFF, 0x0F, 0xF6, 0x0D, 94 0x1C 95 }; 96 97static DSP_STATIC_DATA const q7_t in_maxpos[33] = { 98 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 99 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 100 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 101 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 0x7E, 0x01, 102 0x7E 103 }; 104 105static DSP_STATIC_DATA const q7_t in_maxneg[33] = { 106 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 107 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 108 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 109 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 0x81, 0xFF, 110 0x81 111 }; 112 113static DSP_STATIC_DATA const q7_t in_maxneg2[33] = { 114 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 115 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 116 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 117 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 118 0x80 119 }; 120 121static DSP_STATIC_DATA const q7_t in_clip[303] = { 122 0x8D, 0x8E, 0x8E, 0x8F, 0x90, 0x91, 0x91, 0x92, 123 0x93, 0x94, 0x94, 0x95, 0x96, 0x97, 0x97, 0x98, 124 0x99, 0x9A, 0x9B, 0x9B, 0x9C, 0x9D, 0x9E, 0x9E, 125 0x9F, 0xA0, 0xA1, 0xA1, 0xA2, 0xA3, 0xA4, 0xA4, 126 0xA5, 0xA6, 0xA7, 0xA8, 0xA8, 0xA9, 0xAA, 0xAB, 127 0xAB, 0xAC, 0xAD, 0xAE, 0xAE, 0xAF, 0xB0, 0xB1, 128 0xB1, 0xB2, 0xB3, 0xB4, 0xB4, 0xB5, 0xB6, 0xB7, 129 0xB8, 0xB8, 0xB9, 0xBA, 0xBB, 0xBB, 0xBC, 0xBD, 130 0xBE, 0xBE, 0xBF, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 131 0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9, 132 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF, 133 0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5, 134 0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB, 135 0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1, 136 0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8, 137 0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE, 138 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF4, 139 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 140 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 141 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 142 0x07, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C, 143 0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12, 144 0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 145 0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 146 0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 147 0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 148 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31, 149 0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37, 150 0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D, 151 0x3E, 0x3F, 0x3F, 0x40, 0x41, 0x42, 0x42, 0x43, 152 0x44, 0x45, 0x45, 0x46, 0x47, 0x48, 0x48, 0x49, 153 0x4A, 0x4B, 0x4C, 0x4C, 0x4D, 0x4E, 0x4F, 0x4F, 154 0x50, 0x51, 0x52, 0x52, 0x53, 0x54, 0x55, 0x55, 155 0x56, 0x57, 0x58, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 156 0x5C, 0x5D, 0x5E, 0x5F, 0x5F, 0x60, 0x61, 0x62, 157 0x62, 0x63, 0x64, 0x65, 0x65, 0x66, 0x67, 0x68, 158 0x69, 0x69, 0x6A, 0x6B, 0x6C, 0x6C, 0x6D, 0x6E, 159 0x6F, 0x6F, 0x70, 0x71, 0x72, 0x72, 0x73 160 }; 161 162static const q7_t ref_add[256] = { 163 0x70, 0xDF, 0x57, 0x12, 0x80, 0xDA, 0x33, 0x47, 164 0xD3, 0xD3, 0x52, 0xAA, 0x1E, 0x24, 0x13, 0x03, 165 0x3A, 0x4A, 0x2A, 0x25, 0x9A, 0xE0, 0x19, 0x5B, 166 0x16, 0x8E, 0xD0, 0xE7, 0x29, 0x11, 0xFC, 0xD5, 167 0xF8, 0xFB, 0x33, 0xB6, 0x9A, 0x20, 0x46, 0x80, 168 0x31, 0x7B, 0x05, 0x2E, 0x49, 0xD7, 0x17, 0xFB, 169 0xC8, 0x36, 0x80, 0x7D, 0x38, 0xE8, 0xC1, 0x24, 170 0x22, 0xD1, 0xC7, 0x51, 0x1E, 0x09, 0x20, 0x52, 171 0xE5, 0x03, 0x13, 0x41, 0x30, 0x06, 0x2C, 0x26, 172 0x1B, 0xAB, 0x16, 0x42, 0xA0, 0xD6, 0xD5, 0xFA, 173 0x10, 0xCD, 0x88, 0xE8, 0x0A, 0xD9, 0xF5, 0xD8, 174 0x48, 0x16, 0xCB, 0x01, 0xAD, 0x1D, 0x2B, 0xDE, 175 0x20, 0x03, 0x6E, 0x41, 0xBB, 0x65, 0x03, 0x00, 176 0xB5, 0xCC, 0xA4, 0x18, 0x00, 0x69, 0x80, 0xAE, 177 0x13, 0x81, 0x14, 0x55, 0x23, 0xDD, 0x2F, 0xF5, 178 0x2D, 0x0F, 0x13, 0x0C, 0xAE, 0xFF, 0xCC, 0x18, 179 0xAA, 0x3D, 0x11, 0xA3, 0x3B, 0x04, 0xD5, 0x29, 180 0x6F, 0x24, 0x56, 0x0C, 0x41, 0xE5, 0x51, 0xAE, 181 0x98, 0x80, 0x80, 0x23, 0x5D, 0xB5, 0x1B, 0x00, 182 0x35, 0x90, 0x1A, 0x05, 0xC0, 0xF6, 0xB8, 0x27, 183 0xDC, 0xE7, 0x3E, 0xEA, 0xF1, 0x11, 0xB0, 0xCA, 184 0x55, 0xE6, 0xF0, 0x2E, 0x18, 0x02, 0xA2, 0xD1, 185 0xEB, 0x19, 0x06, 0xE7, 0x11, 0x99, 0x80, 0xFA, 186 0xD0, 0xD5, 0x12, 0x13, 0x4C, 0xCD, 0x4A, 0xD1, 187 0x55, 0x56, 0xEC, 0x21, 0x30, 0x1D, 0x8B, 0xCB, 188 0x6B, 0xEF, 0x53, 0x80, 0x93, 0xF0, 0xDC, 0x7F, 189 0xC2, 0x5C, 0x1B, 0x7A, 0xC8, 0xF7, 0x7D, 0xC4, 190 0x1A, 0x80, 0x50, 0x95, 0x80, 0x63, 0x16, 0xD9, 191 0xD2, 0xB4, 0xDE, 0xE0, 0xB3, 0x18, 0x2B, 0x06, 192 0xED, 0xC0, 0xC2, 0x11, 0xC3, 0x3D, 0x52, 0x7F, 193 0xCC, 0x73, 0x7F, 0xF5, 0x16, 0xC8, 0xD5, 0x27, 194 0xF5, 0xEC, 0xBA, 0xD4, 0x1E, 0xBA, 0x3E, 0xCB 195 }; 196 197static const q7_t ref_add_possat[33] = { 198 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 199 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 200 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 201 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 202 0x7F 203 }; 204 205static const q7_t ref_add_negsat[33] = { 206 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 207 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 208 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 209 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 210 0x80 211 }; 212 213static const q7_t ref_sub[256] = { 214 0x33, 0x23, 0x37, 0x2E, 0x14, 0x21, 0xC5, 0x42, 215 0x16, 0xC2, 0x02, 0x24, 0x1F, 0x2B, 0xEB, 0xDB, 216 0x41, 0x0E, 0xDF, 0x40, 0xC2, 0x32, 0x80, 0x8E, 217 0x32, 0x67, 0xEC, 0xC5, 0xC0, 0xBC, 0x1F, 0xD8, 218 0x29, 0x37, 0xE5, 0xDB, 0xDC, 0x1C, 0xC3, 0xE9, 219 0x56, 0x44, 0x55, 0x14, 0xEF, 0x09, 0x44, 0x4E, 220 0x21, 0xAD, 0x12, 0xB6, 0x14, 0x8E, 0xDF, 0xEC, 221 0x69, 0x21, 0x17, 0x7F, 0x14, 0x33, 0x17, 0xC1, 222 0x59, 0x41, 0x10, 0xE0, 0xF6, 0x05, 0x57, 0xF9, 223 0x5A, 0x42, 0xDC, 0x48, 0x2B, 0xF1, 0x53, 0xA1, 224 0xBA, 0x0D, 0x5D, 0x40, 0xF5, 0x04, 0xE7, 0xDB, 225 0xEA, 0x0E, 0x9E, 0x14, 0xAA, 0x0B, 0xE8, 0x11, 226 0x0B, 0x67, 0x02, 0xD7, 0xD9, 0xFF, 0x01, 0xB2, 227 0x7F, 0x33, 0xCE, 0x7F, 0xC8, 0x09, 0x44, 0x1D, 228 0x00, 0xD9, 0x07, 0x0B, 0x24, 0x80, 0xBA, 0x10, 229 0x0F, 0xBB, 0x27, 0xB5, 0xD2, 0x2D, 0x0A, 0x52, 230 0xA9, 0x24, 0xD7, 0x86, 0xBC, 0xF1, 0xD4, 0x05, 231 0xFD, 0xC6, 0xF7, 0xF3, 0x72, 0xD5, 0x3E, 0xDC, 232 0x28, 0x99, 0x37, 0x29, 0x1A, 0xDA, 0x51, 0x63, 233 0x80, 0xCA, 0xEF, 0x2D, 0x4E, 0xF3, 0xC5, 0xB4, 234 0xB6, 0xBF, 0xF0, 0x96, 0x2A, 0xAC, 0xEE, 0xEA, 235 0x77, 0x80, 0xD5, 0x99, 0xE8, 0x1F, 0x36, 0xA0, 236 0xBF, 0x35, 0x11, 0xD3, 0x15, 0x80, 0x4F, 0xC3, 237 0xCA, 0xCC, 0x5A, 0x62, 0xAD, 0xE8, 0x0C, 0xEE, 238 0xED, 0x80, 0xD4, 0x1E, 0x7F, 0xC3, 0x92, 0x50, 239 0x1E, 0xD2, 0x1F, 0x86, 0xE3, 0xFC, 0xB3, 0xF9, 240 0x42, 0x14, 0x11, 0x4B, 0xFC, 0x7F, 0x80, 0x04, 241 0xD3, 0xA3, 0xDA, 0x4A, 0xE8, 0x71, 0x16, 0x43, 242 0x13, 0xD4, 0xF0, 0x3B, 0xA1, 0x50, 0x0E, 0x20, 243 0x7F, 0x0F, 0x22, 0xCD, 0x7F, 0x07, 0x35, 0xFE, 244 0x7F, 0xE8, 0x68, 0x0E, 0x16, 0x44, 0x00, 0x62, 245 0xA1, 0xD0, 0x11, 0x11, 0x01, 0x02, 0x2C, 0x48 246 }; 247 248static const q7_t ref_sub_possat[33] = { 249 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 250 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 251 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 252 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 253 0x7F 254 }; 255 256static const q7_t ref_sub_negsat[33] = { 257 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 258 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 259 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 260 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 261 0x80 262 }; 263 264static const q7_t ref_mult[256] = { 265 0x13, 0x00, 0x09, 0xFC, 0x4F, 0x01, 0xFE, 0x01, 266 0x03, 0xFC, 0x0D, 0x0C, 0x00, 0xFF, 0x00, 0xFD, 267 0xFE, 0x0A, 0x01, 0xFB, 0x0D, 0xFD, 0xD1, 0xF7, 268 0xFC, 0x05, 0x04, 0xFA, 0xFB, 0xF8, 0xFE, 0x01, 269 0xFD, 0xFA, 0x04, 0x08, 0x12, 0x00, 0x02, 0x2B, 270 0xF6, 0x15, 0xF2, 0x03, 0x0A, 0x03, 0xF8, 0xF4, 271 0x04, 0xF8, 0x21, 0x14, 0x05, 0xE8, 0x06, 0x02, 272 0xED, 0x02, 0x05, 0xD5, 0x01, 0xFB, 0x01, 0x06, 273 0xF2, 0xF8, 0x00, 0x06, 0x04, 0x00, 0xF5, 0x03, 274 0xF2, 0x06, 0xFE, 0xFE, 0x0E, 0x03, 0xF6, 0xEF, 275 0xF7, 0x05, 0x0B, 0xF9, 0x00, 0x03, 0xFF, 0x00, 276 0x09, 0x01, 0xF3, 0xFF, 0xFF, 0x01, 0x03, 0x02, 277 0x02, 0xEB, 0x18, 0x05, 0x06, 0x14, 0x00, 0xF4, 278 0xE6, 0x00, 0x0C, 0xCF, 0xFA, 0x15, 0x1A, 0x0B, 279 0x01, 0x1D, 0x01, 0x0E, 0x00, 0xE2, 0xFB, 0x00, 280 0x03, 0xF7, 0xFE, 0xF5, 0x09, 0xFC, 0x05, 0xF4, 281 0x00, 0x05, 0xFD, 0xF4, 0xFE, 0x00, 0x00, 0x03, 282 0x18, 0xFC, 0x0E, 0x00, 0xEF, 0xFE, 0x05, 0x0B, 283 0x12, 0x13, 0x2E, 0xFF, 0x0F, 0x08, 0xF5, 0xED, 284 0xDB, 0x13, 0x01, 0xFC, 0xFC, 0x00, 0x03, 0xF7, 285 0xF8, 0xF9, 0x07, 0xEB, 0xFD, 0xF3, 0x0C, 0x05, 286 0xF2, 0xBD, 0xFD, 0xEF, 0x00, 0xFE, 0x0B, 0xF2, 287 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0xEC, 0x2B, 0xF9, 288 0xFF, 0xFE, 0xF1, 0xEE, 0xFE, 0x04, 0x0A, 0x04, 289 0x0D, 0xDC, 0xFD, 0x00, 0xD8, 0xFA, 0x03, 0xF9, 290 0x15, 0xFD, 0x0C, 0x06, 0x16, 0x00, 0xF7, 0x26, 291 0xFF, 0x10, 0x01, 0x12, 0x06, 0xE0, 0xFD, 0x07, 292 0xFD, 0x10, 0x0A, 0x0C, 0x29, 0xFA, 0x00, 0xFA, 293 0x03, 0x07, 0x02, 0xFB, 0xFA, 0xF5, 0x03, 0xFE, 294 0xD1, 0x08, 0x05, 0xFC, 0xDA, 0x07, 0x08, 0x22, 295 0xDF, 0x19, 0x0B, 0x00, 0x00, 0xFD, 0x04, 0xF0, 296 0xEF, 0xFC, 0x09, 0x03, 0x02, 0x09, 0x04, 0xFB 297 }; 298 299static const q7_t ref_mult_possat[33] = { 300 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 301 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 302 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 303 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 304 0x7F 305 }; 306 307static const q7_t ref_negate[256] = { 308 0xAE, 0xFF, 0xB9, 0xE0, 0x5B, 0x03, 0x04, 0xBC, 309 0x0B, 0x35, 0xD6, 0x19, 0xE2, 0xD8, 0x01, 0x11, 310 0xC2, 0xD4, 0xFB, 0xCE, 0x52, 0xF7, 0x42, 0x0B, 311 0xDC, 0x06, 0x22, 0x2A, 0x0C, 0x19, 0xF3, 0x29, 312 0xF0, 0xE7, 0xF4, 0x38, 0x45, 0xE2, 0xFB, 0x56, 313 0xBC, 0xA0, 0xD3, 0xDF, 0xE4, 0x10, 0xD2, 0xDB, 314 0x0C, 0x0F, 0x39, 0xE7, 0xDA, 0x45, 0x30, 0xF8, 315 0xBA, 0x07, 0x11, 0x82, 0xE7, 0xE2, 0xE5, 0xF6, 316 0xE1, 0xDE, 0xEE, 0xF0, 0xED, 0xFB, 0xBF, 0xF1, 317 0xC5, 0x0A, 0x07, 0xBB, 0x1B, 0x1C, 0xEC, 0x33, 318 0x1B, 0x13, 0x0D, 0xEC, 0x00, 0x11, 0x12, 0x26, 319 0xE7, 0xEE, 0x4C, 0xF5, 0x55, 0xEC, 0xF6, 0x09, 320 0xEB, 0xCB, 0xC8, 0xF4, 0x36, 0xCE, 0xFE, 0x27, 321 0xE1, 0x00, 0x47, 0xA4, 0x1C, 0xC7, 0x20, 0x1A, 322 0xF7, 0x53, 0xF2, 0xD0, 0xDC, 0x52, 0x0B, 0xFE, 323 0xE2, 0x1B, 0xE3, 0x20, 0x40, 0xEA, 0x15, 0xCB, 324 0x56, 0xD0, 0x0C, 0x6B, 0x05, 0x05, 0x2C, 0xE9, 325 0xCA, 0x0B, 0xDA, 0x00, 0xA7, 0x23, 0xB9, 0x3B, 326 0x20, 0x7A, 0x36, 0xDA, 0xC5, 0x38, 0xCA, 0xCF, 327 0x30, 0x53, 0xFB, 0xE7, 0xF9, 0x0C, 0x42, 0x13, 328 0x37, 0x2D, 0xE9, 0x40, 0xF3, 0x22, 0x31, 0x26, 329 0x9A, 0x6B, 0x1E, 0x1C, 0x00, 0xF0, 0x14, 0x48, 330 0x2B, 0xD9, 0xF5, 0x23, 0xED, 0x7B, 0x2D, 0x21, 331 0x33, 0x30, 0xCA, 0xC6, 0x04, 0x25, 0xD5, 0x20, 332 0xDF, 0x25, 0x20, 0xE1, 0x9C, 0x10, 0x71, 0xF2, 333 0xBB, 0x1F, 0xC7, 0x7F, 0x45, 0x0A, 0x38, 0xBE, 334 0xFE, 0xC8, 0xEA, 0x9E, 0x1E, 0xC5, 0x03, 0x1C, 335 0x0A, 0x6F, 0xEB, 0x10, 0x55, 0x96, 0xEA, 0xF2, 336 0x0D, 0x3C, 0x19, 0xF2, 0x56, 0xCC, 0xE3, 0xED, 337 0xBC, 0x18, 0x0E, 0x11, 0xD2, 0xDE, 0xBC, 0xBF, 338 0xD4, 0xD2, 0x8C, 0xFE, 0xEA, 0xFA, 0x16, 0xBB, 339 0x35, 0x22, 0x1B, 0x0D, 0xF1, 0x22, 0xCB, 0xF7 340 }; 341 342static const q7_t ref_negate_possat[33] = { 343 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 344 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 345 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 346 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 347 0x7F 348 }; 349 350static const q7_t ref_offset[256] = { 351 0x7F, 0x41, 0x7F, 0x60, 0xE5, 0x3D, 0x3C, 0x7F, 352 0x35, 0x0B, 0x6A, 0x27, 0x5E, 0x68, 0x3F, 0x2F, 353 0x7E, 0x6C, 0x45, 0x72, 0xEE, 0x49, 0xFE, 0x35, 354 0x64, 0x3A, 0x1E, 0x16, 0x34, 0x27, 0x4D, 0x17, 355 0x50, 0x59, 0x4C, 0x08, 0xFB, 0x5E, 0x45, 0xEA, 356 0x7F, 0x7F, 0x6D, 0x61, 0x5C, 0x30, 0x6E, 0x65, 357 0x34, 0x31, 0x07, 0x59, 0x66, 0xFB, 0x10, 0x48, 358 0x7F, 0x39, 0x2F, 0x7F, 0x59, 0x5E, 0x5B, 0x4A, 359 0x5F, 0x62, 0x52, 0x50, 0x53, 0x45, 0x7F, 0x4F, 360 0x7B, 0x36, 0x39, 0x7F, 0x25, 0x24, 0x54, 0x0D, 361 0x25, 0x2D, 0x33, 0x54, 0x40, 0x2F, 0x2E, 0x1A, 362 0x59, 0x52, 0xF4, 0x4B, 0xEB, 0x54, 0x4A, 0x37, 363 0x55, 0x75, 0x78, 0x4C, 0x0A, 0x72, 0x42, 0x19, 364 0x5F, 0x40, 0xF9, 0x7F, 0x24, 0x79, 0x20, 0x26, 365 0x49, 0xED, 0x4E, 0x70, 0x64, 0xEE, 0x35, 0x42, 366 0x5E, 0x25, 0x5D, 0x20, 0x00, 0x56, 0x2B, 0x75, 367 0xEA, 0x70, 0x34, 0xD5, 0x3B, 0x3B, 0x14, 0x57, 368 0x76, 0x35, 0x66, 0x40, 0x7F, 0x1D, 0x7F, 0x05, 369 0x20, 0xC6, 0x0A, 0x66, 0x7B, 0x08, 0x76, 0x71, 370 0x10, 0xED, 0x45, 0x59, 0x47, 0x34, 0xFE, 0x2D, 371 0x09, 0x13, 0x57, 0x00, 0x4D, 0x1E, 0x0F, 0x1A, 372 0x7F, 0xD5, 0x22, 0x24, 0x40, 0x50, 0x2C, 0xF8, 373 0x15, 0x67, 0x4B, 0x1D, 0x53, 0xC5, 0x13, 0x1F, 374 0x0D, 0x10, 0x76, 0x7A, 0x3C, 0x1B, 0x6B, 0x20, 375 0x61, 0x1B, 0x20, 0x5F, 0x7F, 0x30, 0xCF, 0x4E, 376 0x7F, 0x21, 0x79, 0xC0, 0xFB, 0x36, 0x08, 0x7F, 377 0x42, 0x78, 0x56, 0x7F, 0x22, 0x7B, 0x3D, 0x24, 378 0x36, 0xD1, 0x55, 0x30, 0xEB, 0x7F, 0x56, 0x4E, 379 0x33, 0x04, 0x27, 0x4E, 0xEA, 0x74, 0x5D, 0x53, 380 0x7F, 0x28, 0x32, 0x2F, 0x6E, 0x62, 0x7F, 0x7F, 381 0x6C, 0x6E, 0x7F, 0x42, 0x56, 0x46, 0x2A, 0x7F, 382 0x0B, 0x1E, 0x25, 0x33, 0x4F, 0x1E, 0x75, 0x49 383 }; 384 385static const q7_t ref_offset_possat[33] = { 386 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 387 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 388 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 389 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 0x7F, 0x74, 390 0x7F 391 }; 392 393static const q7_t ref_offset_negsat[33] = { 394 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 395 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 396 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 397 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 0x80, 0x8C, 398 0x80 399 }; 400 401static const q7_t ref_scale[256] = { 402 0x29, 0x00, 0x23, 0x10, 0xD2, 0xFF, 0xFE, 0x22, 403 0xFA, 0xE5, 0x15, 0xF3, 0x0F, 0x14, 0xFF, 0xF7, 404 0x1F, 0x16, 0x02, 0x19, 0xD7, 0x05, 0xDF, 0xFA, 405 0x12, 0xFD, 0xEF, 0xEB, 0xFA, 0xF3, 0x07, 0xEB, 406 0x08, 0x0C, 0x06, 0xE4, 0xDD, 0x0F, 0x02, 0xD5, 407 0x22, 0x30, 0x17, 0x10, 0x0E, 0xF8, 0x17, 0x12, 408 0xFA, 0xF9, 0xE3, 0x0D, 0x13, 0xDD, 0xE8, 0x04, 409 0x23, 0xFD, 0xF8, 0x3F, 0x0C, 0x0F, 0x0E, 0x05, 410 0x10, 0x11, 0x09, 0x08, 0x09, 0x03, 0x21, 0x08, 411 0x1D, 0xFB, 0xFC, 0x23, 0xF3, 0xF2, 0x0A, 0xE7, 412 0xF2, 0xF6, 0xF9, 0x0A, 0x00, 0xF7, 0xF7, 0xED, 413 0x0C, 0x09, 0xDA, 0x05, 0xD6, 0x0A, 0x05, 0xFC, 414 0x0B, 0x1A, 0x1C, 0x06, 0xE5, 0x19, 0x01, 0xED, 415 0x10, 0x00, 0xDD, 0x2E, 0xF2, 0x1C, 0xF0, 0xF3, 416 0x05, 0xD6, 0x07, 0x18, 0x12, 0xD7, 0xFA, 0x01, 417 0x0F, 0xF3, 0x0F, 0xF0, 0xE0, 0x0B, 0xF6, 0x1A, 418 0xD5, 0x18, 0xFA, 0xCA, 0xFE, 0xFD, 0xEA, 0x0B, 419 0x1B, 0xFB, 0x13, 0x00, 0x2D, 0xEE, 0x24, 0xE3, 420 0xF0, 0xC3, 0xE5, 0x13, 0x1E, 0xE4, 0x1B, 0x19, 421 0xE8, 0xD6, 0x02, 0x0D, 0x03, 0xFA, 0xDF, 0xF7, 422 0xE5, 0xEA, 0x0C, 0xE0, 0x07, 0xEF, 0xE7, 0xED, 423 0x33, 0xCB, 0xF1, 0xF2, 0x00, 0x08, 0xF6, 0xDC, 424 0xEB, 0x14, 0x06, 0xEE, 0x0A, 0xC2, 0xEA, 0xEF, 425 0xE7, 0xE8, 0x1B, 0x1D, 0xFE, 0xED, 0x16, 0xF0, 426 0x10, 0xED, 0xF0, 0x10, 0x32, 0xF8, 0xC7, 0x07, 427 0x22, 0xF0, 0x1D, 0xC0, 0xDE, 0xFB, 0xE4, 0x21, 428 0x01, 0x1C, 0x0B, 0x31, 0xF1, 0x1E, 0xFF, 0xF2, 429 0xFB, 0xC9, 0x0B, 0xF8, 0xD5, 0x35, 0x0B, 0x07, 430 0xF9, 0xE2, 0xF4, 0x07, 0xD5, 0x1A, 0x0E, 0x09, 431 0x22, 0xF4, 0xF9, 0xF8, 0x17, 0x11, 0x22, 0x21, 432 0x16, 0x17, 0x3A, 0x01, 0x0B, 0x03, 0xF5, 0x22, 433 0xE6, 0xEF, 0xF3, 0xF9, 0x08, 0xEF, 0x1B, 0x05 434 }; 435 436static const q7_t ref_scale_possat[33] = { 437 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 438 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 439 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 440 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 441 0x7F 442 }; 443 444static const q31_t ref_dot_prod_3[1] = { 445 0x00003F91 446 }; 447 448static const q31_t ref_dot_prod_4[1] = { 449 0x00002194 450 }; 451 452static const q31_t ref_dot_prod_4n1[1] = { 453 0x0000451D 454 }; 455 456static const q31_t ref_dot_prod_long[1] = { 457 0x00000CE0 458 }; 459 460static const q7_t ref_abs[256] = { 461 0x52, 0x01, 0x47, 0x20, 0x5B, 0x03, 0x04, 0x44, 462 0x0B, 0x35, 0x2A, 0x19, 0x1E, 0x28, 0x01, 0x11, 463 0x3E, 0x2C, 0x05, 0x32, 0x52, 0x09, 0x42, 0x0B, 464 0x24, 0x06, 0x22, 0x2A, 0x0C, 0x19, 0x0D, 0x29, 465 0x10, 0x19, 0x0C, 0x38, 0x45, 0x1E, 0x05, 0x56, 466 0x44, 0x60, 0x2D, 0x21, 0x1C, 0x10, 0x2E, 0x25, 467 0x0C, 0x0F, 0x39, 0x19, 0x26, 0x45, 0x30, 0x08, 468 0x46, 0x07, 0x11, 0x7E, 0x19, 0x1E, 0x1B, 0x0A, 469 0x1F, 0x22, 0x12, 0x10, 0x13, 0x05, 0x41, 0x0F, 470 0x3B, 0x0A, 0x07, 0x45, 0x1B, 0x1C, 0x14, 0x33, 471 0x1B, 0x13, 0x0D, 0x14, 0x00, 0x11, 0x12, 0x26, 472 0x19, 0x12, 0x4C, 0x0B, 0x55, 0x14, 0x0A, 0x09, 473 0x15, 0x35, 0x38, 0x0C, 0x36, 0x32, 0x02, 0x27, 474 0x1F, 0x00, 0x47, 0x5C, 0x1C, 0x39, 0x20, 0x1A, 475 0x09, 0x53, 0x0E, 0x30, 0x24, 0x52, 0x0B, 0x02, 476 0x1E, 0x1B, 0x1D, 0x20, 0x40, 0x16, 0x15, 0x35, 477 0x56, 0x30, 0x0C, 0x6B, 0x05, 0x05, 0x2C, 0x17, 478 0x36, 0x0B, 0x26, 0x00, 0x59, 0x23, 0x47, 0x3B, 479 0x20, 0x7A, 0x36, 0x26, 0x3B, 0x38, 0x36, 0x31, 480 0x30, 0x53, 0x05, 0x19, 0x07, 0x0C, 0x42, 0x13, 481 0x37, 0x2D, 0x17, 0x40, 0x0D, 0x22, 0x31, 0x26, 482 0x66, 0x6B, 0x1E, 0x1C, 0x00, 0x10, 0x14, 0x48, 483 0x2B, 0x27, 0x0B, 0x23, 0x13, 0x7B, 0x2D, 0x21, 484 0x33, 0x30, 0x36, 0x3A, 0x04, 0x25, 0x2B, 0x20, 485 0x21, 0x25, 0x20, 0x1F, 0x64, 0x10, 0x71, 0x0E, 486 0x45, 0x1F, 0x39, 0x7F, 0x45, 0x0A, 0x38, 0x42, 487 0x02, 0x38, 0x16, 0x62, 0x1E, 0x3B, 0x03, 0x1C, 488 0x0A, 0x6F, 0x15, 0x10, 0x55, 0x6A, 0x16, 0x0E, 489 0x0D, 0x3C, 0x19, 0x0E, 0x56, 0x34, 0x1D, 0x13, 490 0x44, 0x18, 0x0E, 0x11, 0x2E, 0x22, 0x44, 0x41, 491 0x2C, 0x2E, 0x74, 0x02, 0x16, 0x06, 0x16, 0x45, 492 0x35, 0x22, 0x1B, 0x0D, 0x0F, 0x22, 0x35, 0x09 493 }; 494 495static const q7_t ref_shift[33] = { 496 0xEC, 0xFB, 0xE9, 0x35, 0x1B, 0x25, 0xF3, 0x21, 497 0xEB, 0x04, 0xC7, 0xAB, 0xEA, 0xEF, 0x28, 0xBF, 498 0xF6, 0xCC, 0xDF, 0xDC, 0x05, 0x30, 0x1C, 0x1B, 499 0x2C, 0xEF, 0xE7, 0xE4, 0xFE, 0x1E, 0xEC, 0x19, 500 0x38 501 }; 502 503static const q7_t ref_shift_possat[33] = { 504 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 505 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 506 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 507 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 0x7F, 0x02, 508 0x7F 509 }; 510 511static const q7_t ref_shift_negsat[33] = { 512 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 513 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 514 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 515 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 0x80, 0xFE, 516 0x80 517 }; 518 519static const uint8_t ref_and[47] = { 520 0xA3, 0xC0, 0x11, 0xC8, 0x08, 0x0A, 0x00, 0x48, 521 0x92, 0x00, 0xA1, 0x02, 0x00, 0x64, 0x00, 0x08, 522 0x40, 0x00, 0x04, 0x10, 0x94, 0x88, 0x50, 0x42, 523 0x26, 0x04, 0x08, 0x08, 0x3E, 0x01, 0x40, 0x04, 524 0x04, 0x13, 0x40, 0x04, 0x20, 0x02, 0x38, 0x04, 525 0x80, 0x00, 0x84, 0x00, 0x81, 0x40, 0x39 526 }; 527 528static const uint8_t ref_or[47] = { 529 0xFF, 0xF7, 0xFB, 0xDA, 0xDF, 0xEF, 0x31, 0xFC, 530 0xF2, 0xD0, 0xFB, 0xE6, 0xCD, 0xEE, 0xFE, 0xFE, 531 0xC7, 0x35, 0x7D, 0xF9, 0xDF, 0xDE, 0x5F, 0xD6, 532 0xFF, 0x7C, 0xCF, 0x3C, 0x3F, 0xFF, 0xFE, 0xFF, 533 0xF5, 0x7F, 0xFA, 0xFE, 0xFC, 0xEF, 0x7B, 0xFE, 534 0xAA, 0x8F, 0xE7, 0xFB, 0x97, 0xE5, 0xF9 535 }; 536 537static const uint8_t ref_not[47] = { 538 0x04, 0x2B, 0x0E, 0x27, 0x75, 0x70, 0xFF, 0x07, 539 0x2D, 0x2F, 0x1C, 0xB9, 0x3B, 0x9B, 0xA1, 0x47, 540 0xBA, 0xEB, 0xE3, 0x8E, 0x62, 0x65, 0xA0, 0xBD, 541 0x01, 0x83, 0x35, 0xD3, 0xC0, 0xE4, 0x05, 0x38, 542 0x4A, 0xCC, 0x8D, 0xB9, 0x0F, 0x75, 0xC6, 0x33, 543 0x5D, 0xFA, 0x5B, 0xBE, 0x78, 0x1F, 0x86 544 }; 545 546static const uint8_t ref_xor[47] = { 547 0x5C, 0x37, 0xEA, 0x12, 0xD7, 0xE5, 0x31, 0xB4, 548 0x60, 0xD0, 0x5A, 0xE4, 0xCD, 0x8A, 0xFE, 0xF6, 549 0x87, 0x35, 0x79, 0xE9, 0x4B, 0x56, 0x0F, 0x94, 550 0xD9, 0x78, 0xC7, 0x34, 0x01, 0xFE, 0xBE, 0xFB, 551 0xF1, 0x6C, 0xBA, 0xFA, 0xDC, 0xED, 0x43, 0xFA, 552 0x2A, 0x8F, 0x63, 0xFB, 0x16, 0xA5, 0xC0 553 }; 554 555static const q7_t ref_clip1[271] = { 556 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 557 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 558 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 559 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 560 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 561 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 562 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 563 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 564 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 565 0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9, 566 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF, 567 0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5, 568 0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB, 569 0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1, 570 0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8, 571 0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE, 572 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF3, 573 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 574 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 575 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 576 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 577 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 578 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 579 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 580 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 581 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 582 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 583 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 584 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 585 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 586 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 587 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 588 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 589 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3 590 }; 591 592static const q7_t ref_clip2[288] = { 593 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 594 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 595 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 596 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 597 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 598 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 599 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 600 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 601 0xC0, 0xC0, 0xC0, 0xC0, 0xC1, 0xC1, 0xC2, 0xC3, 602 0xC4, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC8, 0xC9, 603 0xCA, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCE, 0xCF, 604 0xD0, 0xD1, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD5, 605 0xD6, 0xD7, 0xD8, 0xD8, 0xD9, 0xDA, 0xDB, 0xDB, 606 0xDC, 0xDD, 0xDE, 0xDE, 0xDF, 0xE0, 0xE1, 0xE1, 607 0xE2, 0xE3, 0xE4, 0xE5, 0xE5, 0xE6, 0xE7, 0xE8, 608 0xE8, 0xE9, 0xEA, 0xEB, 0xEB, 0xEC, 0xED, 0xEE, 609 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF3, 0xF4, 610 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 611 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 612 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 613 0x07, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0C, 614 0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12, 615 0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 616 0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 617 0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 618 0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 619 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31, 620 0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37, 621 0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D, 622 0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x40, 623 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 624 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 625 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 626 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 627 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 628 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 629 }; 630 631static const q7_t ref_clip3[303] = { 632 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 633 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 634 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 635 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 636 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 637 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 638 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 639 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 640 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 641 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 642 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 643 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 644 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 645 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 646 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 647 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 648 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 649 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 650 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 651 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 652 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 653 0x0D, 0x0E, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x12, 654 0x13, 0x14, 0x15, 0x15, 0x16, 0x17, 0x18, 0x18, 655 0x19, 0x1A, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 656 0x1F, 0x20, 0x21, 0x22, 0x22, 0x23, 0x24, 0x25, 657 0x25, 0x26, 0x27, 0x28, 0x28, 0x29, 0x2A, 0x2B, 658 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x2F, 0x30, 0x31, 659 0x32, 0x32, 0x33, 0x34, 0x35, 0x35, 0x36, 0x37, 660 0x38, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3C, 0x3D, 661 0x3E, 0x3F, 0x3F, 0x40, 0x40, 0x40, 0x40, 0x40, 662 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 663 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 664 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 665 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 666 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 667 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 668 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 669 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40 670 }; 671 672