Display error with vdpau & vaapi with AMD SUMO but only with certain videos
Error description
I have a h264 video which displays distorted when played with hardware decoding.
Video players celluloid
and smplayer
with mpv
player.
I am not sure what's the difference with this video.
Here is ffmpeg about this file
ffmpeg -i omni-man.mp4
ffmpeg version 6.1-1build2~22.04 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)
configuration: --prefix=/usr --extra-version='1build2~22.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-librav1e --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libsvtav1 --enable-libx264 --enable-libplacebo --disable-librav1e --enable-shared
WARNING: library configuration mismatch
avcodec configuration: --prefix=/usr --extra-version='1build2~22.04' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-librav1e --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libsvtav1 --enable-libx264 --enable-libplacebo --disable-librav1e --enable-shared --enable-version3 --disable-doc --disable-programs --disable-static --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'omni-man.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:00:12.31, start: 0.000000, bitrate: 262 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 320x180, 258 kb/s, 29.98 fps, 100 tbr, 90k tbn (default)
Metadata:
handler_name : VideoHandler
vendor_id : [0][0][0][0]
In celluloid the error is always there, in smplayer I can select the decoding driver which is used like, vdpau, vaapi, vdpau-copy,vaapi-copy.. When I leave it to auto it uses vaapi and the error is visible. On vaapi-copy or vdpau-copy too.
Using hardware decoding (vaapi).
VO: [gpu] 320x180 vaapi[nv12]
But when use vdpau it looks normal, but it doesn't seem to use hardware decoding anyway.
VO: [gpu] 320x180 yuv420p
I re-encoded the video with different settings but no change.
ffmpeg -i omni-man.mp4 new.mp4
ffmpeg -i omni-man.mp4 -filter:v fps=25 new.mp4
ffmpeg -i omni-man.mp4 -c:v libx264 -c:a copy new.mp4
ffmpeg -i omni-man.mp4 -c:v libx264 -profile:v high -level:v 4.0 -c:a copy new.mp4
ffmpeg -i omni-man.mp4 -c:v libx264 -crf 20 -vf format=yuv1080p new.mp4
ffmpeg -i omni-man.mp4 -c:v libx264 -crf 20 -vf format=1080p new.mp4
ffmpeg -i omni-man.mp4 -c:v libx264 -crf 20 new.mp4
ffmpeg -i omni-man.mp4 -vf scale=1920:1080 new.mp4
System information
Host: andreios-Vostro-3555 Kernel: 6.7.10-zabbly+ x86_64 bits: 64
compiler: gcc v: 11.4.0 Desktop: KDE Plasma 5.27.10 tk: Qt 5.15.3
wm: kwin_x11 dm: LightDM Distro: Linux Mint 21.3 Virginia
base: Ubuntu 22.04 jammy
CPU:
Info: quad core model: AMD A8-3500M APU with Radeon HD Graphics bits: 64
type: MCP arch: Fusion rev: 0 cache: L1: 512 KiB L2: 4 MiB
Speed (MHz): avg: 1223 high: 1715 min/max: 800/1500 boost: enabled cores:
1: 800 2: 1715 3: 799 4: 1581 bogomips: 11978
Flags: ht lm nx pae sse sse2 sse3 sse4a svm
Graphics:
Device-1: AMD Sumo [Radeon HD 6620G] vendor: Dell driver: radeon v: kernel
ports: active: HDMI-A-1 off: LVDS-1 empty: VGA-1 bus-ID: 00:01.0
chip-ID: 1002:9641
Device-2: Ricoh Integrated Webcam type: USB driver: uvcvideo
bus-ID: 3-3:2 chip-ID: 05ca:1820
Display: x11 server: X.Org v: 1.21.1.4 compositor: kwin_x11 driver: X:
loaded: ati,radeon unloaded: fbdev,modesetting,vesa gpu: radeon
display-ID: :0 screens: 1
Screen-1: 0 s-res: 2560x1600 s-dpi: 96
Monitor-1: HDMI-0 mapped: HDMI-A-1 model: Samsung LU28R55 res: 2560x1600
dpi: 103 diag: 727mm (28.6")
OpenGL: renderer: AMD SUMO (DRM 2.50.0 / 6.7.10-zabbly+ LLVM 15.0.7)
v: 4.5 Mesa 24.0.4 - kisak-mesa PPA direct render: Yes
I'm using kisak-mesa & zabbly kernel PPA but have seen this error also before.
Log files as attachment
- Output of
dmesg
https://pastebin.com/3iujAzte