Corrupted output with vaapi 10 bit -> 8 bit transcoding on AMD RAVEN
Submitted by gregory shu
Assigned to Default DRI bug account
Link to original bug (#111111)
Description
Initially, I've filled ffmpeg bug since vaapi transcoding 10 bit > 8 bit was just failing, someone refereed to a "separated field of surfaces bug" which I couldn't find and offered patch which fixed the initial issue here: https://trac.ffmpeg.org/ticket/7764
After applying patch transcoding goes through with significant speed increase [from 2x to 7x] but the resulting output has flashing green overlay/glitch in upper half of the video.
E.g from command"
ffmpeg -threads 4
-init_hw_device vaapi=amd:/dev/dri/renderD128 -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device amd -filter_hw_device amd
-i trk.mkv
-vf "scale_vaapi=format=nv12,hwupload"
-c:v h264_vaapi -profile:v 578 \
-c:a copy -bf 0 -c:s copy
-f mpegts -y plop.mkv
Input is any 10 bit hevc video.
Vainfo:libva info: VA-API version 1.6.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_6 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.6 (libva 2.6.0.pre1) vainfo: Driver version: Mesa Gallium driver 19.2.0-devel for AMD RAVEN (DRM 3.32.0, 5.2.0-gentoo, LLVM 8.0.0) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
mesa git AMD RAVEN APU 2200G
Version: git