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

Paul B Mahol onemda at gmail.com
Mon Nov 2 22:34:16 CET 2015


On 11/2/15, Nikita Skiba <zaulan at gmail.com> wrote:
> 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)

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

Microsoft

>   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
>


More information about the Libav-user mailing list