[FFmpeg-devel] [PATCH 0/9] DCA (DTS) decoder optimisations for ARMv6
Michael Niedermayer
michaelni at gmx.at
Wed Jul 17 15:57:37 CEST 2013
Hi ben
On Tue, Jul 16, 2013 at 01:07:06PM +0100, Ben Avison wrote:
> Hi Michael,
>
> Thanks very much for your testing. I think the problem with the files
> that you had trouble building was that I didn't anticipate that anyone
> would be trying to build them as Thumb code. Perhaps you could try making
> the following alterations - if they work, then I'll merge them into the
> full patch series and repost it:
With this patch i get:
ffmpeg/libavcodec/arm/mdct_vfp.S: Assembler messages:
ffmpeg/libavcodec/arm/mdct_vfp.S:155: Error: thumb conditional instruction should be in IT block -- `ldrne ip,=ff_imdct_half_c'
ffmpeg/libavcodec/arm/mdct_vfp.S:156: Error: thumb conditional instruction should be in IT block -- `bxne ip'
ffmpeg/libavcodec/arm/dcadsp_vfp.S: Assembler messages:
ffmpeg/libavcodec/arm/dcadsp_vfp.S:356: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:357: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:358: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:359: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:361: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:362: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:363: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:364: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:416: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:417: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:418: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:419: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:420: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:421: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:422: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:423: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:435: Error: co-processor offset out of range
ffmpeg/libavcodec/arm/dcadsp_vfp.S:436: Error: co-processor offset out of range
[...]
>
> >some part of this patchset causes
> >fate-acodec-dca2 and fate-dts
> >to fail, they dont fail without the patchsetfor me
>
> Well, this is strange. Those both pass for me. The ones I'm having
> trouble with are
>
> fate-aac-al07_96
> fate-aac-al15_44
> fate-aac-aref-encode
> fate-aac-ln-encode
>
> but it sounds like they're OK for you! They fail for me even without my
> patches applied.
they pass with qemu
they also pass on a cubox and a panda board (see fate.ffmpeg.org)
The panda board failures we had on fate btw are due to hardware
problems with the board.
fate should work fine on arm
>
> >(test done with qemu and without the patches that failed to build)
>
> The way I see it, there are two most likely causes for your problems:
> * softfp/hardfp ABI differences (I've tested using hardfp, do you know
> what you were using?)
I have toolchains for both if iam not mistaken the used one was
softfp
> * perhaps qemu doesn't emulate short vectors?
>
> I have put together a quick test program below to see if short vectors
> are working. I would appreciate it if you could give it a quick try for
> me. It prints "Success" on my physical ARM11.
segfaults:
(gdb) bt
#0 0x000083a2 in test () at testshvec_asm.S:5
#1 0x000083e8 in main () at testshvec.c:13
(gdb) disassemble
Dump of assembler code for function test:
0x000083a0 <+0>: vldr s0, [r0]
0x000083a4 <+4>: vldr s1, [r1]
0x000083a8 <+8>: vmrs r0, fpscr
0x000083ac <+12>: ldr r1, [pc, #20] ; 0x83c8 <test+40>
0x000083b0 <+16>: vmsr fpscr, r1
0x000083b4 <+20>: vmov.f32 s9, s0
0x000083b8 <+24>: vmov.f32 s8, s1
0x000083bc <+28>: vstr s9, [r2]
0x000083c0 <+32>: vmsr fpscr, r0
0x000083c4 <+36>: bx lr
0x000083c8 <+40>: movweq r0, #4096 ; 0x1000
End of assembler dump.
(gdb) info all-registers
r0 0xffff4 1048564
r1 0xffff460 268432480
r2 0xffff45c 268432476
r3 0xffff45c 268432476
r4 0x0 0
r5 0xffff480 268432512
r6 0x8321 33569
r7 0x0 0
r8 0x0 0
r9 0x0 0
r10 0xf7fe000 260038656
r11 0x0 0
r12 0xf6f2c61 258944097
sp 0xffff458 0xffff458
lr 0x83e9 33769
pc 0x83a2 0x83a2 <test+2>
cpsr 0x30 48
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130717/3e7bf33c/attachment.asc>
More information about the ffmpeg-devel
mailing list