[Libav-user] Reference app with ffmpeg n1.2 libs that works on IOS ?

Lars Hammarstrand lars.hammarstrand at gmail.com
Tue Apr 2 18:43:12 CEST 2013


2013/3/30 Carl Eugen Hoyos <cehoyos at ag.or.at>

> Lars Hammarstrand <lars.hammarstrand at ...> writes:
>
>
Please try to fix your quoting / set your mailer to text-only.
>
> [ Off topic:  Sorry - no can do, gmail standard. What mail client do you
use? ]

Tested to run ffmpeg (the tool) and it crashes every time exactly on the
same spot as xbmc! Has n1.2 ever been tested on IOS?

Question: shall I create a ticet on ffmpeg.org or at libav.org (since the
ARM HW optz orginates from Mans Mullgards work) or both maybe?


Output from gdb on IOS:

18:09:52 root at iPhone-4 /ffmpeg-n1.2
$ *uname -a*
Darwin iPhone-4 11.0.0 Darwin Kernel Version 11.0.0: Sun Apr  8 21:51:26
PDT 2012; root:xnu-1878.11.10~1/RELEASE_ARM_S5L8930X iPhone3,1 arm N90AP
Darwin

$ *gdb ffmpeg*
GNU gdb 6.3.50-20050815 (Apple version gdb-1821) (Fri Jun 29 08:41:41 UTC
2012)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "arm-apple-darwin"...Reading symbols for shared
libraries . done

(gdb) *r ffmpeg -i
http://techslides.com/demos/sample-videos/small.mp4-acodec copy
-vcodec copy output.mp4
*
Starting program: /ffmpeg-n1.2/ffmpeg ffmpeg -i
http://techslides.com/demos/sample-videos/small.mp4 -acodec copy -vcodec
copy output.mp4
Reading symbols for shared libraries ......................... done
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
  built on Apr  2 2013 17:54:06 with llvm-gcc 4.2.1 (LLVM build 2410.2.00)
  configuration: --disable-ffplay --disable-ffserver --disable-ffprobe
--disable-doc --disable-bzlib --target-os=darwin --enable-cross-compile
--enable-gpl --enable-version3 --arch=arm --cpu=cortex-a8 --enable-pic
--extra-cflags='-arch armv7' --extra-ldflags='-arch armv7'
--extra-cflags='-mfpu=neon -mfloat-abi=softfp -mvectorize-with-neon-quad'
--enable-neon --disable-armv5te --disable-armv6 --disable-armv6t2
--enable-optimizations --enable-debug=3 --disable-stripping
--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc
--as='gas-preprocessor.pl/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc'
--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk
--extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/lib/system
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100

Program received signal EXC_BAD_INSTRUCTION, Illegal instruction/operand.
ff_pred8x8_128_dc_neon () at h264pred_neon.S:405
Line number 405 out of range; h264pred_neon.S has 359 lines.
(gdb) *bt*
#0  ff_pred8x8_128_dc_neon () at h264pred_neon.S:405
#1  0x003fc75a in hl_decode_mb_simple_8 (h=0x0) at h264_mb_template.c:161
#2  0x003fdad8 in ff_h264_hl_decode_mb (h=<value temporarily unavailable,
due to optimizations>) at /ffmpeg-n1.2/libavcodec/h264.c:2415
#3  0x00401da4 in decode_slice (avctx=<value temporarily unavailable, due
to optimizations>, arg=<value temporarily unavailable, due to
optimizations>) at /ffmpeg-n1.2/libavcodec/h264.c:4266
#4  0x00402380 in execute_decode_slices () at
/ffmpeg-n1.2/libavcodec/h264.c:4355
#5  0x00402dec in decode_nal_units (h=0xf00000, buf=0xd25484 "",
buf_size=4207149, parse_extradata=0) at /ffmpeg-n1.2/libavcodec/h264.c:4699
#6  0x004033d6 in decode_frame (avctx=0x1253800, data=0x0,
got_frame=0x2fdfef8c, avpkt=<value temporarily unavailable, due to
optimizations>) at /ffmpeg-n1.2/libavcodec/h264.c:4811
#7  0x003247ce in avcodec_decode_video2 (avctx=0x1253800, picture=0xe1f630,
got_picture_ptr=0x10, avpkt=0x2fdfef28) at
/ffmpeg-n1.2/libavcodec/utils.c:1690
#8  0x00067c16 in try_decode_frame (st=0xe1e820, avpkt=<value temporarily
unavailable, due to optimizations>, options=0x0) at
/ffmpeg-n1.2/libavformat/utils.c:2514
#9  0x0006c468 in avformat_find_stream_info (ic=0xd18004,
options=0x2fe25a14) at /ffmpeg-n1.2/libavformat/utils.c:2946
#10 0x00004448 in open_input_file (o=0x2fdff374, filename=<value
temporarily unavailable, due to optimizations>) at
/ffmpeg-n1.2/ffmpeg_opt.c:786
#11 0x00003de8 in open_files (l=0x0, inout=0x0, open_file=0x5f5944
<groups>) at /ffmpeg-n1.2/ffmpeg_opt.c:2307
#12 0x00004058 in ffmpeg_parse_options (argc=<value temporarily
unavailable, due to optimizations>, argv=<value temporarily unavailable,
due to optimizations>) at /ffmpeg-n1.2/ffmpeg_opt.c:2344
#13 0x00010c30 in main (argc=<value temporarily unavailable, due to
optimizations>, argv=<value temporarily unavailable, due to optimizations>)
at /ffmpeg-n1.2/ffmpeg.c:3317
Current language:  auto; currently asm
(gdb)
(gdb) disass $pc-32,$pc+32

Dump of assembler code for function ff_pred8x8_top_dc_neon:
0x00398b74 <ff_pred8x8_top_dc_neon+0>: andeq lr, r1, #163840 ; 0x28000
0x00398b78 <ff_pred8x8_top_dc_neon+4>: ldreq pc, [pc, -r2, lsr #18]
0x00398b7c <ff_pred8x8_top_dc_neon+8>: addeq pc, r0, #704 ; 0x2c0
0x00398b80 <ff_pred8x8_top_dc_neon+12>: bleq 0x7d47c8 <noise_table+2408>
0x00398b84 <ff_pred8x8_top_dc_neon+16>: ldmdaeq r0, {r1, r2, r3, r7, r8,
r9, r10, r11, sp, lr, pc}^
0x00398b88 <ff_pred8x8_top_dc_neon+20>: stcne 15, cr15, [r0], {179}
0x00398b8c <ff_pred8x8_top_dc_neon+24>: stceq 15, cr15, [r0], {177}
0x00398b90 <ff_pred8x8_top_dc_neon+28>: strheq pc, [r1], r10
0x00398b94 <ff_pred8x8_top_dc_neon+32>: svclt 0x0000e04a
End of assembler dump.
(gdb)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20130402/8ceb49ed/attachment.html>


More information about the Libav-user mailing list