Bug 111622 - VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED
Summary: VAAPI vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/radeonsi (show other bugs)
Version: 19.1
Hardware: x86-64 (AMD64) Linux (All)
: not set normal
Assignee: Default DRI bug account
QA Contact: Default DRI bug account
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-10 05:07 UTC by reject5514
Modified: 2019-09-25 18:50 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Sample C code to reproduce error (1.70 KB, text/x-csrc)
2019-09-10 05:07 UTC, reject5514
Details

Description reject5514 2019-09-10 05:07:10 UTC
Created attachment 145311 [details]
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)
Comment 1 GitLab Migration User 2019-09-25 18:50:45 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/1428.


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.