https://bugs.freedesktop.org/show_bug.cgi?id=111622
Bug ID: 111622 Summary: VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED Product: Mesa Version: 19.1 Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: not set Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: reject5514@naver.com QA Contact: dri-devel@lists.freedesktop.org
Created attachment 145311 --> https://bugs.freedesktop.org/attachment.cgi?id=145311&action=edit Sample C code to reproduce error
Operating System: archlinux 5.2.13-arch1-1-ARCH GPU: Radeon RX 570 Mesa version: 19.1.6 Libva version: 2.5.0
vaDeriveImage() VAAPI returns VA_STATUS_ERROR_OPERATION_FAILED when radeonsi_drv_video.so used as driver. It runs successfully with i965_drv_video.so on intel integrated GPU.
https://bugs.freedesktop.org/show_bug.cgi?id=110850 related to this.
I found by debugging that error return occurs in the vlVaDeriveImage function. //vlVaDeriveImage function is in src/gallium/state_trackers/va/image.c if (surf->buffer->interlaced) return VA_STATUS_ERROR_OPERATION_FAILED;
Is there a problem with interlaced video in Mesa? I don't know much about computer graphics and how Mesa works, but Intel driver has no problem about it, so I think it's a bug.
Sample C code attached to reproduce error. This code was written by referring to the VLC's VAAPI source code. Compile command: gcc -o va va.c -lX11 -lva -lva-x11 -g
Result on Radeon GPU system: libva info: VA-API version 1.5.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_5 libva info: va_openDriver() returns 0 vendor string : Mesa Gallium driver 19.1.6 for Radeon RX 570 Series (POLARIS10, DRM 3.32.0, 5.2.13-arch1-1-ARCH, LLVM 8.0.1) vaDeriveImage error : operation failed
Result on Intel GPU system: libva info: VA-API version 1.5.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_3 libva info: va_openDriver() returns 0 vendor string : Intel i965 driver for Intel(R) Broadwell - 2.3.0
vaDeriveImage : success (no error)