GNOME Bugzilla – Bug 764344
Fail to play HEVC 10bit decode in wayland weston
Last modified: 2017-11-10 12:28:29 UTC
Submit this bugzilla to check on HEVC(H265) 10bit decode Gstreamer-vaapi capable to support on wayland weston or not. The wayland spec and drm_fourcc.h, wayland weston didn't support for 10 bit surface. But it should be able to render out if using vpp to scale down 10 bit surface to 8 bit surface. It will hit to va_GetSurfaceBufferWL function in intel-va driver that didn't support for obj_surface->fourcc = VA_FOURCC_P10 (because the wayland weston didn't support 10 bit surface). I'm not sure yet how this should be work yet. But it should be similar concept on how it handle for X11. Gst command: gst-launch-1.0 filesrc location=/home/test/video_h265.mp4 ! qtdemux ! vaapidecode ! vaapisink gst-launch-1.0 filesrc location=/home/test/video_h265.mp4 ! qtdemux ! vaapidecode ! vaapipostproc format=i420 width=1920 height=1080 ! vaapisink
Wayland version = 1.8.1 version Weston version = 1.8.0 version
I'm just notice that got new fixed for P10 support in the bug fixed in https://bugzilla.gnome.org/show_bug.cgi?id=759181. I will check on it see this resolve the issue, I saw in using wayland weston.
Created attachment 325013 [details] video stream: sample_hevc10bit.mkv
Lim, did you rechecked the issue? Does it still fail?
I have tried it. By default, vaapipostproc will choose NV12 format conversion when negotiating with vaapisink. Though the playback in my kabylake freezes for a moment at the end, and sometimes the color conversion is not correct. But if I force the P010_10LE format I got an typical VA assert. $ gst-play-1.0 ~/patterns/bug764344.mp4 --videosink='capsfilter caps="video/x-raw(memory:VASurface),format=P010_10LE" ! vaapisink' libva info: VA-API version 0.39.3 libva info: va_getDriverName() returns 0 libva info: Trying to open /home/intel/gst/master/libva-intel-driver/src/.libs/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 libva info: VA-API version 0.39.3 libva info: va_getDriverName() returns 0 libva info: Trying to open /home/intel/gst/master/libva-intel-driver/src/.libs/i965_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 Press 'k' to see a list of keyboard shortcuts. Now playing /home/intel/patterns/bug764344.mp4 Redistribute latency... lt-gst-play-1.0: i965_output_wayland.c:283: va_GetSurfaceBufferWl: Assertion `0 && "unsupported format"' failed. Aborted (core dumped) I'm my opinion all this should be reported to the intel va driver
The original issue reported by Lim is already fixed. The issue I found later (comment 5) is reported in bug 775698. Thus closing.