<div dir="ltr">Hello,<br>
<br>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. <br>
<br>Why does this performance degradation happen? Could it be because of different build configuration? Could it be a normal phenomenon for ffmpeg software evolution?<br>
<br>Build configurations:<br>ffmpeg version 2.2.3 Copyright (c) 2000-2014 the FFmpeg developers<br> built on Jun 3 2014 13:32:59 with gcc 4.8.2 (GCC)<br> 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<br> libavutil 52. 66.100 / 52. 66.100<br> libavcodec 55. 52.102 / 55. 52.102<br> libavformat 55. 33.100 / 55. 33.100<br> libavdevice 55. 10.100 / 55. 10.100<br> libavfilter 4. 2.100 / 4. 2.100<br> libswscale 2. 5.102 / 2. 5.102<br> libswresample 0. 18.100 / 0. 18.100<br>
<br>versus:<br>ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers<br> built with Microsoft (R) C/C++ Optimizing Compiler Version 18.00.21005.1 for x64<br> 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<br> libavutil 54. 27.100 / 54. 27.100<br> libavcodec 56. 41.100 / 56. 41.100<br> libavformat 56. 36.100 / 56. 36.100<br> libavdevice 56. 4.100 / 56. 4.100<br> libavfilter 5. 16.101 / 5. 16.101<br> libswscale 3. 1.101 / 3. 1.101<br> libswresample 1. 2.100 / 1. 2.100<br>
<br>The same for x86_32 arch.<br>
<br>p.s. I've already created a post on Zeranoe's forum but nobody answered(<br>
<br>You can find detailed benchmark listings for some codecs there:<br><a href="https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=2752" target="_blank">https://ffmpeg.zeranoe.com/forum/viewtopic.php?f=15&t=2752</a><br>
<br>Thank in advance, <br>Nikita Skiba<br></div>