2#ifndef RADAUDIO_DECODER_SIMD_TABLES_H
3#define RADAUDIO_DECODER_SIMD_TABLES_H
39static const U8 s_popcnt_table[256] = {
40 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
41 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
42 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
43 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
44 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
45 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
46 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
47 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
48 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
49 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
50 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
51 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
52 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
53 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
54 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
55 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8,
58static const S8 s_shuffle_table[256][8] = {
59 { -1,-1,-1,-1,-1,-1,-1,-1, },{ 0,-1,-1,-1,-1,-1,-1,-1, },{ -1, 0,-1,-1,-1,-1,-1,-1, },{ 0, 1,-1,-1,-1,-1,-1,-1, },
60 { -1,-1, 0,-1,-1,-1,-1,-1, },{ 0,-1, 1,-1,-1,-1,-1,-1, },{ -1, 0, 1,-1,-1,-1,-1,-1, },{ 0, 1, 2,-1,-1,-1,-1,-1, },
61 { -1,-1,-1, 0,-1,-1,-1,-1, },{ 0,-1,-1, 1,-1,-1,-1,-1, },{ -1, 0,-1, 1,-1,-1,-1,-1, },{ 0, 1,-1, 2,-1,-1,-1,-1, },
62 { -1,-1, 0, 1,-1,-1,-1,-1, },{ 0,-1, 1, 2,-1,-1,-1,-1, },{ -1, 0, 1, 2,-1,-1,-1,-1, },{ 0, 1, 2, 3,-1,-1,-1,-1, },
63 { -1,-1,-1,-1, 0,-1,-1,-1, },{ 0,-1,-1,-1, 1,-1,-1,-1, },{ -1, 0,-1,-1, 1,-1,-1,-1, },{ 0, 1,-1,-1, 2,-1,-1,-1, },
64 { -1,-1, 0,-1, 1,-1,-1,-1, },{ 0,-1, 1,-1, 2,-1,-1,-1, },{ -1, 0, 1,-1, 2,-1,-1,-1, },{ 0, 1, 2,-1, 3,-1,-1,-1, },
65 { -1,-1,-1, 0, 1,-1,-1,-1, },{ 0,-1,-1, 1, 2,-1,-1,-1, },{ -1, 0,-1, 1, 2,-1,-1,-1, },{ 0, 1,-1, 2, 3,-1,-1,-1, },
66 { -1,-1, 0, 1, 2,-1,-1,-1, },{ 0,-1, 1, 2, 3,-1,-1,-1, },{ -1, 0, 1, 2, 3,-1,-1,-1, },{ 0, 1, 2, 3, 4,-1,-1,-1, },
67 { -1,-1,-1,-1,-1, 0,-1,-1, },{ 0,-1,-1,-1,-1, 1,-1,-1, },{ -1, 0,-1,-1,-1, 1,-1,-1, },{ 0, 1,-1,-1,-1, 2,-1,-1, },
68 { -1,-1, 0,-1,-1, 1,-1,-1, },{ 0,-1, 1,-1,-1, 2,-1,-1, },{ -1, 0, 1,-1,-1, 2,-1,-1, },{ 0, 1, 2,-1,-1, 3,-1,-1, },
69 { -1,-1,-1, 0,-1, 1,-1,-1, },{ 0,-1,-1, 1,-1, 2,-1,-1, },{ -1, 0,-1, 1,-1, 2,-1,-1, },{ 0, 1,-1, 2,-1, 3,-1,-1, },
70 { -1,-1, 0, 1,-1, 2,-1,-1, },{ 0,-1, 1, 2,-1, 3,-1,-1, },{ -1, 0, 1, 2,-1, 3,-1,-1, },{ 0, 1, 2, 3,-1, 4,-1,-1, },
71 { -1,-1,-1,-1, 0, 1,-1,-1, },{ 0,-1,-1,-1, 1, 2,-1,-1, },{ -1, 0,-1,-1, 1, 2,-1,-1, },{ 0, 1,-1,-1, 2, 3,-1,-1, },
72 { -1,-1, 0,-1, 1, 2,-1,-1, },{ 0,-1, 1,-1, 2, 3,-1,-1, },{ -1, 0, 1,-1, 2, 3,-1,-1, },{ 0, 1, 2,-1, 3, 4,-1,-1, },
73 { -1,-1,-1, 0, 1, 2,-1,-1, },{ 0,-1,-1, 1, 2, 3,-1,-1, },{ -1, 0,-1, 1, 2, 3,-1,-1, },{ 0, 1,-1, 2, 3, 4,-1,-1, },
74 { -1,-1, 0, 1, 2, 3,-1,-1, },{ 0,-1, 1, 2, 3, 4,-1,-1, },{ -1, 0, 1, 2, 3, 4,-1,-1, },{ 0, 1, 2, 3, 4, 5,-1,-1, },
75 { -1,-1,-1,-1,-1,-1, 0,-1, },{ 0,-1,-1,-1,-1,-1, 1,-1, },{ -1, 0,-1,-1,-1,-1, 1,-1, },{ 0, 1,-1,-1,-1,-1, 2,-1, },
76 { -1,-1, 0,-1,-1,-1, 1,-1, },{ 0,-1, 1,-1,-1,-1, 2,-1, },{ -1, 0, 1,-1,-1,-1, 2,-1, },{ 0, 1, 2,-1,-1,-1, 3,-1, },
77 { -1,-1,-1, 0,-1,-1, 1,-1, },{ 0,-1,-1, 1,-1,-1, 2,-1, },{ -1, 0,-1, 1,-1,-1, 2,-1, },{ 0, 1,-1, 2,-1,-1, 3,-1, },
78 { -1,-1, 0, 1,-1,-1, 2,-1, },{ 0,-1, 1, 2,-1,-1, 3,-1, },{ -1, 0, 1, 2,-1,-1, 3,-1, },{ 0, 1, 2, 3,-1,-1, 4,-1, },
79 { -1,-1,-1,-1, 0,-1, 1,-1, },{ 0,-1,-1,-1, 1,-1, 2,-1, },{ -1, 0,-1,-1, 1,-1, 2,-1, },{ 0, 1,-1,-1, 2,-1, 3,-1, },
80 { -1,-1, 0,-1, 1,-1, 2,-1, },{ 0,-1, 1,-1, 2,-1, 3,-1, },{ -1, 0, 1,-1, 2,-1, 3,-1, },{ 0, 1, 2,-1, 3,-1, 4,-1, },
81 { -1,-1,-1, 0, 1,-1, 2,-1, },{ 0,-1,-1, 1, 2,-1, 3,-1, },{ -1, 0,-1, 1, 2,-1, 3,-1, },{ 0, 1,-1, 2, 3,-1, 4,-1, },
82 { -1,-1, 0, 1, 2,-1, 3,-1, },{ 0,-1, 1, 2, 3,-1, 4,-1, },{ -1, 0, 1, 2, 3,-1, 4,-1, },{ 0, 1, 2, 3, 4,-1, 5,-1, },
83 { -1,-1,-1,-1,-1, 0, 1,-1, },{ 0,-1,-1,-1,-1, 1, 2,-1, },{ -1, 0,-1,-1,-1, 1, 2,-1, },{ 0, 1,-1,-1,-1, 2, 3,-1, },
84 { -1,-1, 0,-1,-1, 1, 2,-1, },{ 0,-1, 1,-1,-1, 2, 3,-1, },{ -1, 0, 1,-1,-1, 2, 3,-1, },{ 0, 1, 2,-1,-1, 3, 4,-1, },
85 { -1,-1,-1, 0,-1, 1, 2,-1, },{ 0,-1,-1, 1,-1, 2, 3,-1, },{ -1, 0,-1, 1,-1, 2, 3,-1, },{ 0, 1,-1, 2,-1, 3, 4,-1, },
86 { -1,-1, 0, 1,-1, 2, 3,-1, },{ 0,-1, 1, 2,-1, 3, 4,-1, },{ -1, 0, 1, 2,-1, 3, 4,-1, },{ 0, 1, 2, 3,-1, 4, 5,-1, },
87 { -1,-1,-1,-1, 0, 1, 2,-1, },{ 0,-1,-1,-1, 1, 2, 3,-1, },{ -1, 0,-1,-1, 1, 2, 3,-1, },{ 0, 1,-1,-1, 2, 3, 4,-1, },
88 { -1,-1, 0,-1, 1, 2, 3,-1, },{ 0,-1, 1,-1, 2, 3, 4,-1, },{ -1, 0, 1,-1, 2, 3, 4,-1, },{ 0, 1, 2,-1, 3, 4, 5,-1, },
89 { -1,-1,-1, 0, 1, 2, 3,-1, },{ 0,-1,-1, 1, 2, 3, 4,-1, },{ -1, 0,-1, 1, 2, 3, 4,-1, },{ 0, 1,-1, 2, 3, 4, 5,-1, },
90 { -1,-1, 0, 1, 2, 3, 4,-1, },{ 0,-1, 1, 2, 3, 4, 5,-1, },{ -1, 0, 1, 2, 3, 4, 5,-1, },{ 0, 1, 2, 3, 4, 5, 6,-1, },
91 { -1,-1,-1,-1,-1,-1,-1, 0, },{ 0,-1,-1,-1,-1,-1,-1, 1, },{ -1, 0,-1,-1,-1,-1,-1, 1, },{ 0, 1,-1,-1,-1,-1,-1, 2, },
92 { -1,-1, 0,-1,-1,-1,-1, 1, },{ 0,-1, 1,-1,-1,-1,-1, 2, },{ -1, 0, 1,-1,-1,-1,-1, 2, },{ 0, 1, 2,-1,-1,-1,-1, 3, },
93 { -1,-1,-1, 0,-1,-1,-1, 1, },{ 0,-1,-1, 1,-1,-1,-1, 2, },{ -1, 0,-1, 1,-1,-1,-1, 2, },{ 0, 1,-1, 2,-1,-1,-1, 3, },
94 { -1,-1, 0, 1,-1,-1,-1, 2, },{ 0,-1, 1, 2,-1,-1,-1, 3, },{ -1, 0, 1, 2,-1,-1,-1, 3, },{ 0, 1, 2, 3,-1,-1,-1, 4, },
95 { -1,-1,-1,-1, 0,-1,-1, 1, },{ 0,-1,-1,-1, 1,-1,-1, 2, },{ -1, 0,-1,-1, 1,-1,-1, 2, },{ 0, 1,-1,-1, 2,-1,-1, 3, },
96 { -1,-1, 0,-1, 1,-1,-1, 2, },{ 0,-1, 1,-1, 2,-1,-1, 3, },{ -1, 0, 1,-1, 2,-1,-1, 3, },{ 0, 1, 2,-1, 3,-1,-1, 4, },
97 { -1,-1,-1, 0, 1,-1,-1, 2, },{ 0,-1,-1, 1, 2,-1,-1, 3, },{ -1, 0,-1, 1, 2,-1,-1, 3, },{ 0, 1,-1, 2, 3,-1,-1, 4, },
98 { -1,-1, 0, 1, 2,-1,-1, 3, },{ 0,-1, 1, 2, 3,-1,-1, 4, },{ -1, 0, 1, 2, 3,-1,-1, 4, },{ 0, 1, 2, 3, 4,-1,-1, 5, },
99 { -1,-1,-1,-1,-1, 0,-1, 1, },{ 0,-1,-1,-1,-1, 1,-1, 2, },{ -1, 0,-1,-1,-1, 1,-1, 2, },{ 0, 1,-1,-1,-1, 2,-1, 3, },
100 { -1,-1, 0,-1,-1, 1,-1, 2, },{ 0,-1, 1,-1,-1, 2,-1, 3, },{ -1, 0, 1,-1,-1, 2,-1, 3, },{ 0, 1, 2,-1,-1, 3,-1, 4, },
101 { -1,-1,-1, 0,-1, 1,-1, 2, },{ 0,-1,-1, 1,-1, 2,-1, 3, },{ -1, 0,-1, 1,-1, 2,-1, 3, },{ 0, 1,-1, 2,-1, 3,-1, 4, },
102 { -1,-1, 0, 1,-1, 2,-1, 3, },{ 0,-1, 1, 2,-1, 3,-1, 4, },{ -1, 0, 1, 2,-1, 3,-1, 4, },{ 0, 1, 2, 3,-1, 4,-1, 5, },
103 { -1,-1,-1,-1, 0, 1,-1, 2, },{ 0,-1,-1,-1, 1, 2,-1, 3, },{ -1, 0,-1,-1, 1, 2,-1, 3, },{ 0, 1,-1,-1, 2, 3,-1, 4, },
104 { -1,-1, 0,-1, 1, 2,-1, 3, },{ 0,-1, 1,-1, 2, 3,-1, 4, },{ -1, 0, 1,-1, 2, 3,-1, 4, },{ 0, 1, 2,-1, 3, 4,-1, 5, },
105 { -1,-1,-1, 0, 1, 2,-1, 3, },{ 0,-1,-1, 1, 2, 3,-1, 4, },{ -1, 0,-1, 1, 2, 3,-1, 4, },{ 0, 1,-1, 2, 3, 4,-1, 5, },
106 { -1,-1, 0, 1, 2, 3,-1, 4, },{ 0,-1, 1, 2, 3, 4,-1, 5, },{ -1, 0, 1, 2, 3, 4,-1, 5, },{ 0, 1, 2, 3, 4, 5,-1, 6, },
107 { -1,-1,-1,-1,-1,-1, 0, 1, },{ 0,-1,-1,-1,-1,-1, 1, 2, },{ -1, 0,-1,-1,-1,-1, 1, 2, },{ 0, 1,-1,-1,-1,-1, 2, 3, },
108 { -1,-1, 0,-1,-1,-1, 1, 2, },{ 0,-1, 1,-1,-1,-1, 2, 3, },{ -1, 0, 1,-1,-1,-1, 2, 3, },{ 0, 1, 2,-1,-1,-1, 3, 4, },
109 { -1,-1,-1, 0,-1,-1, 1, 2, },{ 0,-1,-1, 1,-1,-1, 2, 3, },{ -1, 0,-1, 1,-1,-1, 2, 3, },{ 0, 1,-1, 2,-1,-1, 3, 4, },
110 { -1,-1, 0, 1,-1,-1, 2, 3, },{ 0,-1, 1, 2,-1,-1, 3, 4, },{ -1, 0, 1, 2,-1,-1, 3, 4, },{ 0, 1, 2, 3,-1,-1, 4, 5, },
111 { -1,-1,-1,-1, 0,-1, 1, 2, },{ 0,-1,-1,-1, 1,-1, 2, 3, },{ -1, 0,-1,-1, 1,-1, 2, 3, },{ 0, 1,-1,-1, 2,-1, 3, 4, },
112 { -1,-1, 0,-1, 1,-1, 2, 3, },{ 0,-1, 1,-1, 2,-1, 3, 4, },{ -1, 0, 1,-1, 2,-1, 3, 4, },{ 0, 1, 2,-1, 3,-1, 4, 5, },
113 { -1,-1,-1, 0, 1,-1, 2, 3, },{ 0,-1,-1, 1, 2,-1, 3, 4, },{ -1, 0,-1, 1, 2,-1, 3, 4, },{ 0, 1,-1, 2, 3,-1, 4, 5, },
114 { -1,-1, 0, 1, 2,-1, 3, 4, },{ 0,-1, 1, 2, 3,-1, 4, 5, },{ -1, 0, 1, 2, 3,-1, 4, 5, },{ 0, 1, 2, 3, 4,-1, 5, 6, },
115 { -1,-1,-1,-1,-1, 0, 1, 2, },{ 0,-1,-1,-1,-1, 1, 2, 3, },{ -1, 0,-1,-1,-1, 1, 2, 3, },{ 0, 1,-1,-1,-1, 2, 3, 4, },
116 { -1,-1, 0,-1,-1, 1, 2, 3, },{ 0,-1, 1,-1,-1, 2, 3, 4, },{ -1, 0, 1,-1,-1, 2, 3, 4, },{ 0, 1, 2,-1,-1, 3, 4, 5, },
117 { -1,-1,-1, 0,-1, 1, 2, 3, },{ 0,-1,-1, 1,-1, 2, 3, 4, },{ -1, 0,-1, 1,-1, 2, 3, 4, },{ 0, 1,-1, 2,-1, 3, 4, 5, },
118 { -1,-1, 0, 1,-1, 2, 3, 4, },{ 0,-1, 1, 2,-1, 3, 4, 5, },{ -1, 0, 1, 2,-1, 3, 4, 5, },{ 0, 1, 2, 3,-1, 4, 5, 6, },
119 { -1,-1,-1,-1, 0, 1, 2, 3, },{ 0,-1,-1,-1, 1, 2, 3, 4, },{ -1, 0,-1,-1, 1, 2, 3, 4, },{ 0, 1,-1,-1, 2, 3, 4, 5, },
120 { -1,-1, 0,-1, 1, 2, 3, 4, },{ 0,-1, 1,-1, 2, 3, 4, 5, },{ -1, 0, 1,-1, 2, 3, 4, 5, },{ 0, 1, 2,-1, 3, 4, 5, 6, },
121 { -1,-1,-1, 0, 1, 2, 3, 4, },{ 0,-1,-1, 1, 2, 3, 4, 5, },{ -1, 0,-1, 1, 2, 3, 4, 5, },{ 0, 1,-1, 2, 3, 4, 5, 6, },
122 { -1,-1, 0, 1, 2, 3, 4, 5, },{ 0,-1, 1, 2, 3, 4, 5, 6, },{ -1, 0, 1, 2, 3, 4, 5, 6, },{ 0, 1, 2, 3, 4, 5, 6, 7, },
RAD_S8 S8
Definition egttypes.h:476
RAD_U8 U8
Definition egttypes.h:481