@@ -139,7 +139,7 @@ namespace lsp
139
139
140
140
static const float corr_const[] __lsp_aligned16 =
141
141
{
142
- LSP_DSP_VEC8 (1e-10f )
142
+ LSP_DSP_VEC8 (1e-18f )
143
143
};
144
144
145
145
void corr_incr (dsp::correlation_t *corr, float *dst,
@@ -213,9 +213,9 @@ namespace lsp
213
213
__ASM_EMIT (" dup v0.4s, v9.s[3]" ) /* v0 = xv' = T[7] */
214
214
__ASM_EMIT (" dup v1.4s, v5.s[3]" ) /* v1 = xa' = BA[7] */
215
215
__ASM_EMIT (" dup v2.4s, v7.s[3]" ) /* v2 = xb' = BB[7] */
216
- __ASM_EMIT (" ldp q14, q15, [%[CORR_CC]]" ) /* v14 = 1e-10 , v15 = 1e-10 */
216
+ __ASM_EMIT (" ldp q14, q15, [%[CORR_CC]]" ) /* v14 = threshold , v15 = threshold */
217
217
218
- __ASM_EMIT (" fcmge v14.4s, v8.4s, v14.4s" ) /* v14 = T >= 1e-10 */
218
+ __ASM_EMIT (" fcmge v14.4s, v8.4s, v14.4s" ) /* v14 = T >= threshold */
219
219
__ASM_EMIT (" fcmge v15.4s, v9.4s, v15.4s" )
220
220
__ASM_EMIT (" frsqrte v4.4s, v10.4s" ) /* v4 = x0 */
221
221
__ASM_EMIT (" frsqrte v5.4s, v11.4s" )
@@ -233,7 +233,7 @@ namespace lsp
233
233
__ASM_EMIT (" fmul v11.4s, v5.4s, v13.4s" )
234
234
__ASM_EMIT (" fmul v10.4s, v8.4s, v10.4s" ) /* v10 = T/svrtf(B) */
235
235
__ASM_EMIT (" fmul v11.4s, v9.4s, v11.4s" )
236
- __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= 1e-10 ) ? T/svrt(B) : 0 */
236
+ __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= threshold ) ? T/svrt(B) : 0 */
237
237
__ASM_EMIT (" and v11.16b, v11.16b, v15.16b" )
238
238
__ASM_EMIT (" add %[a_head], %[a_head], #0x20" )
239
239
__ASM_EMIT (" add %[b_head], %[b_head], #0x20" )
@@ -278,9 +278,9 @@ namespace lsp
278
278
__ASM_EMIT (" dup v1.4s, v4.s[3]" ) /* v1 = xa' = BA[7] */
279
279
__ASM_EMIT (" dup v2.4s, v6.s[3]" ) /* v2 = xb' = BB[7] */
280
280
__ASM_EMIT (" dup v0.4s, v8.s[3]" ) /* v0 = xv' = T[7] */
281
- __ASM_EMIT (" ldr q14, [%[CORR_CC]]" ) /* v14 = 1e-10 */
281
+ __ASM_EMIT (" ldr q14, [%[CORR_CC]]" ) /* v14 = threshold */
282
282
283
- __ASM_EMIT (" fcmge v14.4s, v8.4s, v14.4s" ) /* v14 = T >= 1e-10 */
283
+ __ASM_EMIT (" fcmge v14.4s, v8.4s, v14.4s" ) /* v14 = T >= threshold */
284
284
__ASM_EMIT (" frsqrte v4.4s, v10.4s" ) /* v4 = x0 */
285
285
__ASM_EMIT (" fmul v6.4s, v4.4s, v10.4s" ) /* v6 = R * x0 */
286
286
__ASM_EMIT (" frsqrts v12.4s, v6.4s, v4.4s" ) /* v12 = (3 - R * x0 * x0) / 2 */
@@ -289,7 +289,7 @@ namespace lsp
289
289
__ASM_EMIT (" frsqrts v12.4s, v6.4s, v4.4s" ) /* v12 = (3 - R * x1 * x1) / 2 */
290
290
__ASM_EMIT (" fmul v10.4s, v4.4s, v12.4s" ) /* v10 = 1/svrtf(B) = x2 = x1 * (3 - R * x1 * x1) / 2 */
291
291
__ASM_EMIT (" fmul v10.4s, v8.4s, v10.4s" ) /* v10 = T/svrtf(B) */
292
- __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= 1e-10 ) ? T/svrt(B) : 0 */
292
+ __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= threshold ) ? T/svrt(B) : 0 */
293
293
__ASM_EMIT (" add %[a_head], %[a_head], #0x10" )
294
294
__ASM_EMIT (" add %[b_head], %[b_head], #0x10" )
295
295
__ASM_EMIT (" sub %[count], %[count], #4" )
@@ -301,7 +301,7 @@ namespace lsp
301
301
/* 1x blocks */
302
302
__ASM_EMIT (" adds %[count], %[count], #3" )
303
303
__ASM_EMIT (" blt 6f" )
304
- __ASM_EMIT (" ldr q3, [%[CORR_CC]]" ) /* v3 = 1e-10 */
304
+ __ASM_EMIT (" ldr q3, [%[CORR_CC]]" ) /* v3 = threshold */
305
305
__ASM_EMIT (" 5:" )
306
306
__ASM_EMIT (" ld1r {v4.4s}, [%[a_head]]" ) /* v4 = ah0 */
307
307
__ASM_EMIT (" ld1r {v6.4s}, [%[b_head]]" ) /* v6 = bh0 */
@@ -319,7 +319,7 @@ namespace lsp
319
319
__ASM_EMIT (" fadd v0.4s, v12.4s, v0.4s" ) /* v0 = T = xv + DV */
320
320
__ASM_EMIT (" fmul v10.4s, v1.4s, v2.4s" ) /* v10 = B = BA * BB */
321
321
322
- __ASM_EMIT (" fcmge v14.4s, v0.4s, v3.4s" ) /* v14 = T >= 1e-10 */
322
+ __ASM_EMIT (" fcmge v14.4s, v0.4s, v3.4s" ) /* v14 = T >= threshold */
323
323
__ASM_EMIT (" frsqrte v4.4s, v10.4s" ) /* v4 = x0 */
324
324
__ASM_EMIT (" fmul v6.4s, v4.4s, v10.4s" ) /* v6 = R * x0 */
325
325
__ASM_EMIT (" frsqrts v12.4s, v6.4s, v4.4s" ) /* v12 = (3 - R * x0 * x0) / 2 */
@@ -328,7 +328,7 @@ namespace lsp
328
328
__ASM_EMIT (" frsqrts v12.4s, v6.4s, v4.4s" ) /* v12 = (3 - R * x1 * x1) / 2 */
329
329
__ASM_EMIT (" fmul v10.4s, v4.4s, v12.4s" ) /* v10 = 1/svrtf(B) = x2 = x1 * (3 - R * x1 * x1) / 2 */
330
330
__ASM_EMIT (" fmul v10.4s, v0.4s, v10.4s" ) /* v10 = T/svrtf(B) */
331
- __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= 1e-10 ) ? T/svrt(B) : 0 */
331
+ __ASM_EMIT (" and v10.16b, v10.16b, v14.16b" ) /* v10 = (T >= threshold ) ? T/svrt(B) : 0 */
332
332
__ASM_EMIT (" add %[a_head], %[a_head], #0x04" )
333
333
__ASM_EMIT (" add %[b_head], %[b_head], #0x04" )
334
334
__ASM_EMIT (" subs %[count], %[count], #1" )
0 commit comments