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

BugMaster BugMaster at narod.ru
Sun Jul 17 10:49:21 CEST 2016


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.



More information about the x264-devel mailing list