Opened 13 years ago
Closed 13 years ago
#2538 closed defect (fixed)
FFMPEG crash in decoding MPEG4 using NEON
| Reported by: | Felix Yang | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | avcodec |
| Version: | git-master | Keywords: | crash SIGBUS lowres arm asp |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description (last modified by )
Dear all:
I build ffmpeg 1.2 for Android 4.1.2 tablet (NEON is enabled). When I use this library to decode a .3gp file (video is MPEG4 and audio is AAC), it crash. I tested some files, I found if the video is MPEG4, it always crash. Does anybody help me? Thanks.
I/DEBUG ( 3075): handle_request(15)
I/DEBUG ( 3075): BOOM: pid=3045 uid=10044 gid=10044 tid=3072
I/DEBUG ( 3076): handle_request(15)
I/DEBUG ( 3076): BOOM: pid=3045 uid=10044 gid=10044 tid=3071
I/DEBUG ( 3076): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 3076): Build fingerprint: 'acer/B1-A71_twn_gen1/B1-A71:4.1.2/JZO54K/1364969024:user/release-keys'
I/DEBUG ( 3076): pid: 3045, tid: 3071, name: GLThread >>> chttl.mod.tlplayer <<<
I/DEBUG ( 3076): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 555746d1
I/DEBUG ( 3075): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 3075): Build fingerprint: 'acer/B1-A71_twn_gen1/B1-A71:4.1.2/JZO54K/1364969024:user/release-keys'
I/DEBUG ( 3075): pid: 3045, tid: 3072, name: GLThread >>> chttl.mod.tlplayer <<<
I/DEBUG ( 3075): signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 5550b04b
I/DEBUG ( 3076): r0 555746d1 r1 53ac2611 r2 00000020 r3 00000001
I/DEBUG ( 3076): r4 00000008 r5 00000000 r6 00000000 r7 00000000
I/DEBUG ( 3076): r8 00000007 r9 53ff2a70 sl 0000000f fp 00000000
I/DEBUG ( 3076): ip 00000038 sp 551e2d08 lr 00000000 pc 51faa1c0 cpsr 20000010
I/DEBUG ( 3076):
I/DEBUG ( 3076): backtrace:
I/DEBUG ( 3076): #00 pc 000f21c0 /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (ff_put_h264_chroma_mc2_neon+116)
I/DEBUG ( 3076):
I/DEBUG ( 3076): stack:
I/DEBUG ( 3076): 551e2cc8 00000040
I/DEBUG ( 3076): 551e2ccc 5243c40c /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (av_image_fill_linesizes+80)
I/DEBUG ( 3076): 551e2cd0 00000001
I/DEBUG ( 3076): 551e2cd4 53fe90cc
I/DEBUG ( 3076): 551e2cd8 54797850
I/DEBUG ( 3076): 551e2cdc 53f3a020
I/DEBUG ( 3076): 551e2ce0 53f70680
I/DEBUG ( 3076): 551e2ce4 53fe9060
I/DEBUG ( 3076): 551e2ce8 00000001
I/DEBUG ( 3076): 551e2cec 0000006c
I/DEBUG ( 3076): 551e2cf0 00000012
I/DEBUG ( 3076): 551e2cf4 53fe90cc
I/DEBUG ( 3076): 551e2cf8 54797850
I/DEBUG ( 3076): 551e2cfc 53f3a020
I/DEBUG ( 3076): 551e2d00 df0027ad
I/DEBUG ( 3076): 551e2d04 00000000
I/DEBUG ( 3076): #00 551e2d08 53ff1010
I/DEBUG ( 3076): 551e2d0c 00000002
I/DEBUG ( 3076): 551e2d10 00002578
I/DEBUG ( 3076): 551e2d14 52213e60 /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (MPV_motion_lowres+4456)
I/DEBUG ( 3076): 551e2d18 00000007
I/DEBUG ( 3076): 551e2d1c 00000000
I/DEBUG ( 3076): 551e2d20 53ff4688
I/DEBUG ( 3076): 551e2d24 4007c8d4 /system/lib/libc.so (dlmalloc+368)
I/DEBUG ( 3076): 551e2d28 ffffffff
I/DEBUG ( 3076): 551e2d2c 00000000
I/DEBUG ( 3076): 551e2d30 00000001
I/DEBUG ( 3076): 551e2d34 00000020
I/DEBUG ( 3076): 551e2d38 53ac25d1
I/DEBUG ( 3076): 551e2d3c 0000000d
I/DEBUG ( 3076): 551e2d40 00000002
I/DEBUG ( 3076): 551e2d44 0000002e
I/DEBUG ( 3076):
I/DEBUG ( 3076): memory near r0:
I/DEBUG ( 3076): 555746b0 7f808181 7d7e7f7f 7e7e7e7d 00007e7e ......~}}~~~~~..
I/DEBUG ( 3076): 555746c0 7c7d7e72 78787878 75787878 74757475 r~}|xxxxxxxuutut
I/DEBUG ( 3076): 555746d0 75757574 75757476 7e7c7975 00007e7e tuuuvtuuuy|~~~..
I/DEBUG ( 3076): 555746e0 767c7e74 74747475 68727474 706e6960 t~|vutttttrh`inp
I/DEBUG ( 3076): 555746f0 00005d65 00000000 00000000 00000000 e]..............
I/DEBUG ( 3076):
I/DEBUG ( 3076): memory near r1:
I/DEBUG ( 3076): 53ac25f0 6b5c646b 74747474 7b757574 29007e7c kd\ktttttuu{|~.)
I/DEBUG ( 3076): 53ac2600 037317e0 7f349753 7fe7a6fe a081b3ff ..s.S.4.........
I/DEBUG ( 3076): 53ac2610 c0fe6f7c ff373ed0 0026636d 16bced3a |o...>7.mc&.:...
I/DEBUG ( 3076): 53ac2620 5e8d15a6 6f90f90d e6ad82c6 e914c1cf ...^...o........
I/DEBUG ( 3076): 53ac2630 fcffffdd 830d70f4 dfa52daa e095f467 .....p...-..g...
I/DEBUG ( 3076):
I/DEBUG ( 3076): memory near r9:
I/DEBUG ( 3076): 53ff2a50 521a0744 521a0878 51faea4c 51faeaac D..Rx..RL..Q...Q
I/DEBUG ( 3076): 53ff2a60 51fa80d0 51fa8118 52026ab0 52026a70 ...Q...Q.j.Rpj.R
I/DEBUG ( 3076): 53ff2a70 51fa9c1c 51fa9ea4 51faa14c 51fa9d4c ...Q...QL..QL..Q
I/DEBUG ( 3076): 53ff2a80 51fa9fe4 51faa1f0 523188f0 51fb4aac ...Q...Q..1R.J.Q
I/DEBUG ( 3076): 53ff2a90 00000001 00000001 00000000 00000000 ................
I/DEBUG ( 3076):
I/DEBUG ( 3076): memory near sp:
I/DEBUG ( 3076): 551e2ce8 00000001 0000006c 00000012 53fe90cc ....l..........S
I/DEBUG ( 3076): 551e2cf8 54797850 53f3a020 df0027ad 00000000 PxyT ..S.'......
I/DEBUG ( 3076): 551e2d08 53ff1010 00000002 00002578 52213e60 ...S....x%..`>!R
I/DEBUG ( 3076): 551e2d18 00000007 00000000 53ff4688 4007c8d4 .........F.S...@
I/DEBUG ( 3076): 551e2d28 ffffffff 00000000 00000001 00000020 ............ ...
I/DEBUG ( 3076):
I/DEBUG ( 3076): code around pc:
I/DEBUG ( 3076): 51faa1a0 f4a1588f f2b46144 f3b640c6 f3c40c00 .X..Da...@......
I/DEBUG ( 3076): 51faa1b0 f3c50801 f3fa00a1 f25008a1 f2ca0870 ..........P.p...
I/DEBUG ( 3076): 51faa1c0 f4c00412 f4c00452 e2533002 cafffff0 ....R....0S.....
I/DEBUG ( 3076): 51faa1d0 e8bd8070 e09150b2 e08050b2 e09160b2 p....P...P...`..
I/DEBUG ( 3076): 51faa1e0 e08060b2 e2533002 cafffff9 e8bd8070 .`...0S.....p...
I/DEBUG ( 3076):
I/DEBUG ( 3076): code around lr:
I/DEBUG ( 3076): 00000000 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3076): 00000010 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3076): 00000020 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3076): 00000030 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3076): 00000040 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3076):
I/DEBUG ( 3076): memory map around fault addr 555746d1:
I/DEBUG ( 3076): 553e4000-554e3000 [stack:3074]
I/DEBUG ( 3076): 554e3000-55581000
I/DEBUG ( 3076): bec2e000-bec4f000 [stack]
I/DEBUG ( 3075): r0 5550b04b r1 547b712b r2 00000020 r3 00000001
I/DEBUG ( 3075): r4 00000010 r5 00000000 r6 00000030 r7 00000006
I/DEBUG ( 3075): r8 00000000 r9 53abf1b0 sl 00000001 fp 0000000d
I/DEBUG ( 3075): ip 00000000 sp 552e2d08 lr 00000006 pc 51faa1c0 cpsr 20000010
I/DEBUG ( 3075):
I/DEBUG ( 3075): backtrace:
I/DEBUG ( 3075): #00 pc 000f21c0 /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (ff_put_h264_chroma_mc2_neon+116)
I/DEBUG ( 3075): #01 pc 00000002 <unknown>
I/DEBUG ( 3075):
I/DEBUG ( 3075): stack:
I/DEBUG ( 3075): 552e2cc8 00000040
I/DEBUG ( 3075): 552e2ccc 5243c40c /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (av_image_fill_linesizes+80)
I/DEBUG ( 3075): 552e2cd0 00000001
I/DEBUG ( 3075): 552e2cd4 555090a0
I/DEBUG ( 3075): 552e2cd8 53fb8b50
I/DEBUG ( 3075): 552e2cdc 53f3a400
I/DEBUG ( 3075): 552e2ce0 51556600
I/DEBUG ( 3075): 552e2ce4 555090a0
I/DEBUG ( 3075): 552e2ce8 00000000
I/DEBUG ( 3075): 552e2cec 00000000
I/DEBUG ( 3075): 552e2cf0 00000012
I/DEBUG ( 3075): 552e2cf4 555090a0
I/DEBUG ( 3075): 552e2cf8 53fb8b50
I/DEBUG ( 3075): 552e2cfc 53f3a400
I/DEBUG ( 3075): 552e2d00 df0027ad
I/DEBUG ( 3075): 552e2d04 00000000
I/DEBUG ( 3075): #00 552e2d08 53abd750
I/DEBUG ( 3075): ........ ........
I/DEBUG ( 3075): #01 552e2d08 53abd750
I/DEBUG ( 3075): 552e2d0c 00000002
I/DEBUG ( 3075): 552e2d10 00002578
I/DEBUG ( 3075): 552e2d14 52213e60 /data/data/chttl.mod.tlplayer/lib/libffmpeg.so (MPV_motion_lowres+4456)
I/DEBUG ( 3075): 552e2d18 00000000
I/DEBUG ( 3075): 552e2d1c 00000006
I/DEBUG ( 3075): 552e2d20 53ff4628
I/DEBUG ( 3075): 552e2d24 4007c8d4 /system/lib/libc.so (dlmalloc+368)
I/DEBUG ( 3075): 552e2d28 ffffffff
I/DEBUG ( 3075): 552e2d2c 00000000
I/DEBUG ( 3075): 552e2d30 00000001
I/DEBUG ( 3075): 552e2d34 00000020
I/DEBUG ( 3075): 552e2d38 547b70eb
I/DEBUG ( 3075): 552e2d3c 00000003
I/DEBUG ( 3075): 552e2d40 00000002
I/DEBUG ( 3075): 552e2d44 0000002e
I/DEBUG ( 3075):
I/DEBUG ( 3075): memory near r0:
I/DEBUG ( 3075): 5550b028 75787878 686a7175 7575726a 75757476 xxxuuqjhjruuvtuu
I/DEBUG ( 3075): 5550b038 7e7c7975 00007e7e 767c7e74 74747475 uy|~~~..t~|vuttt
I/DEBUG ( 3075): 5550b048 68727474 706e6960 6b5c646d 74747474 ttrh`inpmd\ktttt
I/DEBUG ( 3075): 5550b058 7b757574 00007e7c 757c7c72 74747474 tuu{|~..r||utttt
I/DEBUG ( 3075): 5550b068 66626d74 00000000 00000000 00000000 tmbf............
I/DEBUG ( 3075):
I/DEBUG ( 3075): memory near r1:
I/DEBUG ( 3075): 547b7108 60707474 706e6960 6b5c646d 74747474 ttp``inpmd\ktttt
I/DEBUG ( 3075): 547b7118 7b757574 00007e7c 757c7c72 74747474 tuu{|~..r||utttt
I/DEBUG ( 3075): 547b7128 6e586d74 74747574 5c727475 74747462 tmXntuttutr\bttt
I/DEBUG ( 3075): 547b7138 7b757575 00007e7e 747c7e70 74747272 uuu{~~..p~|trrtt
I/DEBUG ( 3075): 547b7148 7471566b 74747474 74747476 7472635c kVqtttttvttt\crt
I/DEBUG ( 3075):
I/DEBUG ( 3075): memory near r9:
I/DEBUG ( 3075): 53abf190 521a0744 521a0878 51faea4c 51faeaac D..Rx..RL..Q...Q
I/DEBUG ( 3075): 53abf1a0 51fa80d0 51fa8118 52026ab0 52026a70 ...Q...Q.j.Rpj.R
I/DEBUG ( 3075): 53abf1b0 51fa9c1c 51fa9ea4 51faa14c 51fa9d4c ...Q...QL..QL..Q
I/DEBUG ( 3075): 53abf1c0 51fa9fe4 51faa1f0 523188f0 51fb4aac ...Q...Q..1R.J.Q
I/DEBUG ( 3075): 53abf1d0 00000001 00000001 00000000 00000000 ................
I/DEBUG ( 3075):
I/DEBUG ( 3075): memory near sp:
I/DEBUG ( 3075): 552e2ce8 00000000 00000000 00000012 555090a0 ..............PU
I/DEBUG ( 3075): 552e2cf8 53fb8b50 53f3a400 df0027ad 00000000 P..S...S.'......
I/DEBUG ( 3075): 552e2d08 53abd750 00000002 00002578 52213e60 P..S....x%..`>!R
I/DEBUG ( 3075): 552e2d18 00000000 00000006 53ff4628 4007c8d4 ........(F.S...@
I/DEBUG ( 3075): 552e2d28 ffffffff 00000000 00000001 00000020 ............ ...
I/DEBUG ( 3075):
I/DEBUG ( 3075): code around pc:
I/DEBUG ( 3075): 51faa1a0 f4a1588f f2b46144 f3b640c6 f3c40c00 .X..Da...@......
I/DEBUG ( 3075): 51faa1b0 f3c50801 f3fa00a1 f25008a1 f2ca0870 ..........P.p...
I/DEBUG ( 3075): 51faa1c0 f4c00412 f4c00452 e2533002 cafffff0 ....R....0S.....
I/DEBUG ( 3075): 51faa1d0 e8bd8070 e09150b2 e08050b2 e09160b2 p....P...P...`..
I/DEBUG ( 3075): 51faa1e0 e08060b2 e2533002 cafffff9 e8bd8070 .`...0S.....p...
I/DEBUG ( 3075):
I/DEBUG ( 3075): code around lr:
I/DEBUG ( 3075): 00000000 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3075): 00000010 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3075): 00000020 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3075): 00000030 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3075): 00000040 ffffffff ffffffff ffffffff ffffffff ................
I/DEBUG ( 3075):
I/DEBUG ( 3075): memory map around fault addr 5550b04b:
I/DEBUG ( 3075): 553e4000-554e3000 [stack:3074]
I/DEBUG ( 3075): 554e3000-55581000
I/DEBUG ( 3075): bec2e000-bec4f000 [stack]
Change History (9)
follow-up: 3 comment:1 by , 13 years ago
| Keywords: | crash added |
|---|
comment:2 by , 13 years ago
| Description: | modified (diff) |
|---|
comment:3 by , 13 years ago
Replying to cehoyos:
What is libffmpeg.so ? To the best of my knowledge, compilation never produced such a file.
Please test current git head and please test ffmpeg (the application) if it allows to reproduce the crash.
Then please use gdb for a useful backtrace and point us to a sample that allows to reproduce the issue.
libffmpeg.so is produced by the following instruction. It consists of ffmpeg library(libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a libswresample/libswresample.a) and some system library.
arm-linux-androideabi-ld -rpath-link=$PLATFORM_BASE/usr/lib -L$PLATFORM_BASE/usr/lib -soname libffmpeg.so -shared -nostdlib -Bsymbolic --whole-archive -o $PREFIX/libffmpeg.so $ANDROID_NDK_LIB/libgnustl_static.a libavcodec/libavcodec.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a libswresample/libswresample.a $BZLIBPATH/libbz2.a -lstdc++ -lc -lm -lz -ldl -llog --dynamic-linker=/system/bin/linker $NDKPREFIX/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.6/libgcc.a
comment:5 by , 13 years ago
I found the reason. When I set AVCodecContext:lowres to 3, it always crash in MPEG4 decoding, but it's fine in H.264. When I set AVCodecContext:lowres to 0, it is OK. I trace the code I find if the lowres is not 0 , MPV_motion_lowres will be called. MPV_motion_lowres will call ff_put_h264_chroma_mc2_neon and it crashes. I don't know is there any limitation in ff_put_h264_chroma_mc2_neon?
comment:6 by , 13 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | lowres arm added |
| Priority: | normal → important |
Please test ffmpeg (the application) and please provide a backtrace etc. as explained on http://ffmpeg.org/bugreports.html
comment:7 by , 13 years ago
| Keywords: | SIGBUS asp added |
|---|---|
| Reproduced by developer: | set |
| Status: | new → open |
| Version: | unspecified → git-master |
Also reproducible with higher resolutions, lowres 2 works fine here.
$ make fate-vsynth1-mpeg4
...
(gdb) r -lowres 3 -i tests/data/fate/vsynth1-mpeg4.mp4 -f null -
Starting program: ffmpeg_g -lowres 3 -i tests/data/fate/vsynth1-mpeg4.mp4 -f null -
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
ffmpeg version N-53346-g32f550e Copyright (c) 2000-2013 the FFmpeg developers
built on May 22 2013 12:10:40 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --enable-gpl
libavutil 52. 33.100 / 52. 33.100
libavcodec 55. 10.101 / 55. 10.101
libavformat 55. 7.100 / 55. 7.100
libavdevice 55. 1.100 / 55. 1.100
libavfilter 3. 68.103 / 3. 68.103
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'tests/data/fate/vsynth1-mpeg4.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
Duration: 00:00:02.00, start: 0.000000, bitrate: 2160 kb/s
Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 44x36 [SAR 1:1 DAR 11:9], 2156 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc
Metadata:
handler_name : VideoHandler
Output #0, null, to 'pipe:':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2mp41
encoder : Lavf55.7.100
Stream #0:0(und): Video: rawvideo (I420 / 0x30323449), yuv420p, 44x36 [SAR 1:1 DAR 11:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
Metadata:
handler_name : VideoHandler
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 -> rawvideo)
Press [q] to stop, [?] for help
[null @ 0xd6b7f0] Encoder did not produce proper pts, making some up.
Program received signal SIGBUS, Bus error.
0x005040e2 in ff_put_h264_chroma_mc2_neon () at libavcodec/arm/h264cmc_neon.S:384
384 h264_chroma_mc2 put
(gdb) bt
#0 0x005040e2 in ff_put_h264_chroma_mc2_neon () at libavcodec/arm/h264cmc_neon.S:384
#1 0x003b3904 in hpel_motion_lowres (motion_y=<optimized out>,
motion_x=<optimized out>, pix_op=0xd56bd0, h=1, w=1, v_edge_pos=<optimized out>,
h_edge_pos=<optimized out>, stride=<optimized out>, src_y=<optimized out>,
src_x=<optimized out>, src=<optimized out>, dest=0xd794a3 "\262", s=0xd55020,
field_based=<optimized out>, field_select=<optimized out>, width=<optimized out>,
height=<optimized out>) at libavcodec/mpegvideo.c:2219
#2 MPV_motion_lowres (s=s@entry=0xd55020, dest_y=dest_y@entry=0xd794a2 "\245\262",
dest_cb=dest_cb@entry=0xd7a551 "f", dest_cr=dest_cr@entry=0xd7a9b1 "\241",
dir=dir@entry=0, ref_picture=ref_picture@entry=0xd553d8,
pix_op=pix_op@entry=0xd56bd0) at libavcodec/mpegvideo.c:2448
#3 0x003baa3a in MPV_decode_mb_internal (is_mpeg12=0, lowres_flag=1, block=0xd81490,
s=0xd55020) at libavcodec/mpegvideo.c:2760
#4 ff_MPV_decode_mb (s=s@entry=0xd55020, block=0xd81490)
at libavcodec/mpegvideo.c:2910
#5 0x0020c0a4 in decode_slice (s=s@entry=0xd55020) at libavcodec/h263dec.c:257
#6 0x0020ca72 in ff_h263_decode_frame (avctx=0xd67800, data=0xd6d0f0,
got_frame=0xbefff614, avpkt=<optimized out>) at libavcodec/h263dec.c:679
#7 0x0046410e in avcodec_decode_video2 (avctx=0xd67800,
picture=picture@entry=0xd6d0f0, got_picture_ptr=got_picture_ptr@entry=0xbefff614,
avpkt=avpkt@entry=0xbefff720) at libavcodec/utils.c:1951
#8 0x000535ee in decode_video (ist=ist@entry=0xd6b3e0, pkt=pkt@entry=0xbefff720,
got_output=got_output@entry=0xbefff614) at ffmpeg.c:1645
#9 0x00054864 in output_packet (pkt=0xbefff6c8, ist=0xd6b3e0) at ffmpeg.c:1841
#10 process_input (file_index=40000) at ffmpeg.c:3047
#11 0x000487aa in transcode_step () at ffmpeg.c:3143
#12 transcode () at ffmpeg.c:3195
#13 main (argc=<optimized out>, argv=<optimized out>) at ffmpeg.c:3373
(gdb) disass $pc-32,$pc+32
Dump of assembler code from 0x5040c2 to 0x504102:
0x005040c2 <ff_put_h264_chroma_mc2_neon+82>: vext.8 q3, q2, q2, #1
0x005040c6 <ff_put_h264_chroma_mc2_neon+86>: vtrn.16 q2, q3
0x005040ca <ff_put_h264_chroma_mc2_neon+90>: vmull.u8 q8, d4, d0
0x005040ce <ff_put_h264_chroma_mc2_neon+94>: vmlal.u8 q8, d5, d1
0x005040d2 <ff_put_h264_chroma_mc2_neon+98>: vtrn.32 d16, d17
0x005040d6 <ff_put_h264_chroma_mc2_neon+102>: vadd.i16 d16, d16, d17
0x005040da <ff_put_h264_chroma_mc2_neon+106>: vrshrn.i16 d16, q8, #6
0x005040de <ff_put_h264_chroma_mc2_neon+110>: vst1.16 {d16[0]}, [r0 :16], r2
=> 0x005040e2 <ff_put_h264_chroma_mc2_neon+114>: vst1.16 {d16[1]}, [r0 :16], r2
0x005040e6 <ff_put_h264_chroma_mc2_neon+118>: subs r3, #2
0x005040e8 <ff_put_h264_chroma_mc2_neon+120>: bgt.n 0x5040b2 <ff_put_h264_chroma_mc2_neon+66>
0x005040ea <ff_put_h264_chroma_mc2_neon+122>: pop {r4, r5, r6, pc}
0x005040ec <ff_put_h264_chroma_mc2_neon+124>: ldrh r5, [r1, #0]
0x005040ee <ff_put_h264_chroma_mc2_neon+126>: add r1, r2
0x005040f0 <ff_put_h264_chroma_mc2_neon+128>: strh r5, [r0, #0]
0x005040f2 <ff_put_h264_chroma_mc2_neon+130>: add r0, r2
0x005040f4 <ff_put_h264_chroma_mc2_neon+132>: ldrh r6, [r1, #0]
0x005040f6 <ff_put_h264_chroma_mc2_neon+134>: add r1, r2
0x005040f8 <ff_put_h264_chroma_mc2_neon+136>: strh r6, [r0, #0]
0x005040fa <ff_put_h264_chroma_mc2_neon+138>: add r0, r2
0x005040fc <ff_put_h264_chroma_mc2_neon+140>: subs r3, #2
0x005040fe <ff_put_h264_chroma_mc2_neon+142>: bgt.n 0x5040ec <ff_put_h264_chroma_mc2_neon+124>
0x00504100 <ff_put_h264_chroma_mc2_neon+144>: pop {r4, r5, r6, pc}
End of assembler dump.
(gdb) info all-register
r0 0xd794a3 14128291
r1 0xd97850 14252112
r2 0x40 64
r3 0x1 1
r4 0x2 2
r5 0x2a 42
r6 0xe 14
r7 0xd56660 13985376
r8 0xd55020 13979680
r9 0x1 1
r10 0x3 3
r11 0xd56d80 13987200
r12 0x6 6
sp 0xbefff158 0xbefff158
lr 0x7 7
pc 0x5040e2 0x5040e2 <ff_put_h264_chroma_mc2_neon+114>
cpsr 0x30 48
d0 {u8 = {0x2, 0x2, 0x6, 0x6, 0x2, 0x2, 0x6, 0x6}, u16 = {0x202, 0x606,
0x202, 0x606}, u32 = {0x6060202, 0x6060202}, u64 = 0x606020206060202, f32 = {0x0,
0x0}, f64 = 0x0}
d1 {u8 = {0xe, 0xe, 0x2a, 0x2a, 0xe, 0xe, 0x2a, 0x2a}, u16 = {0xe0e,
0x2a2a, 0xe0e, 0x2a2a}, u32 = {0x2a2a0e0e, 0x2a2a0e0e}, u64 = 0x2a2a0e0e2a2a0e0e,
f32 = {0x0, 0x0}, f64 = 0x0}
d2 {u8 = {0x2, 0x2, 0x6, 0x6, 0x2, 0x2, 0x6, 0x6}, u16 = {0x202, 0x606,
0x202, 0x606}, u32 = {0x6060202, 0x6060202}, u64 = 0x606020206060202, f32 = {0x0,
0x0}, f64 = 0x0}
d3 {u8 = {0xe, 0xe, 0x2a, 0x2a, 0xe, 0xe, 0x2a, 0x2a}, u16 = {0xe0e,
0x2a2a, 0xe0e, 0x2a2a}, u32 = {0x2a2a0e0e, 0x2a2a0e0e}, u64 = 0x2a2a0e0e2a2a0e0e,
f32 = {0x0, 0x0}, f64 = 0x0}
d4 {u8 = {0x9e, 0x65, 0x65, 0xb9, 0x9e, 0x65, 0x65, 0xb9}, u16 = {0x659e,
0xb965, 0x659e, 0xb965}, u32 = {0xb965659e, 0xb965659e}, u64 = 0xb965659eb965659e,
f32 = {0x0, 0x0}, f64 = 0x0}
d5 {u8 = {0x9e, 0x65, 0x65, 0xb9, 0x9e, 0x9e, 0x9e, 0x9b}, u16 = {0x659e,
0xb965, 0x9e9e, 0x9b9e}, u32 = {0xb965659e, 0x9b9e9e9e}, u64 = 0x9b9e9e9eb965659e,
f32 = {0x0, 0x0}, f64 = 0x0}
d6 {u8 = {0xb9, 0x9e, 0x9e, 0x9e, 0xb9, 0x9e, 0x9e, 0x9e}, u16 = {0x9eb9,
0x9e9e, 0x9eb9, 0x9e9e}, u32 = {0x9e9e9eb9, 0x9e9e9eb9}, u64 = 0x9e9e9eb99e9e9eb9,
f32 = {0x0, 0x0}, f64 = 0x0}
d7 {u8 = {0xb9, 0x9e, 0x9e, 0x9e, 0x9b, 0x4f, 0x4f, 0x9e}, u16 = {0x9eb9,
0x9e9e, 0x4f9b, 0x9e4f}, u32 = {0x9e9e9eb9, 0x9e4f4f9b}, u64 = 0x9e4f4f9b9e9e9eb9,
f32 = {0x0, 0x0}, f64 = 0x0}
d8 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d9 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d10 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d11 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d12 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d13 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d14 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d15 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d16 {u8 = {0x73, 0xa4, 0x99, 0x9d, 0x4c, 0x8b, 0x71, 0x77}, u16 = {0xa473,
0x9d99, 0x8b4c, 0x7771}, u32 = {0x9d99a473, 0x77718b4c}, u64 = 0x77718b4c9d99a473,
f32 = {0x0, 0xffffffff}, f64 = 0xffffffffffffffff}
d17 {u8 = {0xf0, 0x12, 0xb0, 0x22, 0x4a, 0x1c, 0xc4, 0x1d}, u16 = {0x12f0,
0x22b0, 0x1c4a, 0x1dc4}, u32 = {0x22b012f0, 0x1dc41c4a}, u64 = 0x1dc41c4a22b012f0,
f32 = {0x0, 0x0}, f64 = 0x0}
d18 {u8 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, u16 = {0xffff,
0xffff, 0xffff, 0xffff}, u32 = {0xffffffff, 0xffffffff}, u64 = 0xffffffffffffffff,
f32 = {0x0, 0x0}, f64 = 0x0}
d19 {u8 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, u16 = {0xffff,
0xffff, 0xffff, 0xffff}, u32 = {0xffffffff, 0xffffffff}, u64 = 0xffffffffffffffff,
f32 = {0x0, 0x0}, f64 = 0x0}
d20 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d21 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d22 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d23 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d24 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d25 {u8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u16 = {0x0, 0x0, 0x0,
0x0}, u32 = {0x0, 0x0}, u64 = 0x0, f32 = {0x0, 0x0}, f64 = 0x0}
d26 {u8 = {0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff}, u16 = {0xfff7,
0xfff7, 0xfff7, 0xfff7}, u32 = {0xfff7fff7, 0xfff7fff7}, u64 = 0xfff7fff7fff7fff7,
f32 = {0x0, 0x0}, f64 = 0x0}
d27 {u8 = {0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff}, u16 = {0xfff7,
0xfff7, 0xfff7, 0xfff7}, u32 = {0xfff7fff7, 0xfff7fff7}, u64 = 0xfff7fff7fff7fff7,
f32 = {0x0, 0x0}, f64 = 0x0}
d28 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d29 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9,
0x9}, u32 = {0x90009, 0x90009}, u64 = 0x9000900090009, f32 = {0x0, 0x0}, f64 = 0x0}
d30 {u8 = {0x14, 0x0, 0x14, 0x0, 0x14, 0x0, 0x14, 0x0}, u16 = {0x14, 0x14,
0x14, 0x14}, u32 = {0x140014, 0x140014}, u64 = 0x14001400140014, f32 = {0x0, 0x0},
f64 = 0x0}
d31 {u8 = {0x14, 0x0, 0x14, 0x0, 0x14, 0x0, 0x14, 0x0}, u16 = {0x14, 0x14,
0x14, 0x14}, u32 = {0x140014, 0x140014}, u64 = 0x14001400140014, f32 = {0x0, 0x0},
f64 = 0x0}
fpscr 0x80000010 -2147483632
s0 2.5204074e-35 (raw 0x06060202)
s1 2.5204074e-35 (raw 0x06060202)
s2 1.51039093e-13 (raw 0x2a2a0e0e)
s3 1.51039093e-13 (raw 0x2a2a0e0e)
s4 2.5204074e-35 (raw 0x06060202)
s5 2.5204074e-35 (raw 0x06060202)
s6 1.51039093e-13 (raw 0x2a2a0e0e)
s7 1.51039093e-13 (raw 0x2a2a0e0e)
s8 -0.000218769972 (raw 0xb965659e)
s9 -0.000218769972 (raw 0xb965659e)
s10 -0.000218769972 (raw 0xb965659e)
s11 -2.62414113e-22 (raw 0x9b9e9e9e)
s12 -1.67945469e-20 (raw 0x9e9e9eb9)
s13 -1.67945469e-20 (raw 0x9e9e9eb9)
s14 -1.67945469e-20 (raw 0x9e9e9eb9)
s15 -1.09749508e-20 (raw 0x9e4f4f9b)
s16 0 (raw 0x00000000)
s17 0 (raw 0x00000000)
s18 0 (raw 0x00000000)
s19 0 (raw 0x00000000)
s20 0 (raw 0x00000000)
s21 0 (raw 0x00000000)
s22 0 (raw 0x00000000)
s23 0 (raw 0x00000000)
s24 0 (raw 0x00000000)
s25 0 (raw 0x00000000)
s26 0 (raw 0x00000000)
s27 0 (raw 0x00000000)
s28 0 (raw 0x00000000)
s29 0 (raw 0x00000000)
s30 0 (raw 0x00000000)
s31 0 (raw 0x00000000)
q0 {u8 = {0x2, 0x2, 0x6, 0x6, 0x2, 0x2, 0x6, 0x6, 0xe, 0xe, 0x2a, 0x2a,
0xe, 0xe, 0x2a, 0x2a}, u16 = {0x202, 0x606, 0x202, 0x606, 0xe0e, 0x2a2a, 0xe0e,
0x2a2a}, u32 = {0x6060202, 0x6060202, 0x2a2a0e0e, 0x2a2a0e0e}, u64 = {
0x606020206060202, 0x2a2a0e0e2a2a0e0e}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0,
0x0}}
q1 {u8 = {0x2, 0x2, 0x6, 0x6, 0x2, 0x2, 0x6, 0x6, 0xe, 0xe, 0x2a, 0x2a,
0xe, 0xe, 0x2a, 0x2a}, u16 = {0x202, 0x606, 0x202, 0x606, 0xe0e, 0x2a2a, 0xe0e,
0x2a2a}, u32 = {0x6060202, 0x6060202, 0x2a2a0e0e, 0x2a2a0e0e}, u64 = {
0x606020206060202, 0x2a2a0e0e2a2a0e0e}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0,
0x0}}
q2 {u8 = {0x9e, 0x65, 0x65, 0xb9, 0x9e, 0x65, 0x65, 0xb9, 0x9e, 0x65,
0x65, 0xb9, 0x9e, 0x9e, 0x9e, 0x9b}, u16 = {0x659e, 0xb965, 0x659e, 0xb965,
0x659e, 0xb965, 0x9e9e, 0x9b9e}, u32 = {0xb965659e, 0xb965659e, 0xb965659e,
0x9b9e9e9e}, u64 = {0xb965659eb965659e, 0x9b9e9e9eb965659e}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q3 {u8 = {0xb9, 0x9e, 0x9e, 0x9e, 0xb9, 0x9e, 0x9e, 0x9e, 0xb9, 0x9e,
0x9e, 0x9e, 0x9b, 0x4f, 0x4f, 0x9e}, u16 = {0x9eb9, 0x9e9e, 0x9eb9, 0x9e9e,
0x9eb9, 0x9e9e, 0x4f9b, 0x9e4f}, u32 = {0x9e9e9eb9, 0x9e9e9eb9, 0x9e9e9eb9,
0x9e4f4f9b}, u64 = {0x9e9e9eb99e9e9eb9, 0x9e4f4f9b9e9e9eb9}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q4 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q5 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q6 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q7 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q8 {u8 = {0x73, 0xa4, 0x99, 0x9d, 0x4c, 0x8b, 0x71, 0x77, 0xf0, 0x12,
0xb0, 0x22, 0x4a, 0x1c, 0xc4, 0x1d}, u16 = {0xa473, 0x9d99, 0x8b4c, 0x7771,
0x12f0, 0x22b0, 0x1c4a, 0x1dc4}, u32 = {0x9d99a473, 0x77718b4c, 0x22b012f0,
0x1dc41c4a}, u64 = {0x77718b4c9d99a473, 0x1dc41c4a22b012f0}, f32 = {0x0,
0xffffffff, 0x0, 0x0}, f64 = {0xffffffffffffffff, 0x0}}
q9 {u8 = {0xff <repeats 16 times>}, u16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, u32 = {0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff}, u64 = {0xffffffffffffffff, 0xffffffffffffffff}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q10 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9,
0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}, u32 = {0x90009,
0x90009, 0x90009, 0x90009}, u64 = {0x9000900090009, 0x9000900090009}, f32 = {0x0,
0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q11 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9,
0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}, u32 = {0x90009,
0x90009, 0x90009, 0x90009}, u64 = {0x9000900090009, 0x9000900090009}, f32 = {0x0,
0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q12 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q13 {u8 = {0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff,
0xf7, 0xff, 0xf7, 0xff, 0xf7, 0xff}, u16 = {0xfff7, 0xfff7, 0xfff7, 0xfff7,
0xfff7, 0xfff7, 0xfff7, 0xfff7}, u32 = {0xfff7fff7, 0xfff7fff7, 0xfff7fff7,
0xfff7fff7}, u64 = {0xfff7fff7fff7fff7, 0xfff7fff7fff7fff7}, f32 = {0x0, 0x0, 0x0,
0x0}, f64 = {0x0, 0x0}}
q14 {u8 = {0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9, 0x0, 0x9,
0x0, 0x9, 0x0}, u16 = {0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9, 0x9}, u32 = {0x90009,
0x90009, 0x90009, 0x90009}, u64 = {0x9000900090009, 0x9000900090009}, f32 = {0x0,
0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}
q15 {u8 = {0x14, 0x0, 0x14, 0x0, 0x14, 0x0, 0x14, 0x0, 0x14, 0x0, 0x14,
0x0, 0x14, 0x0, 0x14, 0x0}, u16 = {0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,
0x14}, u32 = {0x140014, 0x140014, 0x140014, 0x140014}, u64 = {0x14001400140014,
0x14001400140014}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}}



What is libffmpeg.so ? To the best of my knowledge, compilation never produced such a file.
Please test current git head and please test ffmpeg (the application) if it allows to reproduce the crash.
Then please use gdb for a useful backtrace and point us to a sample that allows to reproduce the issue.