[reopen?] video scrambled when using vaapi
Describe your issue
Hello!
When Totem is used to play a MP4 file a distorted image is rendered.
Not affected: WEBM files and the applications MPV and PITIVI.
Expected Behavior
Actual video content is rendered.
Observed Behavior
Distorted video is rendered.
Setup
- Operating System: Linux (Archlinux)
- Device: Computer
- GStreamer Version: 1.22.0-3
- Command line: totem some.mp4
- Laptop: ThinkPad X220, Intel SandyBridge (HD3000)
- Software-Environment: GNOME upon Wayland
Steps to reproduce the bug
- open terminal
- type
totem some.mp4
How reproducible is the bug?
Always.
Screenshots if relevant
Solutions you have tried
USE_PLAYBIN3=1 totem cala_tuen_small.mp4
# works, video is rendered properly
gst-play-1.0 cala_tuen_small.mp4
# works, video is rendered properly
Related non-duplicate issues
#1137 (closed) # I'm not sure if I should reopen this? But how? The distorted image looks similiar.
https://gitlab.gnome.org/GNOME/totem/-/issues/519
Additional Information
$ gst-inspect-1.0 vaapi
Plugin Details:
Name vaapi
Description VA-API based elements
Filename /usr/lib/gstreamer-1.0/libgstvaapi.so
Version 1.22.0
License LGPL
Source module gstreamer-vaapi
Documentation https://gstreamer.freedesktop.org/documentation/vaapi/
Source release date 2023-01-23
Binary package gstreamer-vaapi
Origin URL https://www.archlinux.org/
vaapidecodebin: VA-API Decode Bin
vaapih264dec: VA-API H264 decoder
vaapih264enc: VA-API H264 encoder
vaapimpeg2dec: VA-API MPEG2 decoder
vaapipostproc: VA-API video postprocessing
vaapisink: VA-API sink
vaapivc1dec: VA-API VC1 decoder
7 features:
+-- 7 elements
$ vainfo -a
Trying display: wayland
vainfo: VA-API version: 1.17 (libva 2.17.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Sandybridge Mobile - 2.4.1
vainfo: Supported config attributes per profile/entrypoint pair
VAProfileMPEG2Simple/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileMPEG2Main/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileH264ConstrainedBaseline/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV400
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileH264ConstrainedBaseline/VAEntrypointEncSlice
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribRateControl : VA_RC_CBR
VA_RC_VBR
VA_RC_CQP
VAConfigAttribEncPackedHeaders : VA_ENC_PACKED_HEADER_SEQUENCE
VA_ENC_PACKED_HEADER_PICTURE
VA_ENC_PACKED_HEADER_SLICE
VA_ENC_PACKED_HEADER_MISC
VA_ENC_PACKED_HEADER_RAW_DATA
VAConfigAttribEncMaxRefFrames : l0=1
l1=1
VAConfigAttribEncMaxSlices : 32
VAConfigAttribEncSliceStructure : VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS
VAConfigAttribEncQualityRange : number of supported quality levels is 2
VAConfigAttribEncROI : num_roi_regions=8
roi_rc_priority_support=0
roi_rc_qp_delta_support=1
VAConfigAttribEncRateControlExt : max_num_temporal_layers_minus1=3 temporal_layer_bitrate_control_flag=1
VAProfileH264Main/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV400
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileH264Main/VAEntrypointEncSlice
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribRateControl : VA_RC_CBR
VA_RC_VBR
VA_RC_CQP
VAConfigAttribEncPackedHeaders : VA_ENC_PACKED_HEADER_SEQUENCE
VA_ENC_PACKED_HEADER_PICTURE
VA_ENC_PACKED_HEADER_SLICE
VA_ENC_PACKED_HEADER_MISC
VA_ENC_PACKED_HEADER_RAW_DATA
VAConfigAttribEncMaxRefFrames : l0=1
l1=1
VAConfigAttribEncMaxSlices : 32
VAConfigAttribEncSliceStructure : VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS
VAConfigAttribEncQualityRange : number of supported quality levels is 2
VAConfigAttribEncROI : num_roi_regions=8
roi_rc_priority_support=0
roi_rc_qp_delta_support=1
VAConfigAttribEncRateControlExt : max_num_temporal_layers_minus1=3 temporal_layer_bitrate_control_flag=1
VAProfileH264High/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV400
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileH264High/VAEntrypointEncSlice
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribRateControl : VA_RC_CBR
VA_RC_VBR
VA_RC_CQP
VAConfigAttribEncPackedHeaders : VA_ENC_PACKED_HEADER_SEQUENCE
VA_ENC_PACKED_HEADER_PICTURE
VA_ENC_PACKED_HEADER_SLICE
VA_ENC_PACKED_HEADER_MISC
VA_ENC_PACKED_HEADER_RAW_DATA
VAConfigAttribEncMaxRefFrames : l0=1
l1=1
VAConfigAttribEncMaxSlices : 32
VAConfigAttribEncSliceStructure : VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS
VAConfigAttribEncQualityRange : number of supported quality levels is 2
VAConfigAttribEncROI : num_roi_regions=8
roi_rc_priority_support=0
roi_rc_qp_delta_support=1
VAConfigAttribEncRateControlExt : max_num_temporal_layers_minus1=3 temporal_layer_bitrate_control_flag=1
VAProfileH264StereoHigh/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV400
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileVC1Simple/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileVC1Main/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileVC1Advanced/VAEntrypointVLD
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VAConfigAttribDecSliceMode : VA_DEC_SLICE_MODE_NORMAL
VAProfileNone/VAEntrypointVideoProc
VAConfigAttribRTFormat : VA_RT_FORMAT_YUV420
VA_RT_FORMAT_YUV422
VA_RT_FORMAT_RGB32
Thank you