[x264-devel] one bug report : x264 will crash for current version

qw applemax82 at 163.com
Mon Jul 18 05:36:55 CEST 2016


Hi,


>Hi. I can't reproduce it here. Also I am not sure if it is libx264 or
>ffmpeg crash because your report only have: "Segmentation fault (core
>dumped)". Btw I noticed that ffmpeg was compiled with ICC. Do you
>compiled libx264 also with ICC? May be it is miscompilation and you
>should try to compile both ffmpeg and libx264 with GCC.
>
>If you want further debug this crash (miscompilation?) than you need
>to build both ffmpeg and libx264 with debug information (--enable-debug)
>and get GDB backtrace from this crash.

I use icc and gcc to build 'x264-snapshot-20160714-2245-stable' respectively, and use icc to build fmpeg3.1.1. The icc version has the crash issue, while the gcc version is ok.

Because of the excellent optimization of icc compiler, I prefer icc to build x264. How to solve the crash issue? The crash is related to icc version and cflags.


Thanks

Regards

Andrew


At 2016-07-17 16:49:21, "BugMaster" <BugMaster at narod.ru> wrote:
>On Sun, 17 Jul 2016 14:49:42 +0800 (CST), qw wrote:
>> Hi,
>
>> ffmpeg 3.1.1 is the latest release version, which is used with the
>> latest version of x264 to do transcoding, but crash. I also tried
>> other versions of x264 to do the same transcoding. x264 older
>> versions have no problem, but it seem the versions after
>> 'x264-snapshot-20160412-2245-stable' have the crash issue.
>
>> The test clip can be downloaded via the url link:
>> http://pan.baidu.com/s/1nvzsTdR
>
>> The following is test command line:
>
>> ffmpeg -i ./Adidas_run_ad.mp4 -movflags +faststart -strict -3 -pass
>> 1 -passlogfile ./TmpInfo_ -s 640x480 -c:v libx264 -b:v 1000000
>> -maxrate 2000000 -bufsize 2000000 -r 20 -g 200 -preset slow -coder 1
>> -profile:v high -level 3.1 -x264opts
>> "b-pyramid=normal:weightp=2:8x8dct=1:partitions=i8x8,i4x4,p8x8,p4x4,b8x8:aq-mode=3"
>> -pix_fmt yuv420p -refs 2 -f mp4 -an ./Adidas_run_ad_out_pass1.mp4
>
>> ffmpeg -i ./Adidas_run_ad.mp4 -movflags +faststart -strict -3 -pass
>> 2 -passlogfile ./TmpInfo_ -s 640x480 -c:v libx264 -b:v 1000000
>> -maxrate 2000000 -bufsize 2000000 -r 20 -g 200 -preset slow -coder 1
>> -profile:v high -level 3.1 -x264opts
>> "b-pyramid=normal:weightp=2:8x8dct=1:partitions=i8x8,i4x4,p8x8,p4x4,b8x8:aq-mode=3"
>> -pix_fmt yuv420p -refs 3 -f mp4 -an ./Adidas_run_ad_out_pass2.mp4
>
>
>> The screen message is shown as below for your reference:
>
>>  [xxxx]# ffmpeg -i ./Adidas_run_ad.mp4 -movflags +faststart -strict
>> -3 -pass 1 -passlogfile ./TmpInfo_ -s 640x480 -c:v libx264 -b:v
>> 1000000 -maxrate 2000000 -bufsize 2000000 -r 20 -g 200 -preset slow
>> -coder 1 -profile:v high -level 3.1 -x264opts
>> "b-pyramid=normal:weightp=2:8x8dct=1:partitions=i8x8,i4x4,p8x8,p4x4,b8x8:aq-mode=3"
>> -pix_fmt yuv420p -refs 2 -f mp4 -an ./Adidas_run_ad_out_pass1.mp4
>> ffmpeg version 3.1.1 Copyright (c) 2000-2016 the FFmpeg developers
>>   built with icc (ICC) 14.0.2 20140120
>>   configuration: --cc=/opt/intel/bin/icc --arch=x86_64
>> --enable-version3 --enable-asm --enable-yasm --disable-static
>> --enable-shared --enable-gpl --prefix=/usr/local/
>> --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
>> --enable-nonfree --enable-avfilter --enable-postproc
>> --enable-pthreads --enable-libx264 --enable-libfdk_aac
>>   libavutil      55. 28.100 / 55. 28.100
>>   libavcodec     57. 48.101 / 57. 48.101
>>   libavformat    57. 41.100 / 57. 41.100
>>   libavdevice    57.  0.101 / 57.  0.101
>>   libavfilter     6. 47.100 /  6. 47.100
>>   libswscale      4.  1.100 /  4.  1.100
>>   libswresample   2.  1.100 /  2.  1.100
>>   libpostproc    54.  0.100 / 54.  0.100
>> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from './Adidas_run_ad.mp4':
>>   Metadata:
>>     major_brand     : mp42
>>     minor_version   : 0
>>     compatible_brands: mp42isomavc1letv
>>     creation_time   : 2015-02-09 17:21:54
>>     encoder         : HandBrake rev4024 2015010899
>>   Duration: 00:00:59.81, start: 0.000000, bitrate: 536 kb/s
>>     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661),
>> yuv420p(tv, bt709), 960x544, 495 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
>>     Metadata:
>>       creation_time   : 2015-02-09 17:21:54
>>       encoder         : JVT/AVC Coding
>>     Stream #0:1(und): Audio: aac (HE-AAC) (mp4a / 0x6134706D),
>> 44100 Hz, stereo, fltp, 32 kb/s (default)
>>     Metadata:
>>       creation_time   : 2015-02-09 17:21:54
>> [libx264 @ 0x1df8b80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
>> [libx264 @ 0x1df8b80] profile High, level 3.1
>> [libx264 @ 0x1df8b80] 264 - core 148 - H.264/MPEG-4 AVC codec -
>> Copyleft 2003-2016 - http://www.videolan.org/x264.html - options:
>> cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x133 me=dia subme=2 psy=1
>> psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0
>> 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0
>> threads=15 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1
>> interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3
>> b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0
>> weightp=2 keyint=200 keyint_min=20 scenecut=40 intra_refresh=0
>> rc_lookahead=50 rc=abr mbtree=1 bitrate=1000 ratetol=1.0 qcomp=0.60
>> qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2000 vbv_bufsize=2000
>> nal_hrd=none filler=0 ip_ratio=1.40 aq=3:1.00
>> [mp4 @ 0x1df7940] Using AVStream.codec to pass codec parameters to
>> muxers is deprecated, use AVStream.codecpar instead.
>> Output #0, mp4, to './Adidas_run_ad_out_pass1.mp4':
>>   Metadata:
>>     major_brand     : mp42
>>     minor_version   : 0
>>     compatible_brands: mp42isomavc1letv
>>     encoder         : Lavf57.41.100
>>     Stream #0:0(und): Video: h264 (libx264) ([33][0][0][0] /
>> 0x0021), yuv420p, 640x480, q=-1--1, 1000 kb/s, 20 fps, 10240 tbn, 20 tbc (default)
>>     Metadata:
>>       creation_time   : 2015-02-09 17:21:54
>>       encoder         : Lavc57.48.101 libx264
>>     Side data:
>>       cpb: bitrate max/min/avg: 2000000/0/1000000 buffer size: 2000000 vbv_delay: -1
>> Stream mapping:
>>   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
>> Press [q] to stop, [?] for help
>> Past duration 0.799995 too large
>> Past duration 0.999992 too large
>> Segmentation fault (core dumped)
>
>> And x264-snapshot-20160411-2245-stable has no crash problem.
>
>> Looking forward to someone solving the problem.
>
>
>> Thanks!
>
>> Regards
>
>> andrew
>
>Hi. I can't reproduce it here. Also I am not sure if it is libx264 or
>ffmpeg crash because your report only have: "Segmentation fault (core
>dumped)". Btw I noticed that ffmpeg was compiled with ICC. Do you
>compiled libx264 also with ICC? May be it is miscompilation and you
>should try to compile both ffmpeg and libx264 with GCC.
>
>If you want further debug this crash (miscompilation?) than you need
>to build both ffmpeg and libx264 with debug information (--enable-debug)
>and get GDB backtrace from this crash.
>
>_______________________________________________
>x264-devel mailing list
>x264-devel at videolan.org
>https://mailman.videolan.org/listinfo/x264-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20160718/9db1a5e0/attachment.html>


More information about the x264-devel mailing list