Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1880)

Side by Side Diff: webrtc/modules/audio_coding/codecs/isac/fix/source/lattice_armv7.S

Issue 1235643003: Miscellaneous changes split from https://codereview.webrtc.org/1230503003 . (Closed) Base URL: https://chromium.googlesource.com/external/webrtc@master
Patch Set: Resync Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 @ 1 @
2 @ Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 @ Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3 @ 3 @
4 @ Use of this source code is governed by a BSD-style license 4 @ Use of this source code is governed by a BSD-style license
5 @ that can be found in the LICENSE file in the root of the source 5 @ that can be found in the LICENSE file in the root of the source
6 @ tree. An additional intellectual property rights grant can be found 6 @ tree. An additional intellectual property rights grant can be found
7 @ in the file PATENTS. All contributing project authors may 7 @ in the file PATENTS. All contributing project authors may
8 @ be found in the AUTHORS file in the root of the source tree. 8 @ be found in the AUTHORS file in the root of the source tree.
9 @ 9 @
10 10
(...skipping 20 matching lines...) Expand all
31 GLOBAL_FUNCTION WebRtcIsacfix_FilterArLoop 31 GLOBAL_FUNCTION WebRtcIsacfix_FilterArLoop
32 .align 2 32 .align 2
33 DEFINE_FUNCTION WebRtcIsacfix_FilterArLoop 33 DEFINE_FUNCTION WebRtcIsacfix_FilterArLoop
34 push {r4-r11} 34 push {r4-r11}
35 35
36 add r1, #2 @ &ar_f_Q0[1] 36 add r1, #2 @ &ar_f_Q0[1]
37 mov r12, #16384 37 mov r12, #16384
38 mov r4, #HALF_SUBFRAMELEN 38 mov r4, #HALF_SUBFRAMELEN
39 sub r4, #1 @ Outer loop counter = HALF_SUBFRAMELEN - 1 39 sub r4, #1 @ Outer loop counter = HALF_SUBFRAMELEN - 1
40 40
41 HALF_SUBFRAME_LOOP: @ for(n = 0; n < HALF_SUBFRAMELEN - 1; n++) 41 HALF_SUBFRAME_LOOP: @ for (n = 0; n < HALF_SUBFRAMELEN - 1; n++)
42 42
43 ldr r9, [sp, #32] @ Restore the inner loop counter to order_coef 43 ldr r9, [sp, #32] @ Restore the inner loop counter to order_coef
44 ldrh r5, [r1] @ tmpAR = ar_f_Q0[n+1] 44 ldrh r5, [r1] @ tmpAR = ar_f_Q0[n+1]
45 add r0, r9, asl #1 @ Restore r0 to &ar_g_Q0[order_coef] 45 add r0, r9, asl #1 @ Restore r0 to &ar_g_Q0[order_coef]
46 add r2, r9, asl #1 @ Restore r2 to &cth_Q15[order_coef] 46 add r2, r9, asl #1 @ Restore r2 to &cth_Q15[order_coef]
47 add r3, r9, asl #1 @ Restore r3 to &sth_Q15[order_coef] 47 add r3, r9, asl #1 @ Restore r3 to &sth_Q15[order_coef]
48 48
49 ORDER_COEF_LOOP: @ for(k = order_coef ; k > 0; k--) 49 ORDER_COEF_LOOP: @ for (k = order_coef; k > 0; k--)
50 50
51 ldrh r7, [r3, #-2]! @ sth_Q15[k - 1] 51 ldrh r7, [r3, #-2]! @ sth_Q15[k - 1]
52 ldrh r6, [r2, #-2]! @ cth_Q15[k - 1] 52 ldrh r6, [r2, #-2]! @ cth_Q15[k - 1]
53 53
54 ldrh r8, [r0, #-2] @ ar_g_Q0[k - 1] 54 ldrh r8, [r0, #-2] @ ar_g_Q0[k - 1]
55 smlabb r11, r7, r5, r12 @ sth_Q15[k - 1] * tmpAR + 16384 55 smlabb r11, r7, r5, r12 @ sth_Q15[k - 1] * tmpAR + 16384
56 smlabb r10, r6, r5, r12 @ cth_Q15[k - 1] * tmpAR + 16384 56 smlabb r10, r6, r5, r12 @ cth_Q15[k - 1] * tmpAR + 16384
57 smulbb r7, r7, r8 @ sth_Q15[k - 1] * ar_g_Q0[k - 1] 57 smulbb r7, r7, r8 @ sth_Q15[k - 1] * ar_g_Q0[k - 1]
58 smlabb r11, r6, r8, r11 @ cth_Q15[k - 1] * ar_g_Q0[k - 1] + 58 smlabb r11, r6, r8, r11 @ cth_Q15[k - 1] * ar_g_Q0[k - 1] +
59 @ (sth_Q15[k - 1] * tmpAR + 16384) 59 @ (sth_Q15[k - 1] * tmpAR + 16384)
60 60
61 sub r10, r10, r7 @ cth_Q15[k - 1] * tmpAR + 16384 - 61 sub r10, r10, r7 @ cth_Q15[k - 1] * tmpAR + 16384 -
62 @ (sth_Q15[k - 1] * ar_g_Q0[k - 1]) 62 @ (sth_Q15[k - 1] * ar_g_Q0[k - 1])
63 ssat r11, #16, r11, asr #15 63 ssat r11, #16, r11, asr #15
64 ssat r5, #16, r10, asr #15 64 ssat r5, #16, r10, asr #15
65 strh r11, [r0], #-2 @ Output: ar_g_Q0[k] 65 strh r11, [r0], #-2 @ Output: ar_g_Q0[k]
66 66
67 subs r9, #1 67 subs r9, #1
68 bgt ORDER_COEF_LOOP 68 bgt ORDER_COEF_LOOP
69 69
70 strh r5, [r0] @ Output: ar_g_Q0[0] = tmpAR; 70 strh r5, [r0] @ Output: ar_g_Q0[0] = tmpAR;
71 strh r5, [r1], #2 @ Output: ar_f_Q0[n+1] = tmpAR; 71 strh r5, [r1], #2 @ Output: ar_f_Q0[n+1] = tmpAR;
72 72
73 subs r4, #1 73 subs r4, #1
74 bne HALF_SUBFRAME_LOOP 74 bne HALF_SUBFRAME_LOOP
75 75
76 pop {r4-r11} 76 pop {r4-r11}
77 bx lr 77 bx lr
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698