Path: blob/master/thirdparty/astcenc/astcenc_weight_quant_xfer_tables.cpp
9896 views
// SPDX-License-Identifier: Apache-2.01// ----------------------------------------------------------------------------2// Copyright 2011-2021 Arm Limited3//4// Licensed under the Apache License, Version 2.0 (the "License"); you may not5// use this file except in compliance with the License. You may obtain a copy6// of the License at:7//8// http://www.apache.org/licenses/LICENSE-2.09//10// Unless required by applicable law or agreed to in writing, software11// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT12// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the13// License for the specific language governing permissions and limitations14// under the License.15// ----------------------------------------------------------------------------1617/**18* @brief Data tables for quantization transfer.19*/2021#include "astcenc_internal.h"2223#define _ 0 // Using _ to indicate an entry that will not be used.2425const quant_and_transfer_table quant_and_xfer_tables[12] {26// QUANT2, range 0..127{28{0, 64},29{0, 1},30{0, 64},31{0x4000,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,32_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,330x4000}34},35// QUANT_3, range 0..236{37{0, 32, 64},38{0, 1, 2},39{0, 32, 64},40{0x2000,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,41_,_,0x4000,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,42_,_,_,_,0x4020}43},44// QUANT_4, range 0..345{46{0, 21, 43, 64},47{0, 1, 2, 3},48{0, 21, 43, 64},49{0x1500,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,0x2b00,_,_,_,_,50_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,0x4015,_,_,_,_,_,_,_,_,_,_,_,_,51_,_,_,_,_,_,_,_,0x402b}52},53//QUANT_5, range 0..454{55{0, 16, 32, 48, 64},56{0, 1, 2, 3, 4},57{0, 16, 32, 48, 64},58{0x1000,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,0x2000,_,_,_,_,_,_,_,_,_,59_,_,_,_,_,_,0x3010,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,0x4020,_,_,_,60_,_,_,_,_,_,_,_,_,_,_,_,0x4030}61},62// QUANT_6, range 0..563{64{0, 12, 25, 39, 52, 64},65{0, 2, 4, 5, 3, 1},66{0, 64, 12, 52, 25, 39},67{0x0c00,_,_,_,_,_,_,_,_,_,_,_,0x1900,_,_,_,_,_,_,_,_,_,_,_,_,680x270c,_,_,_,_,_,_,_,_,_,_,_,_,_,0x3419,_,_,_,_,_,_,_,_,_,_,69_,_,0x4027,_,_,_,_,_,_,_,_,_,_,_,0x4034}70},71// QUANT_8, range 0..772{73{0, 9, 18, 27, 37, 46, 55, 64},74{0, 1, 2, 3, 4, 5, 6, 7},75{0, 9, 18, 27, 37, 46, 55, 64},76{0x0900,_,_,_,_,_,_,_,_,0x1200,_,_,_,_,_,_,_,_,0x1b09,_,_,77_,_,_,_,_,_,0x2512,_,_,_,_,_,_,_,_,_,0x2e1b,_,_,_,_,_,_,_,_,780x3725,_,_,_,_,_,_,_,_,0x402e,_,_,_,_,_,_,_,_,0x4037}79},80// QUANT_10, range 0..981{82{0, 7, 14, 21, 28, 36, 43, 50, 57, 64},83{0, 2, 4, 6, 8, 9, 7, 5, 3, 1},84{0, 64, 7, 57, 14, 50, 21, 43, 28, 36},85{0x0700,_,_,_,_,_,_,0x0e00,_,_,_,_,_,_,0x1507,_,_,_,_,_,_,860x1c0e,_,_,_,_,_,_,0x2415,_,_,_,_,_,_,_,0x2b1c,_,_,_,_,_,87_,0x3224,_,_,_,_,_,_,0x392b,_,_,_,_,_,_,0x4032,_,_,_,_,_,88_,0x4039}89},90// QUANT_12, range 0..1191{92{0, 5, 11, 17, 23, 28, 36, 41, 47, 53, 59, 64},93{0, 4, 8, 2, 6, 10, 11, 7, 3, 9, 5, 1},94{0, 64, 17, 47, 5, 59, 23, 41, 11, 53, 28, 36},95{0x0500,_,_,_,_,0x0b00,_,_,_,_,_,0x1105,_,_,_,_,_,960x170b,_,_,_,_,_,0x1c11,_,_,_,_,0x2417,_,_,_,_,_,_,_,970x291c,_,_,_,_,0x2f24,_,_,_,_,_,0x3529,_,_,_,_,_,980x3b2f,_,_,_,_,_,0x4035,_,_,_,_,0x403b}99},100// QUANT_16, range 0..15101{102{0, 4, 8, 12, 17, 21, 25, 29, 35, 39, 43, 47, 52, 56, 60, 64},103{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},104{0, 4, 8, 12, 17, 21, 25, 29, 35, 39, 43, 47, 52, 56, 60, 64},105{0x0400,_,_,_,0x0800,_,_,_,0x0c04,_,_,_,0x1108,_,_,_,_,1060x150c,_,_,_,0x1911,_,_,_,0x1d15,_,_,_,0x2319,_,_,_,_,107_,0x271d,_,_,_,0x2b23,_,_,_,0x2f27,_,_,_,0x342b,_,_,_,108_,0x382f,_,_,_,0x3c34,_,_,_,0x4038,_,_,_,0x403c}109},110// QUANT_20, range 0..19111{112{0, 3, 6, 9, 13, 16, 19, 23, 26, 29, 35, 38, 41, 45, 48, 51, 55, 58, 61, 64},113{0, 4, 8, 12, 16, 2, 6, 10, 14, 18, 19, 15, 11, 7, 3, 17, 13, 9, 5, 1},114{0, 64, 16, 48, 3, 61, 19, 45, 6, 58, 23, 41, 9, 55, 26, 38, 13, 51, 29, 35},115{0x0300,_,_,0x0600,_,_,0x0903,_,_,0x0d06,_,_,_,1160x1009,_,_,0x130d,_,_,0x1710,_,_,_,0x1a13,_,_,1170x1d17,_,_,0x231a,_,_,_,_,_,0x261d,_,_,0x2923,_,_,1180x2d26,_,_,_,0x3029,_,_,0x332d,_,_,0x3730,_,_,_,1190x3a33,_,_,0x3d37,_,_,0x403a,_,_,0x403d}120},121// QUANT_24, range 0..23122{123{0, 2, 5, 8, 11, 13, 16, 19, 22, 24, 27, 30, 34, 37, 40, 42, 45, 48, 51, 53, 56, 59, 62, 64},124{0, 8, 16, 2, 10, 18, 4, 12, 20, 6, 14, 22, 23, 15, 7, 21, 13, 5, 19, 11, 3, 17, 9, 1},125{0, 64, 8, 56, 16, 48, 24, 40, 2, 62, 11, 53, 19, 45, 27, 37, 5, 59, 13, 51, 22, 42, 30, 34},126{0x0200,_,0x0500,_,_,0x0802,_,_,0x0b05,_,_,0x0d08,127_,0x100b,_,_,0x130d,_,_,0x1610,_,_,0x1813,_,1280x1b16,_,_,0x1e18,_,_,0x221b,_,_,_,0x251e,_,_,1290x2822,_,_,0x2a25,_,0x2d28,_,_,0x302a,_,_,0x332d,130_,_,0x3530,_,0x3833,_,_,0x3b35,_,_,0x3e38,_,_,1310x403b,_,0x403e}132},133// QUANT_32, range 0..31134{135{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64},136{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31},137{0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64},138{0x0200,_,0x0400,_,0x0602,_,0x0804,_,0x0a06,_,1390x0c08,_,0x0e0a,_,0x100c,_,0x120e,_,0x1410,_,1400x1612,_,0x1814,_,0x1a16,_,0x1c18,_,0x1e1a,_,1410x221c,_,_,_,0x241e,_,0x2622,_,0x2824,_,0x2a26,_,1420x2c28,_,0x2e2a,_,0x302c,_,0x322e,_,0x3430,_,1430x3632,_,0x3834,_,0x3a36,_,0x3c38,_,0x3e3a,_,1440x403c,_,0x403e}145}146};147148149