From 214490ccfbce84dee1d1ca10154436981010b459 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Wed, 9 Apr 2025 17:16:28 +0200
Subject: [PATCH 04/10] avcodec/hq_hqadata: Avoid relocations

Initialize a list of 128 pointers at decoder init
instead of using a const list of pointers (which
will be initialized at runtime when libavcodec
is loaded when using pic code with Elf); the former
takes only 128 bytes (+ a bit of initialization code),
the latter 1KiB on 64 bit systems (+3KiB on x64 elf
for relocation information).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/hq_hqa.c     |  13 +-
 libavcodec/hq_hqadata.h | 506 ++++++++++++++++++++--------------------
 2 files changed, 268 insertions(+), 251 deletions(-)

diff --git a/libavcodec/hq_hqa.c b/libavcodec/hq_hqa.c
index a16478b918..b5bad01392 100644
--- a/libavcodec/hq_hqa.c
+++ b/libavcodec/hq_hqa.c
@@ -58,6 +58,8 @@ typedef struct HQContext {
     DECLARE_ALIGNED(16, int16_t, block)[12][64];
 } HQContext;
 
+static const int32_t *hq_quants[NUM_HQ_QUANTS][2][4];
+
 static VLCElem hq_ac_vlc[1184];
 
 static inline void put_blocks(HQContext *c, AVFrame *pic,
@@ -368,10 +370,17 @@ static int hq_hqa_decode_frame(AVCodecContext *avctx, AVFrame *pic,
     return avpkt->size;
 }
 
-static av_cold void hq_init_vlcs(void)
+static av_cold void hq_init_static(void)
 {
     VLC_INIT_STATIC_TABLE(hq_ac_vlc, 9, NUM_HQ_AC_ENTRIES,
                           hq_ac_bits, 1, 1, hq_ac_codes, 2, 2, 0);
+
+    for (size_t i = 0; i < FF_ARRAY_ELEMS(hq_quants); ++i) {
+        for (size_t j = 0; j < FF_ARRAY_ELEMS(hq_quants[0]); ++j) {
+            for (size_t k = 0; k < FF_ARRAY_ELEMS(hq_quants[0][0]); ++k)
+                hq_quants[i][j][k] = qmats[hq_quant_map[i][j][k]];
+        }
+    }
 }
 
 static av_cold int hq_hqa_decode_init(AVCodecContext *avctx)
@@ -382,7 +391,7 @@ static av_cold int hq_hqa_decode_init(AVCodecContext *avctx)
 
     ff_hqdsp_init(&ctx->hqhqadsp);
 
-    ff_thread_once(&init_static_once, hq_init_vlcs);
+    ff_thread_once(&init_static_once, hq_init_static);
 
     return 0;
 }
diff --git a/libavcodec/hq_hqadata.h b/libavcodec/hq_hqadata.h
index d592ac0c21..31f6dc88a4 100644
--- a/libavcodec/hq_hqadata.h
+++ b/libavcodec/hq_hqadata.h
@@ -34,9 +34,92 @@ typedef struct HQProfile {
     int tab_w, tab_h;
 } HQProfile;
 
+enum {
+    QMAT00,
+    QMAT01,
+    QMAT02,
+    QMAT03,
+    QMAT04,
+    QMAT05,
+    QMAT06,
+    QMAT07,
+    QMAT08,
+    QMAT09,
+    QMAT0A,
+    QMAT0B,
+    QMAT0C,
+    QMAT0D,
+    QMAT0E,
+    QMAT0F,
+    QMAT10,
+    QMAT11,
+    QMAT12,
+    QMAT13,
+    QMAT14,
+    QMAT15,
+    QMAT16,
+    QMAT17,
+    QMAT18,
+    QMAT19,
+    QMAT1A,
+    QMAT1B,
+    QMAT1C,
+    QMAT1D,
+    QMAT1E,
+    QMAT1F,
+    QMAT20,
+    QMAT21,
+    QMAT22,
+    QMAT23,
+    QMAT24,
+    QMAT25,
+    QMAT26,
+    QMAT27,
+    QMAT28,
+    QMAT29,
+    QMAT2A,
+    QMAT2B,
+    QMAT2C,
+    QMAT2D,
+    QMAT2E,
+    QMAT2F,
+    QMAT30,
+    QMAT31,
+    QMAT32,
+    QMAT33,
+    QMAT34,
+    QMAT35,
+    QMAT36,
+    QMAT37,
+    QMAT38,
+    QMAT39,
+    QMAT3A,
+    QMAT3B,
+    QMAT3C,
+    QMAT3D,
+    QMAT3E,
+    QMAT3F,
+    QMAT40,
+    QMAT41,
+    QMAT42,
+    QMAT43,
+    QMAT44,
+    QMAT45,
+    QMAT46,
+    QMAT47,
+    QMAT48,
+    QMAT49,
+    QMAT4A,
+    QMAT4B,
+    QMAT4C,
+    QMAT4D,
+    NUM_QMATS
+};
+
 #define MAT_SIZE 64
 
-static const int32_t qmat00[MAT_SIZE] = {
+static const int32_t qmats[NUM_QMATS][MAT_SIZE] = {
+[QMAT00] = {
     0x0040000, 0x000B18B, 0x00058C5, 0x000B1B1, 0x00082D3, 0x000B1B1,
     0x000A953, 0x000827B, 0x00104F7, 0x000A953, 0x0009000, 0x000EADD,
     0x001037B, 0x000756E, 0x0009000, 0x000776D, 0x000696A, 0x000E987,
@@ -48,9 +131,8 @@ static const int32_t qmat00[MAT_SIZE] = {
     0x00229B2, 0x001FCB2, 0x0019FA3, 0x000D94C, 0x000CFD2, 0x0007F2D,
     0x000DEED, 0x0014D5E, 0x0029ABD, 0x0037BB5, 0x002D16B, 0x001FECE,
     0x000B45B, 0x0011521, 0x0022A42, 0x0012B9C,
-};
-
-static const int32_t qmat01[MAT_SIZE] = {
+},
+[QMAT01] = {
     0x0040000, 0x000B18B, 0x00058C5, 0x000B1B1, 0x00082D3, 0x000B1B1,
     0x000EB2D, 0x000B53A, 0x0016A73, 0x000EB2D, 0x000D000, 0x0014632,
     0x0016314, 0x000A319, 0x000D000, 0x000A36D, 0x0009041, 0x0014BDA,
@@ -62,9 +144,8 @@ static const int32_t qmat01[MAT_SIZE] = {
     0x0045365, 0x007FD2A, 0x00675E5, 0x0036A1F, 0x0033AF3, 0x001FF4B,
     0x001C010, 0x0029E24, 0x0053C47, 0x007003E, 0x005A9C7, 0x004024C,
     0x0016A72, 0x0022A42, 0x0045485, 0x0025738,
-};
-
-static const int32_t qmat02[MAT_SIZE] = {
+},
+[QMAT02] = {
     0x0040000, 0x0016315, 0x000B18B, 0x0016363, 0x00105A6, 0x0016363,
     0x00152A7, 0x00104F7, 0x00209EE, 0x00152A7, 0x0012000, 0x001D5B9,
     0x00206F6, 0x000EADD, 0x0012000, 0x000EEDA, 0x000D2D4, 0x001D30D,
@@ -76,9 +157,8 @@ static const int32_t qmat02[MAT_SIZE] = {
     0x0045365, 0x003F964, 0x0033F47, 0x001B297, 0x0019FA3, 0x000FE59,
     0x001BDDA, 0x0029ABD, 0x0053579, 0x006F76A, 0x005A2D7, 0x003FD9D,
     0x00168B6, 0x0022A42, 0x0045485, 0x0025738,
-};
-
-static const int32_t qmat03[MAT_SIZE] = {
+},
+[QMAT03] = {
     0x0040000, 0x0016315, 0x000B18B, 0x0016363, 0x00105A6, 0x0016363,
     0x001D65A, 0x0016A73, 0x002D4E7, 0x001D65A, 0x001A000, 0x0028C65,
     0x002C628, 0x0014632, 0x001A000, 0x00146D9, 0x0012081, 0x00297B5,
@@ -90,9 +170,8 @@ static const int32_t qmat03[MAT_SIZE] = {
     0x008A6CA, 0x00FFA54, 0x00CEBCA, 0x006D43E, 0x00675E5, 0x003FE95,
     0x003801F, 0x0053C47, 0x00A788E, 0x00E007C, 0x00B538D, 0x0080498,
     0x002D4E3, 0x0045485, 0x008A90A, 0x004AE71,
-};
-
-static const int32_t qmat04[MAT_SIZE] = {
+},
+[QMAT04] = {
     0x0040000, 0x00214A0, 0x0010A50, 0x0021514, 0x0018879, 0x0021514,
     0x001FBFA, 0x0018772, 0x0030EE5, 0x001FBFA, 0x001B000, 0x002C096,
     0x0030A71, 0x001604B, 0x001B000, 0x0016647, 0x0013C3F, 0x002BC94,
@@ -104,9 +183,8 @@ static const int32_t qmat04[MAT_SIZE] = {
     0x0067D17, 0x005F616, 0x004DEEA, 0x0028BE3, 0x0026F75, 0x0017D86,
     0x0029CC8, 0x003E81B, 0x007D036, 0x00A731F, 0x0087442, 0x005FC6B,
     0x0021D11, 0x0033F64, 0x0067EC7, 0x00382D5,
-};
-
-static const int32_t qmat05[MAT_SIZE] = {
+},
+[QMAT05] = {
     0x0040000, 0x00214A0, 0x0010A50, 0x0021514, 0x0018879, 0x0021514,
     0x002C186, 0x0021FAD, 0x0043F5A, 0x002C186, 0x0027000, 0x003D297,
     0x004293C, 0x001E94C, 0x0027000, 0x001EA46, 0x001B0C2, 0x003E38F,
@@ -118,9 +196,8 @@ static const int32_t qmat05[MAT_SIZE] = {
     0x00CFA2F, 0x017F77F, 0x01361B0, 0x00A3E5C, 0x009B0D8, 0x005FDE0,
     0x005402F, 0x007DA6B, 0x00FB4D5, 0x01500BA, 0x010FD54, 0x00C06E5,
     0x0043F55, 0x0067EC7, 0x00CFD8F, 0x00705A9,
-};
-
-static const int32_t qmat06[MAT_SIZE] = {
+},
+[QMAT06] = {
     0x0040000, 0x002C62A, 0x0016315, 0x002C6C5, 0x0020B4C, 0x002C6C5,
     0x002A54E, 0x00209EE, 0x00413DC, 0x002A54E, 0x0024000, 0x003AB73,
     0x0040DEC, 0x001D5B9, 0x0024000, 0x001DDB4, 0x001A5A9, 0x003A61B,
@@ -132,9 +209,8 @@ static const int32_t qmat06[MAT_SIZE] = {
     0x008A6CA, 0x007F2C9, 0x0067E8E, 0x003652F, 0x0033F47, 0x001FCB2,
     0x0037BB5, 0x0053579, 0x00A6AF3, 0x00DEED4, 0x00B45AE, 0x007FB39,
     0x002D16B, 0x0045485, 0x008A90A, 0x004AE71,
-};
-
-static const int32_t qmat07[MAT_SIZE] = {
+},
+[QMAT07] = {
     0x0040000, 0x002C62A, 0x0016315, 0x002C6C5, 0x0020B4C, 0x002C6C5,
     0x003ACB3, 0x002D4E7, 0x005A9CE, 0x003ACB3, 0x0034000, 0x00518CA,
     0x0058C50, 0x0028C65, 0x0034000, 0x0028DB3, 0x0024102, 0x0052F69,
@@ -146,9 +222,8 @@ static const int32_t qmat07[MAT_SIZE] = {
     0x0114D94, 0x01FF4A9, 0x019D795, 0x00DA87B, 0x00CEBCA, 0x007FD2A,
     0x007003E, 0x00A788E, 0x014F11C, 0x01C00F8, 0x016A71B, 0x0100931,
     0x005A9C7, 0x008A90A, 0x0115214, 0x0095CE2,
-};
-
-static const int32_t qmat08[MAT_SIZE] = {
+},
+[QMAT08] = {
     0x0040000, 0x00377B5, 0x001BBDA, 0x0037876, 0x0028E1E, 0x0037876,
     0x0034EA1, 0x0028C69, 0x00518D3, 0x0034EA1, 0x002D000, 0x004964F,
     0x0051167, 0x0024B28, 0x002D000, 0x0025521, 0x0020F13, 0x0048FA1,
@@ -160,9 +235,8 @@ static const int32_t qmat08[MAT_SIZE] = {
     0x00AD07C, 0x009EF7B, 0x0081E31, 0x0043E7A, 0x0040F19, 0x0027BDF,
     0x0045AA2, 0x00682D8, 0x00D05B0, 0x0116A89, 0x00E1719, 0x009FA07,
     0x00385C6, 0x00569A6, 0x00AD34C, 0x005DA0D,
-};
-
-static const int32_t qmat09[MAT_SIZE] = {
+},
+[QMAT09] = {
     0x0040000, 0x00377B5, 0x001BBDA, 0x0037876, 0x0028E1E, 0x0037876,
     0x00497E0, 0x0038A21, 0x0071441, 0x00497E0, 0x0041000, 0x0065EFC,
     0x006EF64, 0x0032F7E, 0x0041000, 0x003311F, 0x002D143, 0x0067B44,
@@ -174,9 +248,8 @@ static const int32_t qmat09[MAT_SIZE] = {
     0x015A0F9, 0x027F1D3, 0x0204D7A, 0x011129A, 0x01026BD, 0x009FC75,
     0x008C04E, 0x00D16B2, 0x01A2D64, 0x0230136, 0x01C50E1, 0x0140B7D,
     0x0071438, 0x00AD34C, 0x015A699, 0x00BB41A,
-};
-
-static const int32_t qmat0A[MAT_SIZE] = {
+},
+[QMAT0A] = {
     0x0040000, 0x004293F, 0x00214A0, 0x0042A28, 0x00310F1, 0x0042A28,
     0x003F7F5, 0x0030EE5, 0x0061DCA, 0x003F7F5, 0x0036000, 0x005812C,
     0x00614E2, 0x002C096, 0x0036000, 0x002CC8E, 0x002787D, 0x0057928,
@@ -188,9 +261,8 @@ static const int32_t qmat0A[MAT_SIZE] = {
     0x00CFA2F, 0x00BEC2D, 0x009BDD5, 0x00517C6, 0x004DEEA, 0x002FB0B,
     0x005398F, 0x007D036, 0x00FA06C, 0x014E63E, 0x010E885, 0x00BF8D6,
     0x0043A21, 0x0067EC7, 0x00CFD8F, 0x00705A9,
-};
-
-static const int32_t qmat0B[MAT_SIZE] = {
+},
+[QMAT0B] = {
     0x0040000, 0x004293F, 0x00214A0, 0x0042A28, 0x00310F1, 0x0042A28,
     0x005830D, 0x0043F5A, 0x0087EB5, 0x005830D, 0x004E000, 0x007A52F,
     0x0085278, 0x003D297, 0x004E000, 0x003D48C, 0x0036183, 0x007C71E,
@@ -202,9 +274,8 @@ static const int32_t qmat0B[MAT_SIZE] = {
     0x019F45E, 0x02FEEFD, 0x026C35F, 0x0147CB9, 0x01361B0, 0x00BFBBF,
     0x00A805D, 0x00FB4D5, 0x01F69AB, 0x02A0174, 0x021FAA8, 0x0180DC9,
     0x0087EAA, 0x00CFD8F, 0x019FB1E, 0x00E0B52,
-};
-
-static const int32_t qmat0C[MAT_SIZE] = {
+},
+[QMAT0C] = {
     0x0040000, 0x004DACA, 0x0026D65, 0x004DBD9, 0x00393C4, 0x004DBD9,
     0x004A148, 0x0039160, 0x00722C1, 0x004A148, 0x003F000, 0x0066C09,
     0x007185D, 0x0033604, 0x003F000, 0x00343FB, 0x002E1E8, 0x00662AF,
@@ -216,9 +287,8 @@ static const int32_t qmat0C[MAT_SIZE] = {
     0x00F23E1, 0x00DE8DF, 0x00B5D78, 0x005F111, 0x005AEBC, 0x0037A38,
     0x006187D, 0x0091D95, 0x0123B29, 0x01861F3, 0x013B9F0, 0x00DF7A4,
     0x004EE7C, 0x00793E9, 0x00F27D1, 0x0083145,
-};
-
-static const int32_t qmat0D[MAT_SIZE] = {
+},
+[QMAT0D] = {
     0x0040000, 0x004DACA, 0x0026D65, 0x004DBD9, 0x00393C4, 0x004DBD9,
     0x0066E3A, 0x004F494, 0x009E928, 0x0066E3A, 0x005B000, 0x008EB61,
     0x009B58C, 0x00475B1, 0x005B000, 0x00477F9, 0x003F1C4, 0x00912F8,
@@ -230,9 +300,8 @@ static const int32_t qmat0D[MAT_SIZE] = {
     0x01E47C3, 0x037EC27, 0x02D3944, 0x017E6D8, 0x0169CA2, 0x00DFB0A,
     0x00C406D, 0x01252F9, 0x024A5F2, 0x03101B2, 0x027A46F, 0x01C1016,
     0x009E91C, 0x00F27D1, 0x01E4FA3, 0x010628B,
-};
-
-static const int32_t qmat0E[MAT_SIZE] = {
+},
+[QMAT0E] = {
     0x0040000, 0x0058C54, 0x002C62A, 0x0058D8A, 0x0041697, 0x0058D8A,
     0x0054A9C, 0x00413DC, 0x00827B8, 0x0054A9C, 0x0048000, 0x00756E5,
     0x0081BD8, 0x003AB73, 0x0048000, 0x003BB68, 0x0034B52, 0x0074C35,
@@ -244,9 +313,8 @@ static const int32_t qmat0E[MAT_SIZE] = {
     0x0114D94, 0x00FE591, 0x00CFD1C, 0x006CA5D, 0x0067E8E, 0x003F964,
     0x006F76A, 0x00A6AF3, 0x014D5E6, 0x01BDDA8, 0x0168B5C, 0x00FF672,
     0x005A2D7, 0x008A90A, 0x0115214, 0x0095CE2,
-};
-
-static const int32_t qmat0F[MAT_SIZE] = {
+},
+[QMAT0F] = {
     0x0040000, 0x0058C54, 0x002C62A, 0x0058D8A, 0x0041697, 0x0058D8A,
     0x0075967, 0x005A9CE, 0x00B539C, 0x0075967, 0x0068000, 0x00A3194,
     0x00B18A0, 0x00518CA, 0x0068000, 0x0051B65, 0x0048204, 0x00A5ED3,
@@ -258,9 +326,8 @@ static const int32_t qmat0F[MAT_SIZE] = {
     0x0229B27, 0x03FE951, 0x033AF2A, 0x01B50F6, 0x019D795, 0x00FFA54,
     0x00E007C, 0x014F11C, 0x029E239, 0x03801F0, 0x02D4E36, 0x0201262,
     0x00B538D, 0x0115214, 0x022A428, 0x012B9C3,
-};
-
-static const int32_t qmat10[MAT_SIZE] = {
+},
+[QMAT10] = {
     0x0040000, 0x006EF69, 0x00377B5, 0x006F0ED, 0x0051C3D, 0x006F0ED,
     0x0069D43, 0x00518D3, 0x00A31A6, 0x0069D43, 0x005A000, 0x0092C9F,
     0x00A22CD, 0x004964F, 0x005A000, 0x004AA42, 0x0041E26, 0x0091F43,
@@ -272,9 +339,8 @@ static const int32_t qmat10[MAT_SIZE] = {
     0x015A0F9, 0x013DEF5, 0x0103C63, 0x0087CF4, 0x0081E31, 0x004F7BD,
     0x008B544, 0x00D05B0, 0x01A0B5F, 0x022D511, 0x01C2E32, 0x013F40F,
     0x0070B8D, 0x00AD34C, 0x015A699, 0x00BB41A,
-};
-
-static const int32_t qmat11[MAT_SIZE] = {
+},
+[QMAT11] = {
     0x0040000, 0x006EF69, 0x00377B5, 0x006F0ED, 0x0051C3D, 0x006F0ED,
     0x0092FC0, 0x0071441, 0x00E2883, 0x0092FC0, 0x0082000, 0x00CBDF9,
     0x00DDEC8, 0x0065EFC, 0x0082000, 0x006623F, 0x005A285, 0x00CF687,
@@ -286,9 +352,8 @@ static const int32_t qmat11[MAT_SIZE] = {
     0x02B41F1, 0x04FE3A6, 0x0409AF4, 0x0222534, 0x0204D7A, 0x013F8E9,
     0x011809B, 0x01A2D64, 0x0345AC7, 0x046026C, 0x038A1C3, 0x02816FA,
     0x00E2871, 0x015A699, 0x02B4D32, 0x0176834,
-};
-
-static const int32_t qmat12[MAT_SIZE] = {
+},
+[QMAT12] = {
     0x0040000, 0x008527E, 0x004293F, 0x0085450, 0x00621E3, 0x0085450,
     0x007EFEA, 0x0061DCA, 0x00C3B94, 0x007EFEA, 0x006C000, 0x00B0258,
     0x00C29C3, 0x005812C, 0x006C000, 0x005991C, 0x004F0FB, 0x00AF250,
@@ -300,9 +365,8 @@ static const int32_t qmat12[MAT_SIZE] = {
     0x019F45E, 0x017D85A, 0x0137BAA, 0x00A2F8C, 0x009BDD5, 0x005F616,
     0x00A731F, 0x00FA06C, 0x01F40D9, 0x029CC7B, 0x021D109, 0x017F1AB,
     0x0087442, 0x00CFD8F, 0x019FB1E, 0x00E0B52,
-};
-
-static const int32_t qmat13[MAT_SIZE] = {
+},
+[QMAT13] = {
     0x0040000, 0x008527E, 0x004293F, 0x0085450, 0x00621E3, 0x0085450,
     0x00B061A, 0x0087EB5, 0x010FD69, 0x00B061A, 0x009C000, 0x00F4A5E,
     0x010A4F0, 0x007A52F, 0x009C000, 0x007A918, 0x006C307, 0x00F8E3C,
@@ -314,9 +378,8 @@ static const int32_t qmat13[MAT_SIZE] = {
     0x033E8BB, 0x05FDDFA, 0x04D86BE, 0x028F971, 0x026C35F, 0x017F77F,
     0x01500BA, 0x01F69AB, 0x03ED355, 0x05402E9, 0x043F550, 0x0301B93,
     0x010FD54, 0x019FB1E, 0x033F63C, 0x01C16A5,
-};
-
-static const int32_t qmat14[MAT_SIZE] = {
+},
+[QMAT14] = {
     0x0040000, 0x009B593, 0x004DACA, 0x009B7B2, 0x0072789, 0x009B7B2,
     0x0094291, 0x00722C1, 0x00E4582, 0x0094291, 0x007E000, 0x00CD812,
     0x00E30B9, 0x0066C09, 0x007E000, 0x00687F5, 0x005C3CF, 0x00CC55D,
@@ -328,9 +391,8 @@ static const int32_t qmat14[MAT_SIZE] = {
     0x01E47C3, 0x01BD1BE, 0x016BAF1, 0x00BE223, 0x00B5D78, 0x006F46F,
     0x00C30F9, 0x0123B29, 0x0247652, 0x030C3E5, 0x02773E0, 0x01BEF48,
     0x009DCF8, 0x00F27D1, 0x01E4FA3, 0x010628B,
-};
-
-static const int32_t qmat15[MAT_SIZE] = {
+},
+[QMAT15] = {
     0x0040000, 0x009B593, 0x004DACA, 0x009B7B2, 0x0072789, 0x009B7B2,
     0x00CDC74, 0x009E928, 0x013D250, 0x00CDC74, 0x00B6000, 0x011D6C3,
     0x0136B18, 0x008EB61, 0x00B6000, 0x008EFF2, 0x007E388, 0x01225F0,
@@ -342,9 +404,8 @@ static const int32_t qmat15[MAT_SIZE] = {
     0x03C8F85, 0x06FD84F, 0x05A7289, 0x02FCDAF, 0x02D3944, 0x01BF614,
     0x01880D9, 0x024A5F2, 0x0494BE4, 0x0620365, 0x04F48DE, 0x038202B,
     0x013D237, 0x01E4FA3, 0x03C9F46, 0x020C516,
-};
-
-static const int32_t qmat16[MAT_SIZE] = {
+},
+[QMAT16] = {
     0x0040000, 0x00B18A8, 0x0058C54, 0x00B1B15, 0x0082D2E, 0x00B1B15,
     0x00A9538, 0x00827B8, 0x0104F6F, 0x00A9538, 0x0090000, 0x00EADCB,
     0x01037AF, 0x00756E5, 0x0090000, 0x00776CF, 0x00696A4, 0x00E986B,
@@ -356,9 +417,8 @@ static const int32_t qmat16[MAT_SIZE] = {
     0x0229B27, 0x01FCB22, 0x019FA38, 0x00D94BA, 0x00CFD1C, 0x007F2C9,
     0x00DEED4, 0x014D5E6, 0x029ABCC, 0x037BB4F, 0x02D16B7, 0x01FECE4,
     0x00B45AE, 0x0115214, 0x022A428, 0x012B9C3,
-};
-
-static const int32_t qmat17[MAT_SIZE] = {
+},
+[QMAT17] = {
     0x0040000, 0x00B18A8, 0x0058C54, 0x00B1B15, 0x0082D2E, 0x00B1B15,
     0x00EB2CD, 0x00B539C, 0x016A737, 0x00EB2CD, 0x00D0000, 0x0146328,
     0x0163140, 0x00A3194, 0x00D0000, 0x00A36CB, 0x0090409, 0x014BDA5,
@@ -370,9 +430,8 @@ static const int32_t qmat17[MAT_SIZE] = {
     0x045364F, 0x07FD2A3, 0x0675E53, 0x036A1ED, 0x033AF2A, 0x01FF4A9,
     0x01C00F8, 0x029E239, 0x053C472, 0x07003E1, 0x05A9C6B, 0x04024C4,
     0x016A71B, 0x022A428, 0x0454850, 0x0257386,
-};
-
-static const int32_t qmat18[MAT_SIZE] = {
+},
+[QMAT18] = {
     0x0040000, 0x00C7BBD, 0x0063DDF, 0x00C7E77, 0x00932D4, 0x00C7E77,
     0x00BE7DF, 0x0092CAF, 0x012595D, 0x00BE7DF, 0x00A2000, 0x0108384,
     0x0123EA5, 0x00841C2, 0x00A2000, 0x00865A9, 0x0076978, 0x0106B78,
@@ -384,9 +443,8 @@ static const int32_t qmat18[MAT_SIZE] = {
     0x026EE8C, 0x023C486, 0x01D397F, 0x00F4751, 0x00E9CBF, 0x008F122,
     0x00FACAE, 0x01770A2, 0x02EE145, 0x03EB2B9, 0x032B98E, 0x023EA81,
     0x00CAE64, 0x0137C56, 0x026F8AD, 0x01510FC,
-};
-
-static const int32_t qmat19[MAT_SIZE] = {
+},
+[QMAT19] = {
     0x0040000, 0x00C7BBD, 0x0063DDF, 0x00C7E77, 0x00932D4, 0x00C7E77,
     0x0108927, 0x00CBE0F, 0x0197C1E, 0x0108927, 0x00EA000, 0x016EF8D,
     0x018F768, 0x00B77C6, 0x00EA000, 0x00B7DA4, 0x00A248A, 0x017555A,
@@ -398,9 +456,8 @@ static const int32_t qmat19[MAT_SIZE] = {
     0x04DDD19, 0x08FCCF7, 0x0744A1D, 0x03D762A, 0x03A250F, 0x023F33E,
     0x01F8117, 0x02F1E80, 0x05E3D00, 0x07E045D, 0x065EFF9, 0x048295C,
     0x0197BFE, 0x026F8AD, 0x04DF15A, 0x02A21F7,
-};
-
-static const int32_t qmat1A[MAT_SIZE] = {
+},
+[QMAT1A] = {
     0x0040000, 0x00DDED2, 0x006EF69, 0x00DE1DA, 0x00A387A, 0x00DE1DA,
     0x00D3A86, 0x00A31A6, 0x014634B, 0x00D3A86, 0x00B4000, 0x012593E,
     0x014459B, 0x0092C9F, 0x00B4000, 0x0095483, 0x0083C4D, 0x0123E85,
@@ -412,9 +469,8 @@ static const int32_t qmat1A[MAT_SIZE] = {
     0x02B41F1, 0x027BDEB, 0x02078C6, 0x010F9E9, 0x0103C63, 0x009EF7B,
     0x0116A89, 0x01A0B5F, 0x03416BE, 0x045AA23, 0x0385C65, 0x027E81E,
     0x00E1719, 0x015A699, 0x02B4D32, 0x0176834,
-};
-
-static const int32_t qmat1B[MAT_SIZE] = {
+},
+[QMAT1B] = {
     0x0040000, 0x00DDED2, 0x006EF69, 0x00DE1DA, 0x00A387A, 0x00DE1DA,
     0x0125F81, 0x00E2883, 0x01C5105, 0x0125F81, 0x0104000, 0x0197BF2,
     0x01BBD90, 0x00CBDF9, 0x0104000, 0x00CC47E, 0x00B450B, 0x019ED0E,
@@ -426,9 +482,8 @@ static const int32_t qmat1B[MAT_SIZE] = {
     0x05683E3, 0x09FC74C, 0x08135E8, 0x0444A68, 0x0409AF4, 0x027F1D3,
     0x0230136, 0x0345AC7, 0x068B58E, 0x08C04D9, 0x0714386, 0x0502DF5,
     0x01C50E1, 0x02B4D32, 0x0569A64, 0x02ED068,
-};
-
-static const int32_t qmat1C[MAT_SIZE] = {
+},
+[QMAT1C] = {
     0x0040000, 0x00F41E7, 0x007A0F4, 0x00F453D, 0x00B3E20, 0x00F453D,
     0x00E8D2D, 0x00B369D, 0x0166D39, 0x00E8D2D, 0x00C6000, 0x0142EF7,
     0x0164C91, 0x00A177B, 0x00C6000, 0x00A435D, 0x0090F21, 0x0141193,
@@ -440,9 +495,8 @@ static const int32_t qmat1C[MAT_SIZE] = {
     0x02F9556, 0x02BB74F, 0x023B80D, 0x012AC80, 0x011DC06, 0x00AEDD4,
     0x0132863, 0x01CA61C, 0x0394C38, 0x04CA18D, 0x03DFF3C, 0x02BE5BA,
     0x00F7FCF, 0x017D0DB, 0x02FA1B7, 0x019BF6C,
-};
-
-static const int32_t qmat1D[MAT_SIZE] = {
+},
+[QMAT1D] = {
     0x0040000, 0x00F41E7, 0x007A0F4, 0x00F453D, 0x00B3E20, 0x00F453D,
     0x01435DA, 0x00F92F6, 0x01F25EC, 0x01435DA, 0x011E000, 0x01C0857,
     0x01E83B8, 0x00E042B, 0x011E000, 0x00E0B57, 0x00C658C, 0x01C84C3,
@@ -454,9 +508,8 @@ static const int32_t qmat1D[MAT_SIZE] = {
     0x05F2AAD, 0x0AFC1A0, 0x08E21B2, 0x04B1EA5, 0x04710D9, 0x02BF068,
     0x0268155, 0x039970E, 0x0732E1D, 0x09A0555, 0x07C9713, 0x058328D,
     0x01F25C5, 0x02FA1B7, 0x05F436E, 0x0337ED9,
-};
-
-static const int32_t qmat1E[MAT_SIZE] = {
+},
+[QMAT1E] = {
     0x0040000, 0x010A4FD, 0x008527E, 0x010A89F, 0x00C43C5, 0x010A89F,
     0x00FDFD3, 0x00C3B94, 0x0187727, 0x00FDFD3, 0x00D8000, 0x01604B0,
     0x0185387, 0x00B0258, 0x00D8000, 0x00B3237, 0x009E1F6, 0x015E4A0,
@@ -468,9 +521,8 @@ static const int32_t qmat1E[MAT_SIZE] = {
     0x033E8BB, 0x02FB0B3, 0x026F754, 0x0145F17, 0x0137BAA, 0x00BEC2D,
     0x014E63E, 0x01F40D9, 0x03E81B1, 0x05398F7, 0x043A213, 0x02FE357,
     0x010E885, 0x019FB1E, 0x033F63C, 0x01C16A5,
-};
-
-static const int32_t qmat1F[MAT_SIZE] = {
+},
+[QMAT1F] = {
     0x0040000, 0x010A4FD, 0x008527E, 0x010A89F, 0x00C43C5, 0x010A89F,
     0x0160C34, 0x010FD69, 0x021FAD3, 0x0160C34, 0x0138000, 0x01E94BC,
     0x02149E1, 0x00F4A5E, 0x0138000, 0x00F5230, 0x00D860D, 0x01F1C78,
@@ -482,9 +534,8 @@ static const int32_t qmat1F[MAT_SIZE] = {
     0x067D176, 0x0BFBBF4, 0x09B0D7D, 0x051F2E3, 0x04D86BE, 0x02FEEFD,
     0x02A0174, 0x03ED355, 0x07DA6AB, 0x0A805D1, 0x087EAA1, 0x0603726,
     0x021FAA8, 0x033F63C, 0x067EC78, 0x0382D4A,
-};
-
-static const int32_t qmat20[MAT_SIZE] = {
+},
+[QMAT20] = {
     0x0040000, 0x0136B27, 0x009B593, 0x0136F64, 0x00E4F11, 0x0136F64,
     0x0128521, 0x00E4582, 0x01C8B03, 0x0128521, 0x00FC000, 0x019B023,
     0x01C6172, 0x00CD812, 0x00FC000, 0x00D0FEB, 0x00B879F, 0x0198ABB,
@@ -496,9 +547,8 @@ static const int32_t qmat20[MAT_SIZE] = {
     0x03C8F85, 0x037A37C, 0x02D75E2, 0x017C446, 0x016BAF1, 0x00DE8DF,
     0x01861F3, 0x0247652, 0x048ECA4, 0x06187CA, 0x04EE7C1, 0x037DE90,
     0x013B9F0, 0x01E4FA3, 0x03C9F46, 0x020C516,
-};
-
-static const int32_t qmat21[MAT_SIZE] = {
+},
+[QMAT21] = {
     0x0040000, 0x0136B27, 0x009B593, 0x0136F64, 0x00E4F11, 0x0136F64,
     0x019B8E7, 0x013D250, 0x027A4A1, 0x019B8E7, 0x016C000, 0x023AD86,
     0x026D631, 0x011D6C3, 0x016C000, 0x011DFE3, 0x00FC70F, 0x0244BE1,
@@ -510,9 +560,8 @@ static const int32_t qmat21[MAT_SIZE] = {
     0x0791F0A, 0x0DFB09D, 0x0B4E511, 0x05F9B5E, 0x05A7289, 0x037EC27,
     0x03101B2, 0x0494BE4, 0x09297C7, 0x0C406C9, 0x09E91BC, 0x0704057,
     0x027A46F, 0x03C9F46, 0x0793E8C, 0x0418A2B,
-};
-
-static const int32_t qmat22[MAT_SIZE] = {
+},
+[QMAT22] = {
     0x0040000, 0x0163151, 0x00B18A8, 0x0163629, 0x0105A5D, 0x0163629,
     0x0152A6F, 0x0104F6F, 0x0209EDF, 0x0152A6F, 0x0120000, 0x01D5B96,
     0x0206F5E, 0x00EADCB, 0x0120000, 0x00EED9F, 0x00D2D48, 0x01D30D5,
@@ -524,9 +573,8 @@ static const int32_t qmat22[MAT_SIZE] = {
     0x045364F, 0x03F9644, 0x033F46F, 0x01B2974, 0x019FA38, 0x00FE591,
     0x01BDDA8, 0x029ABCC, 0x0535797, 0x06F769E, 0x05A2D6E, 0x03FD9C9,
     0x0168B5C, 0x022A428, 0x0454850, 0x0257386,
-};
-
-static const int32_t qmat23[MAT_SIZE] = {
+},
+[QMAT23] = {
     0x0040000, 0x0163151, 0x00B18A8, 0x0163629, 0x0105A5D, 0x0163629,
     0x01D659B, 0x016A737, 0x02D4E6E, 0x01D659B, 0x01A0000, 0x028C650,
     0x02C6281, 0x0146328, 0x01A0000, 0x0146D96, 0x0120812, 0x0297B4A,
@@ -538,9 +586,8 @@ static const int32_t qmat23[MAT_SIZE] = {
     0x08A6C9E, 0x0FFA546, 0x0CEBCA6, 0x06D43D9, 0x0675E53, 0x03FE951,
     0x03801F0, 0x053C472, 0x0A788E4, 0x0E007C1, 0x0B538D6, 0x0804988,
     0x02D4E36, 0x0454850, 0x08A90A0, 0x04AE70D,
-};
-
-static const int32_t qmat24[MAT_SIZE] = {
+},
+[QMAT24] = {
     0x0040000, 0x018F77B, 0x00C7BBD, 0x018FCEF, 0x01265A8, 0x018FCEF,
     0x017CFBD, 0x012595D, 0x024B2BB, 0x017CFBD, 0x0144000, 0x0210708,
     0x0247D4A, 0x0108384, 0x0144000, 0x010CB53, 0x00ED2F1, 0x020D6F0,
@@ -552,9 +599,8 @@ static const int32_t qmat24[MAT_SIZE] = {
     0x04DDD19, 0x047890D, 0x03A72FD, 0x01E8EA3, 0x01D397F, 0x011E243,
     0x01F595C, 0x02EE145, 0x05DC28A, 0x07D6572, 0x065731C, 0x047D502,
     0x0195CC7, 0x026F8AD, 0x04DF15A, 0x02A21F7,
-};
-
-static const int32_t qmat25[MAT_SIZE] = {
+},
+[QMAT25] = {
     0x0040000, 0x018F77B, 0x00C7BBD, 0x018FCEF, 0x01265A8, 0x018FCEF,
     0x021124E, 0x0197C1E, 0x032F83C, 0x021124E, 0x01D4000, 0x02DDF1A,
     0x031EED1, 0x016EF8D, 0x01D4000, 0x016FB49, 0x0144914, 0x02EAAB3,
@@ -566,9 +612,8 @@ static const int32_t qmat25[MAT_SIZE] = {
     0x09BBA32, 0x11F99EF, 0x0E8943B, 0x07AEC54, 0x0744A1D, 0x047E67C,
     0x03F022E, 0x05E3D00, 0x0BC7A00, 0x0FC08BA, 0x0CBDFF1, 0x09052B9,
     0x032F7FC, 0x04DF15A, 0x09BE2B4, 0x05443EE,
-};
-
-static const int32_t qmat26[MAT_SIZE] = {
+},
+[QMAT26] = {
     0x0040000, 0x01BBDA5, 0x00DDED2, 0x01BC3B4, 0x01470F4, 0x01BC3B4,
     0x01A750B, 0x014634B, 0x028C697, 0x01A750B, 0x0168000, 0x024B27B,
     0x0288B36, 0x012593E, 0x0168000, 0x012A906, 0x010789A, 0x0247D0B,
@@ -580,9 +625,8 @@ static const int32_t qmat26[MAT_SIZE] = {
     0x05683E3, 0x04F7BD5, 0x040F18B, 0x021F3D1, 0x02078C6, 0x013DEF5,
     0x022D511, 0x03416BE, 0x0682D7D, 0x08B5446, 0x070B8CA, 0x04FD03B,
     0x01C2E32, 0x02B4D32, 0x0569A64, 0x02ED068,
-};
-
-static const int32_t qmat27[MAT_SIZE] = {
+},
+[QMAT27] = {
     0x0040000, 0x01BBDA5, 0x00DDED2, 0x01BC3B4, 0x01470F4, 0x01BC3B4,
     0x024BF01, 0x01C5105, 0x038A20A, 0x024BF01, 0x0208000, 0x032F7E4,
     0x0377B21, 0x0197BF2, 0x0208000, 0x01988FB, 0x0168A16, 0x033DA1D,
@@ -594,9 +638,8 @@ static const int32_t qmat27[MAT_SIZE] = {
     0x0AD07C5, 0x13F8E97, 0x1026BD0, 0x08894CF, 0x08135E8, 0x04FE3A6,
     0x046026C, 0x068B58E, 0x0D16B1D, 0x11809B2, 0x0E2870C, 0x0A05BEA,
     0x038A1C3, 0x0569A64, 0x0AD34C8, 0x05DA0D0,
-};
-
-static const int32_t qmat28[MAT_SIZE] = {
+},
+[QMAT28] = {
     0x0040000, 0x01E83CF, 0x00F41E7, 0x01E8A79, 0x0167C3F, 0x01E8A79,
     0x01D1A59, 0x0166D39, 0x02CDA72, 0x01D1A59, 0x018C000, 0x0285DEE,
     0x02C9921, 0x0142EF7, 0x018C000, 0x01486BA, 0x0121E43, 0x0282325,
@@ -608,9 +651,8 @@ static const int32_t qmat28[MAT_SIZE] = {
     0x05F2AAD, 0x0576E9E, 0x0477019, 0x0255900, 0x023B80D, 0x015DBA7,
     0x02650C6, 0x0394C38, 0x0729870, 0x0994319, 0x07BFE78, 0x057CB74,
     0x01EFF9E, 0x02FA1B7, 0x05F436E, 0x0337ED9,
-};
-
-static const int32_t qmat29[MAT_SIZE] = {
+},
+[QMAT29] = {
     0x0040000, 0x01E83CF, 0x00F41E7, 0x01E8A79, 0x0167C3F, 0x01E8A79,
     0x0286BB5, 0x01F25EC, 0x03E4BD8, 0x0286BB5, 0x023C000, 0x03810AE,
     0x03D0771, 0x01C0857, 0x023C000, 0x01C16AE, 0x018CB18, 0x0390986,
@@ -622,9 +664,8 @@ static const int32_t qmat29[MAT_SIZE] = {
     0x0BE5559, 0x15F8340, 0x11C4364, 0x0963D4B, 0x08E21B2, 0x057E0D0,
     0x04D02AB, 0x0732E1D, 0x0E65C39, 0x1340AAA, 0x0F92E27, 0x0B0651B,
     0x03E4B8A, 0x05F436E, 0x0BE86DC, 0x066FDB2,
-};
-
-static const int32_t qmat2A[MAT_SIZE] = {
+},
+[QMAT2A] = {
     0x0040000, 0x02149F9, 0x010A4FD, 0x021513E, 0x018878B, 0x021513E,
     0x01FBFA7, 0x0187727, 0x030EE4E, 0x01FBFA7, 0x01B0000, 0x02C0961,
     0x030A70D, 0x01604B0, 0x01B0000, 0x016646E, 0x013C3EC, 0x02BC940,
@@ -636,9 +677,8 @@ static const int32_t qmat2A[MAT_SIZE] = {
     0x067D176, 0x05F6166, 0x04DEEA7, 0x028BE2E, 0x026F754, 0x017D85A,
     0x029CC7B, 0x03E81B1, 0x07D0363, 0x0A731ED, 0x0874425, 0x05FC6AD,
     0x021D109, 0x033F63C, 0x067EC78, 0x0382D4A,
-};
-
-static const int32_t qmat2B[MAT_SIZE] = {
+},
+[QMAT2B] = {
     0x0040000, 0x02149F9, 0x010A4FD, 0x021513E, 0x018878B, 0x021513E,
     0x02C1868, 0x021FAD3, 0x043F5A6, 0x02C1868, 0x0270000, 0x03D2978,
     0x04293C1, 0x01E94BC, 0x0270000, 0x01EA461, 0x01B0C1A, 0x03E38EF,
@@ -650,9 +690,8 @@ static const int32_t qmat2B[MAT_SIZE] = {
     0x0CFA2ED, 0x17F77E9, 0x1361AF9, 0x0A3E5C6, 0x09B0D7D, 0x05FDDFA,
     0x05402E9, 0x07DA6AB, 0x0FB4D56, 0x1500BA2, 0x10FD541, 0x0C06E4C,
     0x043F550, 0x067EC78, 0x0CFD8F0, 0x0705A93,
-};
-
-static const int32_t qmat2C[MAT_SIZE] = {
+},
+[QMAT2C] = {
     0x0040000, 0x0241023, 0x0120812, 0x0241803, 0x01A92D7, 0x0241803,
     0x02264F5, 0x01A8115, 0x035022A, 0x02264F5, 0x01D4000, 0x02FB4D3,
     0x034B4F9, 0x017DA6A, 0x01D4000, 0x0184222, 0x0156995, 0x02F6F5B,
@@ -664,9 +703,8 @@ static const int32_t qmat2C[MAT_SIZE] = {
     0x0707840, 0x067542F, 0x0546D35, 0x02C235D, 0x02A369B, 0x019D50C,
     0x02D4830, 0x043B72B, 0x0876E56, 0x0B520C1, 0x09289D3, 0x067C1E6,
     0x024A275, 0x0384AC1, 0x0709582, 0x03CDBBA,
-};
-
-static const int32_t qmat2D[MAT_SIZE] = {
+},
+[QMAT2D] = {
     0x0040000, 0x0241023, 0x0120812, 0x0241803, 0x01A92D7, 0x0241803,
     0x02FC51B, 0x024CFBA, 0x0499F73, 0x02FC51B, 0x02A4000, 0x0424242,
     0x0482011, 0x0212121, 0x02A4000, 0x0213214, 0x01D4D1D, 0x0436858,
@@ -678,9 +716,8 @@ static const int32_t qmat2D[MAT_SIZE] = {
     0x0E0F081, 0x19F6C92, 0x14FF28E, 0x0B18E41, 0x0A7F947, 0x067DB24,
     0x05B0327, 0x0881F39, 0x1103E72, 0x16C0C9A, 0x1267C5C, 0x0D0777D,
     0x0499F17, 0x0709582, 0x0E12B04, 0x079B775,
-};
-
-static const int32_t qmat2E[MAT_SIZE] = {
+},
+[QMAT2E] = {
     0x0040000, 0x026D64D, 0x0136B27, 0x026DEC9, 0x01C9E22, 0x026DEC9,
     0x0250A43, 0x01C8B03, 0x0391606, 0x0250A43, 0x01F8000, 0x0336046,
     0x038C2E5, 0x019B023, 0x01F8000, 0x01A1FD6, 0x0170F3E, 0x0331575,
@@ -692,9 +729,8 @@ static const int32_t qmat2E[MAT_SIZE] = {
     0x0791F0A, 0x06F46F7, 0x05AEBC3, 0x02F888B, 0x02D75E2, 0x01BD1BE,
     0x030C3E5, 0x048ECA4, 0x091D948, 0x0C30F95, 0x09DCF81, 0x06FBD20,
     0x02773E0, 0x03C9F46, 0x0793E8C, 0x0418A2B,
-};
-
-static const int32_t qmat2F[MAT_SIZE] = {
+},
+[QMAT2F] = {
     0x0040000, 0x026D64D, 0x0136B27, 0x026DEC9, 0x01C9E22, 0x026DEC9,
     0x03371CF, 0x027A4A1, 0x04F4941, 0x03371CF, 0x02D8000, 0x0475B0C,
     0x04DAC61, 0x023AD86, 0x02D8000, 0x023BFC6, 0x01F8E1F, 0x04897C2,
@@ -706,9 +742,8 @@ static const int32_t qmat2F[MAT_SIZE] = {
     0x0F23E14, 0x1BF613A, 0x169CA23, 0x0BF36BC, 0x0B4E511, 0x06FD84F,
     0x0620365, 0x09297C7, 0x1252F8F, 0x1880D93, 0x13D2377, 0x0E080AE,
     0x04F48DE, 0x0793E8C, 0x0F27D18, 0x0831457,
-};
-
-static const int32_t qmat30[MAT_SIZE] = {
+},
+[QMAT30] = {
     0x0040000, 0x02C62A1, 0x0163151, 0x02C6C53, 0x020B4B9, 0x02C6C53,
     0x02A54DF, 0x0209EDF, 0x0413DBE, 0x02A54DF, 0x0240000, 0x03AB72B,
     0x040DEBC, 0x01D5B96, 0x0240000, 0x01DDB3E, 0x01A5A90, 0x03A61AB,
@@ -720,9 +755,8 @@ static const int32_t qmat30[MAT_SIZE] = {
     0x08A6C9E, 0x07F2C88, 0x067E8DF, 0x03652E8, 0x033F46F, 0x01FCB22,
     0x037BB4F, 0x0535797, 0x0A6AF2E, 0x0DEED3C, 0x0B45ADD, 0x07FB392,
     0x02D16B7, 0x0454850, 0x08A90A0, 0x04AE70D,
-};
-
-static const int32_t qmat31[MAT_SIZE] = {
+},
+[QMAT31] = {
     0x0040000, 0x02C62A1, 0x0163151, 0x02C6C53, 0x020B4B9, 0x02C6C53,
     0x03ACB35, 0x02D4E6E, 0x05A9CDD, 0x03ACB35, 0x0340000, 0x0518CA0,
     0x058C501, 0x028C650, 0x0340000, 0x028DB2C, 0x0241023, 0x052F694,
@@ -734,9 +768,8 @@ static const int32_t qmat31[MAT_SIZE] = {
     0x114D93C, 0x1FF4A8C, 0x19D794C, 0x0DA87B2, 0x0CEBCA6, 0x07FD2A3,
     0x07003E1, 0x0A788E4, 0x14F11C8, 0x1C00F83, 0x16A71AD, 0x1009310,
     0x05A9C6B, 0x08A90A0, 0x1152140, 0x095CE1A,
-};
-
-static const int32_t qmat32[MAT_SIZE] = {
+},
+[QMAT32] = {
     0x0040000, 0x031EEF6, 0x018F77B, 0x031F9DD, 0x024CB50, 0x031F9DD,
     0x02F9F7A, 0x024B2BB, 0x0496575, 0x02F9F7A, 0x0288000, 0x0420E11,
     0x048FA94, 0x0210708, 0x0288000, 0x02196A5, 0x01DA5E2, 0x041ADE0,
@@ -748,9 +781,8 @@ static const int32_t qmat32[MAT_SIZE] = {
     0x09BBA32, 0x08F1219, 0x074E5FB, 0x03D1D45, 0x03A72FD, 0x023C486,
     0x03EB2B9, 0x05DC28A, 0x0BB8514, 0x0FACAE4, 0x0CAE638, 0x08FAA04,
     0x032B98E, 0x04DF15A, 0x09BE2B4, 0x05443EE,
-};
-
-static const int32_t qmat33[MAT_SIZE] = {
+},
+[QMAT33] = {
     0x0040000, 0x031EEF6, 0x018F77B, 0x031F9DD, 0x024CB50, 0x031F9DD,
     0x042249C, 0x032F83C, 0x065F078, 0x042249C, 0x03A8000, 0x05BBE34,
     0x063DDA2, 0x02DDF1A, 0x03A8000, 0x02DF691, 0x0289228, 0x05D5567,
@@ -762,9 +794,8 @@ static const int32_t qmat33[MAT_SIZE] = {
     0x1377463, 0x23F33DD, 0x1D12876, 0x0F5D8A9, 0x0E8943B, 0x08FCCF7,
     0x07E045D, 0x0BC7A00, 0x178F401, 0x1F81173, 0x197BFE2, 0x120A572,
     0x065EFF9, 0x09BE2B4, 0x137C568, 0x0A887DD,
-};
-
-static const int32_t qmat34[MAT_SIZE] = {
+},
+[QMAT34] = {
     0x0040000, 0x0377B4A, 0x01BBDA5, 0x0378768, 0x028E1E8, 0x0378768,
     0x034EA16, 0x028C697, 0x0518D2D, 0x034EA16, 0x02D0000, 0x04964F6,
     0x051166B, 0x024B27B, 0x02D0000, 0x025520D, 0x020F134, 0x048FA15,
@@ -776,9 +807,8 @@ static const int32_t qmat34[MAT_SIZE] = {
     0x0AD07C5, 0x09EF7AA, 0x081E317, 0x043E7A2, 0x040F18B, 0x027BDEB,
     0x045AA23, 0x0682D7D, 0x0D05AFA, 0x116A88B, 0x0E17194, 0x09FA076,
     0x0385C65, 0x0569A64, 0x0AD34C8, 0x05DA0D0,
-};
-
-static const int32_t qmat35[MAT_SIZE] = {
+},
+[QMAT35] = {
     0x0040000, 0x0377B4A, 0x01BBDA5, 0x0378768, 0x028E1E8, 0x0378768,
     0x0497E02, 0x038A20A, 0x0714414, 0x0497E02, 0x0410000, 0x065EFC8,
     0x06EF642, 0x032F7E4, 0x0410000, 0x03311F7, 0x02D142C, 0x067B439,
@@ -790,9 +820,8 @@ static const int32_t qmat35[MAT_SIZE] = {
     0x15A0F8B, 0x27F1D2F, 0x204D79F, 0x111299F, 0x1026BD0, 0x09FC74C,
     0x08C04D9, 0x0D16B1D, 0x1A2D63A, 0x2301364, 0x1C50E18, 0x140B7D4,
     0x0714386, 0x0AD34C8, 0x15A6990, 0x0BB41A0,
-};
-
-static const int32_t qmat36[MAT_SIZE] = {
+},
+[QMAT36] = {
     0x0040000, 0x03D079E, 0x01E83CF, 0x03D14F2, 0x02CF87F, 0x03D14F2,
     0x03A34B2, 0x02CDA72, 0x059B4E5, 0x03A34B2, 0x0318000, 0x050BBDC,
     0x0593243, 0x0285DEE, 0x0318000, 0x0290D75, 0x0243C86, 0x050464B,
@@ -804,9 +833,8 @@ static const int32_t qmat36[MAT_SIZE] = {
     0x0BE5559, 0x0AEDD3B, 0x08EE032, 0x04AB1FF, 0x0477019, 0x02BB74F,
     0x04CA18D, 0x0729870, 0x0E530E0, 0x1328633, 0x0F7FCEF, 0x0AF96E8,
     0x03DFF3C, 0x05F436E, 0x0BE86DC, 0x066FDB2,
-};
-
-static const int32_t qmat37[MAT_SIZE] = {
+},
+[QMAT37] = {
     0x0040000, 0x03D079E, 0x01E83CF, 0x03D14F2, 0x02CF87F, 0x03D14F2,
     0x050D769, 0x03E4BD8, 0x07C97B0, 0x050D769, 0x0478000, 0x070215C,
     0x07A0EE2, 0x03810AE, 0x0478000, 0x0382D5C, 0x0319630, 0x072130C,
@@ -818,9 +846,8 @@ static const int32_t qmat37[MAT_SIZE] = {
     0x17CAAB2, 0x2BF0680, 0x23886C9, 0x12C7A95, 0x11C4364, 0x0AFC1A0,
     0x09A0555, 0x0E65C39, 0x1CCB873, 0x2681554, 0x1F25C4D, 0x160CA36,
     0x07C9713, 0x0BE86DC, 0x17D0DB8, 0x0CDFB63,
-};
-
-static const int32_t qmat38[MAT_SIZE] = {
+},
+[QMAT38] = {
     0x0040000, 0x04293F2, 0x02149F9, 0x042A27C, 0x0310F16, 0x042A27C,
     0x03F7F4E, 0x030EE4E, 0x061DC9D, 0x03F7F4E, 0x0360000, 0x05812C1,
     0x0614E1A, 0x02C0961, 0x0360000, 0x02CC8DC, 0x02787D8, 0x0579280,
@@ -832,9 +859,8 @@ static const int32_t qmat38[MAT_SIZE] = {
     0x0CFA2ED, 0x0BEC2CC, 0x09BDD4E, 0x0517C5D, 0x04DEEA7, 0x02FB0B3,
     0x05398F7, 0x07D0363, 0x0FA06C5, 0x14E63DA, 0x10E884B, 0x0BF8D5B,
     0x043A213, 0x067EC78, 0x0CFD8F0, 0x0705A93,
-};
-
-static const int32_t qmat39[MAT_SIZE] = {
+},
+[QMAT39] = {
     0x0040000, 0x04293F2, 0x02149F9, 0x042A27C, 0x0310F16, 0x042A27C,
     0x05830D0, 0x043F5A6, 0x087EB4B, 0x05830D0, 0x04E0000, 0x07A52F0,
     0x0852782, 0x03D2978, 0x04E0000, 0x03D48C2, 0x0361835, 0x07C71DE,
@@ -846,9 +872,8 @@ static const int32_t qmat39[MAT_SIZE] = {
     0x19F45DA, 0x2FEEFD2, 0x26C35F2, 0x147CB8C, 0x1361AF9, 0x0BFBBF4,
     0x0A805D1, 0x0FB4D56, 0x1F69AAC, 0x2A01744, 0x21FAA83, 0x180DC98,
     0x087EAA1, 0x0CFD8F0, 0x19FB1E0, 0x0E0B527,
-};
-
-static const int32_t qmat3A[MAT_SIZE] = {
+},
+[QMAT3A] = {
     0x0040000, 0x0482046, 0x0241023, 0x0483007, 0x03525AD, 0x0483007,
     0x044C9EA, 0x035022A, 0x06A0454, 0x044C9EA, 0x03A8000, 0x05F69A7,
     0x06969F2, 0x02FB4D3, 0x03A8000, 0x0308444, 0x02AD32A, 0x05EDEB5,
@@ -860,9 +885,8 @@ static const int32_t qmat3A[MAT_SIZE] = {
     0x0E0F081, 0x0CEA85D, 0x0A8DA6A, 0x05846BA, 0x0546D35, 0x033AA17,
     0x05A9060, 0x0876E56, 0x10EDCAB, 0x16A4182, 0x12513A7, 0x0CF83CD,
     0x04944EA, 0x0709582, 0x0E12B04, 0x079B775,
-};
-
-static const int32_t qmat3B[MAT_SIZE] = {
+},
+[QMAT3B] = {
     0x0040000, 0x0482046, 0x0241023, 0x0483007, 0x03525AD, 0x0483007,
     0x05F8A36, 0x0499F73, 0x0933EE7, 0x05F8A36, 0x0548000, 0x0848484,
     0x0904022, 0x0424242, 0x0548000, 0x0426427, 0x03A9A39, 0x086D0B1,
@@ -874,9 +898,8 @@ static const int32_t qmat3B[MAT_SIZE] = {
     0x1C1E101, 0x33ED923, 0x29FE51C, 0x1631C82, 0x14FF28E, 0x0CFB649,
     0x0B6064D, 0x1103E72, 0x2207CE5, 0x2D81935, 0x24CF8B9, 0x1A0EEFA,
     0x0933E2E, 0x0E12B04, 0x1C25608, 0x0F36EEA,
-};
-
-static const int32_t qmat3C[MAT_SIZE] = {
+},
+[QMAT3C] = {
     0x0040000, 0x04DAC9A, 0x026D64D, 0x04DBD91, 0x0393C44, 0x04DBD91,
     0x04A1486, 0x0391606, 0x0722C0C, 0x04A1486, 0x03F0000, 0x066C08C,
     0x07185C9, 0x0336046, 0x03F0000, 0x0343FAC, 0x02E1E7C, 0x0662AEB,
@@ -888,9 +911,8 @@ static const int32_t qmat3C[MAT_SIZE] = {
     0x0F23E14, 0x0DE8DEE, 0x0B5D786, 0x05F1117, 0x05AEBC3, 0x037A37C,
     0x06187CA, 0x091D948, 0x123B291, 0x1861F29, 0x13B9F02, 0x0DF7A3F,
     0x04EE7C1, 0x0793E8C, 0x0F27D18, 0x0831457,
-};
-
-static const int32_t qmat3D[MAT_SIZE] = {
+},
+[QMAT3D] = {
     0x0040000, 0x04DAC9A, 0x026D64D, 0x04DBD91, 0x0393C44, 0x04DBD91,
     0x066E39D, 0x04F4941, 0x09E9282, 0x066E39D, 0x05B0000, 0x08EB618,
     0x09B58C2, 0x0475B0C, 0x05B0000, 0x0477F8D, 0x03F1C3D, 0x0912F83,
@@ -902,9 +924,8 @@ static const int32_t qmat3D[MAT_SIZE] = {
     0x1E47C29, 0x37EC275, 0x2D39446, 0x17E6D78, 0x169CA23, 0x0DFB09D,
     0x0C406C9, 0x1252F8F, 0x24A5F1E, 0x3101B25, 0x27A46EE, 0x1C1015C,
     0x09E91BC, 0x0F27D18, 0x1E4FA30, 0x10628AD,
-};
-
-static const int32_t qmat3E[MAT_SIZE] = {
+},
+[QMAT3E] = {
     0x0040000, 0x058C543, 0x02C62A1, 0x058D8A6, 0x0416973, 0x058D8A6,
     0x054A9BD, 0x0413DBE, 0x0827B7B, 0x054A9BD, 0x0480000, 0x0756E57,
     0x081BD78, 0x03AB72B, 0x0480000, 0x03BB67B, 0x034B520, 0x074C355,
@@ -916,9 +937,8 @@ static const int32_t qmat3E[MAT_SIZE] = {
     0x114D93C, 0x0FE5910, 0x0CFD1BE, 0x06CA5D1, 0x067E8DF, 0x03F9644,
     0x06F769E, 0x0A6AF2E, 0x14D5E5C, 0x1BDDA78, 0x168B5B9, 0x0FF6724,
     0x05A2D6E, 0x08A90A0, 0x1152140, 0x095CE1A,
-};
-
-static const int32_t qmat3F[MAT_SIZE] = {
+},
+[QMAT3F] = {
     0x0040000, 0x058C543, 0x02C62A1, 0x058D8A6, 0x0416973, 0x058D8A6,
     0x075966A, 0x05A9CDD, 0x0B539BA, 0x075966A, 0x0680000, 0x0A31940,
     0x0B18A03, 0x0518CA0, 0x0680000, 0x051B658, 0x0482046, 0x0A5ED28,
@@ -930,9 +950,8 @@ static const int32_t qmat3F[MAT_SIZE] = {
     0x229B278, 0x3FE9518, 0x33AF299, 0x1B50F65, 0x19D794C, 0x0FFA546,
     0x0E007C1, 0x14F11C8, 0x29E2390, 0x3801F06, 0x2D4E359, 0x2012620,
     0x0B538D6, 0x1152140, 0x22A4280, 0x12B9C33,
-};
-
-static const int32_t qmat40[MAT_SIZE] = {
+},
+[QMAT40] = {
     0x0040000, 0x063DDEB, 0x031EEF6, 0x063F3BB, 0x04996A1, 0x063F3BB,
     0x05F3EF5, 0x0496575, 0x092CAEB, 0x05F3EF5, 0x0510000, 0x0841C22,
     0x091F527, 0x0420E11, 0x0510000, 0x0432D4B, 0x03B4BC4, 0x0835BC0,
@@ -944,9 +963,8 @@ static const int32_t qmat40[MAT_SIZE] = {
     0x1377463, 0x11E2432, 0x0E9CBF6, 0x07A3A8B, 0x074E5FB, 0x047890D,
     0x07D6572, 0x0BB8514, 0x1770A28, 0x1F595C7, 0x195CC70, 0x11F5408,
     0x065731C, 0x09BE2B4, 0x137C568, 0x0A887DD,
-};
-
-static const int32_t qmat41[MAT_SIZE] = {
+},
+[QMAT41] = {
     0x0040000, 0x063DDEB, 0x031EEF6, 0x063F3BB, 0x04996A1, 0x063F3BB,
     0x0844938, 0x065F078, 0x0CBE0F1, 0x0844938, 0x0750000, 0x0B77C68,
     0x0C7BB43, 0x05BBE34, 0x0750000, 0x05BED23, 0x051244F, 0x0BAAACD,
@@ -958,9 +976,8 @@ static const int32_t qmat41[MAT_SIZE] = {
     0x26EE8C7, 0x47E67BB, 0x3A250EC, 0x1EBB151, 0x1D12876, 0x11F99EF,
     0x0FC08BA, 0x178F401, 0x2F1E802, 0x3F022E7, 0x32F7FC4, 0x2414AE4,
     0x0CBDFF1, 0x137C568, 0x26F8AD0, 0x1510FBA,
-};
-
-static const int32_t qmat42[MAT_SIZE] = {
+},
+[QMAT42] = {
     0x0040000, 0x06EF693, 0x0377B4A, 0x06F0ECF, 0x051C3CF, 0x06F0ECF,
     0x069D42D, 0x0518D2D, 0x0A31A5A, 0x069D42D, 0x05A0000, 0x092C9ED,
     0x0A22CD6, 0x04964F6, 0x05A0000, 0x04AA41A, 0x041E268, 0x091F42B,
@@ -972,9 +989,8 @@ static const int32_t qmat42[MAT_SIZE] = {
     0x15A0F8B, 0x13DEF54, 0x103C62D, 0x087CF45, 0x081E317, 0x04F7BD5,
     0x08B5446, 0x0D05AFA, 0x1A0B5F3, 0x22D5116, 0x1C2E328, 0x13F40EC,
     0x070B8CA, 0x0AD34C8, 0x15A6990, 0x0BB41A0,
-};
-
-static const int32_t qmat43[MAT_SIZE] = {
+},
+[QMAT43] = {
     0x0040000, 0x06EF693, 0x0377B4A, 0x06F0ECF, 0x051C3CF, 0x06F0ECF,
     0x092FC05, 0x0714414, 0x0E28828, 0x092FC05, 0x0820000, 0x0CBDF90,
     0x0DDEC84, 0x065EFC8, 0x0820000, 0x06623EE, 0x05A2858, 0x0CF6872,
@@ -986,9 +1002,8 @@ static const int32_t qmat43[MAT_SIZE] = {
     0x2B41F16, 0x4FE3A5E, 0x409AF3F, 0x222533E, 0x204D79F, 0x13F8E97,
     0x11809B2, 0x1A2D63A, 0x345AC74, 0x46026C7, 0x38A1C30, 0x2816FA7,
     0x0E2870C, 0x15A6990, 0x2B4D320, 0x1768340,
-};
-
-static const int32_t qmat44[MAT_SIZE] = {
+},
+[QMAT44] = {
     0x0040000, 0x07A0F3C, 0x03D079E, 0x07A29E4, 0x059F0FE, 0x07A29E4,
     0x0746964, 0x059B4E5, 0x0B369CA, 0x0746964, 0x0630000, 0x0A177B8,
     0x0B26485, 0x050BBDC, 0x0630000, 0x0521AE9, 0x048790C, 0x0A08C95,
@@ -1000,9 +1015,8 @@ static const int32_t qmat44[MAT_SIZE] = {
     0x17CAAB2, 0x15DBA76, 0x11DC065, 0x09563FF, 0x08EE032, 0x0576E9E,
     0x0994319, 0x0E530E0, 0x1CA61BF, 0x2650C65, 0x1EFF9DF, 0x15F2DD1,
     0x07BFE78, 0x0BE86DC, 0x17D0DB8, 0x0CDFB63,
-};
-
-static const int32_t qmat45[MAT_SIZE] = {
+},
+[QMAT45] = {
     0x0040000, 0x07A0F3C, 0x03D079E, 0x07A29E4, 0x059F0FE, 0x07A29E4,
     0x0A1AED2, 0x07C97B0, 0x0F92F5F, 0x0A1AED2, 0x08F0000, 0x0E042B8,
     0x0F41DC4, 0x070215C, 0x08F0000, 0x0705AB9, 0x0632C61, 0x0E42617,
@@ -1014,9 +1028,8 @@ static const int32_t qmat45[MAT_SIZE] = {
     0x2F95565, 0x57E0D01, 0x4710D92, 0x258F52A, 0x23886C9, 0x15F8340,
     0x1340AAA, 0x1CCB873, 0x39970E6, 0x4D02AA8, 0x3E4B89B, 0x2C1946B,
     0x0F92E27, 0x17D0DB8, 0x2FA1B6F, 0x19BF6C7,
-};
-
-static const int32_t qmat46[MAT_SIZE] = {
+},
+[QMAT46] = {
     0x0040000, 0x08527E4, 0x04293F2, 0x08544F9, 0x0621E2C, 0x08544F9,
     0x07EFE9C, 0x061DC9D, 0x0C3B939, 0x07EFE9C, 0x06C0000, 0x0B02582,
     0x0C29C34, 0x05812C1, 0x06C0000, 0x05991B9, 0x04F0FAF, 0x0AF2500,
@@ -1028,9 +1041,8 @@ static const int32_t qmat46[MAT_SIZE] = {
     0x19F45DA, 0x17D8598, 0x137BA9D, 0x0A2F8B9, 0x09BDD4E, 0x05F6166,
     0x0A731ED, 0x0FA06C5, 0x1F40D8B, 0x29CC7B4, 0x21D1096, 0x17F1AB5,
     0x0874425, 0x0CFD8F0, 0x19FB1E0, 0x0E0B527,
-};
-
-static const int32_t qmat47[MAT_SIZE] = {
+},
+[QMAT47] = {
     0x0040000, 0x08527E4, 0x04293F2, 0x08544F9, 0x0621E2C, 0x08544F9,
     0x0B061A0, 0x087EB4B, 0x10FD696, 0x0B061A0, 0x09C0000, 0x0F4A5E0,
     0x10A4F04, 0x07A52F0, 0x09C0000, 0x07A9184, 0x06C3069, 0x0F8E3BC,
@@ -1042,9 +1054,8 @@ static const int32_t qmat47[MAT_SIZE] = {
     0x33E8BB4, 0x5FDDFA4, 0x4D86BE5, 0x28F9717, 0x26C35F2, 0x17F77E9,
     0x1500BA2, 0x1F69AAC, 0x3ED3558, 0x5402E89, 0x43F5506, 0x301B92F,
     0x10FD541, 0x19FB1E0, 0x33F63BF, 0x1C16A4D,
-};
-
-static const int32_t qmat48[MAT_SIZE] = {
+},
+[QMAT48] = {
     0x0040000, 0x090408D, 0x0482046, 0x090600E, 0x06A4B5A, 0x090600E,
     0x08993D3, 0x06A0454, 0x0D408A9, 0x08993D3, 0x0750000, 0x0BED34D,
     0x0D2D3E3, 0x05F69A7, 0x0750000, 0x0610888, 0x055A653, 0x0BDBD6A,
@@ -1056,9 +1067,8 @@ static const int32_t qmat48[MAT_SIZE] = {
     0x1C1E101, 0x19D50BB, 0x151B4D4, 0x0B08D73, 0x0A8DA6A, 0x067542F,
     0x0B520C1, 0x10EDCAB, 0x21DB956, 0x2D48303, 0x24A274D, 0x19F079A,
     0x09289D3, 0x0E12B04, 0x1C25608, 0x0F36EEA,
-};
-
-static const int32_t qmat49[MAT_SIZE] = {
+},
+[QMAT49] = {
     0x0040000, 0x090408D, 0x0482046, 0x090600E, 0x06A4B5A, 0x090600E,
     0x0BF146D, 0x0933EE7, 0x1267DCE, 0x0BF146D, 0x0A90000, 0x1090908,
     0x1208045, 0x0848484, 0x0A90000, 0x084C84F, 0x0753472, 0x10DA161,
@@ -1070,9 +1080,8 @@ static const int32_t qmat49[MAT_SIZE] = {
     0x383C203, 0x67DB247, 0x53FCA38, 0x2C63904, 0x29FE51C, 0x19F6C92,
     0x16C0C9A, 0x2207CE5, 0x440F9CA, 0x5B0326A, 0x499F171, 0x341DDF3,
     0x1267C5C, 0x1C25608, 0x384AC0F, 0x1E6DDD4,
-};
-
-static const int32_t qmat4A[MAT_SIZE] = {
+},
+[QMAT4A] = {
     0x0040000, 0x09B5935, 0x04DAC9A, 0x09B7B22, 0x0727888, 0x09B7B22,
     0x094290B, 0x0722C0C, 0x0E45818, 0x094290B, 0x07E0000, 0x0CD8118,
     0x0E30B92, 0x066C08C, 0x07E0000, 0x0687F58, 0x05C3CF7, 0x0CC55D5,
@@ -1084,9 +1093,8 @@ static const int32_t qmat4A[MAT_SIZE] = {
     0x1E47C29, 0x1BD1BDD, 0x16BAF0C, 0x0BE222D, 0x0B5D786, 0x06F46F7,
     0x0C30F95, 0x123B291, 0x2476522, 0x30C3E52, 0x2773E04, 0x1BEF47E,
     0x09DCF81, 0x0F27D18, 0x1E4FA30, 0x10628AD,
-};
-
-static const int32_t qmat4B[MAT_SIZE] = {
+},
+[QMAT4B] = {
     0x0040000, 0x09B5935, 0x04DAC9A, 0x09B7B22, 0x0727888, 0x09B7B22,
     0x0CDC73A, 0x09E9282, 0x13D2505, 0x0CDC73A, 0x0B60000, 0x11D6C30,
     0x136B185, 0x08EB618, 0x0B60000, 0x08EFF19, 0x07E387B, 0x1225F06,
@@ -1098,9 +1106,8 @@ static const int32_t qmat4B[MAT_SIZE] = {
     0x3C8F852, 0x6FD84EA, 0x5A7288B, 0x2FCDAF0, 0x2D39446, 0x1BF613A,
     0x1880D93, 0x24A5F1E, 0x494BE3C, 0x620364A, 0x4F48DDC, 0x38202B7,
     0x13D2377, 0x1E4FA30, 0x3C9F45F, 0x20C515A,
-};
-
-static const int32_t qmat4C[MAT_SIZE] = {
+},
+[QMAT4C] = {
     0x0040000, 0x1208119, 0x090408D, 0x120C01B, 0x0D496B4, 0x120C01B,
     0x11327A7, 0x0D408A9, 0x1A81151, 0x11327A7, 0x0EA0000, 0x17DA69B,
     0x1A5A7C7, 0x0BED34D, 0x0EA0000, 0x0C21110, 0x0AB4CA7, 0x17B7AD5,
@@ -1112,9 +1119,8 @@ static const int32_t qmat4C[MAT_SIZE] = {
     0x383C203, 0x33AA175, 0x2A369A9, 0x1611AE6, 0x151B4D4, 0x0CEA85D,
     0x16A4182, 0x21DB956, 0x43B72AC, 0x5A90607, 0x4944E9A, 0x33E0F34,
     0x12513A7, 0x1C25608, 0x384AC0F, 0x1E6DDD4,
-};
-
-static const int32_t qmat4D[MAT_SIZE] = {
+},
+[QMAT4D] = {
     0x0040000, 0x1208119, 0x090408D, 0x120C01B, 0x0D496B4, 0x120C01B,
     0x17E28DA, 0x1267DCE, 0x24CFB9B, 0x17E28DA, 0x1520000, 0x2121210,
     0x2410089, 0x1090908, 0x1520000, 0x109909D, 0x0EA68E4, 0x21B42C3,
@@ -1126,25 +1132,27 @@ static const int32_t qmat4D[MAT_SIZE] = {
     0x7078406, 0xCFB648E, 0xA7F9470, 0x58C7207, 0x53FCA38, 0x33ED923,
     0x2D81935, 0x440F9CA, 0x881F394, 0xB6064D3, 0x933E2E2, 0x683BBE7,
     0x24CF8B9, 0x384AC0F, 0x709581F, 0x3CDBBA7,
+},
 };
 
-static const int32_t *const hq_quants[NUM_HQ_QUANTS][2][4] = {
-    { { qmat00, qmat02, qmat06, qmat0E }, { qmat01, qmat03, qmat07, qmat0F } },
-    { { qmat02, qmat06, qmat0E, qmat16 }, { qmat03, qmat07, qmat0F, qmat17 } },
-    { { qmat04, qmat0A, qmat12, qmat1E }, { qmat05, qmat0B, qmat13, qmat1F } },
-    { { qmat06, qmat0E, qmat16, qmat22 }, { qmat07, qmat0F, qmat17, qmat23 } },
-    { { qmat08, qmat10, qmat1A, qmat26 }, { qmat09, qmat11, qmat1B, qmat27 } },
-    { { qmat0A, qmat12, qmat1E, qmat2A }, { qmat0B, qmat13, qmat1F, qmat2B } },
-    { { qmat0C, qmat14, qmat20, qmat2E }, { qmat0D, qmat15, qmat21, qmat2F } },
-    { { qmat0E, qmat16, qmat22, qmat30 }, { qmat0F, qmat17, qmat23, qmat31 } },
-    { { qmat16, qmat22, qmat30, qmat3E }, { qmat17, qmat23, qmat31, qmat3F } },
-    { { qmat18, qmat24, qmat32, qmat40 }, { qmat19, qmat25, qmat33, qmat41 } },
-    { { qmat1A, qmat26, qmat34, qmat42 }, { qmat1B, qmat27, qmat35, qmat43 } },
-    { { qmat1C, qmat28, qmat36, qmat44 }, { qmat1D, qmat29, qmat37, qmat45 } },
-    { { qmat1E, qmat2A, qmat38, qmat46 }, { qmat1F, qmat2B, qmat39, qmat47 } },
-    { { qmat20, qmat2E, qmat3C, qmat4A }, { qmat21, qmat2F, qmat3D, qmat4B } },
-    { { qmat2C, qmat3A, qmat48, qmat4C }, { qmat2D, qmat3B, qmat49, qmat4D } },
-    { { qmat3A, qmat48, qmat4C, qmat4C }, { qmat3B, qmat49, qmat4D, qmat4D } },
+static const uint8_t hq_quant_map[NUM_HQ_QUANTS][2][4] =
+{
+    { { QMAT00, QMAT02, QMAT06, QMAT0E }, { QMAT01, QMAT03, QMAT07, QMAT0F } },
+    { { QMAT02, QMAT06, QMAT0E, QMAT16 }, { QMAT03, QMAT07, QMAT0F, QMAT17 } },
+    { { QMAT04, QMAT0A, QMAT12, QMAT1E }, { QMAT05, QMAT0B, QMAT13, QMAT1F } },
+    { { QMAT06, QMAT0E, QMAT16, QMAT22 }, { QMAT07, QMAT0F, QMAT17, QMAT23 } },
+    { { QMAT08, QMAT10, QMAT1A, QMAT26 }, { QMAT09, QMAT11, QMAT1B, QMAT27 } },
+    { { QMAT0A, QMAT12, QMAT1E, QMAT2A }, { QMAT0B, QMAT13, QMAT1F, QMAT2B } },
+    { { QMAT0C, QMAT14, QMAT20, QMAT2E }, { QMAT0D, QMAT15, QMAT21, QMAT2F } },
+    { { QMAT0E, QMAT16, QMAT22, QMAT30 }, { QMAT0F, QMAT17, QMAT23, QMAT31 } },
+    { { QMAT16, QMAT22, QMAT30, QMAT3E }, { QMAT17, QMAT23, QMAT31, QMAT3F } },
+    { { QMAT18, QMAT24, QMAT32, QMAT40 }, { QMAT19, QMAT25, QMAT33, QMAT41 } },
+    { { QMAT1A, QMAT26, QMAT34, QMAT42 }, { QMAT1B, QMAT27, QMAT35, QMAT43 } },
+    { { QMAT1C, QMAT28, QMAT36, QMAT44 }, { QMAT1D, QMAT29, QMAT37, QMAT45 } },
+    { { QMAT1E, QMAT2A, QMAT38, QMAT46 }, { QMAT1F, QMAT2B, QMAT39, QMAT47 } },
+    { { QMAT20, QMAT2E, QMAT3C, QMAT4A }, { QMAT21, QMAT2F, QMAT3D, QMAT4B } },
+    { { QMAT2C, QMAT3A, QMAT48, QMAT4C }, { QMAT2D, QMAT3B, QMAT49, QMAT4D } },
+    { { QMAT3A, QMAT48, QMAT4C, QMAT4C }, { QMAT3B, QMAT49, QMAT4D, QMAT4D } },
 };
 
 static const uint8_t hq_ac_bits[NUM_HQ_AC_ENTRIES] = {
-- 
2.45.2