[FFmpeg-user] Zeranoe Windows builds spiking CPU to 100% randomly

Andy Sheen sheen.andy at googlemail.com
Mon Jul 9 14:32:29 CEST 2012


Hi

I have recently upgraded my ffmpeg to one of the latest Zeranoe builds
(in fact the latest...). I am seeing cpu spiking to 100% randomly on the
first pass of an x264 encode. When this happens the counters freeze and
the program does nothing for 5-20 seconds before resuming. Everything
"works" - the encode finishes with no errors, so there is no error to
report, but I am getting encodes that are significantly slower due to
this random freezing (the freeze happens at different points on the
encode every time the code is run so is non-deterministic). Other people
are also having this problem (see:
http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=7&t=617) but the forum
is moderated and Zeranoe hasn't been on there since 6/7/12 to allow my
posts through....

I'm on Win 7 x64 on an i7-2600K @ 4.3GHz and working backwards (thanks
Jan for the link) I have found that the build from 26th December 2011
works perfectly, the one from 5th January 2012 has the CPU spiking
issue. According to the READMEs in the two downloads, they both use
exactly the same build environment as well as exactly the same external
libs (see below). The ONLY thing that is different is a newer version of
the ffmpeg tree (git-7f83db3 vs git-f514695)

The command line is:

 ffmpeg -y -loglevel info -i 7416_20120706232700.mpg -r 25 -ss 0:0:0 -t
0:10:00 -map 0:0 -pass 1 -filter:v yadif=0:-1 -c:v libx264  -preset fast
-tune film -profile high -fastfirstpass 1 -b:v 1200k -threads 8 -f mp4
-an nul

Diffing the uncut command line output shows the only differences are in
the library versions and the addresses in the [llllllll @ nnnnnnnnnnnnn]
lines where the numbers (nnnnnnnnnnnnn) differ.  There is no error, or
real difference in the output so I haven't attached the uncut output.

A diff of the two readmes included with the download gives:

$ diff ffmpeg-2012-01-05/README.txt  ffmpeg-2011-12-26/README.txt
5c5
< Built on x264 - core %d%s - H.264/MPEG-4 AVC codec - Copy%s 2003-2011
- http://www.videolan.org/x264.html - options: %s 02:02:28
---
> Built on Dec 26 2011 17:55:53
7,10c7,10
< FFmpeg version git-7f83db3
<       libavutil    51. 34.100 / 51. 34.100
<       libavcodec   53. 53.100 / 53. 53.100
<       libavformat  53. 29.100 / 53. 29.100
---
> FFmpeg version git-f514695
>       libavutil    51. 33.100 / 51. 33.100
>       libavcodec   53. 48.100 / 53. 48.100
>       libavformat  53. 28.100 / 53. 28.100
12c12
<       libavfilter   2. 57.101 /  2. 57.101
---
>       libavfilter   2. 54.100 /  2. 54.100

With the README.txt from 26/12/11 being

This is a FFmpeg Win64 static build by Kyle Schwarz.

Zeranoe's FFmpeg Builds Home Page: http://ffmpeg.zeranoe.com/builds/

Built on Dec 26 2011 17:55:53

FFmpeg version git-f514695
    libavutil    51. 33.100 / 51. 33.100
    libavcodec   53. 48.100 / 53. 48.100
    libavformat  53. 28.100 / 53. 28.100
    libavdevice  53.  4.100 / 53.  4.100
    libavfilter   2. 54.100 /  2. 54.100
    libswscale    2.  1.100 /  2.  1.100
    libpostproc  51.  2.100 / 51.  2.100

FFmpeg configured with:
    --enable-gpl
    --enable-version3
    --disable-w32threads
    --enable-memalign-hack
    --enable-runtime-cpudetect
    --enable-avisynth
    --enable-bzlib
    --enable-frei0r
    --enable-libopencore-amrnb
    --enable-libopencore-amrwb
    --enable-libfreetype
    --enable-libgsm
    --enable-libmp3lame
    --enable-libopenjpeg
    --enable-librtmp
    --enable-libschroedinger
    --enable-libspeex
    --enable-libtheora
        --enable-libvo-aacenc
        --enable-libvo-amrwbenc
    --enable-libvorbis
    --enable-libvpx
    --enable-libx264
    --enable-libxavs
    --enable-libxvid
    --enable-zlib

The source code for this FFmpeg build can be found at:
    http://hawkeye.arrozcru.org/source/
   
This version of FFmpeg was built on:
    Ubuntu Desktop 10.04: http://www.ubuntu.com/desktop
   
The cross-compile toolchain used to compile this FFmpeg was:
    MinGW-w64 r4408: http://mingw-w64.sourceforge.net/
    winpthreads (part of MinGW-w64)

The GCC version used to compile this FFmpeg was:
    GCC 4.6.1: http://gcc.gnu.org/
   
The external libaries compiled into this FFmpeg are:
    bzip2 1.0.6 http://www.bzip.org
    Frei0r 1.3 http://frei0r.dyne.org/
    opencore-amr 0.1.2 http://sourceforge.net/projects/opencore-amr/
    FreeType 2.4.6 http://www.freetype.org/
    gsm 1.0.13 http://libgsm.sourcearchive.com/
    LAME 3.98.4 http://lame.sourceforge.net/
    OpenJPEG 1.4 http://www.openjpeg.org/
    RTMP git-60218d0a http://rtmpdump.mplayerhq.hu/
    Schroedinger 1.0.10 http://diracvideo.org/
    Speex 1.2rc1 http://www.speex.org/
    Theora 1.1.1 http://www.theora.org/
        vo-aacenc 0.1.1 http://sourceforge.net/projects/opencore-amr/
        vo-amrwbenc 0.1.1 http://sourceforge.net/projects/opencore-amr/
    Vorbis 1.3.2 http://www.vorbis.com/
    libvpx v0.9.7-p1 http://www.webmproject.org/code/
    x264 git-0c7dab9 http://www.videolan.org/developers/x264.html
    XAVS r55 http://xavs.sourceforge.net/
    Xvid 1.3.2 http://www.xvid.org/
    zlib 1.2.5 http://zlib.net/

License for each library can be found in the licenses folder.



More information about the ffmpeg-user mailing list