[vlc-devel] commit: contrib: turn off Thumb ISA for libavcodec and libmad ( Rémi Denis-Courmont )
Rémi Denis-Courmont
remi at remlab.net
Wed Sep 2 20:53:31 CEST 2009
Le mercredi 2 septembre 2009 21:45:08 Måns Rullgård, vous avez écrit :
> "Rémi Denis-Courmont" <remi at remlab.net> writes:
> > Le mardi 1 septembre 2009 23:40:23 Måns Rullgård, vous avez écrit :
> >> > I just started decoding MPEG4 Part 2 (in MKV with AAC) or Part 10
> >> > (in AVI with MP3). Disabling video decoding worked around it. VLC
> >> > did not use FFMPEG for MKV, AVI, AAC nor MP3. It fails immediately,
> >> > as far as I can tell.
> >>
> >> Compiler flags as below?
> >
> > Yes. I just retried with the entire stack (VLC+contribs)
> > -mtune=cortex-a8 -mcpu=cortex-a8 -march=arvm7-a -mfpu=neon
> > -O3 -fno-tree-vectorize
> >
> > and I get the exact same result.
> >
> >> Can you get a core dump?
> >> Where does it crash?
> >
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 0x4159d490 (LWP 2571)]
> > 0x4285bfcc in ff_simple_idct_put_neon ()
> > from /opt/VideoLAN/lib/vlc/codec/libavcodec_plugin.so
> > 0x4285bfcc <ff_simple_idct_put_neon+24>: vld1.64 {d0-d1}, [r3,
> > :128] (gdb) bt
> > #0 0x4285bfcc in ff_simple_idct_put_neon ()
> > from /opt/VideoLAN/lib/vlc/codec/libavcodec_plugin.so
> > #1 0x00000000 in ?? ()
>
> Please run these gdb command there:
>
> (gdb) info registers
r0 0x416e2020 1097736224
r1 0x280 640
r2 0x12ff80 1245056
r3 0x498230 4817456
r4 0xda950 895312
r5 0x416e2020 1097736224
r6 0x12ff80 1245056
r7 0x12ff80 1245056
r8 0xda950 895312
r9 0x205c 8284
r10 0x8 8
r11 0x416e2020 1097736224
r12 0x0 0
sp 0x4159ca3c 0x4159ca3c
lr 0x42563948 1112947016
pc 0x4285bfcc 0x4285bfcc <ff_simple_idct_put_neon+24>
fps 0x0 0
cpsr 0x60000050 1610612816
> (gdb) disas $pc-24 $pc+24
Dump of assembler code from 0x4285bfb4 to 0x4285bfe4:
0x4285bfb4 <ff_simple_idct_put_neon+0>: push {r4, r5, r6, r7, lr}
0x4285bfb8 <ff_simple_idct_put_neon+4>: pld [r2]
0x4285bfbc <ff_simple_idct_put_neon+8>: pld [r2, #64]
0x4285bfc0 <ff_simple_idct_put_neon+12>: vpush {d8-d15}
0x4285bfc4 <ff_simple_idct_put_neon+16>: movw r3, #33328 ;
0x8230
0x4285bfc8 <ff_simple_idct_put_neon+20>: movt r3, #73 ; 0x49
0x4285bfcc <ff_simple_idct_put_neon+24>: vld1.64 {d0-d1}, [r3, :128]
0x4285bfd0 <ff_simple_idct_put_neon+28>: bl 0x4285bd00
<idct_row4_pld_neon>
0x4285bfd4 <ff_simple_idct_put_neon+32>: bl 0x4285bd28
<idct_row4_neon>
0x4285bfd8 <ff_simple_idct_put_neon+36>: sub r2, r2, #128 ; 0x80
0x4285bfdc <ff_simple_idct_put_neon+40>: bl 0x4285be48
<idct_col4_neon>
0x4285bfe0 <ff_simple_idct_put_neon+44>: bl 0x4285bf80
<idct_col4_st8_neon>
End of assembler dump.
> > (I guess VLC contribs strips ffmpeg debug symbols).
> >
> >> Can you decode the file with a standalone FFmpeg build?
> >
> > Yes.
>
> That suggests the problem is not in FFmpeg.
It may be so, but the normal inverse DCT code is not crashing.
--
Rémi Denis-Courmont
http://www.remlab.net/
More information about the vlc-devel
mailing list