Skip to content

Instantly share code, notes, and snippets.

@Green-Sky
Last active March 6, 2025 17:31
Show Gist options
  • Save Green-Sky/cea90807d9ede8abc7cd43ab1da88cbc to your computer and use it in GitHub Desktop.
Save Green-Sky/cea90807d9ede8abc7cd43ab1da88cbc to your computer and use it in GitHub Desktop.
vp8 decode perf on desktop hardware

ffmpeg vp8 decode bench

tldr

libvpx vp8 decoding is now on par, or even faster in singlethreaded mode on modern hardware.

ffmpeg -benchmark -c:v libvpx -i Downloads/Big_Buck_Bunny_1080_10s_30MB.webm -f null -
ffmpeg -benchmark -c:v vp8 -i Downloads/Big_Buck_Bunny_1080_10s_30MB.webm -f null -

libvpx

frame=  300 fps= 91 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=3.03x
bench: utime=3.291s stime=0.025s rtime=3.304s
bench: maxrss=95200KiB

ffvp8

frame=  300 fps=0.0 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=19.9x
bench: utime=4.663s stime=0.102s rtime=0.502s
bench: maxrss=136796KiB

threads 1

ffmpeg -benchmark -threads 1 -c:v libvpx -i Downloads/Big_Buck_Bunny_1080_10s_30MB.webm -f null -
ffmpeg -benchmark -threads 1 -c:v vp8 -i Downloads/Big_Buck_Bunny_1080_10s_30MB.webm -f null -
ffmpeg -benchmark -threads 1 -c:v vp8_cuvid -i Downloads/Big_Buck_Bunny_1080_10s_30MB.webm -f null -

libvpx

frame=  300 fps= 91 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=3.04x
bench: utime=3.279s stime=0.023s rtime=3.287s
bench: maxrss=94624KiB

ffvp8

frame=  300 fps= 87 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=2.91x
bench: utime=3.430s stime=0.025s rtime=3.439s
bench: maxrss=86656KiB

extra bench

cuda vp8

frame=  300 fps=0.0 q=-0.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=20.3x
bench: utime=0.101s stime=0.069s rtime=0.493s
bench: maxrss=199800KiB

versions

ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 13.3.0 (GCC)
configuration: --disable-static --prefix=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1 --target_os=linux --arch=x86_64 --pkg-config=pkg-config --enable-gpl --enable-version3 --disable-nonfree --disable-static --enable-shared --enable-pic --disable-thumb --disable-small --enable-runtime-cpudetect --enable-gray --enable-swscale-alpha --enable-hardcoded-tables --enable-safe-bitstream-reader --enable-pthreads --disable-w32threads --disable-os2threads --enable-network --enable-pixelutils --datadir=/nix/store/avxwz8cbyc697knbjp7k97xh6ml1359a-ffmpeg-full-7.1-data/share/ffmpeg --enable-ffmpeg --enable-ffplay --enable-ffprobe --bindir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1-bin/bin --enable-avcodec --enable-avdevice --enable-avfilter --enable-avformat --enable-avutil --enable-postproc --enable-swresample --enable-swscale --libdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1-lib/lib --incdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1-dev/include --enable-doc --enable-htmlpages --enable-manpages --mandir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1-man/share/man --enable-podpages --enable-txtpages --docdir=/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-ffmpeg-full-7.1-doc/share/doc/ffmpeg --enable-alsa --enable-amf --enable-libaom --enable-libaribb24 --enable-libaribcaption --enable-libass --enable-avisynth --enable-libbluray --enable-libbs2b --enable-bzlib --enable-libcaca --enable-libcdio --enable-libcelt --enable-chromaprint --enable-libcodec2 --enable-cuda --enable-cuda-llvm --disable-cuda-nvcc --enable-cuvid --enable-libdav1d --enable-libdc1394 --enable-libdrm --enable-libdvdnav --enable-libdvdread --disable-libfdk-aac --enable-ffnvcodec --enable-libflite --enable-fontconfig --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libfribidi --enable-libgme --enable-gnutls --enable-libgsm --enable-libharfbuzz --enable-iconv --enable-libilbc --enable-libjack --enable-libjxl --enable-libkvazaar --enable-ladspa --enable-liblc3 --enable-liblcevc-dec --enable-lcms2 --enable-lzma --disable-metal --enable-libmfx --enable-libmodplug --enable-libmp3lame --enable-libmysofa --disable-libnpp --enable-nvdec --enable-nvenc --enable-openal --enable-opencl --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-opengl --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libplacebo --enable-libpulse --enable-libqrencode --enable-libquirc --enable-librav1e --enable-librist --enable-librtmp --enable-librubberband --enable-libsmbclient --enable-sdl2 --enable-libshaderc --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-librsvg --enable-libsvtav1 --disable-libtensorflow --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-v4l2-m2m --enable-vaapi --enable-vdpau --disable-libvpl --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-vulkan --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxcb --enable-libxcb-shape --enable-libxcb-shm --enable-libxcb-xfixes --enable-libxevd --enable-libxeve --enable-xlib --enable-libxml2 --enable-libxvid --enable-libzimg --enable-zlib --enable-libzmq --enable-libzvbi --disable-debug --enable-optimizations --disable-extra-warnings --disable-stripping
libavutil      59. 39.100 / 59. 39.100
libavcodec     61. 19.100 / 61. 19.100
libavformat    61.  7.100 / 61.  7.100
libavdevice    61.  3.100 / 61.  3.100
libavfilter    10.  4.100 / 10.  4.100
libswscale      8.  3.100 /  8.  3.100
libswresample   5.  3.100 /  5.  3.100
libpostproc    58.  3.100 / 58.  3.100
[libvpx @ 0x11e5d380] v1.15.0

src

https://test-videos.co.uk/bigbuckbunny/webm-vp8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment