History

ARM: ac3: fix ac3_bit_alloc_calc_bap_armv6

This function was broken when the start bin was not at the start of a band.

Mans Rullgard committed 14 years ago

Commit cd2f98f1 parent 148bc231 file · +7 −8Browse files

Unified · Split

libavcodec/arm/ac3dsp_armv6.S+7−8
@@ -34,24 +34,23 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 · 33 unmodified lines
34 add r0, r0, r4, lsl #1 @ mask + band34 add r0, r0, r4, lsl #1 @ mask + band
35 add r4, lr, r435 add r4, lr, r4
36 add r7, r7, r2 @ bap + start36 add r7, r7, r2 @ bap + start
37 ldrb r10, [r4], #1
381:371:
39 ldrsh r9, [r0], #2 @ mask[band]38 ldrsh r9, [r0], #2 @ mask[band]
40 mov r8, #0xff039 mov r8, #0xff0
41 sub r9, r9, r12 @ - snr_offset40 sub r9, r9, r12 @ - snr_offset
42 mov r11, r1041 ldrb r10, [r4, #1]! @ band_start_tab[++band]
43 ldrb r10, [r4], #1 @ band_start_tab[band++]
44 subs r9, r9, r5 @ - floor42 subs r9, r9, r5 @ - floor
45 it lt43 it lt
46 movlt r9, #044 movlt r9, #0
47 cmp r10, r3 @ - end45 cmp r10, r3 @ - end
48 and r9, r9, r8, lsl #1 @ & 0x1fe046 and r9, r9, r8, lsl #1 @ & 0x1fe0
49 ite gt47 ite gt
50 subgt r8, r3, r1148 subgt r8, r3, r2
51 suble r8, r10, r1149 suble r8, r10, r2
50 mov r2, r10
52 add r9, r9, r5 @ + floor => m51 add r9, r9, r5 @ + floor => m
53 tst r8, #152 tst r8, #1
54 add r2, r7, r853 add r11, r7, r8
55 bne 3f54 bne 3f
56 b 5f55 b 5f
572:562:
@@ -65,9 +64,9 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 · 7 unmodified lines
65 ldrb lr, [r6, lr]64 ldrb lr, [r6, lr]
66 strb r8, [r7], #1 @ bap[bin]65 strb r8, [r7], #1 @ bap[bin]
67 strb lr, [r7], #166 strb lr, [r7], #1
685: cmp r7, r2675: cmp r7, r11
69 blo 2b68 blo 2b
70 cmp r3, r1169 cmp r3, r10
71 bgt 1b70 bgt 1b
72 pop {r4-r11,pc}71 pop {r4-r11,pc}
733:723:

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t