Lines Matching defs:bsd

684  * The @c bsd.texel_count is an input and must be populated beforehand.
686 * @param[in,out] bsd The block size descriptor to populate.
689 block_size_descriptor& bsd
692 if (bsd.texel_count <= BLOCK_MAX_KMEANS_TEXELS)
694 for (uint8_t i = 0; i < bsd.texel_count; i++)
696 bsd.kmeans_texels[i] = i;
708 for (uint8_t i = 0; i < bsd.texel_count; i++)
718 texel = texel % bsd.texel_count;
721 bsd.kmeans_texels[arr_elements_set++] = texel;
734 * @param bsd The block size descriptor we are populating.
743 block_size_descriptor& bsd,
752 decimation_info& di = bsd.decimation_tables[index];
777 bsd.decimation_modes[index].maxprec_1plane = static_cast<int8_t>(maxprec_1plane);
778 bsd.decimation_modes[index].maxprec_2planes = static_cast<int8_t>(maxprec_2planes);
779 bsd.decimation_modes[index].refprec_1plane = 0;
780 bsd.decimation_modes[index].refprec_2planes = 0;
790 * @param[out] bsd The block size descriptor to populate.
802 block_size_descriptor& bsd
811 bsd.xdim = static_cast<uint8_t>(x_texels);
812 bsd.ydim = static_cast<uint8_t>(y_texels);
813 bsd.zdim = 1;
814 bsd.texel_count = static_cast<uint8_t>(x_texels * y_texels);
842 bsd.block_mode_packed_index[i] = BLOCK_BAD_BLOCK_MODE;
856 if (bsd.block_mode_packed_index[i] != BLOCK_BAD_BLOCK_MODE)
944 construct_dt_entry_2d(x_texels, y_texels, x_weights, y_weights, bsd, *wb, packed_dm_idx);
947 bsd.decimation_modes[packed_dm_idx].maxprec_1plane = 4; // Speed optimization: max prec num is limited to 4
956 auto& bm = bsd.block_modes[packed_bm_idx];
964 auto& dm = bsd.decimation_modes[decimation_mode];
975 bsd.block_mode_packed_index[i] = static_cast<uint16_t>(packed_bm_idx);
982 bsd.block_mode_count_1plane_always = bm_counts[0];
983 bsd.block_mode_count_1plane_selected = bm_counts[0] + bm_counts[1];
984 bsd.block_mode_count_1plane_2plane_selected = bm_counts[0] + bm_counts[1] + bm_counts[2];
985 bsd.block_mode_count_all = bm_counts[0] + bm_counts[1] + bm_counts[2] + bm_counts[3];
987 bsd.decimation_mode_count_always = dm_counts[0];
988 bsd.decimation_mode_count_selected = dm_counts[0] + dm_counts[1] + dm_counts[2];
989 bsd.decimation_mode_count_all = dm_counts[0] + dm_counts[1] + dm_counts[2] + dm_counts[3];
992 assert(bsd.block_mode_count_1plane_always > 0);
993 assert(bsd.decimation_mode_count_always > 0);
999 for (unsigned int i = bsd.decimation_mode_count_all; i < WEIGHTS_MAX_DECIMATION_MODES; i++)
1001 bsd.decimation_modes[i].maxprec_1plane = -1;
1002 bsd.decimation_modes[i].maxprec_2planes = -1;
1003 bsd.decimation_modes[i].refprec_1plane = 0;
1004 bsd.decimation_modes[i].refprec_2planes = 0;
1008 assign_kmeans_texels(bsd);
1025 * @param[out] bsd The block size descriptor to populate.
1031 block_size_descriptor& bsd
1041 bsd.xdim = static_cast<uint8_t>(x_texels);
1042 bsd.ydim = static_cast<uint8_t>(y_texels);
1043 bsd.zdim = static_cast<uint8_t>(z_texels);
1044 bsd.texel_count = static_cast<uint8_t>(x_texels * y_texels * z_texels);
1064 decimation_info& di = bsd.decimation_tables[decimation_mode_count];
1090 bsd.decimation_modes[decimation_mode_count].maxprec_1plane = static_cast<int8_t>(maxprec_1plane);
1091 bsd.decimation_modes[decimation_mode_count].maxprec_2planes = static_cast<int8_t>(maxprec_2planes);
1092 bsd.decimation_modes[decimation_mode_count].refprec_1plane = maxprec_1plane == -1 ? 0 : 0xFFFF;
1093 bsd.decimation_modes[decimation_mode_count].refprec_2planes = maxprec_2planes == -1 ? 0 : 0xFFFF;
1102 bsd.decimation_modes[i].maxprec_1plane = -1;
1103 bsd.decimation_modes[i].maxprec_2planes = -1;
1104 bsd.decimation_modes[i].refprec_1plane = 0;
1105 bsd.decimation_modes[i].refprec_2planes = 0;
1108 bsd.decimation_mode_count_always = 0; // Skipped for 3D modes
1109 bsd.decimation_mode_count_selected = decimation_mode_count;
1110 bsd.decimation_mode_count_all = decimation_mode_count;
1117 bsd.block_mode_packed_index[i] = BLOCK_BAD_BLOCK_MODE;
1131 if (bsd.block_mode_packed_index[i] != BLOCK_BAD_BLOCK_MODE)
1175 bsd.block_modes[packed_idx].decimation_mode = static_cast<uint8_t>(decimation_mode);
1176 bsd.block_modes[packed_idx].quant_mode = static_cast<uint8_t>(quant_mode);
1177 bsd.block_modes[packed_idx].weight_bits = static_cast<uint8_t>(weight_bits);
1178 bsd.block_modes[packed_idx].is_dual_plane = static_cast<uint8_t>(is_dual_plane);
1179 bsd.block_modes[packed_idx].mode_index = static_cast<uint16_t>(i);
1181 bsd.block_mode_packed_index[i] = static_cast<uint16_t>(packed_idx);
1187 bsd.block_mode_count_1plane_always = 0; // Skipped for 3D modes
1188 bsd.block_mode_count_1plane_selected = bm_counts[0];
1189 bsd.block_mode_count_1plane_2plane_selected = bm_counts[0] + bm_counts[1];
1190 bsd.block_mode_count_all = bm_counts[0] + bm_counts[1];
1193 assign_kmeans_texels(bsd);
1211 block_size_descriptor& bsd
1215 construct_block_size_descriptor_3d(x_texels, y_texels, z_texels, bsd);
1220 if (!construct_block_size_descriptor_2d(privateProfile, x_texels, y_texels, can_omit_modes, mode_cutoff, bsd))
1225 construct_block_size_descriptor_2d(privateProfile, x_texels, y_texels, can_omit_modes, mode_cutoff, bsd);
1229 init_partition_tables(bsd, can_omit_modes, partition_count_cutoff);