Bug 111111 - Corrupted output with vaapi 10 bit -> 8 bit transcoding on AMD RAVEN
Summary: Corrupted output with vaapi 10 bit -> 8 bit transcoding on AMD RAVEN
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
Depends on:
Reported: 2019-07-11 16:35 UTC by gregory shu
Modified: 2019-09-25 18:50 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Description gregory shu 2019-07-11 16:35:15 UTC
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
Comment 1 GitLab Migration User 2019-09-25 18:50:24 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1418.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.