Lines Matching refs:scb
106 const symbolic_compressed_block& scb,
109 assert(scb.block_type != SYM_BTYPE_ERROR);
111 if (scb.block_type == SYM_BTYPE_CONST_U16 && scb.privateProfile != HIGH_SPEED_PROFILE)
122 pcb[2 * i + 8] = scb.constant_color[i] & 0xFF;
123 pcb[2 * i + 9] = (scb.constant_color[i] >> 8) & 0xFF;
130 if (scb.block_type == SYM_BTYPE_CONST_F16 && scb.privateProfile != HIGH_SPEED_PROFILE)
141 pcb[2 * i + 8] = scb.constant_color[i] & 0xFF;
142 pcb[2 * i + 9] = (scb.constant_color[i] >> 8) & 0xFF;
148 unsigned int partition_count = scb.partition_count;
154 const auto& bm = bsd.get_block_mode(scb.block_mode);
163 if (scb.privateProfile == HIGH_SPEED_PROFILE)
168 float uqw = static_cast<float>(scb.weights[i]);
184 values_to_encode[j] = scb.color_values[0][j];
186 encode_ise(scb.get_color_quant_mode(), HIGH_SPEED_PROFILE_COLOR_BYTES,
200 float uqw = static_cast<float>(scb.weights[i]);
205 uqw = static_cast<float>(scb.weights[i + WEIGHTS_PLANE2_OFFSET]);
215 float uqw = static_cast<float>(scb.weights[i]);
229 write_bits(scb.block_mode, 11, 0, pcb);
237 write_bits(scb.partition_index, 6, 13, pcb);
238 write_bits(scb.partition_index >> 6, PARTITION_INDEX_BITS - 6, 19, pcb);
240 if (scb.color_formats_matched)
242 write_bits(scb.color_formats[0] << 2, 6, 13 + PARTITION_INDEX_BITS, pcb);
251 int class_of_format = scb.color_formats[i] >> 2;
265 int classbit_of_format = (scb.color_formats[i] >> 2) - low_class;
272 int lowbits_of_format = scb.color_formats[i] & 3;
288 write_bits(scb.color_formats[0], 4, 13, pcb);
294 write_bits(scb.plane2_component, 2, below_weights_pos - 2, pcb);
301 const uint8_t* pack_table = color_uquant_to_scrambled_pquant_tables[scb.quant_mode - QUANT_6];
302 for (unsigned int i = 0; i < scb.partition_count; i++)
304 int vals = 2 * (scb.color_formats[i] >> 2) + 2;
308 values_to_encode[j + valuecount_to_encode] = pack_table[scb.color_values[i][j]];
313 encode_ise(scb.get_color_quant_mode(), valuecount_to_encode, values_to_encode, pcb,
314 scb.partition_count == 1 ? 17 : 19 + PARTITION_INDEX_BITS);
323 symbolic_compressed_block& scb
327 scb.block_type = SYM_BTYPE_NONCONST;
338 scb.block_type = SYM_BTYPE_CONST_F16;
342 scb.block_type = SYM_BTYPE_CONST_U16;
345 scb.partition_count = 0;
348 scb.constant_color[i] = pcb[2 * i + 8] | (pcb[2 * i + 9] << 8);
358 scb.block_type = SYM_BTYPE_ERROR;
371 scb.block_type = SYM_BTYPE_ERROR;
389 scb.block_type = SYM_BTYPE_ERROR;
400 scb.block_type = SYM_BTYPE_ERROR;
418 scb.block_mode = static_cast<uint16_t>(block_mode);
419 scb.partition_count = static_cast<uint8_t>(partition_count);
439 scb.weights[i] = qat.unscramble_and_unquant_map[indices[2 * i]];
440 scb.weights[i + WEIGHTS_PLANE2_OFFSET] = qat.unscramble_and_unquant_map[indices[2 * i + 1]];
447 scb.weights[i] = qat.unscramble_and_unquant_map[indices[i]];
453 scb.block_type = SYM_BTYPE_ERROR;
457 scb.color_formats_matched = 0;
465 scb.partition_index = 0;
482 scb.color_formats_matched = 1;
502 scb.partition_index = static_cast<uint16_t>(read_bits(6, 13, pcb) |
508 scb.color_formats[i] = static_cast<uint8_t>(color_formats[i]);
521 scb.block_type = SYM_BTYPE_ERROR;
541 scb.block_type = SYM_BTYPE_ERROR;
546 scb.quant_mode = static_cast<quant_method>(color_quant_level);
553 const uint8_t* unpack_table = color_scrambled_pquant_to_uquant_tables[scb.quant_mode - QUANT_6];
559 scb.color_values[i][j] = unpack_table[values_to_decode[j + valuecount_to_decode]];
565 scb.plane2_component = -1;
568 scb.plane2_component = static_cast<int8_t>(read_bits(2, below_weights_pos - 2, pcb));