[Libav-user] FFmpeg decoder performance degradation from 2.2.3 to 2.7.2

Никита Скиба zaulan at gmail.com
Mon Nov 2 08:15:28 CET 2015


Hello,

I have recently updated FFmpeg libraries, used by our software from 2.2.3
to 2.7.2. Then, after some simple performance tests on Windows I've
surprisingly found, that performance of decoding MJPEG, H264 in 2.7.2
approx. 10-20% worse than in 2.2.3. In contrast, H265/HEVC decoding
performance in 2.7.2 is better than in 2.2.3.

Why does this performance degradation happen? Could it be because of
different build configuration? Could it be a normal phenomenon for
ffmpeg software evolution?

Build configurations:
ffmpeg version 2.2.3 Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun  3 2014 13:32:59 with gcc 4.8.2 (GCC)
  configuration: --enable-shared --disable-static --enable-memalign-hack
--disable-dxva2 --extra-cflags=-U__STRICT_ANSI__
--prefix=/s/src/ffmpeg/build-2.2.3
--shlibdir=/s/src/ffmpeg/build-2.2.3/bin/x86_64 --build-suffix=-itv-2.2.3
--bindir=/s/src/ffmpeg/build-2.2.3/bin/x86_64
--libdir=/s/src/ffmpeg/build-2.2.3/lib/x86_64 --enable-runtime-cpudetect
--enable-w32threads --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32-
--arch=x86_64
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100

versus:
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
  built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1
for x64
  configuration: --toolchain=msvc --enable-shared --disable-static
--enable-memalign-hack --disable-dxva2 --extra-cflags=-U__STRICT_ANSI__
--prefix=/home/nikita.skiba/build-2.7.2
--shlibdir=/home/nikita.skiba/build-2.7.2/bin/x86_64
--build-suffix=-itv-2.7.2
--bindir=/home/nikita.skiba/build-2.7.2/bin/x86_64
--libdir=/home/nikita.skiba/build-2.7.2/lib/x86_64
--enable-runtime-cpudetect --enable-w32threads --arch=x86_64
  libavutil      54. 27.100 / 54. 27.100
  libavcodec     56. 41.100 / 56. 41.100
  libavformat    56. 36.100 / 56. 36.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 16.101 /  5. 16.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.100 /  1.  2.100

The same for x86_32 arch.

p.s. I've already created a post on Zeranoe's forum but nobody answered(

You can find detailed benchmark listings for some codecs there:
https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=2752

Thank in advance,
Nikita Skiba
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ffmpeg.org/pipermail/libav-user/attachments/20151102/e89bd3ce/attachment.html>


More information about the Libav-user mailing list