| 1 | use nihav_core::codecs::*; |
| 2 | use nihav_core::io::bitreader::BitReader; |
| 3 | use nihav_core::io::codebook::*; |
| 4 | use std::mem; |
| 5 | use std::ptr; |
| 6 | |
| 7 | const NUM_INTRA_SETS: usize = 5; |
| 8 | const NUM_INTER_SETS: usize = 7; |
| 9 | |
| 10 | const NUM_COEFF_ENTRIES: usize = 3 * 3 * 3 * 4; |
| 11 | const NUM_ESC_ENTRIES: usize = 32; |
| 12 | const NUM_CBP_ENTRIES: usize = 64; |
| 13 | struct CoeffCodebooks { |
| 14 | l0_cb: [Codebook<u16>; 2], |
| 15 | l12_cb: [Codebook<u16>; 2], |
| 16 | l3_cb: [Codebook<u16>; 2], |
| 17 | esc_cb: Codebook<u16>, |
| 18 | } |
| 19 | |
| 20 | const MAX_ELEMS: usize = NUM_COEFF_ENTRIES * 8; |
| 21 | struct RV60CodebookDescReader { |
| 22 | len: usize, |
| 23 | codes: [u32; MAX_ELEMS], |
| 24 | bits: [u8; MAX_ELEMS], |
| 25 | } |
| 26 | |
| 27 | impl RV60CodebookDescReader { |
| 28 | fn new(table: &'static [u32], len: usize, ignfirst: bool) -> Self { |
| 29 | let mut prefixes: [u32; 18] = [0; 18]; |
| 30 | let mut counts: [usize; 17] = [0; 17]; |
| 31 | |
| 32 | let mut codes: [u32; MAX_ELEMS] = [0; MAX_ELEMS]; |
| 33 | let mut bits: [u8; MAX_ELEMS] = [0; MAX_ELEMS]; |
| 34 | for i in 0..(len + 7) >> 3 { |
| 35 | let code = table[i]; |
| 36 | for j in 0..8 { |
| 37 | if (i * 8 + j) == len { break; } |
| 38 | let b = if !ignfirst || (i != 0) || (j != 0) { |
| 39 | (((code >> ((7 - j) * 4)) & 0xF) as u8) + 1 |
| 40 | } else { |
| 41 | 0 |
| 42 | }; |
| 43 | bits[i * 8 + j] = b; |
| 44 | counts[b as usize] += 1; |
| 45 | } |
| 46 | } |
| 47 | for i in 1..17 { |
| 48 | prefixes[i + 1] = (prefixes[i] + (counts[i] as u32)) << 1; |
| 49 | } |
| 50 | for i in 0..len { |
| 51 | codes[i] = prefixes[bits[i] as usize]; |
| 52 | prefixes[bits[i] as usize] += 1; |
| 53 | } |
| 54 | |
| 55 | Self { len, codes, bits } |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | impl CodebookDescReader<u16> for RV60CodebookDescReader { |
| 60 | fn bits(&mut self, idx: usize) -> u8 { self.bits[idx] } |
| 61 | fn code(&mut self, idx: usize) -> u32 { self.codes[idx] } |
| 62 | fn sym (&mut self, idx: usize) -> u16 { idx as u16 } |
| 63 | fn len(&mut self) -> usize { self.len } |
| 64 | } |
| 65 | |
| 66 | impl CoeffCodebooks { |
| 67 | fn init(set_no: usize, intra: bool) -> Self { |
| 68 | let coeff_tabs = if intra { &RV60_INTRA_COEFFS_CB_DESC[set_no] } else { &RV60_INTER_COEFFS_CB_DESC[set_no] }; |
| 69 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l0_tab[0], NUM_COEFF_ENTRIES * 8, true); |
| 70 | let l0c0 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 71 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l0_tab[1], NUM_COEFF_ENTRIES * 8, true); |
| 72 | let l0c1 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 73 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l12_tab[0], NUM_COEFF_ENTRIES, true); |
| 74 | let l12c0 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 75 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l12_tab[1], NUM_COEFF_ENTRIES, true); |
| 76 | let l12c1 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 77 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l3_tab[0], NUM_COEFF_ENTRIES, true); |
| 78 | let l3c0 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 79 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.l3_tab[1], NUM_COEFF_ENTRIES, true); |
| 80 | let l3c1 = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 81 | let mut cbr = RV60CodebookDescReader::new(&coeff_tabs.esc_tab, NUM_ESC_ENTRIES, false); |
| 82 | let esc_cb = Codebook::new(&mut cbr, CodebookMode::MSB).unwrap(); |
| 83 | Self { |
| 84 | l0_cb: [ l0c0, l0c1 ], |
| 85 | l12_cb: [ l12c0, l12c1 ], |
| 86 | l3_cb: [ l3c0, l3c1 ], |
| 87 | esc_cb, |
| 88 | } |
| 89 | } |
| 90 | } |
| 91 | |
| 92 | pub struct RV60Codebooks { |
| 93 | cbp8_cb: [[Codebook<u16>; 4]; NUM_INTER_SETS], |
| 94 | cbp16_cb: [[Codebook<u16>; 12]; NUM_INTER_SETS], |
| 95 | intra_coeff_cb: [CoeffCodebooks; NUM_INTRA_SETS], |
| 96 | inter_coeff_cb: [CoeffCodebooks; NUM_INTER_SETS], |
| 97 | } |
| 98 | |
| 99 | impl RV60Codebooks { |
| 100 | pub fn init() -> Self { |
| 101 | let mut cbp8_cb: [[Codebook<u16>; 4]; NUM_INTER_SETS]; |
| 102 | let mut cbp16_cb: [[Codebook<u16>; 12]; NUM_INTER_SETS]; |
| 103 | unsafe { |
| 104 | cbp8_cb = mem::MaybeUninit::uninit().assume_init(); |
| 105 | cbp16_cb = mem::MaybeUninit::uninit().assume_init(); |
| 106 | for set_no in 0..NUM_INTER_SETS { |
| 107 | for i in 0..4 { |
| 108 | let mut cbr = RV60CodebookDescReader::new(&RV60_CBP8_TABS[set_no][i], NUM_CBP_ENTRIES, false); |
| 109 | ptr::write(&mut cbp8_cb[set_no][i], Codebook::new(&mut cbr, CodebookMode::MSB).unwrap()); |
| 110 | } |
| 111 | for i in 0..12 { |
| 112 | let mut cbr = RV60CodebookDescReader::new(&RV60_CBP16_TABS[set_no][i], NUM_CBP_ENTRIES, false); |
| 113 | ptr::write(&mut cbp16_cb[set_no][i], Codebook::new(&mut cbr, CodebookMode::MSB).unwrap()); |
| 114 | } |
| 115 | } |
| 116 | } |
| 117 | let mut intra_coeff_cb: [CoeffCodebooks; NUM_INTRA_SETS]; |
| 118 | let mut inter_coeff_cb: [CoeffCodebooks; NUM_INTER_SETS]; |
| 119 | unsafe { |
| 120 | intra_coeff_cb = mem::MaybeUninit::uninit().assume_init(); |
| 121 | for set_no in 0..NUM_INTRA_SETS { |
| 122 | ptr::write(&mut intra_coeff_cb[set_no], CoeffCodebooks::init(set_no, true)); |
| 123 | } |
| 124 | inter_coeff_cb = mem::MaybeUninit::uninit().assume_init(); |
| 125 | for set_no in 0..NUM_INTER_SETS { |
| 126 | ptr::write(&mut inter_coeff_cb[set_no], CoeffCodebooks::init(set_no, false)); |
| 127 | } |
| 128 | } |
| 129 | Self { cbp8_cb, cbp16_cb, intra_coeff_cb, inter_coeff_cb } |
| 130 | } |
| 131 | fn get_c4x4_set(qp: u8, is_intra: bool) -> usize { |
| 132 | if is_intra { |
| 133 | RV60_QP_TO_IDX[(qp as usize) + 32] |
| 134 | } else { |
| 135 | RV60_QP_TO_IDX[qp as usize] |
| 136 | } |
| 137 | } |
| 138 | } |
| 139 | |
| 140 | fn decode_coeff(br: &mut BitReader, cb: &Codebook<u16>, inval: i16, esc_val: i16) -> DecoderResult<i16> { |
| 141 | if inval != esc_val { |
| 142 | if inval != 0 && br.read_bool()? { |
| 143 | Ok(-inval) |
| 144 | } else { |
| 145 | Ok(inval) |
| 146 | } |
| 147 | } else { |
| 148 | let esc_sym = br.read_cb(cb)?; |
| 149 | let val = (if esc_sym > 23 { |
| 150 | let esc_bits = (esc_sym - 23) as u8; |
| 151 | let extrabits = br.read(esc_bits)? as i16; |
| 152 | (1 << esc_bits) + extrabits + 22 |
| 153 | } else { |
| 154 | esc_sym as i16 |
| 155 | }) + esc_val; |
| 156 | if br.read_bool()? { |
| 157 | Ok(-val) |
| 158 | } else { |
| 159 | Ok(val) |
| 160 | } |
| 161 | } |
| 162 | } |
| 163 | |
| 164 | fn quant(val: i16, q: i16) -> i16 { (val * q + 8) >> 4 } |
| 165 | |
| 166 | fn decode_2x2_dc(br: &mut BitReader, cb: &Codebook<u16>, coeffs: &mut [i16], stride: usize, block2: bool, dsc: usize, q_dc: i16, q_ac: i16) -> DecoderResult<()> { |
| 167 | if dsc == 0 { return Ok(()); } |
| 168 | let lx = RV60_DSC_TO_LX[dsc as usize]; |
| 169 | let l0 = ((lx >> 0) & 0xFF) as i16; |
| 170 | let l1 = ((lx >> 8) & 0xFF) as i16; |
| 171 | let l2 = ((lx >> 16) & 0xFF) as i16; |
| 172 | let l3 = ((lx >> 24) & 0xFF) as i16; |
| 173 | coeffs[0] = quant(decode_coeff(br, cb, l0, 3)?, q_dc); |
| 174 | if !block2 { |
| 175 | coeffs[1] = quant(decode_coeff(br, cb, l1, 2)?, q_ac); |
| 176 | coeffs[stride] = quant(decode_coeff(br, cb, l2, 2)?, q_ac); |
| 177 | } else { |
| 178 | coeffs[stride] = quant(decode_coeff(br, cb, l1, 2)?, q_ac); |
| 179 | coeffs[1] = quant(decode_coeff(br, cb, l2, 2)?, q_ac); |
| 180 | } |
| 181 | coeffs[stride + 1] = quant(decode_coeff(br, cb, l3, 2)?, q_ac); |
| 182 | Ok(()) |
| 183 | } |
| 184 | fn decode_2x2(br: &mut BitReader, cb: &Codebook<u16>, coeffs: &mut [i16], stride: usize, block2: bool, dsc: usize, q_ac: i16) -> DecoderResult<()> { |
| 185 | if dsc == 0 { return Ok(()); } |
| 186 | let lx = RV60_DSC_TO_LX[dsc as usize]; |
| 187 | let l0 = ((lx >> 0) & 0xFF) as i16; |
| 188 | let l1 = ((lx >> 8) & 0xFF) as i16; |
| 189 | let l2 = ((lx >> 16) & 0xFF) as i16; |
| 190 | let l3 = ((lx >> 24) & 0xFF) as i16; |
| 191 | coeffs[0] = quant(decode_coeff(br, cb, l0, 3)?, q_ac); |
| 192 | if !block2 { |
| 193 | coeffs[1] = quant(decode_coeff(br, cb, l1, 2)?, q_ac); |
| 194 | coeffs[stride] = quant(decode_coeff(br, cb, l2, 2)?, q_ac); |
| 195 | } else { |
| 196 | coeffs[stride] = quant(decode_coeff(br, cb, l1, 2)?, q_ac); |
| 197 | coeffs[1] = quant(decode_coeff(br, cb, l2, 2)?, q_ac); |
| 198 | } |
| 199 | coeffs[stride + 1] = quant(decode_coeff(br, cb, l3, 2)?, q_ac); |
| 200 | Ok(()) |
| 201 | } |
| 202 | |
| 203 | fn decode_4x4_block_dc(br: &mut BitReader, cbs: &CoeffCodebooks, is_luma: bool, coeffs: &mut [i16], stride: usize, q_dc: i16, q_ac: i16) -> DecoderResult<()> { |
| 204 | let tab_idx = if is_luma { 0 } else { 1 }; |
| 205 | let sym0 = br.read_cb(&cbs.l0_cb[tab_idx])?; |
| 206 | let grp0 = (sym0 >> 3) as usize; |
| 207 | let esc_cb = &cbs.esc_cb; |
| 208 | if grp0 != 0 { |
| 209 | decode_2x2_dc(br, esc_cb, &mut coeffs[0..], stride, false, grp0, q_dc, q_ac)?; |
| 210 | } |
| 211 | if (sym0 & 4) != 0 { |
| 212 | let grp = br.read_cb(&cbs.l12_cb[tab_idx])? as usize; |
| 213 | decode_2x2(br, esc_cb, &mut coeffs[2..], stride, false, grp, q_ac)?; |
| 214 | } |
| 215 | if (sym0 & 2) != 0 { |
| 216 | let grp = br.read_cb(&cbs.l12_cb[tab_idx])? as usize; |
| 217 | decode_2x2(br, esc_cb, &mut coeffs[2*stride..], stride, true, grp, q_ac)?; |
| 218 | } |
| 219 | if (sym0 & 1) != 0 { |
| 220 | let grp = br.read_cb(&cbs.l3_cb[tab_idx])? as usize; |
| 221 | decode_2x2(br, esc_cb, &mut coeffs[2*stride+2..], stride, false, grp, q_ac)?; |
| 222 | } |
| 223 | Ok(()) |
| 224 | } |
| 225 | |
| 226 | fn decode_4x4_block(br: &mut BitReader, cbs: &CoeffCodebooks, is_luma: bool, coeffs: &mut [i16], stride: usize, q_ac: i16) -> DecoderResult<()> { |
| 227 | let tab_idx = if is_luma { 0 } else { 1 }; |
| 228 | let sym0 = br.read_cb(&cbs.l0_cb[tab_idx])?; |
| 229 | let grp0 = (sym0 >> 3) as usize; |
| 230 | let esc_cb = &cbs.esc_cb; |
| 231 | if grp0 != 0 { |
| 232 | decode_2x2(br, esc_cb, &mut coeffs[0..], stride, false, grp0, q_ac)?; |
| 233 | } |
| 234 | if (sym0 & 4) != 0 { |
| 235 | let grp = br.read_cb(&cbs.l12_cb[tab_idx])? as usize; |
| 236 | decode_2x2(br, esc_cb, &mut coeffs[2..], stride, false, grp, q_ac)?; |
| 237 | } |
| 238 | if (sym0 & 2) != 0 { |
| 239 | let grp = br.read_cb(&cbs.l12_cb[tab_idx])? as usize; |
| 240 | decode_2x2(br, esc_cb, &mut coeffs[2*stride..], stride, true, grp, q_ac)?; |
| 241 | } |
| 242 | if (sym0 & 1) != 0 { |
| 243 | let grp = br.read_cb(&cbs.l3_cb[tab_idx])? as usize; |
| 244 | decode_2x2(br, esc_cb, &mut coeffs[2*stride+2..], stride, false, grp, q_ac)?; |
| 245 | } |
| 246 | Ok(()) |
| 247 | } |
| 248 | |
| 249 | fn decode_cbp8(br: &mut BitReader, cbs: &[[Codebook<u16>; 4]; NUM_INTER_SETS], qp: u8, subset: usize) -> DecoderResult<u16> { |
| 250 | let cb_set = RV60_QP_TO_IDX[qp as usize]; |
| 251 | let cbp = br.read_cb(&cbs[cb_set][subset])?; |
| 252 | Ok(cbp) |
| 253 | } |
| 254 | |
| 255 | fn decode_super_cbp(br: &mut BitReader, cbs: &[Codebook<u16>]) -> DecoderResult<u32> { |
| 256 | let sym0 = br.read_cb(&cbs[0])? as u32; |
| 257 | let sym1 = br.read_cb(&cbs[1])? as u32; |
| 258 | let sym2 = br.read_cb(&cbs[2])? as u32; |
| 259 | let sym3 = br.read_cb(&cbs[3])? as u32; |
| 260 | |
| 261 | // luma/chroma interleaved CBPs |
| 262 | Ok(0 |
| 263 | + ((sym0 & 0x03) << 0) |
| 264 | + ((sym0 & 0x0C) << 2) |
| 265 | + ((sym0 & 0x10) << 12) |
| 266 | + ((sym0 & 0x20) << 15) |
| 267 | + ((sym1 & 0x03) << 2) |
| 268 | + ((sym1 & 0x0C) << 4) |
| 269 | + ((sym1 & 0x10) << 13) |
| 270 | + ((sym1 & 0x20) << 16) |
| 271 | + ((sym2 & 0x03) << 8) |
| 272 | + ((sym2 & 0x0C) << 10) |
| 273 | + ((sym2 & 0x10) << 14) |
| 274 | + ((sym2 & 0x20) << 17) |
| 275 | + ((sym3 & 0x03) << 10) |
| 276 | + ((sym3 & 0x0C) << 12) |
| 277 | + ((sym3 & 0x10) << 15) |
| 278 | + ((sym3 & 0x20) << 18) |
| 279 | ) |
| 280 | } |
| 281 | |
| 282 | pub fn rv6_decode_cbp8(br: &mut BitReader, cbs: &RV60Codebooks, subset: usize, qp: u8) -> DecoderResult<u32> { |
| 283 | let cbp8 = decode_cbp8(br, &cbs.cbp8_cb, qp, subset)?; |
| 284 | Ok(cbp8 as u32) |
| 285 | } |
| 286 | |
| 287 | pub fn rv6_decode_cbp16(br: &mut BitReader, cbs: &RV60Codebooks, subset: usize, qp: u8) -> DecoderResult<u32> { |
| 288 | let cb_set = RV60_QP_TO_IDX[qp as usize]; |
| 289 | let cbp16; |
| 290 | if subset == 0 { |
| 291 | cbp16 = decode_super_cbp(br, &cbs.cbp8_cb[cb_set])?; |
| 292 | } else { |
| 293 | cbp16 = decode_super_cbp(br, &cbs.cbp16_cb[cb_set][(subset - 1) * 4..][..4])?; |
| 294 | } |
| 295 | Ok(cbp16) |
| 296 | } |
| 297 | |
| 298 | pub fn rv6_decode_cu_8x8(br: &mut BitReader, cbs: &RV60Codebooks, is_intra: bool, qp: u8, sel_qp: u8, y_coeffs: &mut [i16; 16 * 16], u_coeffs: &mut [i16; 8 * 8], v_coeffs: &mut [i16; 8 * 8], ccbp: u32, mode4x4: bool) -> DecoderResult<()> { |
| 299 | let cb_set = RV60Codebooks::get_c4x4_set(sel_qp, is_intra); |
| 300 | let cb = if is_intra { &cbs.intra_coeff_cb[cb_set] } else { &cbs.inter_coeff_cb[cb_set] }; |
| 301 | let q_y = RV60_QUANTS_B[qp as usize]; |
| 302 | let q_c_dc = RV60_QUANTS_B[RV60_CHROMA_QUANT_DC[qp as usize] as usize]; |
| 303 | let q_c_ac = RV60_QUANTS_B[RV60_CHROMA_QUANT[qp as usize] as usize]; |
| 304 | for i in 0..4 { |
| 305 | if ((ccbp >> i) & 1) != 0 { |
| 306 | let (off, stride) = if mode4x4 { |
| 307 | (i * 16, 4) |
| 308 | } else { |
| 309 | ((i & 1) * 4 + (i & 2) * 2 * 8, 8) |
| 310 | }; |
| 311 | decode_4x4_block(br, cb, true, &mut y_coeffs[off..], stride, q_y)?; |
| 312 | } |
| 313 | } |
| 314 | if ((ccbp >> 4) & 1) != 0 { |
| 315 | decode_4x4_block_dc(br, cb, false, u_coeffs, 4, q_c_dc, q_c_ac)?; |
| 316 | } |
| 317 | if ((ccbp >> 5) & 1) != 0 { |
| 318 | decode_4x4_block_dc(br, cb, false, v_coeffs, 4, q_c_dc, q_c_ac)?; |
| 319 | } |
| 320 | Ok(()) |
| 321 | } |
| 322 | |
| 323 | pub fn rv6_decode_cu_16x16(br: &mut BitReader, cbs: &RV60Codebooks, is_intra: bool, qp: u8, sel_qp: u8, y_coeffs: &mut [i16; 16 * 16], u_coeffs: &mut [i16; 8 * 8], v_coeffs: &mut [i16; 8 * 8], ccbp: u32) -> DecoderResult<()> { |
| 324 | let cb_set = RV60Codebooks::get_c4x4_set(sel_qp, is_intra); |
| 325 | let cb = if is_intra { &cbs.intra_coeff_cb[cb_set] } else { &cbs.inter_coeff_cb[cb_set] }; |
| 326 | let q_y = RV60_QUANTS_B[qp as usize]; |
| 327 | let q_c_dc = RV60_QUANTS_B[RV60_CHROMA_QUANT_DC[qp as usize] as usize]; |
| 328 | let q_c_ac = RV60_QUANTS_B[RV60_CHROMA_QUANT[qp as usize] as usize]; |
| 329 | for i in 0..16 { |
| 330 | if ((ccbp >> i) & 1) != 0 { |
| 331 | let off = (i & 3) * 4 + (i >> 2) * 4 * 16; |
| 332 | decode_4x4_block(br, cb, true, &mut y_coeffs[off..], 16, q_y)?; |
| 333 | } |
| 334 | } |
| 335 | for i in 16..20 { |
| 336 | if ((ccbp >> i) & 1) != 0 { |
| 337 | let off = (i & 1) * 4 + (i & 2) * 2 * 8; |
| 338 | if i == 16 { |
| 339 | decode_4x4_block_dc(br, cb, false, &mut u_coeffs[off..], 8, q_c_dc, q_c_ac)?; |
| 340 | } else { |
| 341 | decode_4x4_block(br, cb, false, &mut u_coeffs[off..], 8, q_c_ac)?; |
| 342 | } |
| 343 | } |
| 344 | } |
| 345 | for i in 20..24 { |
| 346 | if ((ccbp >> i) & 1) != 0 { |
| 347 | let off = (i & 1) * 4 + (i & 2) * 2 * 8; |
| 348 | if i == 20 { |
| 349 | decode_4x4_block_dc(br, cb, false, &mut v_coeffs[off..], 8, q_c_dc, q_c_ac)?; |
| 350 | } else { |
| 351 | decode_4x4_block(br, cb, false, &mut v_coeffs[off..], 8, q_c_ac)?; |
| 352 | } |
| 353 | } |
| 354 | } |
| 355 | Ok(()) |
| 356 | } |
| 357 | |
| 358 | pub fn rv6_decode_cu_4x4in16x16(br: &mut BitReader, cbs: &RV60Codebooks, is_intra: bool, qp: u8, sel_qp: u8, y_coeffs: &mut [i16; 16 * 16], u_coeffs: &mut [i16; 8 * 8], v_coeffs: &mut [i16; 8 * 8], ccbp: u32) -> DecoderResult<()> { |
| 359 | let cb_set = RV60Codebooks::get_c4x4_set(sel_qp, is_intra); |
| 360 | let cb = if is_intra { &cbs.intra_coeff_cb[cb_set] } else { &cbs.inter_coeff_cb[cb_set] }; |
| 361 | let q_y = RV60_QUANTS_B[qp as usize]; |
| 362 | let q_c_dc = RV60_QUANTS_B[RV60_CHROMA_QUANT_DC[qp as usize] as usize]; |
| 363 | let q_c_ac = RV60_QUANTS_B[RV60_CHROMA_QUANT[qp as usize] as usize]; |
| 364 | for i in 0..16 { |
| 365 | if ((ccbp >> i) & 1) != 0 { |
| 366 | let off = i * 16; |
| 367 | decode_4x4_block(br, cb, true, &mut y_coeffs[off..], 4, q_y)?; |
| 368 | } |
| 369 | } |
| 370 | for i in 16..20 { |
| 371 | if ((ccbp >> i) & 1) != 0 { |
| 372 | let off = (i - 16) * 16; |
| 373 | decode_4x4_block_dc(br, cb, false, &mut u_coeffs[off..], 4, q_c_dc, q_c_ac)?; |
| 374 | } |
| 375 | } |
| 376 | for i in 20..24 { |
| 377 | if ((ccbp >> i) & 1) != 0 { |
| 378 | let off = (i - 20) * 16; |
| 379 | decode_4x4_block_dc(br, cb, false, &mut v_coeffs[off..], 4, q_c_dc, q_c_ac)?; |
| 380 | } |
| 381 | } |
| 382 | Ok(()) |
| 383 | } |
| 384 | |
| 385 | const RV60_QP_TO_IDX: [usize; 64] = [ |
| 386 | 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 0, |
| 387 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 0, 0 |
| 388 | ]; |
| 389 | const RV60_QUANTS_B: [i16; 32] = [ |
| 390 | 60, 67, 76, 85, 96, 108, 121, 136, |
| 391 | 152, 171, 192, 216, 242, 272, 305, 341, |
| 392 | 383, 432, 481, 544, 606, 683, 767, 854, |
| 393 | 963, 1074, 1212, 1392, 1566, 1708, 1978, 2211 |
| 394 | ]; |
| 395 | const RV60_CHROMA_QUANT_DC: [u8; 32] = [ |
| 396 | 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, |
| 397 | 14, 15, 15, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23 |
| 398 | ]; |
| 399 | const RV60_CHROMA_QUANT: [u8; 32] = [ |
| 400 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
| 401 | 16, 17, 17, 18, 19, 20, 20, 21, 22, 22, 23, 23, 24, 24, 25, 25 |
| 402 | ]; |
| 403 | |
| 404 | const RV60_DSC_TO_LX: [u32; NUM_COEFF_ENTRIES] = [ |
| 405 | 0x00000000, 0x01000000, 0x02000000, 0x00010000, 0x01010000, 0x02010000, 0x00020000, 0x01020000, 0x02020000, |
| 406 | 0x00000100, 0x01000100, 0x02000100, 0x00010100, 0x01010100, 0x02010100, 0x00020100, 0x01020100, 0x02020100, |
| 407 | 0x00000200, 0x01000200, 0x02000200, 0x00010200, 0x01010200, 0x02010200, 0x00020200, 0x01020200, 0x02020200, |
| 408 | |
| 409 | 0x00000001, 0x01000001, 0x02000001, 0x00010001, 0x01010001, 0x02010001, 0x00020001, 0x01020001, 0x02020001, |
| 410 | 0x00000101, 0x01000101, 0x02000101, 0x00010101, 0x01010101, 0x02010101, 0x00020101, 0x01020101, 0x02020101, |
| 411 | 0x00000201, 0x01000201, 0x02000201, 0x00010201, 0x01010201, 0x02010201, 0x00020201, 0x01020201, 0x02020201, |
| 412 | |
| 413 | 0x00000002, 0x01000002, 0x02000002, 0x00010002, 0x01010002, 0x02010002, 0x00020002, 0x01020002, 0x02020002, |
| 414 | 0x00000102, 0x01000102, 0x02000102, 0x00010102, 0x01010102, 0x02010102, 0x00020102, 0x01020102, 0x02020102, |
| 415 | 0x00000202, 0x01000202, 0x02000202, 0x00010202, 0x01010202, 0x02010202, 0x00020202, 0x01020202, 0x02020202, |
| 416 | |
| 417 | 0x00000003, 0x01000003, 0x02000003, 0x00010003, 0x01010003, 0x02010003, 0x00020003, 0x01020003, 0x02020003, |
| 418 | 0x00000103, 0x01000103, 0x02000103, 0x00010103, 0x01010103, 0x02010103, 0x00020103, 0x01020103, 0x02020103, |
| 419 | 0x00000203, 0x01000203, 0x02000203, 0x00010203, 0x01010203, 0x02010203, 0x00020203, 0x01020203, 0x02020203 |
| 420 | ]; |
| 421 | |
| 422 | const RV60_CBP8_TABS: [[[u32; 8]; 4]; NUM_INTER_SETS] = [ |
| 423 | [ |
| 424 | [ 0x66666675, 0x66656553, 0x77767675, 0x77656552, 0x88878786, 0x88767663, 0x88868674, 0x87646441 ], |
| 425 | [ 0x6383B594, 0xD8B7B6A2, 0x84A5B5A3, 0xD8C7B6A2, 0x94B5D5C5, 0xEAE9E8C4, 0xA4D4C4B3, 0xE9D7D6B2 ], |
| 426 | [ 0x45555565, 0x56555552, 0x66666675, 0x67656552, 0x88888897, 0x88878774, 0x88978786, 0x88867661 ], |
| 427 | [ 0x73639483, 0xB796A683, 0x849495A4, 0xD8C7B692, 0xA5B5C6C5, 0xEAD8D9C4, 0xA5B5B5C4, 0xE9D8D7B1 ], |
| 428 | ], [ |
| 429 | [ 0x66666675, 0x66656553, 0x77767675, 0x77656552, 0x88878786, 0x88767663, 0x88868674, 0x87646441 ], |
| 430 | [ 0x6383B594, 0xD8B7B6A2, 0x84A5B5A3, 0xD8C7B6A2, 0x94B5D5C5, 0xEAE9E8C4, 0xA4D4C4B3, 0xE9D7D6B2 ], |
| 431 | [ 0x45555565, 0x56555552, 0x66666675, 0x67656552, 0x88888897, 0x88878774, 0x88978786, 0x88867661 ], |
| 432 | [ 0x73639483, 0xB796A683, 0x849495A4, 0xD8C7B692, 0xA5B5C6C5, 0xEAD8D9C4, 0xA5B5B5C4, 0xE9D8D7B1 ], |
| 433 | ], [ |
| 434 | [ 0x45555565, 0x56545543, 0x66666675, 0x67656553, 0x77777786, 0x78767664, 0x77867675, 0x87656551 ], |
| 435 | [ 0x41848493, 0x86959582, 0x73A584A4, 0xA7B7A7A4, 0x84C6C6D6, 0xD9D8D8C5, 0x94D5B4D4, 0xD9D8D7D4 ], |
| 436 | [ 0x34544554, 0x45444442, 0x66766675, 0x67656552, 0x88988897, 0x89877774, 0x99989896, 0x99868663 ], |
| 437 | [ 0x52637373, 0x86857562, 0x84958494, 0xB8A79582, 0x94B6B6B6, 0xDAC8C8A4, 0x95B6A6C5, 0xDAC8C7A3 ], |
| 438 | ], [ |
| 439 | [ 0x34445565, 0x45445443, 0x66667675, 0x77656553, 0x77777786, 0x78667664, 0x77867685, 0x88656552 ], |
| 440 | [ 0x218383A4, 0x8696A694, 0x63B594C5, 0xC8D8C8D5, 0x63C5B5D6, 0xD9D9D9E7, 0x83C5B5E5, 0xD9E8E8D5 ], |
| 441 | [ 0x24444454, 0x45443442, 0x66766675, 0x67666653, 0x78878787, 0x88777775, 0x99988797, 0x99877774 ], |
| 442 | [ 0x41636373, 0x85757462, 0x73958595, 0xB8A79684, 0x84A6A6B6, 0xD9B8C8A5, 0x95B6A6B6, 0xDAC8C8B5 ], |
| 443 | ], [ |
| 444 | [ 0x34444455, 0x45444443, 0x66666675, 0x67656653, 0x67777786, 0x78667664, 0x77767685, 0x87656553 ], |
| 445 | [ 0x208494C5, 0xA8B7E9D7, 0x63C5B5E6, 0xEAEAEAE7, 0x63C6C6E7, 0xEBEAEBE8, 0x84D5C6E6, 0xEBEAEAE6 ], |
| 446 | [ 0x23333454, 0x35443443, 0x67766676, 0x67666665, 0x77777787, 0x78777775, 0x99988898, 0x99888886 ], |
| 447 | [ 0x40636374, 0x96757563, 0x749596A6, 0xB9A8A896, 0x84A6A6A7, 0xCAB8B9A7, 0x86A7B7C7, 0xDBC9DAB7 ], |
| 448 | ], [ |
| 449 | [ 0x24444455, 0x35444443, 0x56666676, 0x67666664, 0x67777787, 0x78667665, 0x77767685, 0x78667663 ], |
| 450 | [ 0x109495E7, 0xDAD9EAE8, 0x63C6C6E7, 0xECEBEBE9, 0x64C7C7E9, 0xEDEBECE9, 0x84D6D7E7, 0xECEBEBE8 ], |
| 451 | [ 0x13343454, 0x35443444, 0x67776787, 0x68777776, 0x67777787, 0x79787886, 0x899988A8, 0x9A998997 ], |
| 452 | [ 0x30535374, 0x87767665, 0x738586A7, 0xB9A9A9A7, 0x749697A8, 0xCAA9B9A8, 0x85A7B8C8, 0xDCCADAC8 ], |
| 453 | ], [ |
| 454 | [ 0x13343455, 0x35454544, 0x56666777, 0x67676776, 0x67777787, 0x78777776, 0x77777787, 0x78777776 ], |
| 455 | [ 0x018485D7, 0xDADADAD9, 0x53B6C7D9, 0xDDDCDCDB, 0x54C7C8DA, 0xDDDCDDDB, 0x64D7D8DA, 0xDDDDDDDB ], |
| 456 | [ 0x03353456, 0x35464666, 0x67887899, 0x798A8999, 0x68898899, 0x8A9A9999, 0x8AAA9ABB, 0xABABABBA ], |
| 457 | [ 0x10536487, 0x98879887, 0x74A7A8CA, 0xDCCBDBDA, 0x74A7B8CA, 0xDCDBCCCB, 0x85B8C9DB, 0xDDDCDDDB ] |
| 458 | ] |
| 459 | ]; |
| 460 | |
| 461 | const RV60_CBP16_TABS: [[[u32; 8]; 12]; NUM_INTER_SETS] = [ |
| 462 | [ |
| 463 | [ 0x8563A594, 0xA795B7A4, 0x9584B5A4, 0xB8A6C7A3, 0x9674B6A4, 0xB8A6D8B2, 0xA594C4C3, 0xD8C6C6B1 ], |
| 464 | [ 0x02525474, 0x87978695, 0x56858797, 0xAAA9A796, 0x56A6A9DA, 0xEEEDECFB, 0x98B7B9D8, 0xFDDAEAC8 ], |
| 465 | [ 0x02545475, 0x67867674, 0x55978696, 0xA9B8A784, 0x459897B9, 0xBBDBCAD9, 0x87B8A6C7, 0xCBDAD8C5 ], |
| 466 | [ 0x03553364, 0x66876474, 0x67988585, 0xA8978474, 0x6BCCCACB, 0xCCCCCCCA, 0xBBCBCAB9, 0xCBB9B997 ], |
| 467 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 468 | [ 0x35555565, 0x46555553, 0x56666675, 0x67656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 469 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 470 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 471 | [ 0x85639684, 0x9685A672, 0x96859594, 0xB795A582, 0xA786C7B6, 0xC9B7C8A3, 0xA796B5A3, 0xC7B6B591 ], |
| 472 | [ 0x12534363, 0x66867473, 0x45766575, 0x98A89694, 0x65A786A7, 0xCBDBC9C6, 0x87A897B6, 0xCBD9B8C4 ], |
| 473 | [ 0x12435464, 0x66757673, 0x44657585, 0x87979783, 0x558697A7, 0xA9A8B9A6, 0x879796A6, 0xB9B8B8A4 ], |
| 474 | [ 0x02454464, 0x66867484, 0x579986A5, 0xA9B8A5A4, 0x79BAA9C9, 0xDCDBDAD7, 0xABDCCAD8, 0xDDDBD9C5 ], |
| 475 | ], [ |
| 476 | [ 0x8563A594, 0xA795B7A4, 0x9584B5A4, 0xB8A6C7A3, 0x9674B6A4, 0xB8A6D8B2, 0xA594C4C3, 0xD8C6C6B1 ], |
| 477 | [ 0x02525474, 0x87978695, 0x56858797, 0xAAA9A796, 0x56A6A9DA, 0xEEEDECFB, 0x98B7B9D8, 0xFDDAEAC8 ], |
| 478 | [ 0x02545475, 0x67867674, 0x55978696, 0xA9B8A784, 0x459897B9, 0xBBDBCAD9, 0x87B8A6C7, 0xCBDAD8C5 ], |
| 479 | [ 0x03553364, 0x66876474, 0x67988585, 0xA8978474, 0x6BCCCACB, 0xCCCCCCCA, 0xBBCBCAB9, 0xCBB9B997 ], |
| 480 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 481 | [ 0x35555565, 0x46555553, 0x56666675, 0x67656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 482 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 483 | [ 0x35555565, 0x55555553, 0x56666665, 0x66656552, 0x78888887, 0x88878774, 0x78878786, 0x88767661 ], |
| 484 | [ 0x85639684, 0x9685A672, 0x96859594, 0xB795A582, 0xA786C7B6, 0xC9B7C8A3, 0xA796B5A3, 0xC7B6B591 ], |
| 485 | [ 0x12534363, 0x66867473, 0x45766575, 0x98A89694, 0x65A786A7, 0xCBDBC9C6, 0x87A897B6, 0xCBD9B8C4 ], |
| 486 | [ 0x12435464, 0x66757673, 0x44657585, 0x87979783, 0x558697A7, 0xA9A8B9A6, 0x879796A6, 0xB9B8B8A4 ], |
| 487 | [ 0x02454464, 0x66867484, 0x579986A5, 0xA9B8A5A4, 0x79BAA9C9, 0xDCDBDAD7, 0xABDCCAD8, 0xDDDBD9C5 ], |
| 488 | ], [ |
| 489 | [ 0x63638493, 0x8696A6B4, 0x63847493, 0x87A696A4, 0x749595B4, 0xB8D7B7C4, 0x84A494A2, 0xA7B6A6D3 ], |
| 490 | [ 0x02333455, 0x57677776, 0x56767797, 0x899A99A9, 0x78B8BADA, 0xDDDDDCDC, 0x98C8D9D9, 0xDDDCDCD9 ], |
| 491 | [ 0x02444466, 0x56666666, 0x55776575, 0x77877575, 0x67AAA9DB, 0xCDDBDCDA, 0x98CAA7C8, 0xDCDBC9D8 ], |
| 492 | [ 0x02452366, 0x56896698, 0x46786689, 0x789A88B9, 0xACCCCCCC, 0xCCCCCCCC, 0xCCCCCCCC, 0xCCCCCDDC ], |
| 493 | [ 0x23443454, 0x45444443, 0x56666675, 0x67666663, 0x78878897, 0x89878775, 0x89979796, 0x99878773 ], |
| 494 | [ 0x24344454, 0x35444443, 0x56666676, 0x67656663, 0x78888897, 0x89878775, 0x89979896, 0x99868773 ], |
| 495 | [ 0x23443454, 0x45444443, 0x56666676, 0x67666663, 0x68888897, 0x89877775, 0x88988896, 0x99877673 ], |
| 496 | [ 0x24344455, 0x35444443, 0x56666676, 0x67666653, 0x68888897, 0x89878774, 0x89989897, 0x99877763 ], |
| 497 | [ 0x63537473, 0x85748562, 0x73848484, 0x96959683, 0x8596A5A4, 0xC8A7B794, 0x85A595A4, 0xC7B6B6A3 ], |
| 498 | [ 0x02443374, 0x77867684, 0x568776A7, 0xA9BAA8B6, 0x78C9A8C9, 0xDDECDAD7, 0x99B8B9C8, 0xEDEAEAD6 ], |
| 499 | [ 0x02445565, 0x56656664, 0x55878686, 0x98978674, 0x67A9A8C9, 0xABAACAB7, 0x87B9A7B8, 0xDBDAC9B6 ], |
| 500 | [ 0x02553264, 0x66877585, 0x67997697, 0x98B997A6, 0x9ACBA9DA, 0xDDDCDBC8, 0xCCDCDADA, 0xDCDCDAD8 ], |
| 501 | ], [ |
| 502 | [ 0x626383A3, 0x97A6C6C4, 0x538484B4, 0xA8C7C7E5, 0x74A4B5D5, 0xD9E8E8E5, 0x73B3B3E3, 0xC8E7E7E4 ], |
| 503 | [ 0x02324464, 0x78778786, 0x569697C8, 0xBCCCCCCA, 0x88B8BACB, 0xCCCCCCCB, 0xA8B8CAC9, 0xCCCCCCCA ], |
| 504 | [ 0x02444466, 0x46666767, 0x35775588, 0x78A988A8, 0x68CBB8CB, 0xCDCBDDDB, 0x98CAB8CA, 0xCCCCCBCA ], |
| 505 | [ 0x02452366, 0x56987697, 0x38AA79AB, 0x9ABBBBBA, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB, 0xBBBBBBBB ], |
| 506 | [ 0x13343454, 0x45444553, 0x56666676, 0x67766675, 0x68878897, 0x89888885, 0x89989897, 0x99888885 ], |
| 507 | [ 0x13344454, 0x35444543, 0x56667786, 0x78766765, 0x68888898, 0x89878875, 0x89989898, 0x99878885 ], |
| 508 | [ 0x13343454, 0x35454453, 0x56766786, 0x78776675, 0x68888898, 0x89888786, 0x899898A8, 0x9A988785 ], |
| 509 | [ 0x14343455, 0x35444543, 0x56676777, 0x67776764, 0x68888898, 0x89878875, 0x89989898, 0x99888875 ], |
| 510 | [ 0x51536373, 0x85758573, 0x63848495, 0xA796A694, 0x749595A5, 0xB8B7B8A5, 0x85A695A5, 0xB9B7B8A5 ], |
| 511 | [ 0x02433454, 0x67867674, 0x569787A7, 0xBBC9C9B7, 0x78B8A9C8, 0xDDDADBC8, 0x99A8BAC8, 0xDDDADBC7 ], |
| 512 | [ 0x02444465, 0x56556664, 0x55876686, 0x88988786, 0x68AAA8BA, 0xABBACAB8, 0x87BA98C9, 0xCCCBCAB8 ], |
| 513 | [ 0x02452364, 0x66877585, 0x57AA88B9, 0xA9CABAB8, 0x8ABAA9CA, 0xCCBBBBB9, 0xBBBBBBBB, 0xBBBBBBB9 ], |
| 514 | ], [ |
| 515 | [ 0x716383B3, 0xB8D7D7E4, 0x6394A4D4, 0xC9E8E8E5, 0x73B5B5E5, 0xEAE9E9E6, 0x83C4C4E4, 0xE9E8E7E4 ], |
| 516 | [ 0x01334575, 0x99A8A9B7, 0x66A7B8C8, 0xCCCCCCC8, 0x77B8CAC9, 0xCCCCCCCB, 0x98C8C9C9, 0xCCCCCBCA ], |
| 517 | [ 0x01444486, 0x57777897, 0x55A876B8, 0xCACAB9C8, 0x67CAC8CA, 0xCCCACBCA, 0x98CAC8C9, 0xCCCCCBCA ], |
| 518 | [ 0x01562486, 0x799998A8, 0x6AAA9999, 0x99999999, 0x99999999, 0x99999999, 0x9999999A, 0xAAAAAAA9 ], |
| 519 | [ 0x13343454, 0x35444443, 0x56767787, 0x78777776, 0x67877797, 0x79888886, 0x899898A8, 0x9A999997 ], |
| 520 | [ 0x13333454, 0x35444543, 0x57777787, 0x78777776, 0x67778898, 0x89888886, 0x899999A9, 0x9A989997 ], |
| 521 | [ 0x13343454, 0x35453443, 0x57777787, 0x78777776, 0x67887798, 0x89888886, 0x899998A9, 0x9A999997 ], |
| 522 | [ 0x13343454, 0x35443543, 0x57777787, 0x78777776, 0x68887898, 0x79888876, 0x899999A9, 0x9A999987 ], |
| 523 | [ 0x60636384, 0x86859684, 0x63858596, 0xA8A7A8A6, 0x749696A6, 0xB9A8B9A6, 0x85A6A7B7, 0xC9B8C9B7 ], |
| 524 | [ 0x02333454, 0x77768775, 0x678798A7, 0xCBB9CAB7, 0x6897A9B8, 0xDDC9DBB8, 0x89A8BAD8, 0xDDDADBC8 ], |
| 525 | [ 0x02344465, 0x56556664, 0x558777A8, 0x99A9A9A8, 0x679A98CA, 0xABBBBAB9, 0x78BA98CB, 0xCCCCCBCA ], |
| 526 | [ 0x01453366, 0x67777676, 0x79BBBABB, 0xBBBBBBB9, 0x8ABBABBB, 0xBBBBBBBA, 0xBBBBBBBB, 0xBBBBBBBB ], |
| 527 | ], [ |
| 528 | [ 0x816383C4, 0xB9D8D8E5, 0x62A4B4E5, 0xEAE9E9E6, 0x63B5B5E6, 0xEAEAEAE7, 0x82C4C4E5, 0xEAE9E9E5 ], |
| 529 | [ 0x01335485, 0x9AB9A8B7, 0x7697B8B8, 0xBBBBBBB9, 0x67B8BABB, 0xBBBBBBBB, 0x98B7BABA, 0xBBBBBBBB ], |
| 530 | [ 0x01445396, 0x78879AA6, 0x559897A9, 0xAAA9AAA9, 0x67A9A9AA, 0xAA9AAAAA, 0x97A9A8AA, 0xAAAAAAAA ], |
| 531 | [ 0x02643476, 0x76777776, 0x67777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777 ], |
| 532 | [ 0x03343455, 0x46564665, 0x57777898, 0x79898888, 0x688888A8, 0x89999998, 0x899999B9, 0xABAAAAA9 ], |
| 533 | [ 0x03344555, 0x36454655, 0x67788898, 0x79888998, 0x68888999, 0x8A899998, 0x899AAABA, 0xABAAAAA9 ], |
| 534 | [ 0x03443465, 0x36564555, 0x57887898, 0x79898898, 0x688988A9, 0x8A998998, 0x89AA99BA, 0xABAAAAA9 ], |
| 535 | [ 0x03344556, 0x36454655, 0x57787899, 0x79898988, 0x68898999, 0x8A898998, 0x8AAAAABA, 0x9BABABA9 ], |
| 536 | [ 0x50536374, 0x86859685, 0x53858596, 0xA8A8B8A6, 0x648696A7, 0xB9A8B9B7, 0x759797B7, 0xB9B9CAC8 ], |
| 537 | [ 0x02324465, 0x78768886, 0x668698A8, 0xBBB9CBB9, 0x6797A9B9, 0xCCB9CCB9, 0x7897BBC9, 0xCCCACCCA ], |
| 538 | [ 0x02354366, 0x46666665, 0x458987BA, 0x9AAABAA9, 0x58AB99CA, 0xACBBBABA, 0x78BCA9CB, 0xCCCCCBCB ], |
| 539 | [ 0x01453466, 0x66766675, 0x79AAA9AA, 0xAAAAAAAA, 0x7AAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA, 0xAAAAAAAA ], |
| 540 | ], [ |
| 541 | [ 0x807473D6, 0xC9C9E9E7, 0x52B6A5E7, 0xDBEAEAE8, 0x53B6B6E8, 0xEBEAEBE9, 0x63C5B5E7, 0xEBEAEAE7 ], |
| 542 | [ 0x01435495, 0x99999999, 0x66989999, 0x99999999, 0x57989999, 0x99999999, 0x97979999, 0x999999AA ], |
| 543 | [ 0x01445487, 0x77778787, 0x55888888, 0x88999999, 0x57999999, 0x99999999, 0x77999999, 0x99999999 ], |
| 544 | [ 0x03675677, 0x76666666, 0x66666666, 0x66666666, 0x66666666, 0x66666666, 0x66777777, 0x77666677 ], |
| 545 | [ 0x02343566, 0x36575777, 0x588988AA, 0x8A9A9AAA, 0x588989BA, 0x8A9BAABA, 0x7AA9AABB, 0xACBCBCCB ], |
| 546 | [ 0x03343556, 0x36464666, 0x577888A9, 0x8A8A9AAA, 0x588989AA, 0x8A9A9BBA, 0x7A9AAACB, 0xABABBCBA ], |
| 547 | [ 0x03343466, 0x36564666, 0x578978A9, 0x7A9A8AA9, 0x578979AA, 0x8A9B99AA, 0x79AA9ABB, 0x9BABAABA ], |
| 548 | [ 0x03343556, 0x36464666, 0x588979AA, 0x7B8A8A9A, 0x588989AA, 0x8A9A9AAA, 0x7AAB9ABB, 0x9BABABBA ], |
| 549 | [ 0x50535385, 0x879797A7, 0x438686A8, 0xA9B9BAD9, 0x438686B8, 0xB9CACBDA, 0x649797C9, 0xBACADBDA ], |
| 550 | [ 0x01334677, 0x78778887, 0x5797AAAB, 0xBBBBBBBB, 0x6898BBBB, 0xBBBAAAAA, 0x8AA9AAAA, 0xAAAAAAAA ], |
| 551 | [ 0x01464488, 0x46566677, 0x57AAAAAA, 0xAAAAAAAA, 0x5AAAAAAA, 0xAAAAAAAA, 0x8AAAAAAA, 0xAAAAAAAA ], |
| 552 | [ 0x02453466, 0x67777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777777, 0x77777788 ], |
| 553 | ] |
| 554 | ]; |
| 555 | |
| 556 | struct CoeffsCBDesc { |
| 557 | l0_tab: [[u32; 108]; 2], |
| 558 | l12_tab: [[u32; 14]; 2], |
| 559 | l3_tab: [[u32; 14]; 2], |
| 560 | esc_tab: [u32; 4], |
| 561 | } |
| 562 | const RV60_INTRA_COEFFS_CB_DESC: [CoeffsCBDesc; NUM_INTRA_SETS] = [ |
| 563 | CoeffsCBDesc { |
| 564 | l0_tab: [ |
| 565 | [ |
| 566 | 0xF6464655, 0x68677866, 0x9C9BAB99, 0x58576766, 0x8A788977, 0xBDBCCCA9, 0x8B8A9A88, 0xBD9ABB98, |
| 567 | 0xBEBCCDA9, 0x58676766, 0x7A888877, 0xBDBCBCA9, 0x79788876, 0x9B999987, 0xDECCCCA9, 0xACAABB98, |
| 568 | 0xCEABCCA9, 0xEECCDEB9, 0x8B9A8A88, 0xBDBBAB98, 0xBEBDBCA9, 0xADABAB98, 0xCEBCBBA9, 0xEEDDCDB9, |
| 569 | 0xBEBCBCA9, 0xDECCCDA9, 0xDECDDDA8, 0x47566766, 0x79788877, 0xBDABBCA9, 0x59677876, 0x8A899987, |
| 570 | 0xCEBCCCA9, 0x9C9AAB98, 0xBDAABC98, 0xDEBCDDB9, 0x69787876, 0x8A898987, 0xCECCCCA9, 0x7A898977, |
| 571 | 0x9B9A9A87, 0xDECCCDBA, 0xADAABB98, 0xBEABBC98, 0xEECCDEB9, 0x9CAB9A98, 0xBDBCAB99, 0xDECDCCB9, |
| 572 | 0xADBBAB98, 0xBEBCBBA9, 0xEEDDCCA9, 0xCEBCCCA9, 0xDECCCCA9, 0xEECCCD98, 0x69798987, 0x9B9AAA98, |
| 573 | 0xBEBDCDBA, 0x8B899A88, 0xACAAAB98, 0xEEDDDDCA, 0xAD9BAB98, 0xCEBBCCA9, 0xDECDDEB9, 0x8B899A88, |
| 574 | 0xACAAAB98, 0xEEDDDDCA, 0x9B9A9A98, 0xADABABA9, 0xEEDDDEBA, 0xBEABBCA9, 0xCEBCCCA9, 0xEECDEEB9, |
| 575 | 0xADABAB99, 0xCECCBCA9, 0xDEDECDBA, 0xBEBCACA9, 0xCECCBCA9, 0xEEDECDB9, 0xCEBCCCA9, 0xDECCCDA9, |
| 576 | 0xEECCCD98, 0x9C9AAA98, 0xBDBBBB98, 0xEEDDDDB9, 0x9C9A9A98, 0xBDBBBB98, 0xEEDDDDB9, 0xADAAAB97, |
| 577 | 0xCEABBB98, 0xEECCCD97, 0x9C9AAB98, 0xBDABBB98, 0xEEDDDDB9, 0x9C9AAB98, 0xBEABBB98, 0xEEDDDDB9, |
| 578 | 0xADAAAB97, 0xBEABBB97, 0xEEBBCC97, 0xADABAB98, 0xCEBBBB98, 0xEECDCC98, 0xADABAB98, 0xBEBBAB98, |
| 579 | 0xEECCBC97, 0xBDAAAB87, 0xAD9AAB86, 0xCE9A9A75 |
| 580 | ], [ |
| 581 | 0xF6374878, 0x59798B9A, 0xDEDDEEDC, 0x49597A89, 0x8B8AACAA, 0xEEDEEEDD, 0x9D9BBDAB, 0xBEACDEBC, |
| 582 | 0xEEDEEEDD, 0x49796A89, 0x8B9A9CAA, 0xEEDEEEDD, 0x7B8A9B9A, 0x9DABADAB, 0xEEDEEEDD, 0xBEACCEBC, |
| 583 | 0xCEBDDECC, 0xEEEEEEDD, 0x9DBC9CAB, 0xBECDBDBC, 0xEEEEEEDD, 0xBEBDBDBC, 0xCECDBECC, 0xEEEEEEDD, |
| 584 | 0xDEDEDECC, 0xEEDEDECD, 0xEEEEEEDC, 0x17485979, 0x6A798B9A, 0xEEDDDECC, 0x49697A89, 0x8B8AACAA, |
| 585 | 0xEEDDEEDD, 0x9D8BBDAB, 0xBEACCEBC, 0xEEDEEEDD, 0x49797A89, 0x8C9B9CAA, 0xEEDEEEDD, 0x6B8A9B9A, |
| 586 | 0x9D9BACAB, 0xEEDEEEDD, 0xAEACCEBB, 0xCEBDDEBC, 0xEEDEEEDD, 0x9DBC9CAB, 0xBECDBDBC, 0xEEEEDEDD, |
| 587 | 0xAEBCBDBB, 0xCECDBDBC, 0xEEEEDEDD, 0xDEDEDECC, 0xDEDEDECC, 0xEEEEEECC, 0x39697A89, 0x8B9B9CAA, |
| 588 | 0xEEDEEEDD, 0x6B7A9B9A, 0x9C9BBDAB, 0xEEEEEEDD, 0x9E9CBEBB, 0xBEBCDECC, 0xEEEEEEDD, 0x6B8A8B9A, |
| 589 | 0x9DABACAB, 0xEEEEEEDD, 0x7C9B9CAB, 0x9DACBDBB, 0xEEEEEEDD, 0xAEACCEBC, 0xBEBDDECC, 0xEEDEEEDD, |
| 590 | 0x9EBC9DBB, 0xBECDBDBC, 0xEEEEEEDD, 0xAEBDBDBC, 0xBECEBECC, 0xEEEEDEDD, 0xDEDEDECC, 0xDEDEDECC, |
| 591 | 0xEEDEDECC, 0x6A7A8B99, 0x9C9BACAA, 0xEEDDDECC, 0x7B8A9B9A, 0x9DABACAB, 0xEEDDDECC, 0x9D9BAC9A, |
| 592 | 0xBEACBDAB, 0xEEDDDEBB, 0x7B8A8B9A, 0x9DABACAB, 0xEEDDDECC, 0x7C9B9C9A, 0x9DABADAB, 0xEEDEDECC, |
| 593 | 0x9D9BADAA, 0xAEACBDAA, 0xEECDDEBB, 0x8D9B9C9A, 0xBEBCACAA, 0xEEDECDBB, 0x9DAC9C9A, 0xAEBCACAA, |
| 594 | 0xDEDECDBB, 0xAEACAC99, 0xAEACAC99, 0xCEABAB98 |
| 595 | ]], |
| 596 | l12_tab: [ |
| 597 | [ |
| 598 | 0xF3624857, 0x82484587, 0x89578689, 0x89924735, 0x86794585, 0x69789679, 0x78989957, 0x867A7896, |
| 599 | 0x7A78A89A, 0x79989A99, 0x97897897, 0x8878A789, 0x78888988, 0x87760000 |
| 600 | ], [ |
| 601 | 0xF3915968, 0xB25957A8, 0x9B78B89C, 0xBBC15936, 0xA79B46A5, 0x7A89C79B, 0x9ACBBC57, 0xB68B8AC6, |
| 602 | 0x8B79C9AC, 0x9ACAACBB, 0xC79B89C9, 0xAB8AC8AC, 0x9AB9ACAA, 0xCAAB0000 |
| 603 | ]], |
| 604 | l3_tab: [ |
| 605 | [ |
| 606 | 0xF3524747, 0x83574687, 0x8A588789, 0x89914735, 0x86894685, 0x6988A789, 0x89A9AA47, 0x868A79A6, |
| 607 | 0x8A78A9AB, 0x7AA9AB9A, 0xA79A89A9, 0x9A89A99A, 0x99A9AA9A, 0xA9980000 |
| 608 | ], [ |
| 609 | 0xF4B16C7A, 0xE37C68CA, 0xBE9BEABE, 0xCCE06B37, 0xC8BE58C7, 0x9CABEABE, 0xACECDD68, 0xC79DACE8, |
| 610 | 0xAD9ADBCE, 0xBCEBCEDD, 0xEAACABDC, 0xDEBBDBCD, 0xCDECDECD, 0xEDDD0000 |
| 611 | ]], |
| 612 | esc_tab: [ 0x01334555, 0x66777788, 0x88999AAA, 0x999BCEED ], |
| 613 | }, |
| 614 | CoeffsCBDesc { |
| 615 | l0_tab: [ |
| 616 | [ |
| 617 | 0xF5364655, 0x58687877, 0xBECDCDBA, 0x48576766, 0x7A798988, 0xDECDDDBB, 0x9C8AAB99, 0xBE9BBCA9, |
| 618 | 0xEECCDEBA, 0x48676766, 0x7A898978, 0xDECDCDBA, 0x6A797977, 0x8B9A9A88, 0xEECDCDBA, 0xADABBCA9, |
| 619 | 0xBEACCDAA, 0xEECDDEBA, 0x9CAB8A99, 0xBDBC9BA9, 0xDEDECCBA, 0xBDBCAB99, 0xBEBDACAA, 0xEEDECDB9, |
| 620 | 0xCECDCDA9, 0xDECDCDA9, 0xEECDCDA8, 0x37575766, 0x79798977, 0xDECDCDBA, 0x59687877, 0x8B8A9A88, |
| 621 | 0xEECDDDBA, 0x9C9AAC99, 0xBEABBCA9, 0xEECDDEBA, 0x59786877, 0x8B8A8A88, 0xEEDDCDBA, 0x7A898988, |
| 622 | 0x9B9A9A99, 0xEECDCDBA, 0xADABBC99, 0xBEABBDA9, 0xEEBDDEA9, 0x9DAB9A99, 0xBEBCABA9, 0xEEDECCBA, |
| 623 | 0xADBCABA9, 0xBEBCACA9, 0xEEDEBCA9, 0xCECDCDA9, 0xDEBDBDA9, 0xEECDCD98, 0x6A798A88, 0x9C9BAB99, |
| 624 | 0xEEDEDECB, 0x7B8A8A99, 0xACABABA9, 0xEEDEEECB, 0xAD9BBCA9, 0xBEACCDAA, 0xEECDEEBA, 0x8B9A8A99, |
| 625 | 0xADABABA9, 0xEEEEDECB, 0x8C9B9B99, 0xADACACAA, 0xEEDEDECB, 0xBEACBCAA, 0xBEACCDAA, 0xEECDDEBA, |
| 626 | 0xAEBCABA9, 0xBECDACAA, 0xEEEECDBA, 0xBEBDACAA, 0xBECDACAA, 0xEEDECDBA, 0xCECDCDA9, 0xCEBDBDA9, |
| 627 | 0xEEBCCD98, 0x9C9A9B99, 0xBEBCBCA9, 0xEEDDDEBA, 0x9C9B9B99, 0xBEABACA9, 0xEEDDDDBA, 0xAD9BAB98, |
| 628 | 0xBEABAC98, 0xEECCCD98, 0x9D9B9B99, 0xBEACBCA9, 0xEEDDDDBA, 0x9D9B9B99, 0xAEACACA9, 0xEEDDDDB9, |
| 629 | 0xAD9BAB98, 0xAE9BAC98, 0xDEACCD98, 0xADAB9B98, 0xBEACAB98, 0xEECDCC98, 0xAEAB9B98, 0xBEACAB98, |
| 630 | 0xDECCBC98, 0xAE9B9B87, 0xAE9B9B87, 0xBE8A9A75 |
| 631 | ], [ |
| 632 | 0xF7484979, 0x6A7A8BAB, 0xDEDEEEEE, 0x39598B9A, 0x8C8BADBC, 0xEEEEEEEE, 0x9E9CBEBD, 0xBEBEDECD, |
| 633 | 0xEEEEEEEE, 0x3A7A6A9A, 0x8C9C9CAC, 0xEEEEEEEE, 0x6B8B9CAC, 0x9DADADBC, 0xEEEEEEDE, 0xAEBECECD, |
| 634 | 0xCEBEDECD, 0xEEEEEEDE, 0x9EBD9DBD, 0xBECEADCD, 0xEEEEDEEE, 0xAECEBECD, 0xBEDEBECD, 0xEEEEDEDE, |
| 635 | 0xDEDEDECD, 0xEEDEDECD, 0xEEEEEEDD, 0x18585A8A, 0x6A8A9BAB, 0xEEEEEEDE, 0x4A6A8B9B, 0x8C9BADBC, |
| 636 | 0xEEEEEEEE, 0x8E8DBEBC, 0xBEADDECD, 0xEEDEEEEE, 0x4A7A6B9B, 0x8C9C9CAC, 0xEEEEEEEE, 0x6C8B9CAC, |
| 637 | 0x8D9DADBC, 0xEEDEEEDE, 0xAEADCECD, 0xBEBEDECD, 0xEEDEEEDE, 0x8EBD8DBC, 0xBECEADCD, 0xEEEEDEDE, |
| 638 | 0xAECEAEBD, 0xBECEAECD, 0xEEEEDEDD, 0xDEDEDECD, 0xDEDEDECD, 0xEEDEDECC, 0x3A6A7B9B, 0x8C9B9CBC, |
| 639 | 0xEEEEEEEE, 0x5B7B8CAB, 0x9DACADBC, 0xEEEEEEEE, 0x8E9DBEBC, 0xBEBEDECD, 0xEEEEEEEE, 0x5B8B7CAB, |
| 640 | 0x9DADADBD, 0xEEEEEEEE, 0x7C9C9DAC, 0x9DADADBD, 0xEEEEEEEE, 0xAEAECECD, 0xBEBEDECD, 0xEEDEEEDD, |
| 641 | 0x9EBE9DBC, 0xBECEAECD, 0xEEEEDEEE, 0xAECEAECD, 0xBECEAECD, 0xEEEEDEDD, 0xCECEDECD, 0xCEDECECD, |
| 642 | 0xEEDEDECC, 0x5B7B8B9B, 0x9D9CACAC, 0xEEDEDECC, 0x6C8C8C9B, 0x9DACADAC, 0xEEDEDECC, 0x8E8C9CAB, |
| 643 | 0xAEADBDAB, 0xEEDEDECB, 0x6C8B8C9B, 0x9DADADAC, 0xEEDEDECC, 0x7C9C9CAB, 0x9DADADAC, 0xEEDEDECC, |
| 644 | 0x8E9CADAB, 0x9E9CADAB, 0xDECDDEBB, 0x8D9C8C9B, 0xAEBDADAB, 0xEEDECECB, 0x8EAD9CAB, 0x9EAD9CAB, |
| 645 | 0xDEDEBDBB, 0x9EACAC9A, 0x9DAC9C9A, 0xBDABAB99 |
| 646 | ]], |
| 647 | l12_tab: [ |
| 648 | [ |
| 649 | 0xF3824968, 0x92494597, 0x89679789, 0x99924935, 0x96793595, 0x69789689, 0x78989857, 0xA67A78A6, |
| 650 | 0x7A78A889, 0x89A89999, 0x87897897, 0x78789789, 0x77878878, 0x87760000 |
| 651 | ], [ |
| 652 | 0xF4B26C7A, 0xD26C58DA, 0xBD8AEABE, 0xCDE05C37, 0xC8AD47C6, 0x8CAAD9BD, 0xABECCE58, 0xC79D9BD7, |
| 653 | 0xAD8ADABE, 0xACEBCECC, 0xE8AC9ACA, 0xBD9AD9BD, 0xABDACEBC, 0xDBCD0000 |
| 654 | ]], |
| 655 | l3_tab: [ |
| 656 | [ |
| 657 | 0xF3824968, 0xA24946A8, 0x9B78A89A, 0x9AA14936, 0xA78A36A5, 0x7A89A89A, 0x89A99957, 0xA68B89B6, |
| 658 | 0x8B78B99B, 0x89B9ABAA, 0xA79A89A8, 0x9989A89A, 0x89999999, 0x98880000 |
| 659 | ], [ |
| 660 | 0xF4B16C9B, 0xE36D58DA, 0xBE9BEABE, 0xCCE05B47, 0xD9BE47C7, 0x8CABEABE, 0xABECCE68, 0xB8ADBCE8, |
| 661 | 0x9D9ACCCE, 0xBCEBDEDE, 0xEAABBBCD, 0xEEBCDBCD, 0xDDECDEDD, 0xEDDE0000 |
| 662 | ]], |
| 663 | esc_tab: [ 0x02233455, 0x56667788, 0x88999AAA, 0x999BDDDD ], |
| 664 | }, |
| 665 | CoeffsCBDesc { |
| 666 | l0_tab: [ |
| 667 | [ |
| 668 | 0xF8484878, 0x6A7A7A89, 0xDECDCDBA, 0x4A597A89, |
| 669 | 0x7B8A8B99, 0xDECDCDBA, 0x8E8BAD99, 0xAE8BBD9A, |
| 670 | 0xDEBCCDAA, 0x4A7A5989, 0x7B8B8A99, 0xDECDCDBA, |
| 671 | 0x6C7B8B89, 0x8C8B8B99, 0xDECDBDBA, 0xAE9CBD9A, |
| 672 | 0xAE9CBD9A, 0xDEBCCDA9, 0x8EAC7B99, 0x9EBD8B9A, |
| 673 | 0xDECEBCAA, 0xAEAD9C99, 0xAEBD9C9A, 0xDECDBCA9, |
| 674 | 0xCEBDBDA9, 0xCEBDBD99, 0xEEBCBC98, 0x29595989, |
| 675 | 0x7B8A8A99, 0xDECDCDBA, 0x4B6A7A89, 0x7C8B8B99, |
| 676 | 0xDECDCDBA, 0x8E8BAC99, 0xAE8BBD9A, 0xDEBCCEA9, |
| 677 | 0x5B7A6A89, 0x7C9B8A99, 0xDECDCCBA, 0x6C8B8B99, |
| 678 | 0x8C8B8B99, 0xDECDCDBA, 0x9E9CAD99, 0xAE9BBD99, |
| 679 | 0xDEACCDA9, 0x8EAC7B99, 0xAEBD8B99, 0xDECEBCA9, |
| 680 | 0x9EAD9C99, 0xAEAD9C9A, 0xDECDACA9, 0xCEBDBD99, |
| 681 | 0xCEACBC99, 0xDEACBC98, 0x5C7B7B99, 0x9D9B9BAA, |
| 682 | 0xEEDDDDBB, 0x6C7B8B9A, 0x9D9BACAA, 0xEEDDDDBB, |
| 683 | 0x9E8CAC99, 0xAE9CBDAA, 0xEEBDDEAA, 0x6C8B8B9A, |
| 684 | 0x9D9C9CAA, 0xEEDDDDBB, 0x7D8B8C9A, 0x9D9C9CAA, |
| 685 | 0xEECDCDBA, 0x9E9CAD9A, 0x9E8CBDAA, 0xDEACCEA9, |
| 686 | 0x9EAC8B99, 0xAEBD9CAA, 0xDEDEBCAA, 0x9EAD9C9A, |
| 687 | 0x9EBD9CAA, 0xDECEACA9, 0xBEBDBD99, 0xAEACAC99, |
| 688 | 0xCEABAC88, 0x8D9C9C99, 0xAEACAC9A, 0xEEDDCDB9, |
| 689 | 0x8D9C8C99, 0xAEACAC99, 0xEEDDCDB9, 0x9D8B9B88, |
| 690 | 0xAE9CAC88, 0xDEBCCC98, 0x8E8C9C99, 0xAEACACAA, |
| 691 | 0xEEDDCDB9, 0x7E8C8C99, 0x9EAC9C9A, 0xEECDCDA9, |
| 692 | 0x8E8B9B88, 0x9E8B9C88, 0xCEABBC98, 0x9E9B8B88, |
| 693 | 0xAE9C9C88, 0xDECCBC98, 0x9E9B8B88, 0x9E9B8B88, |
| 694 | 0xDEBCAB98, 0x9E8B9B77, 0x8D8A8A77, 0x9D798965, |
| 695 | ], [ |
| 696 | 0xFA5C5BAD, 0x7CAD9DCE, 0xEEEEEEEE, 0x4D7D9EBD, |
| 697 | 0x8EAEBEDE, 0xEEEEEEEE, 0x9EAEDEDE, 0xCECEEEEE, |
| 698 | 0xEEEEEEEE, 0x3D9E7DBE, 0x8EBEAEDE, 0xEEEEEEEE, |
| 699 | 0x7EAEAECE, 0x9EBEBEDE, 0xEEEEEEEE, 0xBECEDEDE, |
| 700 | 0xCECEEEEE, 0xEEEEEEEE, 0x9EDEAEDE, 0xBEEEBEEE, |
| 701 | 0xEEEEEEEE, 0xBEDEBEDE, 0xCEEECEEE, 0xEEEEEEEE, |
| 702 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x0B6C6CBC, |
| 703 | 0x7CAD9DCE, 0xEEEEEEEE, 0x4D7D9EBD, 0x8EAEBEDE, |
| 704 | 0xEEEEEEEE, 0x9E9ECECE, 0xCEBEEEEE, 0xEEEEEEEE, |
| 705 | 0x4D9E7DBD, 0x8EBEAEDE, 0xEEEEEEEE, 0x6EAE9ECE, |
| 706 | 0x8EBEAECE, 0xEEEEEEEE, 0xBEBEDEDE, 0xCECEDEDE, |
| 707 | 0xEEEEEEEE, 0x9ECE9EDE, 0xBEEEBEEE, 0xEEEEEEEE, |
| 708 | 0xAEDEBEDE, 0xBEEEBEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 709 | 0xEEEEEEEE, 0xEEEEEEEE, 0x3D8D7DBD, 0x8DAEAEDE, |
| 710 | 0xEEEEEEEE, 0x5E8E9ECD, 0x9EBEBEDE, 0xEEEEEEEE, |
| 711 | 0x9E9ECECE, 0xCECEEEEE, 0xEEEEEEEE, 0x5E9E8ECE, |
| 712 | 0x9ECEBEDE, 0xEEEEEEEE, 0x7EAEAECE, 0x9EBEBEDE, |
| 713 | 0xEEEEEEEE, 0xAEBEDEDE, 0xBEBEDEDE, 0xEEEEEEEE, |
| 714 | 0x8ECE9ECE, 0xBEEEBEDE, 0xEEEEEEEE, 0xAEDEBEDE, |
| 715 | 0xBEDEBEDE, 0xEEEEEEEE, 0xDEEEEEEE, 0xDEEEEEEE, |
| 716 | 0xEEEEEEEE, 0x5D9E8EBD, 0x9EBEAECD, 0xEEEEEEEE, |
| 717 | 0x6E9E9EBD, 0xAEBEBECE, 0xEEEEEEEE, 0x8E9EAEBD, |
| 718 | 0xBEBECECD, 0xEEEEEEDE, 0x6E9E9EBD, 0xAEBEAECE, |
| 719 | 0xEEEEEEEE, 0x7EAE9EBD, 0x9EBEAECD, 0xEEEEEEEE, |
| 720 | 0x8E9EBEBD, 0xAEAEBEBD, 0xEEDEEEDE, 0x8EAE9EBD, |
| 721 | 0xBECEBECD, 0xEEEEEEDE, 0x8EBE9EBD, 0xAEBEAEBD, |
| 722 | 0xEEEEDEDE, 0xAEBEBEAC, 0xAEBDBDBC, 0xCECDBDBC, |
| 723 | ]], |
| 724 | l12_tab: [ |
| 725 | [ |
| 726 | 0xF4925967, 0x93595697, 0x79789889, 0x88915935, 0x96794695, 0x69779789, 0x88988846, 0x95796795, |
| 727 | 0x7A67A779, 0x78988988, 0x86796796, 0x78689679, 0x77878878, 0x87760000 |
| 728 | ], [ |
| 729 | 0xF5D26E7A, 0xE27D68E9, 0xBE8BEACE, 0xCDD05C37, 0xD7AE48E6, 0x8D9BE9BE, 0xABEEEE48, 0xD69D9BE6, |
| 730 | 0x9E7AEACE, 0xACEBCEED, 0xE7AD8AEA, 0xCE8BE9BE, 0xBCEBCEBC, 0xEDCE0000 |
| 731 | ]], |
| 732 | l3_tab: [ |
| 733 | [ |
| 734 | 0xF4926968, 0xA26946A7, 0x8A78A78A, 0x89915936, 0x968A3695, 0x7978A78A, 0x78A89946, 0x957A78A5, |
| 735 | 0x7A68A89A, 0x89A89A99, 0x96797898, 0x99789789, 0x89989989, 0x98880000 |
| 736 | ], [ |
| 737 | 0xF3B27C9D, 0xD26D57C9, 0xBC8BD9CD, 0xBCD04B48, 0xCACD47B6, 0x8DBBD9DD, 0xABCDBD57, 0x989CDCC7, |
| 738 | 0xAC9BCCDD, 0xBBDBDDDD, 0xD99BDDDD, 0xDDBBCBAD, 0xDDDDDDCD, 0xDDDD0000 |
| 739 | ]], |
| 740 | esc_tab: [ 0x01244556, 0x6778999A, 0xAABBCCCC, 0xCCCEEEFF ], |
| 741 | }, |
| 742 | CoeffsCBDesc { |
| 743 | l0_tab: [ |
| 744 | [ |
| 745 | 0xF8494978, 0x6A7A7A89, 0xDECDCDBB, 0x4B597A89, |
| 746 | 0x7C7A8B99, 0xDECDCDBB, 0x8E8BAD9A, 0xAE8BBDAA, |
| 747 | 0xDEBCCEAA, 0x3A7A5989, 0x7B8B7A99, 0xDECDCDBB, |
| 748 | 0x6C8A8B89, 0x7C8B8B99, 0xDECDBDBA, 0xAE9CBD9A, |
| 749 | 0xAE9CBDAA, 0xEEBCCEAA, 0x8EAD8B99, 0x9EBD8B9A, |
| 750 | 0xDECEBCAA, 0xAEBD9C9A, 0xAEBD9CAA, 0xDECDBCAA, |
| 751 | 0xCEBDBDAA, 0xCEBDBDA9, 0xEEBDBDA9, 0x2A595989, |
| 752 | 0x7B8A8A99, 0xEECDCCBB, 0x4B6A7A89, 0x7C8B8B99, |
| 753 | 0xEECDCDBB, 0x8E8BAD99, 0xAE8BBD9A, 0xDEBCCEAA, |
| 754 | 0x4B7A6A89, 0x7C9B8B99, 0xEECDCCBB, 0x6C8B7B89, |
| 755 | 0x7C8B8B99, 0xDEBDCDBA, 0x9E9CAD9A, 0xAE8BBD9A, |
| 756 | 0xDEACCDAA, 0x8EAC7B99, 0xAEBD8B9A, 0xDECEBCAA, |
| 757 | 0xAEAD9C9A, 0xAEAD8C9A, 0xDECDACAA, 0xCEBDBDA9, |
| 758 | 0xBEBDBD99, 0xDEACBC98, 0x5C7B7B99, 0x9D9B9BAA, |
| 759 | 0xEEDDDDBB, 0x6C7B8B9A, 0x9D9B9CAA, 0xEEDDDEBB, |
| 760 | 0x9E8CAC9A, 0xAE9CBDAA, 0xEECDDEBA, 0x6D8B8B9A, |
| 761 | 0x9D9C9CAA, 0xEEDDDDCB, 0x7D8B8C9A, 0x8D9C9CAA, |
| 762 | 0xEECECEBB, 0x9E9CAD9A, 0x9E8CBDAA, 0xDEACCEAA, |
| 763 | 0x9EAD8C9A, 0xAEBD9CAA, 0xEEDECDBA, 0x9EBD9CAA, |
| 764 | 0x9EBD9C9A, 0xDECEBCAA, 0xBEBDBDA9, 0xAEACAD99, |
| 765 | 0xCEACAC98, 0x7E9C9C9A, 0xAEACACAA, 0xEEDDCDBA, |
| 766 | 0x8E9C8C9A, 0xAEACACAA, 0xEEDDDDBA, 0x9E8B9C89, |
| 767 | 0xBE9CAC99, 0xEECCCD99, 0x8E9C9C9A, 0xAEACACAA, |
| 768 | 0xEEDDDDBA, 0x7E9C8C9A, 0x9EAC9C9A, 0xEECDDDBA, |
| 769 | 0x8E8B9C89, 0x9E8B9C89, 0xDEABBC98, 0x9E9C8C89, |
| 770 | 0xAEAC9C99, 0xDECDBC98, 0x9E9C8C89, 0x9EAC8C99, |
| 771 | 0xDECCAC98, 0x9E9B9B77, 0x8D8A8B77, 0x9D898A76, |
| 772 | ], [ |
| 773 | 0xFA6C6CBD, 0x7CAEAEDE, 0xEEEEEEEE, 0x3D7E9ECE, |
| 774 | 0x8EAEBEDE, 0xEEEEEEEE, 0x9EAEDEEE, 0xCECEEEEE, |
| 775 | 0xEEEEEEEE, 0x3D9E7DCE, 0x8DCEAEDE, 0xEEEEEEEE, |
| 776 | 0x7EAEAECE, 0x9EBEBEEE, 0xEEEEEEEE, 0xBECEEEEE, |
| 777 | 0xDEDEEEEE, 0xEEEEEEEE, 0x9EDEAEDE, 0xCEEECEEE, |
| 778 | 0xEEEEEEEE, 0xBEEECEEE, 0xDEEECEEE, 0xEEEEEEEE, |
| 779 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x0B6C6CBD, |
| 780 | 0x7CAEADDE, 0xEEEEEEEE, 0x4E7E9ECE, 0x8EAEBEDE, |
| 781 | 0xEEEEEEEE, 0x9EAEDEEE, 0xCECEEEEE, 0xEEEEEEEE, |
| 782 | 0x4E9E7DCE, 0x8ECEAEDE, 0xEEEEEEEE, 0x6EAEAECE, |
| 783 | 0x8EBEBEDE, 0xEEEEEEEE, 0xBECEDEDE, 0xCECEEEEE, |
| 784 | 0xEEEEEEEE, 0x9EDE9EDE, 0xCEEECEEE, 0xEEEEEEEE, |
| 785 | 0xBEDEBEEE, 0xCEEECEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 786 | 0xEEEEEEEE, 0xEEEEEEEE, 0x3D8E8ECE, 0x8DBEAEDE, |
| 787 | 0xEEEEEEEE, 0x5E8E9ECE, 0x9EBECEDE, 0xEEEEEEEE, |
| 788 | 0x9EAECEDE, 0xCECEEEEE, 0xEEEEEEEE, 0x5E9E8ECE, |
| 789 | 0x9ECEBEDE, 0xEEEEEEEE, 0x7EAEAECE, 0x9ECEBEDE, |
| 790 | 0xEEEEEEEE, 0xAEBEDEDE, 0xBEBEEEEE, 0xEEEEEEEE, |
| 791 | 0x8ECE9EDE, 0xCEEECEEE, 0xEEEEEEEE, 0xAEDEBEEE, |
| 792 | 0xBEEEBEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xDEEEEEEE, |
| 793 | 0xEEEEEEEE, 0x5E9E8EBE, 0x9EBEAECE, 0xEEEEEEEE, |
| 794 | 0x6E9E9EBE, 0xAEBEBECE, 0xEEEEEEEE, 0x8E9EBEBE, |
| 795 | 0xBEBECECE, 0xEEEEEEEE, 0x6E9E9EBE, 0xAEBEBECE, |
| 796 | 0xEEEEEEEE, 0x7EAE9EBE, 0x9EBEBECE, 0xEEEEEEEE, |
| 797 | 0x9EAEBEBE, 0xAEAECECE, 0xEEEEEEEE, 0x8EBE9EBE, |
| 798 | 0xBEDEBECE, 0xEEEEEEEE, 0x9EBEAECE, 0xAECEAECE, |
| 799 | 0xEEEEDEEE, 0xAEBEBEBD, 0xAEBEBEBD, 0xDECECECD, |
| 800 | ]], |
| 801 | l12_tab: [ |
| 802 | [ |
| 803 | 0xF4925967, 0xA3595697, 0x89789889, 0x99915935, 0x96793695, 0x69779789, 0x78998946, 0x957A68A5, |
| 804 | 0x7A67A78A, 0x78A88A98, 0x96796897, 0x89689779, 0x77878978, 0x97770000 |
| 805 | ], [ |
| 806 | 0xF5D26D7A, 0xD27D68D9, 0xBD8BDACD, 0xDDD05C37, 0xD8AD47D6, 0x8DABD8BD, 0xBCDDDD47, 0xD69D9CD6, |
| 807 | 0x9D8ADBBD, 0xACDBDDDD, 0xD7AD8BDA, 0xDD8BD9BD, 0xCCDBDDCD, 0xDDCD0000 |
| 808 | ]], |
| 809 | l3_tab: [ |
| 810 | [ |
| 811 | 0xF4925A68, 0xB25A46A7, 0x8A78A78A, 0x99A14936, 0x978B36A5, 0x6A78A78A, 0x88A99A46, 0x957A89B5, |
| 812 | 0x7A68A89B, 0x89B89B9A, 0xA78978A9, 0x9A78A89A, 0x99A99A99, 0xA9990000 |
| 813 | ], [ |
| 814 | 0xF3D26DAE, 0xE26E58BA, 0xBEADDBDD, 0xDDD04848, 0xDADD47D6, 0x8DBDDDBD, 0xDDDBDD56, 0x979DBBD8, |
| 815 | 0xADABDDDD, 0xBDDADDDD, 0xDB9BBBDD, 0xDDDBDDDD, 0xDDDDDDDD, 0xDDDD0000 |
| 816 | ]], |
| 817 | esc_tab: [ 0x01234577, 0x8899ABBB, 0xCCDDDEEE, 0xEEEEEFFE ], |
| 818 | }, |
| 819 | CoeffsCBDesc { |
| 820 | l0_tab: [ |
| 821 | [ |
| 822 | 0xF8494989, 0x6A7A7A9A, 0xEEDEDDCC, 0x3B5A7A89, |
| 823 | 0x7C8B8B9A, 0xEECDDECC, 0x9E8CBDAB, 0xAE9CBEAB, |
| 824 | 0xEECDDECC, 0x3A7A5A89, 0x7B8B8A9A, 0xEEDEDDCC, |
| 825 | 0x6C8B8B9A, 0x7C8B8B9A, 0xDECECDBC, 0xAEADBEAB, |
| 826 | 0xBE9DBEAB, 0xEECDDECC, 0x8EBD8CAA, 0xAECE9CAB, |
| 827 | 0xEEEECDCC, 0xAEBD9DAB, 0xBECEADAB, 0xEEEECDBB, |
| 828 | 0xDECECEBB, 0xDECECEBB, 0xEEDEDEBB, 0x1A5A5989, |
| 829 | 0x7B8B8A9A, 0xEEDDDDCC, 0x4B6A7A89, 0x7C8B9B9A, |
| 830 | 0xEECDDECC, 0x8E8CAD9A, 0xAE9CBDAB, 0xEECDEECB, |
| 831 | 0x4B7B6A89, 0x7C9B8B9A, 0xEEDECDCC, 0x6C8B8B9A, |
| 832 | 0x7C8B8B9A, 0xEECDCEBC, 0xAE9DBDAB, 0xAE9CBDAB, |
| 833 | 0xEEBDDEBB, 0x8EBD7C9A, 0xAEBE9CAB, 0xEEEECDCB, |
| 834 | 0xAEBD9DAB, 0xAEBE9CAB, 0xEEDEBDBB, 0xCECECEBB, |
| 835 | 0xCEBDCEBB, 0xEECDCDBA, 0x5C7B7B9A, 0x9D9C9CAB, |
| 836 | 0xEEEEDECC, 0x6D7C8C9A, 0x9E9CACAB, 0xEEDEEEDC, |
| 837 | 0x9E8CADAB, 0xBEADCEBB, 0xEEDEEECC, 0x6D8C8C9A, |
| 838 | 0x9DAD9CAB, 0xEEEEDECC, 0x7D9C8CAB, 0x8E9C9CAB, |
| 839 | 0xEEDEDECC, 0x9E9DBDAB, 0x9E8DBDAB, 0xEEBDEECB, |
| 840 | 0x9EAD8CAA, 0xBECEADAB, 0xEEEEDECC, 0xAEBE9DAB, |
| 841 | 0xAEBE9CAB, 0xEEEECDCB, 0xCECECEBB, 0xBEBDBDBB, |
| 842 | 0xCEBCBDAA, 0x7E9D9DAB, 0xAEBDADAB, 0xEEEEDECB, |
| 843 | 0x8E9D9CAB, 0xAEADADAB, 0xEEEEEECB, 0x9E9CAC9A, |
| 844 | 0xBEADADAA, 0xEEDDDEBA, 0x8E9D9DAB, 0xBEADADAB, |
| 845 | 0xEEEEEECB, 0x8E9D9DAB, 0xAEADADAB, 0xEEDEDECB, |
| 846 | 0x8E8CAC9A, 0xAE8CAD9A, 0xEEBDCDBA, 0x9EAC9D9A, |
| 847 | 0xBEBDADAA, 0xEEDEDDBA, 0x9EAD9D9A, 0xAEAD9D9A, |
| 848 | 0xEEDDCDBA, 0x9E9CAC89, 0x9E9B9C99, 0xBEAAAB98, |
| 849 | ], [ |
| 850 | 0xFB6D6DCD, 0x7CADAEDE, 0xEEDDDDDD, 0x4D7DADDD, |
| 851 | 0x9DBDDDDD, 0xDDDDDDDD, 0xADADDDDD, 0xCDDDDDDD, |
| 852 | 0xDDDDDEEE, 0x3EAE7EDE, 0x9ECEBEEE, 0xEEEEEEEE, |
| 853 | 0x7EBEBECE, 0x9ECECEEE, 0xEEEEEEEE, 0xCEDEEEEE, |
| 854 | 0xDEDEEEEE, 0xEEEEEEEE, 0x9EEEAEEE, 0xDEEECEEE, |
| 855 | 0xEEEEEEEE, 0xCEEECEEE, 0xDEEEDEEE, 0xEEEEEEEE, |
| 856 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x0C7D6ECE, |
| 857 | 0x7CBEAEEE, 0xEEEEEEEE, 0x4E8E9ECE, 0x9EBECEEE, |
| 858 | 0xEEEEEEEE, 0x9EAEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, |
| 859 | 0x4EAE7EDE, 0x9ECEBEEE, 0xEEEEEEEE, 0x7EBEAEDE, |
| 860 | 0x8ECEBEEE, 0xEEEEEEEE, 0xBECEEEEE, 0xCECEEEEE, |
| 861 | 0xEEEEEEEE, 0x9EEEAEEE, 0xCEEECEEE, 0xEEEEEEEE, |
| 862 | 0xBEEECEEE, 0xCEEECEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 863 | 0xEEEEEEEE, 0xEEEEEEEE, 0x2E8E8ECE, 0x8DBEBEDE, |
| 864 | 0xEEEEEEEE, 0x5E9E9EDE, 0xAECEDEEE, 0xEEEEEEEE, |
| 865 | 0x9EAEDEEE, 0xCEDEEEEE, 0xEEEEEEEE, 0x5EAE8ECE, |
| 866 | 0xAEDEBEEE, 0xEEEEEEEE, 0x7EBEAEDE, 0x9ECECEEE, |
| 867 | 0xEEEEEEEE, 0xBECEEEEE, 0xCECEEEEE, 0xEEEEEEEE, |
| 868 | 0x9EEE9EEE, 0xCEEECEEE, 0xEEEEEEEE, 0xBEEEBEEE, |
| 869 | 0xBEEECEEE, 0xEEEEEEEE, 0xDEEEEEEE, 0xDEEEEEEE, |
| 870 | 0xEEEEEEEE, 0x5E9E9ECE, 0x9EBEBEDE, 0xEEEEEEEE, |
| 871 | 0x6E9E9ECE, 0xAECEBEDE, 0xEEEEEEEE, 0x9EAEBECE, |
| 872 | 0xDECECEDE, 0xEEEEEEEE, 0x6EAE9ECE, 0xAECEBEDD, |
| 873 | 0xDDDDDDDD, 0x7DAD9DCD, 0xADCDBDDD, 0xDDDDDDDD, |
| 874 | 0x9DADCDCD, 0xBDBDCDDD, 0xDDDDDDDD, 0x8DBD9DCD, |
| 875 | 0xCDDDBDDD, 0xDDDDDDDD, 0x9DCDADCD, 0xBDCDADDD, |
| 876 | 0xDDDDDDDD, 0xADCDCDCD, 0xBDDDBDCD, 0xDDDDDDDD, |
| 877 | ]], |
| 878 | l12_tab: [ |
| 879 | [ |
| 880 | 0xF5B26B79, 0xC36B57B8, 0x9B89B99B, 0xABC05A36, 0xB78C47B5, 0x7B89B79B, 0x99BAAB57, 0xB68B89C6, |
| 881 | 0x8B68B99C, 0x8AB99CAA, 0xB79B89B8, 0x9B89B89B, 0x99B9AB99, 0xB9AA0000 |
| 882 | ], [ |
| 883 | 0xF5D27E8B, 0xE27E68EA, 0xBE9CDBDE, 0xEEE06B37, 0xC9BC38E7, 0x8EBCE9CE, 0xBDEDED48, 0xC69EABC6, |
| 884 | 0xAE8BEBEE, 0x9CDCCDCE, 0xE8AD9CEA, 0xCD8CEABE, 0xCEECCEBC, 0xDDDD0000 |
| 885 | ]], |
| 886 | l3_tab: [ |
| 887 | [ |
| 888 | 0xF4B26B8A, 0xC26B57B8, 0xAC89C99D, 0xABC05A46, 0xB8AC47A5, 0x7B9AC8AC, 0x9ACBBC57, 0xB78B9BC7, |
| 889 | 0x8B79BABD, 0x9BCABCBC, 0xD89B9ABC, 0xCC9ABABC, 0xBCCBBCBB, 0xDBCC0000 |
| 890 | ], [ |
| 891 | 0xF4D29DDD, 0xD27D57D8, 0xDD8DDDDD, 0xDDD04D48, 0xD7DD38D6, 0xDDDDDDDD, 0xDDDDDD46, 0xD88DDDDD, |
| 892 | 0xDD9DDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDD9DDDDD, 0xEEEEEEEE, 0xDDDD0000 |
| 893 | ]], |
| 894 | esc_tab: [ 0x01234577, 0x8899ABBD, 0xDDDDDDDD, 0xDDDDDEED ], |
| 895 | }, |
| 896 | ]; |
| 897 | const RV60_INTER_COEFFS_CB_DESC: [CoeffsCBDesc; NUM_INTER_SETS] = [ |
| 898 | CoeffsCBDesc { |
| 899 | l0_tab: [ |
| 900 | [ |
| 901 | 0xF5354544, 0x57676765, 0xACAABA97, 0x57566765, |
| 902 | 0x79788876, 0xCDBBCBA8, 0x9B89AA87, 0xBDAABB98, |
| 903 | 0xDECCDDB9, 0x57676765, 0x79888876, 0xCDBBCBA8, |
| 904 | 0x79788876, 0x9B999987, 0xDECBCCA8, 0xBDAABB98, |
| 905 | 0xDEBBCCA8, 0xEEDDDDB9, 0x9B9A9A87, 0xBDBBBB98, |
| 906 | 0xDECCDCA8, 0xBDABBB98, 0xDECBCBA8, 0xEEDDDDB9, |
| 907 | 0xCEBCCCA8, 0xEEDDDDB9, 0xEEDDEDB8, 0x47565765, |
| 908 | 0x79788876, 0xBDBBBBA8, 0x69787876, 0x9B999987, |
| 909 | 0xDEBBCCA8, 0xAC9ABB98, 0xCEBBCCA8, 0xEECCDDB9, |
| 910 | 0x69787876, 0x9B999987, 0xDECCCCA8, 0x8A899987, |
| 911 | 0xACAAAA97, 0xEECCDCB9, 0xCDABCCA8, 0xDEBCCCA8, |
| 912 | 0xEEDDEDB9, 0xACAAAA97, 0xCEBBBBA8, 0xEEDDDCB9, |
| 913 | 0xCEBBBBA8, 0xDECCCCA8, 0xEEDDDDB9, 0xDECCDDB9, |
| 914 | 0xEEDDDDB9, 0xEEDDEDB8, 0x7A898987, 0xACAAAB98, |
| 915 | 0xDECCDDB9, 0x9B9AAA98, 0xCDBBBBA8, 0xEEDDEDB9, |
| 916 | 0xBEABCCA9, 0xDECCDDB9, 0xEEDDEECA, 0x9CAA9A98, |
| 917 | 0xCDBBBBA8, 0xEEDDEDB9, 0xBDABBBA8, 0xCECCCCA9, |
| 918 | 0xEEEDEDCA, 0xDEBCDDB9, 0xEECCDDB9, 0xEEEEEEC9, |
| 919 | 0xBEBCBBA9, 0xDEDDCCB9, 0xEEEEEDC9, 0xDECCCCB9, |
| 920 | 0xEEDDDDB9, 0xEEEEEEC9, 0xEEDDDDB9, 0xEEDDEEB9, |
| 921 | 0xEEEDEEB9, 0xACABABA9, 0xCECCCCB9, 0xEEDDEECA, |
| 922 | 0xBDBBBCA9, 0xDECCDDB9, 0xEEEEEECA, 0xCEBCCDA9, |
| 923 | 0xEECCDDB9, 0xEEDDEEB9, 0xBDBCBCA9, 0xDECDCCB9, |
| 924 | 0xEEEEEECA, 0xCECCCCB9, 0xEEDDDDBA, 0xEEEEEECA, |
| 925 | 0xDECCDDB9, 0xEECDEDB9, 0xEEDDEEB9, 0xCECDBCA9, |
| 926 | 0xEEDDCCB9, 0xEEEEEDB9, 0xDEDDCCB9, 0xEEDDDDB9, |
| 927 | 0xEEEEEDB9, 0xEECDDDA8, 0xEEDDDDA8, 0xEECCDCA7, |
| 928 | ], [ |
| 929 | 0xF5263656, 0x48687978, 0xCECCDDBB, 0x38576978, |
| 930 | 0x7A899A99, 0xEEDDDECB, 0xADABCDAA, 0xCEBCDEBB, |
| 931 | 0xEEEEEEED, 0x48686878, 0x7A899A99, 0xEEDDDECB, |
| 932 | 0x7A899A99, 0xACAAABAA, 0xEEDDEECC, 0xCEBCDEBB, |
| 933 | 0xEEDDEECC, 0xEEEEEEED, 0xBDBCACBA, 0xDECDCDCB, |
| 934 | 0xEEEEEEED, 0xCECDCDBB, 0xEEDDDECC, 0xEEEEEEED, |
| 935 | 0xEEEEEEDD, 0xEEEEEEED, 0xEEEEEEEE, 0x17475867, |
| 936 | 0x69798988, 0xDECCDDCB, 0x59687988, 0x8B9AAB99, |
| 937 | 0xEEDDEECB, 0xBDABCDBA, 0xDECCDECB, 0xEEEEEEED, |
| 938 | 0x59797988, 0x8B9A9B99, 0xEEDDEECC, 0x8B8A9B99, |
| 939 | 0xACABBCAA, 0xEEDDEEDC, 0xDECCDECB, 0xEECDEECC, |
| 940 | 0xEEEEEEED, 0xBEBCACBB, 0xDEDDCDCB, 0xEEEEEEED, |
| 941 | 0xDECDCDCB, 0xEEDEDECC, 0xEEEEEEED, 0xEEEEEEDD, |
| 942 | 0xEEEEEEED, 0xEEEEEEED, 0x6A898A99, 0xACABBCAA, |
| 943 | 0xEEEEEEDC, 0x8C9AACAA, 0xBDBCCDBB, 0xEEEEEEDD, |
| 944 | 0xCEBDDECB, 0xEEDDEEDC, 0xEEEEEEEE, 0x9C9B9BAA, |
| 945 | 0xBDBCBCBB, 0xEEEEEEDD, 0xADBBBCBA, 0xCECCCDBB, |
| 946 | 0xEEEEEEED, 0xEEDDEEDC, 0xEEDEEEDC, 0xEEEEEEED, |
| 947 | 0xCEDDBDCB, 0xEEEEDEDC, 0xEEEEEEEE, 0xEEEEDECC, |
| 948 | 0xEEEEDEDC, 0xEEEEEEED, 0xEEEEEEED, 0xEEEEEEED, |
| 949 | 0xEEEEEEED, 0x9DACBDBB, 0xCECDDECB, 0xEEEEEEED, |
| 950 | 0xBEBCCDBB, 0xDEDDDECC, 0xEEEEEEED, 0xDECDEECC, |
| 951 | 0xEEDEEEDC, 0xEEEEEEED, 0xBECCBDBB, 0xDEDDDECC, |
| 952 | 0xEEEEEEED, 0xCECDCECC, 0xEEDEEECC, 0xEEEEEEED, |
| 953 | 0xDEDEEEDC, 0xEEDEEEDC, 0xEEEEEEED, 0xCEDEBECC, |
| 954 | 0xEEEEDEDC, 0xEEEEEEED, 0xDEEEDECC, 0xEEEEDEDC, |
| 955 | 0xEEEEEEED, 0xEEEEEEDC, 0xEEEEEEDC, 0xEEEEEECB, |
| 956 | ]], |
| 957 | l12_tab: [ |
| 958 | [ |
| 959 | 0xF3624757, 0x82474577, 0x78568678, 0x78824735, 0x86784575, 0x68788678, 0x78888857, 0x86797896, |
| 960 | 0x79789899, 0x78989999, 0x979989A8, 0x9989989A, 0x99989989, 0x98880000 |
| 961 | ], [ |
| 962 | 0xF3815978, 0xB2594698, 0x9B78A89B, 0xABC14936, 0x979B4695, 0x7A99B79B, 0x89BBBC68, 0xA78B9AC7, |
| 963 | 0x8B89BABC, 0x9ACABCCC, 0xC9ACABDB, 0xCD9BCABD, 0xBCDABDBC, 0xDCCC0000 |
| 964 | ]], |
| 965 | l3_tab: [ |
| 966 | [ |
| 967 | 0xF3624757, 0x82474586, 0x78578778, 0x78824735, 0x76784575, 0x68789678, 0x78989847, 0x86797896, |
| 968 | 0x79789899, 0x79989999, 0x979A89A8, 0x9989A99A, 0x9999AA9A, 0xA9980000 |
| 969 | ], [ |
| 970 | 0xF2915A69, 0xC25A47B8, 0xAD89C9AD, 0xCCE15A36, 0xB79D47B6, 0x8B9AD9AD, 0xABDCDE68, 0xB79CACE8, |
| 971 | 0x9C9ADBCE, 0xBCEBCEDD, 0xEABDBCED, 0xDEBCECDE, 0xDEEDDEDD, 0xEEEE0000 |
| 972 | ]], |
| 973 | esc_tab: [ 0x01235566, 0x788899AA, 0xABBBBBCC, 0xBBBCEEEE ], |
| 974 | }, |
| 975 | CoeffsCBDesc { |
| 976 | l0_tab: [ |
| 977 | [ |
| 978 | 0xF5354544, 0x57676765, 0xACAABA97, 0x57566765, |
| 979 | 0x79788876, 0xCDBBCBA8, 0x9B89AA87, 0xBDAABB98, |
| 980 | 0xDECCDDB9, 0x57676765, 0x79888876, 0xCDBBCBA8, |
| 981 | 0x79788876, 0x9B999987, 0xDECBCCA8, 0xBDAABB98, |
| 982 | 0xDEBBCCA8, 0xEEDDDDB9, 0x9B9A9A87, 0xBDBBBB98, |
| 983 | 0xDECCDCA8, 0xBDABBB98, 0xDECBCBA8, 0xEEDDDDB9, |
| 984 | 0xCEBCCCA8, 0xEEDDDDB9, 0xEEDDEDB8, 0x47565765, |
| 985 | 0x79788876, 0xBDBBBBA8, 0x69787876, 0x9B999987, |
| 986 | 0xDEBBCCA8, 0xAC9ABB98, 0xCEBBCCA8, 0xEECCDDB9, |
| 987 | 0x69787876, 0x9B999987, 0xDECCCCA8, 0x8A899987, |
| 988 | 0xACAAAA97, 0xEECCDCB9, 0xCDABCCA8, 0xDEBCCCA8, |
| 989 | 0xEEDDEDB9, 0xACAAAA97, 0xCEBBBBA8, 0xEEDDDCB9, |
| 990 | 0xCEBBBBA8, 0xDECCCCA8, 0xEEDDDDB9, 0xDECCDDB9, |
| 991 | 0xEEDDDDB9, 0xEEDDEDB8, 0x7A898987, 0xACAAAB98, |
| 992 | 0xDECCDDB9, 0x9B9AAA98, 0xCDBBBBA8, 0xEEDDEDB9, |
| 993 | 0xBEABCCA9, 0xDECCDDB9, 0xEEDDEECA, 0x9CAA9A98, |
| 994 | 0xCDBBBBA8, 0xEEDDEDB9, 0xBDABBBA8, 0xCECCCCA9, |
| 995 | 0xEEEDEDCA, 0xDEBCDDB9, 0xEECCDDB9, 0xEEEEEEC9, |
| 996 | 0xBEBCBBA9, 0xDEDDCCB9, 0xEEEEEDC9, 0xDECCCCB9, |
| 997 | 0xEEDDDDB9, 0xEEEEEEC9, 0xEEDDDDB9, 0xEEDDEEB9, |
| 998 | 0xEEEDEEB9, 0xACABABA9, 0xCECCCCB9, 0xEEDDEECA, |
| 999 | 0xBDBBBCA9, 0xDECCDDB9, 0xEEEEEECA, 0xCEBCCDA9, |
| 1000 | 0xEECCDDB9, 0xEEDDEEB9, 0xBDBCBCA9, 0xDECDCCB9, |
| 1001 | 0xEEEEEECA, 0xCECCCCB9, 0xEEDDDDBA, 0xEEEEEECA, |
| 1002 | 0xDECCDDB9, 0xEECDEDB9, 0xEEDDEEB9, 0xCECDBCA9, |
| 1003 | 0xEEDDCCB9, 0xEEEEEDB9, 0xDEDDCCB9, 0xEEDDDDB9, |
| 1004 | 0xEEEEEDB9, 0xEECDDDA8, 0xEEDDDDA8, 0xEECCDCA7, |
| 1005 | ], [ |
| 1006 | 0xF5263656, 0x48687978, 0xCECCDDBB, 0x38576978, |
| 1007 | 0x7A899A99, 0xEEDDDECB, 0xADABCDAA, 0xCEBCDEBB, |
| 1008 | 0xEEEEEEED, 0x48686878, 0x7A899A99, 0xEEDDDECB, |
| 1009 | 0x7A899A99, 0xACAAABAA, 0xEEDDEECC, 0xCEBCDEBB, |
| 1010 | 0xEEDDEECC, 0xEEEEEEED, 0xBDBCACBA, 0xDECDCDCB, |
| 1011 | 0xEEEEEEED, 0xCECDCDBB, 0xEEDDDECC, 0xEEEEEEED, |
| 1012 | 0xEEEEEEDD, 0xEEEEEEED, 0xEEEEEEEE, 0x17475867, |
| 1013 | 0x69798988, 0xDECCDDCB, 0x59687988, 0x8B9AAB99, |
| 1014 | 0xEEDDEECB, 0xBDABCDBA, 0xDECCDECB, 0xEEEEEEED, |
| 1015 | 0x59797988, 0x8B9A9B99, 0xEEDDEECC, 0x8B8A9B99, |
| 1016 | 0xACABBCAA, 0xEEDDEEDC, 0xDECCDECB, 0xEECDEECC, |
| 1017 | 0xEEEEEEED, 0xBEBCACBB, 0xDEDDCDCB, 0xEEEEEEED, |
| 1018 | 0xDECDCDCB, 0xEEDEDECC, 0xEEEEEEED, 0xEEEEEEDD, |
| 1019 | 0xEEEEEEED, 0xEEEEEEED, 0x6A898A99, 0xACABBCAA, |
| 1020 | 0xEEEEEEDC, 0x8C9AACAA, 0xBDBCCDBB, 0xEEEEEEDD, |
| 1021 | 0xCEBDDECB, 0xEEDDEEDC, 0xEEEEEEEE, 0x9C9B9BAA, |
| 1022 | 0xBDBCBCBB, 0xEEEEEEDD, 0xADBBBCBA, 0xCECCCDBB, |
| 1023 | 0xEEEEEEED, 0xEEDDEEDC, 0xEEDEEEDC, 0xEEEEEEED, |
| 1024 | 0xCEDDBDCB, 0xEEEEDEDC, 0xEEEEEEEE, 0xEEEEDECC, |
| 1025 | 0xEEEEDEDC, 0xEEEEEEED, 0xEEEEEEED, 0xEEEEEEED, |
| 1026 | 0xEEEEEEED, 0x9DACBDBB, 0xCECDDECB, 0xEEEEEEED, |
| 1027 | 0xBEBCCDBB, 0xDEDDDECC, 0xEEEEEEED, 0xDECDEECC, |
| 1028 | 0xEEDEEEDC, 0xEEEEEEED, 0xBECCBDBB, 0xDEDDDECC, |
| 1029 | 0xEEEEEEED, 0xCECDCECC, 0xEEDEEECC, 0xEEEEEEED, |
| 1030 | 0xDEDEEEDC, 0xEEDEEEDC, 0xEEEEEEED, 0xCEDEBECC, |
| 1031 | 0xEEEEDEDC, 0xEEEEEEED, 0xDEEEDECC, 0xEEEEDEDC, |
| 1032 | 0xEEEEEEED, 0xEEEEEEDC, 0xEEEEEEDC, 0xEEEEEECB, |
| 1033 | ]], |
| 1034 | l12_tab: [ |
| 1035 | [ |
| 1036 | 0xF3624757, 0x82474577, 0x78568678, 0x78824735, 0x86784575, 0x68788678, 0x78888857, 0x86797896, |
| 1037 | 0x79789899, 0x78989999, 0x979989A8, 0x9989989A, 0x99989989, 0x98880000 |
| 1038 | ], [ |
| 1039 | 0xF3815978, 0xB2594698, 0x9B78A89B, 0xABC14936, 0x979B4695, 0x7A99B79B, 0x89BBBC68, 0xA78B9AC7, |
| 1040 | 0x8B89BABC, 0x9ACABCCC, 0xC9ACABDB, 0xCD9BCABD, 0xBCDABDBC, 0xDCCC0000 |
| 1041 | ]], |
| 1042 | l3_tab: [ |
| 1043 | [ |
| 1044 | 0xF3624757, 0x82474586, 0x78578778, 0x78824735, 0x76784575, 0x68789678, 0x78989847, 0x86797896, |
| 1045 | 0x79789899, 0x79989999, 0x979A89A8, 0x9989A99A, 0x9999AA9A, 0xA9980000 |
| 1046 | ], [ |
| 1047 | 0xF2915A69, 0xC25A47B8, 0xAD89C9AD, 0xCCE15A36, 0xB79D47B6, 0x8B9AD9AD, 0xABDCDE68, 0xB79CACE8, |
| 1048 | 0x9C9ADBCE, 0xBCEBCEDD, 0xEABDBCED, 0xDEBCECDE, 0xDEEDDEDD, 0xEEEE0000 |
| 1049 | ]], |
| 1050 | esc_tab: [ 0x01235566, 0x788899AA, 0xABBBBBCC, 0xBBBCEEEE ], |
| 1051 | }, |
| 1052 | CoeffsCBDesc { |
| 1053 | l0_tab: [ |
| 1054 | [ |
| 1055 | 0xF4343444, 0x57676765, 0xBDBBBBA9, 0x47566765, |
| 1056 | 0x79788877, 0xCECCCCB9, 0xAC9AAB98, 0xCEBBCCA9, |
| 1057 | 0xEEDDEECA, 0x47575665, 0x79888877, 0xCECCCCB9, |
| 1058 | 0x79788877, 0x9B9A9A98, 0xEEDDDDBA, 0xBEBBCCA9, |
| 1059 | 0xDECCDDBA, 0xEEEEEECA, 0xACAB9A98, 0xCDBCBBA9, |
| 1060 | 0xEEDDDDCA, 0xBEBCBBA9, 0xDECCCCBA, 0xEEEEEECA, |
| 1061 | 0xEEDDDECA, 0xEEEEEECA, 0xEEEEEECA, 0x37565665, |
| 1062 | 0x79788877, 0xCECCCCB9, 0x69787877, 0x9B999A88, |
| 1063 | 0xDEDDDDBA, 0xAD9BBCA9, 0xCEBCCDB9, 0xEEEEEECA, |
| 1064 | 0x69787877, 0x9B9A9988, 0xDEDDDDBA, 0x8B999988, |
| 1065 | 0xACABAB98, 0xEEDDDDCA, 0xCEBCCCB9, 0xDECCDDBA, |
| 1066 | 0xEEEEEECA, 0xBDBBABA9, 0xCECCBCB9, 0xEEEEEDCA, |
| 1067 | 0xCECCBCA9, 0xDEDDCCBA, 0xEEEEEECA, 0xEEDEEECA, |
| 1068 | 0xEEEEEECA, 0xEEEEEECA, 0x7A8A9A98, 0xADABBBA9, |
| 1069 | 0xEEEEEEDB, 0x9C9BABA9, 0xCEBCCCBA, 0xEEEEEEDB, |
| 1070 | 0xCEBCDDBA, 0xEECDEECB, 0xEEEEEEDB, 0x9CABABA9, |
| 1071 | 0xCECCBCBA, 0xEEEEEEDB, 0xBDBCBCAA, 0xCECDCDBA, |
| 1072 | 0xEEEEEEDB, 0xDECDDECB, 0xEEDDEECB, 0xEEEEEEDB, |
| 1073 | 0xCECDBCBA, 0xEEDECDCA, 0xEEEEEEDB, 0xDEDECDCA, |
| 1074 | 0xEEEEDDCB, 0xEEEEEEDB, 0xEEEEEECB, 0xEEEEEECB, |
| 1075 | 0xEEEEEECA, 0xACACBCAA, 0xCECDCDBB, 0xEEEEEEDB, |
| 1076 | 0xBEBCCDBA, 0xDEDDDDCB, 0xEEEEEEDB, 0xCEBCDDBA, |
| 1077 | 0xEECDEECA, 0xEEEEEECA, 0xBECDBCBA, 0xDEDEDDCB, |
| 1078 | 0xEEEEEEDB, 0xCECDCDBB, 0xEEDEDECB, 0xEEEEEEDB, |
| 1079 | 0xDECDDEBA, 0xEEDDEECA, 0xEEEEEECA, 0xCEDDBCBA, |
| 1080 | 0xEEEECDBA, 0xEEEEEECA, 0xDEDECDBA, 0xEEEECDCA, |
| 1081 | 0xEEEEEECA, 0xEEDDDDB9, 0xEEDDDDB9, 0xEECDDDA8, |
| 1082 | ], [ |
| 1083 | 0xF4263657, 0x48687989, 0xCECDDEDD, 0x38586978, |
| 1084 | 0x7A8A9B9A, 0xEEDEEEEE, 0xADACCECC, 0xDECEEEDD, |
| 1085 | 0xEEEEEEEE, 0x38686878, 0x7A8A8A9A, 0xEEDEEEDE, |
| 1086 | 0x7A8A9B9A, 0x9CACACBB, 0xEEEEEEEE, 0xDECEDEDD, |
| 1087 | 0xEEDEEEEE, 0xEEEEEEEE, 0xBEBDADBC, 0xDEDECEDD, |
| 1088 | 0xEEEEEEEE, 0xDEDECEDD, 0xEEEEDEDE, 0xEEEEEEEE, |
| 1089 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x17475868, |
| 1090 | 0x69798A9A, 0xDEDEEEDD, 0x59698A89, 0x8B9BACAB, |
| 1091 | 0xEEEEEEEE, 0xBEADDECC, 0xDECEEEDD, 0xEEEEEEEE, |
| 1092 | 0x59797A89, 0x8B9B9BAB, 0xEEEEEEEE, 0x8B9B9BAB, |
| 1093 | 0xADACBDBC, 0xEEEEEEEE, 0xDECEEEDE, 0xEEDEEEEE, |
| 1094 | 0xEEEEEEEE, 0xBECEADCC, 0xDEEECEDD, 0xEEEEEEEE, |
| 1095 | 0xDEDECEDD, 0xEEEEDEDE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1096 | 0xEEEEEEEE, 0xEEEEEEEE, 0x6A8A8B9A, 0x9CACBCBC, |
| 1097 | 0xEEEEEEEE, 0x8C9BACAB, 0xBEBDCECD, 0xEEEEEEEE, |
| 1098 | 0xCEBEDEDD, 0xEEDEEEEE, 0xEEEEEEEE, 0x8C9C9CAB, |
| 1099 | 0xBECDBDCD, 0xEEEEEEEE, 0xAEBDBDCC, 0xBECECECD, |
| 1100 | 0xEEEEEEEE, 0xEEDEEEEE, 0xEEDEEEEE, 0xEEEEEEEE, |
| 1101 | 0xCEDEBECD, 0xEEEEDEDE, 0xEEEEEEEE, 0xDEEEDEDE, |
| 1102 | 0xEEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1103 | 0xEEEEEEEE, 0x9DBDBDCC, 0xCECEDEDD, 0xEEEEEEEE, |
| 1104 | 0xAEBECECD, 0xDEDEDEDD, 0xEEEEEEEE, 0xCECEDEDD, |
| 1105 | 0xEEDEEEEE, 0xEEEEEEEE, 0xAECEBECD, 0xDEDEDEDD, |
| 1106 | 0xEEEEEEEE, 0xBECECEDD, 0xDEDEDEDE, 0xEEEEEEEE, |
| 1107 | 0xDEDEEEDD, 0xEEDEEEDE, 0xEEEEEEEE, 0xBEDEBECD, |
| 1108 | 0xEEEEDEDD, 0xEEEEEEEE, 0xCEEECEDD, 0xDEEECEDD, |
| 1109 | 0xEEEEEEEE, 0xEEEEEEED, 0xDEEEDEDD, 0xEEEEDEDC, |
| 1110 | ]], |
| 1111 | l12_tab: [ |
| 1112 | [ |
| 1113 | 0xF2724868, 0x92484688, 0x8A679789, 0x9AA14846, 0x978A4585, 0x6989A789, 0x88A9AA67, 0xA78A89B7, |
| 1114 | 0x8A89A9AB, 0x89A9AAAA, 0xA8AB9AB9, 0xAA9AB9AB, 0xAAA9AA9A, 0xAA990000 |
| 1115 | ], [ |
| 1116 | 0xF2915A89, 0xD25A57B9, 0xBD79C9AD, 0xCDE14A46, 0xB8AD36B6, 0x7BABD8AC, 0xAADCDE68, 0xC8ADACE7, |
| 1117 | 0x9D9ADBCE, 0x9BDBCDDD, 0xDABDBCDC, 0xDDACDBCD, 0xCDEBDECD, 0xDDDD0000 |
| 1118 | ]], |
| 1119 | l3_tab: [ |
| 1120 | [ |
| 1121 | 0xF2724868, 0x92484698, 0x9A68989A, 0x9AA14836, 0x978A4695, 0x7989A78A, 0x89AAAA58, 0xA78A9AB7, |
| 1122 | 0x9A89BAAB, 0x9ABAABBB, 0xB9ABAABA, 0xBBABCABC, 0xBBBBBBBB, 0xBBBA0000 |
| 1123 | ], [ |
| 1124 | 0xF4B16C9B, 0xF27C69DB, 0xCFABFBDF, 0xEFF06C48, 0xDACF58D7, 0xAECDFBCF, 0xCDFEEF8A, 0xDABFDEFA, |
| 1125 | 0xCFBCFEFF, 0xDEFEEFFF, 0xFDEFEEFF, 0xFFEFFEFF, 0xFFFFFFFF, 0xFFFE0000 |
| 1126 | ]], |
| 1127 | esc_tab: [ 0x01235566, 0x788899AA, 0xABBBBCCC, 0xBBBCDDDD ], |
| 1128 | }, |
| 1129 | CoeffsCBDesc { |
| 1130 | l0_tab: [ |
| 1131 | [ |
| 1132 | 0xF4243444, 0x47576766, 0xCDBCCCBA, 0x47566766, |
| 1133 | 0x79798988, 0xDECDDDBA, 0xAD9BBCA9, 0xCEBCCDBA, |
| 1134 | 0xEEDEEECB, 0x47575666, 0x79898888, 0xDECCCCBA, |
| 1135 | 0x79798988, 0x9B9A9A99, 0xEEDDDDCB, 0xBEBCCDBA, |
| 1136 | 0xDECDDEBB, 0xEEEEEECB, 0xACAB9A99, 0xBECCBBAA, |
| 1137 | 0xEEDEDDCB, 0xBECCBCBA, 0xDECDCDBA, 0xEEEEEECB, |
| 1138 | 0xEEDEDECB, 0xEEEEEECB, 0xEEEEEECB, 0x36565766, |
| 1139 | 0x79798988, 0xDECDDDCA, 0x69687977, 0x9B9A9A99, |
| 1140 | 0xEEDDDDCB, 0xAD9BBCAA, 0xCEBCDDBA, 0xEEEEEECB, |
| 1141 | 0x69797877, 0x9B9A9A99, 0xEEDDDDCB, 0x8B9A9A99, |
| 1142 | 0xACABABA9, 0xEEDEDECB, 0xCEBCCDBA, 0xDECDDECB, |
| 1143 | 0xEEEEEECB, 0xADBC9BAA, 0xCECDBCBA, 0xEEEEEECB, |
| 1144 | 0xCECDBCBA, 0xDEDECDBB, 0xEEEEEECB, 0xEEDEDECB, |
| 1145 | 0xEEEEEECB, 0xEEEEEECA, 0x7B8A9A99, 0xADBCBCBA, |
| 1146 | 0xEEEEEEDC, 0x9C9BABAA, 0xBEBCCDBB, 0xEEEEEEDC, |
| 1147 | 0xBEACCEBB, 0xDECDEECB, 0xEEEEEEDC, 0x9CAB9BAA, |
| 1148 | 0xBECDBCBB, 0xEEEEEEDC, 0xADBCBCBA, 0xCECDCDCB, |
| 1149 | 0xEEEEEEDC, 0xDECDDECB, 0xDECEEECB, 0xEEEEEEDC, |
| 1150 | 0xBECDACBA, 0xDEDECDCB, 0xEEEEEEDC, 0xDEDECDCB, |
| 1151 | 0xDEEECDCB, 0xEEEEEEDB, 0xEEEEEEDB, 0xEEEEEECB, |
| 1152 | 0xEEDEEECA, 0x9CACACBB, 0xCECDCDCB, 0xEEEEEEDC, |
| 1153 | 0xAEBDBDBB, 0xDECEDECB, 0xEEEEEEDC, 0xBEBDCEBA, |
| 1154 | 0xEECDDECB, 0xEEEEEECB, 0xAEBDBCBB, 0xDEDECDCB, |
| 1155 | 0xEEEEEEDC, 0xBECDCDCB, 0xDEDEDECC, 0xEEEEEEDC, |
| 1156 | 0xCECDDEBB, 0xDECDDECB, 0xEEDEEECA, 0xBECEACBA, |
| 1157 | 0xDEDECDBB, 0xEEEEEECA, 0xCEDEBDBA, 0xDEDECDBB, |
| 1158 | 0xEEEEDECA, 0xDECDCDBA, 0xDECDCDBA, 0xEECDCCA8, |
| 1159 | ], [ |
| 1160 | 0xF5262668, 0x4869799A, 0xEEEEEEEE, 0x38597A8A, |
| 1161 | 0x7B9B9CAC, 0xEEEEEEEE, 0xBEBEDEDE, 0xDEDEEEEE, |
| 1162 | 0xEEEEEEEE, 0x3869598A, 0x7B9C9BAC, 0xEEEEEEEE, |
| 1163 | 0x7B9C9CAC, 0x9DBDBDCD, 0xEEEEEEEE, 0xDEDEEEEE, |
| 1164 | 0xEEEEEEEE, 0xEEEEEEEE, 0xBEDEAECE, 0xDEEECEEE, |
| 1165 | 0xEEEEEEEE, 0xDEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1166 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x17485879, |
| 1167 | 0x6A8B8BAB, 0xEEEEEEEE, 0x5A6A8B9B, 0x8CACADBD, |
| 1168 | 0xEEEEEEEE, 0xBEBEDEDE, 0xDEDEEEEE, 0xEEEEEEEE, |
| 1169 | 0x5A7B7A9B, 0x8CAD9CBC, 0xEEEEEEEE, 0x8CAC9CBC, |
| 1170 | 0x9EBEBDCD, 0xEEEEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, |
| 1171 | 0xEEEEEEEE, 0xBEDEAECE, 0xDEEECEEE, 0xEEEEEEEE, |
| 1172 | 0xDEEEDEEE, 0xEEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1173 | 0xEEEEEEEE, 0xEEEEEEEE, 0x5B8C8CAC, 0xADBDBDCD, |
| 1174 | 0xEEEEEEEE, 0x8D9DADBD, 0xBECECEDE, 0xEEEEEEEE, |
| 1175 | 0xCEBEEEDE, 0xEEDEEEEE, 0xEEEEEEEE, 0x8DAD9DBC, |
| 1176 | 0xBECEBEDE, 0xEEEEEEEE, 0x9EBEBECD, 0xBECECEDE, |
| 1177 | 0xEEEEEEEE, 0xDEEEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, |
| 1178 | 0xBEDEAEDE, 0xEEEEDEEE, 0xEEEEEEEE, 0xDEEEDEEE, |
| 1179 | 0xDEEECEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1180 | 0xEEEEEEEE, 0x8EBEBECD, 0xCEDECEEE, 0xEEEEEEEE, |
| 1181 | 0xAEBECECD, 0xDEDEDEEE, 0xEEEEEEEE, 0xBEBEDEDE, |
| 1182 | 0xEEDEEEEE, 0xEEEEEEEE, 0x9ECEBECD, 0xCEEEDEEE, |
| 1183 | 0xEEEEEEEE, 0xAECECEDE, 0xDEDEDEEE, 0xEEEEEEEE, |
| 1184 | 0xCEDEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, 0xAEDEAECD, |
| 1185 | 0xEEEEDEEE, 0xEEEEEEEE, 0xBEEECEDE, 0xDEEECEDE, |
| 1186 | 0xEEEEEEEE, 0xDEEEEEEE, 0xDEEEDEEE, 0xEEDEDEDD, |
| 1187 | ]], |
| 1188 | l12_tab: [ |
| 1189 | [ |
| 1190 | 0xF2724878, 0xA2484698, 0x9A67989A, 0xAAA14846, 0x978A3695, 0x7A89A78A, 0x89AAAA68, 0xA78B9AB7, |
| 1191 | 0x8B89B9AB, 0x89B9ABAA, 0xA8AB9AB9, 0xAB9AB9AB, 0xAAA9AB9A, 0xBAA90000 |
| 1192 | ], [ |
| 1193 | 0xF3B26C9B, 0xE25C58DB, 0xCE8ADABE, 0xEEE05B47, 0xD9BE37D7, 0x9DBCE8BE, 0xBCEEEE79, 0xD8BEBCE8, |
| 1194 | 0xAEABECCE, 0xACECDEEE, 0xEACECDED, 0xEEBDECDE, 0xDEECEEDE, 0xEEEE0000 |
| 1195 | ]], |
| 1196 | l3_tab: [ |
| 1197 | [ |
| 1198 | 0xF2815979, 0xB24946A8, 0x9B79B99B, 0xABC15946, 0xA89B46A6, 0x8A9AB89B, 0x9ABBBC68, 0xB89BABC8, |
| 1199 | 0x9B9ACABC, 0xABCBBCCC, 0xCABCABCB, 0xCCABCBCC, 0xBCCBCCBC, 0xCCCC0000 |
| 1200 | ], [ |
| 1201 | 0xF3D17EBD, 0xF27E6AFC, 0xEFBDFCEF, 0xFFF06D5A, 0xECEF59E9, 0xBEDFFCEF, 0xDFFFFF9B, 0xEBDFEFFB, |
| 1202 | 0xDFCEFFFF, 0xEFFFFFFF, 0xFEEFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000 |
| 1203 | ]], |
| 1204 | esc_tab: [ 0x01235566, 0x788899AA, 0xAABBBCCC, 0xCBBCEEEE ], |
| 1205 | }, |
| 1206 | CoeffsCBDesc { |
| 1207 | l0_tab:[ |
| 1208 | [ |
| 1209 | 0xF4252545, 0x47676777, 0xCECCCCBB, 0x47576877, |
| 1210 | 0x7A898A99, 0xDEDDCDCB, 0xAD9BBDAA, 0xBEBCCDBB, |
| 1211 | 0xEEDEDECB, 0x47675777, 0x7A898989, 0xDECDCDCB, |
| 1212 | 0x7A898A89, 0x9C9BABAA, 0xEEDEDECB, 0xBEBDCDBB, |
| 1213 | 0xDECDDECB, 0xEEEEEECC, 0x9DBC9BAA, 0xBECDACBB, |
| 1214 | 0xEEDEDECB, 0xBECDBCBB, 0xCECECDBB, 0xEEEEDECB, |
| 1215 | 0xDEDEDECB, 0xEEDEDECC, 0xEEEEEECB, 0x27575767, |
| 1216 | 0x7A898999, 0xDEDDDDCB, 0x59697988, 0x9C9BABAA, |
| 1217 | 0xEEDEDECC, 0xAE9CBDAA, 0xCEBDCEBB, 0xEEEEEEDC, |
| 1218 | 0x59797988, 0x9B9B9AAA, 0xEEDEDECB, 0x8B9B9B9A, |
| 1219 | 0x9DACACAA, 0xEEDEDECC, 0xCEBDCEBB, 0xCEBDDECB, |
| 1220 | 0xEEDEEECC, 0xADBD9BAA, 0xCECDBCBB, 0xEEEEDECB, |
| 1221 | 0xCECDBDBB, 0xCEDEBDBB, 0xEEEEDECB, 0xEEDEDECB, |
| 1222 | 0xEEDEDECB, 0xEEEEDECB, 0x6B8B8B9A, 0xADBCACBB, |
| 1223 | 0xEEEEEEDC, 0x8C9CACAA, 0xBEBDCDBB, 0xEEEEEEDC, |
| 1224 | 0xBEADCEBB, 0xDECEDECC, 0xEEEEEEDC, 0x8CAC9BAA, |
| 1225 | 0xBEBDBDBB, 0xEEEEEEDC, 0xAEBDBDBB, 0xBECDCDCB, |
| 1226 | 0xEEEEEEDC, 0xCECEDECC, 0xDECEDECC, 0xEEDEEEDC, |
| 1227 | 0xBECEACBB, 0xDEDECDCB, 0xEEEEEEDC, 0xCEDECDCB, |
| 1228 | 0xDEDECDCC, 0xEEEEDEDC, 0xEEEEEECC, 0xDEDEDECC, |
| 1229 | 0xEEDEDECB, 0x8DADACBB, 0xCECECDCB, 0xEEEEEEDC, |
| 1230 | 0xAEBDBDBB, 0xCECECECC, 0xEEEEEEDC, 0xBEADCEBB, |
| 1231 | 0xDECDDEBB, 0xEEEEEECB, 0xAEBDADBB, 0xCEDECDCC, |
| 1232 | 0xEEEEEEDC, 0xAECEBDCB, 0xCEDECECC, 0xEEEEEEDC, |
| 1233 | 0xBEBDCEBB, 0xCEBEDEBB, 0xEEDEEECB, 0xBECEACBA, |
| 1234 | 0xDEDEBDBB, 0xEEEEDECB, 0xBECEBDBB, 0xCEDEBDBB, |
| 1235 | 0xEEEEDECB, 0xCECDCDBA, 0xCEBDBDBA, 0xDEBCBCA9, |
| 1236 | ], [ |
| 1237 | 0xF5383879, 0x498B7BAC, 0xEEEEEEEE, 0x3A6A7BAC, |
| 1238 | 0x8CADAECE, 0xEEEEEEEE, 0xCECEEEEE, 0xEEEEEEEE, |
| 1239 | 0xEEEEEEEE, 0x3A7B6A9C, 0x8CAD9DCE, 0xEEEEEEEE, |
| 1240 | 0x7DAEADCD, 0xAECECEDE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1241 | 0xEEEEEEEE, 0xEEEEEEEE, 0xBEEEBEEE, 0xEEEEEEEE, |
| 1242 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1243 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x085A5A9B, |
| 1244 | 0x6A9C9CBD, 0xEEEEEEEE, 0x5B7C9CBC, 0x9EBEBECE, |
| 1245 | 0xEEEEEEEE, 0xCECEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1246 | 0x5B9C7CAC, 0x9EBEAEDE, 0xEEEEEEEE, 0x8EBEAECE, |
| 1247 | 0xAECEBEDE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1248 | 0xEEEEEEEE, 0xBEEEBEEE, 0xEEEEDEEE, 0xEEEEEEEE, |
| 1249 | 0xEEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1250 | 0xEEEEEEEE, 0xEEEEEEEE, 0x6D9D9DCD, 0xAECECEEE, |
| 1251 | 0xEEEEEEEE, 0x8EAEBECE, 0xBEDEDEEE, 0xEEEEEEEE, |
| 1252 | 0xCECEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x8EBEAECE, |
| 1253 | 0xBEDECEEE, 0xEEEEEEEE, 0xAECECEDE, 0xBEDECEEE, |
| 1254 | 0xEEEEEEEE, 0xDEEEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, |
| 1255 | 0xBEEEBEDE, 0xEEEEDEEE, 0xEEEEEEEE, 0xDEEEDEEE, |
| 1256 | 0xDEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1257 | 0xEEEEEEEE, 0x8ECEBEDE, 0xCEDEDEEE, 0xEEEEEEEE, |
| 1258 | 0xAECECEDE, 0xDEEEEEEE, 0xEEEEEEEE, 0xBECEEEEE, |
| 1259 | 0xEEEEEEEE, 0xEEEEEEEE, 0x9ECEBEDE, 0xDEEEDEEE, |
| 1260 | 0xEEEEEEEE, 0xAEDEDEEE, 0xDEEEEEEE, 0xEEEEEEEE, |
| 1261 | 0xCEDEEEEE, 0xDEDEEEEE, 0xEEEEEEEE, 0xAEDEBEDE, |
| 1262 | 0xEEEEDEEE, 0xEEEEEEEE, 0xBEEECEEE, 0xDEEEDEEE, |
| 1263 | 0xEEEEEEEE, 0xDEEEEEEE, 0xDEEEEEEE, 0xEEEEEEEE, |
| 1264 | ]], |
| 1265 | l12_tab: [ |
| 1266 | [ |
| 1267 | 0xF2825978, 0xB15956A9, 0x9B68A89B, 0xABB15946, 0xA79B46A6, 0x7A99B79B, 0x99BABB68, 0xB79B9AC7, |
| 1268 | 0x9B89CAAC, 0x8ACAACBB, 0xB8AB9AC9, 0xAB9ACAAC, 0xAAB9ABAA, 0xBAAA0000 |
| 1269 | ], [ |
| 1270 | 0xF4D27EAC, 0xE16E69EC, 0xDE9BECDE, 0xEEE06D59, 0xEBDE49E8, 0xAECDE9CE, 0xCDEEEE7A, 0xE9CECEE9, |
| 1271 | 0xCEACEDEE, 0xBDEDEEEE, 0xEBEECEEE, 0xEECEEDEE, 0xEEEDEEEE, 0xEEEE0000 |
| 1272 | ]], |
| 1273 | l3_tab: [ |
| 1274 | [ |
| 1275 | 0xF2815979, 0xB25946A8, 0x9B79B9AB, 0xBBC14946, 0xA89B46A6, 0x8A9AC89B, 0x9ACBBC68, 0xB79BABD8, |
| 1276 | 0x9B9ACBBD, 0xABCBBCCC, 0xDABCABCB, 0xCDABCBCD, 0xCCDBCDCC, 0xDCCC0000 |
| 1277 | ], [ |
| 1278 | 0xF3D17FCF, 0xF27F6AFD, 0xFFBDFCEF, 0xFFF06D59, 0xFCFF59E9, 0xBFEFFDFF, 0xDFFFFF9B, 0xEBDFFFFB, |
| 1279 | 0xDFCEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFF0000 |
| 1280 | ]], |
| 1281 | esc_tab: [ 0x01235566, 0x788899AA, 0xABBBBCCC, 0xBBBCDDDD ], |
| 1282 | }, |
| 1283 | CoeffsCBDesc { |
| 1284 | l0_tab: [ |
| 1285 | [ |
| 1286 | 0xF4352556, 0x47686878, 0xCECDCDBB, 0x38586878, |
| 1287 | 0x7A8A8A99, 0xDEDDCDCB, 0x9E9CBDAB, 0xBEBCCDBB, |
| 1288 | 0xEEDEDECC, 0x37685777, 0x7A8A7999, 0xDECDCDCB, |
| 1289 | 0x6A8A8A99, 0x8C9B9BAA, 0xDEDEDDCC, 0xBEBDCDBB, |
| 1290 | 0xCEBDCECB, 0xEEDEDECC, 0x9DAC8BAA, 0xBEBDACBB, |
| 1291 | 0xEEDECECB, 0xBECDACBB, 0xCECEBDBB, 0xEEDEDECC, |
| 1292 | 0xDEDEDECC, 0xEEDEDECC, 0xEEEEEECB, 0x27575777, |
| 1293 | 0x6A8A8999, 0xDEDDCDCB, 0x5A697989, 0x8B9B9B9A, |
| 1294 | 0xEEDEDECC, 0x9E9CBDAB, 0xCEBDCEBB, 0xEEDEEECC, |
| 1295 | 0x59796989, 0x8B9B9A9A, 0xEEDEDDCC, 0x7B9B8B9A, |
| 1296 | 0x9C9C9BAA, 0xEEDEDECC, 0xBEBDCDBB, 0xCEBDCEBB, |
| 1297 | 0xEEDEEECC, 0x9EBD8BAA, 0xBECDACBB, 0xEEEEDECB, |
| 1298 | 0xBECEACBB, 0xBECEBDBB, 0xEEEEDECB, 0xDEDEDECC, |
| 1299 | 0xDEDEDECB, 0xEEDEDECB, 0x6B8B8B9A, 0x9DACACBB, |
| 1300 | 0xEEEEEEDC, 0x7C9C9CAA, 0xAEBDBDBB, 0xEEEEEEDC, |
| 1301 | 0xAEADBEBB, 0xCEBEDECC, 0xEEEEEEDC, 0x7C9C9BAA, |
| 1302 | 0xAEBDACBB, 0xEEEEEEDC, 0x9DACACBB, 0xAEBDBDBB, |
| 1303 | 0xEEEEEEDC, 0xBEBDCEBC, 0xCEBEDECC, 0xEEDEEEDC, |
| 1304 | 0xAEBD9CAB, 0xCEDEBDBB, 0xEEEEEEDC, 0xBECEBDBB, |
| 1305 | 0xCEDEBDCB, 0xEEEEDECC, 0xDEDEDECC, 0xDEDEDECC, |
| 1306 | 0xEECECEBB, 0x8DAC9CAB, 0xBEBDBDBB, 0xEEEEEEDC, |
| 1307 | 0x9DADADBB, 0xCECECDCB, 0xEEEEEEDC, 0xAEADBDAB, |
| 1308 | 0xCEBDCEBB, 0xEEDEEECB, 0x9DBDACBB, 0xCECEBDCB, |
| 1309 | 0xEEEEEEDC, 0xAEBDBDBB, 0xCECECECC, 0xEEEEEEDC, |
| 1310 | 0xAEBDBEBB, 0xCEBDCEBB, 0xEEDEEECB, 0xAEBD9CAA, |
| 1311 | 0xCECEBDBB, 0xEEEEDECB, 0xAECDADBB, 0xCECEBDBB, |
| 1312 | 0xEEEEDDCB, 0xBEBEBDAA, 0xBEBDBDAA, 0xCEBCBCA9, |
| 1313 | ], [ |
| 1314 | 0xF638388A, 0x498B8BBD, 0xEEEEEEEE, 0x3A6B8CAC, |
| 1315 | 0x8DADBEDE, 0xEEEEEEEE, 0xCECEEEEE, 0xEEEEEEEE, |
| 1316 | 0xEEEEEEEE, 0x3A8C6BAC, 0x8DBEADDE, 0xEEEEEEEE, |
| 1317 | 0x8DAEAECE, 0xAECECEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1318 | 0xEEEEEEEE, 0xEEEEEEEE, 0xBEEECEEE, 0xEEEEEEEE, |
| 1319 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1320 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x095A5A9B, |
| 1321 | 0x7B9D9DCE, 0xEEEEEEEE, 0x5C7D9DBD, 0x9EBECEDE, |
| 1322 | 0xEEEEEEEE, 0xCECEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1323 | 0x4C9D7CBD, 0x9ECEBEDE, 0xEEEEEEEE, 0x8EBEBEDE, |
| 1324 | 0x9ECEBEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1325 | 0xEEEEEEEE, 0xBEEEBEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1326 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1327 | 0xEEEEEEEE, 0xEEEEEEEE, 0x5D9E9DCD, 0xAECECEEE, |
| 1328 | 0xEEEEEEEE, 0x8EAEBEDE, 0xBEDEDEEE, 0xEEEEEEEE, |
| 1329 | 0xCECEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0x7EBEAEDE, |
| 1330 | 0xBEEECEEE, 0xEEEEEEEE, 0x9ECECEEE, 0xBEDEDEEE, |
| 1331 | 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1332 | 0xBEEEBEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xDEEEEEEE, |
| 1333 | 0xDEEEDEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, |
| 1334 | 0xEEEEEEEE, 0x7EBEBEDE, 0xCEEEDEEE, 0xEEEEEEEE, |
| 1335 | 0x9ECECEEE, 0xDEEEEEEE, 0xEEEEEEEE, 0xBECEEEEE, |
| 1336 | 0xEEEEEEEE, 0xEEEEEEEE, 0x9ECEBEEE, 0xDEEEDEEE, |
| 1337 | 0xEEEEEEEE, 0xAEDECEEE, 0xDEEEEEEE, 0xEEEEEEEE, |
| 1338 | 0xCEDEEEEE, 0xEEDEEEEE, 0xEEEEEEEE, 0xAEDEBEEE, |
| 1339 | 0xEEEEDEEE, 0xEEEEEEEE, 0xCEEEDEEE, 0xDEEEDEEE, |
| 1340 | 0xEEEEEEEE, 0xDEEEEEEE, 0xDEEEEEEE, 0xEEEEEEEE, |
| 1341 | ]], |
| 1342 | l12_tab: [ |
| 1343 | [ |
| 1344 | 0xF2825978, 0xB24956A8, 0x9B68A89B, 0xABB14936, 0xA79B36A5, 0x7A99B78B, 0x99BAAB58, 0xB68B8AC6, |
| 1345 | 0x8B89B9AC, 0x8AC9ACBB, 0xB8AB9AC9, 0xAB8AB9AC, 0xAAB9ABAA, 0xBAAA0000 |
| 1346 | ], [ |
| 1347 | 0xF4D27EAD, 0xE16E69EC, 0xEE9CECEE, 0xEEE06E59, 0xEBEE49E8, 0xAEDDE9DE, 0xDEEEEE7A, 0xE9CECEE8, |
| 1348 | 0xCEBCEEEE, 0xBEEEEEEE, 0xEBEEDEEE, 0xEECEEEEE, 0xEEEEEEEE, 0xEEEE0000 |
| 1349 | ]], |
| 1350 | l3_tab: [ |
| 1351 | [ |
| 1352 | 0xF2815979, 0xB25A46A9, 0xAC79B9AC, 0xBBC14946, 0xA8AC46A6, 0x8B9AC89C, 0x9ACBCC68, 0xB79CABD7, |
| 1353 | 0x9C8ACBBD, 0xABDBBDCC, 0xD9ACABCB, 0xCDABCBCD, 0xCCDBCDCC, 0xDCCC0000 |
| 1354 | ], [ |
| 1355 | 0xF3D17FCF, 0xF27F6AFE, 0xEFBEFCEF, 0xEFF05F69, 0xFEFF59F9, 0xCFFFFDFF, 0xDFFFFF9A, 0xEBEFFFFB, |
| 1356 | 0xCFCEFFFF, 0xFFFEFFFF, 0xFFEFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFE0000 |
| 1357 | ]], |
| 1358 | esc_tab: [ 0x01235566, 0x7888999A, 0xABBBCCCC, 0xCBCDDEED ], |
| 1359 | }, |
| 1360 | CoeffsCBDesc { |
| 1361 | l0_tab: [ |
| 1362 | [ |
| 1363 | 0xF5373667, 0x58796989, 0xDEDECECD, 0x39596989, |
| 1364 | 0x6B8B8B9A, 0xDEDEDEDD, 0x9E9DBDBC, 0xBEBDCECD, |
| 1365 | 0xEEEEEEDD, 0x38695889, 0x6A8B8A9A, 0xDEDEDEDD, |
| 1366 | 0x6B8B8B9A, 0x8C9C9CAB, 0xEEDEDEDD, 0xBEBECEBC, |
| 1367 | 0xCECEDECD, 0xEEEEEEDE, 0x9EBD9CAB, 0xAECEADCC, |
| 1368 | 0xEEEEDEDD, 0xAECEBDBC, 0xCEDEBDCC, 0xEEEEEEDD, |
| 1369 | 0xDEDEDEDD, 0xEEEEEEDD, 0xEEEEEEDD, 0x18585878, |
| 1370 | 0x6A8A8A9A, 0xDEDEDEDD, 0x4A6A7A8A, 0x8C9B9CAB, |
| 1371 | 0xEEEEDEDD, 0x9E9DBEBC, 0xBEBECECD, 0xEEEEEEED, |
| 1372 | 0x4A7A6A8A, 0x7C9C8BAB, 0xEEEEDEDD, 0x6B8C8BAB, |
| 1373 | 0x8C9C9CAB, 0xDEDEDEDD, 0xBEBECECD, 0xBEAECECD, |
| 1374 | 0xEEDEEEDD, 0x9EBD8CAB, 0xBECEADBC, 0xEEEEDEDD, |
| 1375 | 0xAECEADBC, 0xBECEADCC, 0xEEEEDEDD, 0xDEDEDEDD, |
| 1376 | 0xDEDEDECD, 0xEEEEDEDD, 0x5B8B7B9A, 0x9DACACBC, |
| 1377 | 0xEEEEEEEE, 0x7D8C9CAB, 0xAEBDBDBC, 0xEEEEEEEE, |
| 1378 | 0x9E9DBEBC, 0xCEBEDECD, 0xEEEEEEEE, 0x7C9C8CAB, |
| 1379 | 0xAEBDADBC, 0xEEEEEEEE, 0x8DADADBC, 0xAEBDBDBC, |
| 1380 | 0xEEEEEEEE, 0xBEBECECD, 0xBEAECECD, 0xEECEEEDE, |
| 1381 | 0x9EBE9DBC, 0xCECEBDCD, 0xEEEEEEEE, 0xAECEBECC, |
| 1382 | 0xBECEADCD, 0xEEEEDEDD, 0xDEEEDEDD, 0xCEDEDECD, |
| 1383 | 0xDECEDECD, 0x7DAD9DBC, 0xBEBEBDCC, 0xEEEEEEED, |
| 1384 | 0x8EADADBC, 0xCECECECC, 0xEEEEEEDD, 0x9E9DBEBC, |
| 1385 | 0xCEBEDECC, 0xEEEEEEDD, 0x8EBDADBC, 0xBECEBECC, |
| 1386 | 0xEEEEEEDD, 0x9EBEAEBC, 0xBECECECC, 0xEEEEEEED, |
| 1387 | 0xAEAEBEBC, 0xBEAECECC, 0xEEDEEEDC, 0x9EBE9DAB, |
| 1388 | 0xCEDEBDBC, 0xEEEEEEDD, 0xAEBEADBC, 0xBECEBEBC, |
| 1389 | 0xEEEEDEDC, 0xBEBECEBC, 0xBEBEBEBB, 0xCEBCCDBB, |
| 1390 | ], [ |
| 1391 | 0xF649398B, 0x5A9C9CDD, 0xDDDDDDDD, 0x3B6C9DBD, |
| 1392 | 0x8DBDCDDD, 0xDDDDDDDD, 0xCDDDDDDD, 0xDDDDDDDD, |
| 1393 | 0xDDDDDDDD, 0x3B9D6CBD, 0x8DCDBDDD, 0xDDDDDDDD, |
| 1394 | 0x8DBDBDDD, 0xADDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1395 | 0xDDDDDDDD, 0xDDDDDDDD, 0xBDDDCDDD, 0xDDDDDDDD, |
| 1396 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1397 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0x0A6B5BAC, |
| 1398 | 0x6BADADDD, 0xDDDDDDDD, 0x4C8D9DCD, 0x9DBDCDDD, |
| 1399 | 0xDDDDDDDD, 0xCDCDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1400 | 0x4DAD7DCD, 0x9DDDCDDD, 0xDDDDDDDD, 0x8DBDCDDD, |
| 1401 | 0x9DDDCDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1402 | 0xDDDDDDDD, 0xBDDDBDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1403 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1404 | 0xDDDDDDDD, 0xDDDDDDDD, 0x4D9D8DCD, 0x9DCDBDDD, |
| 1405 | 0xDDDDDDDD, 0x7DADBDDD, 0xBDDDDDDD, 0xDDDDDDDD, |
| 1406 | 0xBDBDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0x6DBD9DDD, |
| 1407 | 0xBDDDDDDD, 0xDDDDDDDD, 0x9DDDCDDD, 0xADDDDDDD, |
| 1408 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1409 | 0xADDDADDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1410 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1411 | 0xDDDDDDDD, 0x6DBDADDD, 0xBDDDCDDD, 0xDDDDDDDD, |
| 1412 | 0x9DBDCDDD, 0xCDDDDDDD, 0xDDDDDDDD, 0xBDBDDDDD, |
| 1413 | 0xDDDDDDDD, 0xDDDDDDDD, 0x8DDDBDDD, 0xDDDDDDDD, |
| 1414 | 0xDDDDDDDD, 0xADDDCDDD, 0xDDDDDDDD, 0xDDDDDDDD, |
| 1415 | 0xCDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xADDDBDDD, |
| 1416 | 0xDDDDDDDD, 0xDDDDDDDD, 0xBDDDDDDD, 0xDDDDDDDD, |
| 1417 | 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDDDD, 0xDDDDDEED, |
| 1418 | ]], |
| 1419 | l12_tab: [ |
| 1420 | [ |
| 1421 | 0xF3A26B8A, 0xD26B57CA, 0xBD89CABD, 0xCDE05B47, 0xC8AD47C6, 0x8DABD8AD, 0xABDCDE58, 0xC79D9BE7, |
| 1422 | 0x9D8AEABE, 0x9BEBBEDC, 0xE9ADABDA, 0xCE9BDABE, 0xBCEACEBC, 0xDCCD0000 |
| 1423 | ], [ |
| 1424 | 0xF4D26EAC, 0xE17E69EE, 0xEEACEDEE, 0xEEE06C58, 0xEBDE49E8, 0xAEDDEADE, 0xEEEEEE79, 0xEACEEEE8, |
| 1425 | 0xAECCEDDE, 0xBEEEEEEE, 0xEDDEDEEE, 0xEEDEEEEE, 0xEEEEEEEE, 0xEEEE0000 |
| 1426 | ]], |
| 1427 | l3_tab: [ |
| 1428 | [ |
| 1429 | 0xF3B25B9B, 0xE25B57CA, 0xCE8AD9BE, 0xDDE04A47, 0xCACE47C7, 0x8DBCE9BD, 0xABEDDE68, 0xB8ADCDE8, |
| 1430 | 0xADABECDE, 0xBDECDEEE, 0xEBCDCDEE, 0xEEBCECDE, 0xEEEDDEEE, 0xEEEE0000 |
| 1431 | ], [ |
| 1432 | 0xF3D27DEE, 0xE18E69EE, 0xEEAEEEBE, 0xEEE05E6A, 0xEEEE59E8, 0xBEEEEBEE, 0xEEEEEEAA, 0xEEEEEEEB, |
| 1433 | 0xEEEEEEEE, 0xEBEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEEEEEEE, 0xEEED0000 |
| 1434 | ]], |
| 1435 | esc_tab: [ 0x01234577, 0x8899AABD, 0xDEEEEEEE, 0xEDDDDEED ], |
| 1436 | }, |
| 1437 | ]; |