intel / intel/libva-utils

vaDeriveImage returns VA_STATUS_ERROR_OPERATION_FAILED

Open
#296 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
241
Forks
172
PR merge metrics
No merged PRs in 30d

Description

It's a kind of weird situation. I wrote small sample code
```
#include
#include
#include

void main()
{
int major_ver;
int minor_ver;

Display* x11_display = XOpenDisplay(NULL);
VADisplay va_dpy = vaGetDisplay(x11_display);

VAStatus va_status = vaInitialize(va_dpy, &major_ver, &minor_ver);

VASurfaceID surfaces[4];
vaCreateSurfaces(va_dpy, VA_RT_FORMAT_YUV420, 1920, 1088, &surfaces[0], 4, NULL, 0);
for (int i = 0; i < 4; i++) {
VAImage surface_image;
VAStatus va_status = vaDeriveImage(va_dpy, surfaces[i], &surface_image);
printf("surface %d: vaDeriveImage returns %d\n", i, va_status);
}
}
```

build command is `gcc h264encode.c -lva -lva-x11 -lX11`

Output:
```
libva info: VA-API version 1.14.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
surface 0: vaDeriveImage returns 1
surface 1: vaDeriveImage returns 1
surface 2: vaDeriveImage returns 1
surface 3: vaDeriveImage returns 1
```
The same code at the very beginning of the https://github.com/intel/libva-utils/blob/master/encode/h264encode.c `main` fuction works fine and `vaDeriveImage` returns 0.
What I'm missing for?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.