summaryrefslogtreecommitdiffstats
path: root/src/surface.h
diff options
context:
space:
mode:
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-11 15:16:52 +0200
committerPaul Kocialkowski <paul.kocialkowski@bootlin.com>2018-07-11 15:16:52 +0200
commit9f2c069f76260c344839f4522fa6c0887055ae53 (patch)
tree0c908d4a3df09d7d3eb8f05c2e5bede9cd52095b /src/surface.h
parent2ca67372f8087d27891057903f28595a2145e9fc (diff)
downloadlibva-v4l2-request-9f2c069f76260c344839f4522fa6c0887055ae53.tar.gz
libva-v4l2-request-9f2c069f76260c344839f4522fa6c0887055ae53.tar.bz2
libva-v4l2-request-9f2c069f76260c344839f4522fa6c0887055ae53.zip
Rework buffer management to be more generic and support untiled format
Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Diffstat (limited to 'src/surface.h')
-rw-r--r--src/surface.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/surface.h b/src/surface.h
index 1bbd868..b749c58 100644
--- a/src/surface.h
+++ b/src/surface.h
@@ -26,6 +26,8 @@
#ifndef _SURFACE_H_
#define _SURFACE_H_
+#include <linux/videodev2.h>
+
#include <va/va_backend.h>
#include "object_heap.h"
@@ -45,10 +47,17 @@ struct object_surface {
unsigned int source_size;
unsigned int destination_index;
- void *destination_data[2];
- unsigned int destination_size[2];
+ void *destination_map[VIDEO_MAX_PLANES];
+ unsigned int destination_map_lengths[VIDEO_MAX_PLANES];
+ unsigned int destination_map_offsets[VIDEO_MAX_PLANES];
+ void *destination_data[VIDEO_MAX_PLANES];
+ unsigned int destination_sizes[VIDEO_MAX_PLANES];
+ unsigned int destination_offsets[VIDEO_MAX_PLANES];
+ unsigned int destination_bytesperlines[VIDEO_MAX_PLANES];
+ unsigned int destination_planes_count;
+ unsigned int destination_buffers_count;
- struct v4l2_ctrl_mpeg2_slice_header mpeg2_header;
+ struct v4l2_ctrl_mpeg2_slice_params mpeg2_slice_params;
unsigned int slices_size;
int request_fd;