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
3434 add r0, r0, r4, lsl #1 @ mask + band
3535 add r4, lr, r4
3636 add r7, r7, r2 @ bap + start
37− ldrb r10, [r4], #1
3837 1:
3938 ldrsh r9, [r0], #2 @ mask[band]
4039 mov r8, #0xff0
4140 sub r9, r9, r12 @ - snr_offset
42− mov r11, r10
43− ldrb r10, [r4], #1 @ band_start_tab[band++]
41+ ldrb r10, [r4, #1]! @ band_start_tab[++band]
4442 subs r9, r9, r5 @ - floor
4543 it lt
4644 movlt r9, #0
4745 cmp r10, r3 @ - end
4846 and r9, r9, r8, lsl #1 @ & 0x1fe0
4947 ite gt
50− subgt r8, r3, r11
51− suble r8, r10, r11
48+ subgt r8, r3, r2
49+ suble r8, r10, r2
50+ mov r2, r10
5251 add r9, r9, r5 @ + floor => m
5352 tst r8, #1
54− add r2, r7, r8
53+ add r11, r7, r8
5554 bne 3f
5655 b 5f
5756 2:
@@ -65,9 +64,9 @@ function ff_ac3_bit_alloc_calc_bap_armv6, export=1 · 7 unmodified lines
6564 ldrb lr, [r6, lr]
6665 strb r8, [r7], #1 @ bap[bin]
6766 strb lr, [r7], #1
68−5: cmp r7, r2
67+5: cmp r7, r11
6968 blo 2b
70− cmp r3, r11
69+ cmp r3, r10
7170 bgt 1b
7271 pop {r4-r11,pc}
7372 3:

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