summaryrefslogtreecommitdiffstats
path: root/src/image.c
diff options
context:
space:
mode:
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-18 14:45:01 +0200
committerPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-18 14:46:26 +0200
commit9a4693ca0d19ef7167969961aab9ba06c7b268cf (patch)
tree9ea8aa25f54a404701045df24912232d40740369 /src/image.c
parent2543041a1871bbf15725ff82e49bcaf81e6a539d (diff)
downloadlibva-v4l2-request-9a4693ca0d19ef7167969961aab9ba06c7b268cf.tar.gz
libva-v4l2-request-9a4693ca0d19ef7167969961aab9ba06c7b268cf.tar.bz2
libva-v4l2-request-9a4693ca0d19ef7167969961aab9ba06c7b268cf.zip
buffer: Store derived surface id and buffer info for dma-buf export
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Diffstat (limited to 'src/image.c')
-rw-r--r--src/image.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/image.c b/src/image.c
index 30d21e8..6223c0a 100644
--- a/src/image.c
+++ b/src/image.c
@@ -122,8 +122,8 @@ VAStatus RequestDeriveImage(VADriverContextP context, VASurfaceID surface_id,
struct request_data *driver_data = context->pDriverData;
struct object_surface *surface_object;
struct object_buffer *buffer_object;
- unsigned int i;
VAImageFormat format;
+ unsigned int i;
VAStatus status;
surface_object = SURFACE(driver_data, surface_id);
@@ -134,8 +134,6 @@ VAStatus RequestDeriveImage(VADriverContextP context, VASurfaceID surface_id,
status = RequestSyncSurface(context, surface_id);
if (status != VA_STATUS_SUCCESS)
return status;
- } else if (surface_object->status == VASurfaceReady) {
- return VA_STATUS_SUCCESS;
}
format.fourcc = VA_FOURCC_NV12;
@@ -164,6 +162,8 @@ VAStatus RequestDeriveImage(VADriverContextP context, VASurfaceID surface_id,
surface_object->status = VASurfaceReady;
+ buffer_object->derived_surface_id = surface_id;
+
return VA_STATUS_SUCCESS;
}