MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / encode_L2_Q

Function encode_L2_Q

src/cdrom.cpp:130–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

128 }
129
130 static void encode_L2_Q(uae_u8 *inout)
131 {
132 uae_u8 *Q;
133 int i,j;
134
135 Q = inout + 4 + L2_RAW + 4 + 8 + L2_P;
136 memset(Q, 0, L2_Q);
137 for (j = 0; j < 26; j++) {
138 for (i = 0; i < 43; i++) {
139 uae_u8 data;
140 /* LSB */
141 data = inout[(j*43*2+i*2*44) % (4 + L2_RAW + 4 + 8 + L2_P)];
142 if (data != 0) {
143 uae_u32 base = rs_l12_log[data];
144 uae_u32 sum = base + DQ[0][i];
145 if (sum >= ((1 << RS_L12_BITS)-1))
146 sum -= (1 << RS_L12_BITS)-1;
147 Q[0] ^= rs_l12_alog[sum];
148 sum = base + DQ[1][i];
149 if (sum >= ((1 << RS_L12_BITS)-1))
150 sum -= (1 << RS_L12_BITS)-1;
151 Q[26*2] ^= rs_l12_alog[sum];
152 }
153 /* MSB */
154 data = inout[(j*43*2+i*2*44+1) % (4 + L2_RAW + 4 + 8 + L2_P)];
155 if (data != 0) {
156 uae_u32 base = rs_l12_log[data];
157 uae_u32 sum = base+DQ[0][i];
158 if (sum >= ((1 << RS_L12_BITS)-1))
159 sum -= (1 << RS_L12_BITS)-1;
160 Q[1] ^= rs_l12_alog[sum];
161 sum = base + DQ[1][i];
162 if (sum >= ((1 << RS_L12_BITS)-1))
163 sum -= (1 << RS_L12_BITS)-1;
164 Q[26*2+1] ^= rs_l12_alog[sum];
165 }
166 }
167 Q += 2;
168 }
169 }
170
171 static void encode_L2_P(uae_u8 inout[4 + L2_RAW + 4 + 8 + L2_P])
172 {

Callers 1

encode_l2Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected