Opened 12 years ago
Closed 11 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 , 12 years ago
Keywords: | crash added |
---|
comment:2 by , 12 years ago
Description: | modified (diff) |
---|
comment:3 by , 12 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 , 12 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 , 12 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 , 12 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.