summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/va/va_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/va/va_private.h')
-rw-r--r--src/gallium/state_trackers/va/va_private.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/state_trackers/va/va_private.h b/src/gallium/state_trackers/va/va_private.h
index f250f74d2ef..1ea7be79aa3 100644
--- a/src/gallium/state_trackers/va/va_private.h
+++ b/src/gallium/state_trackers/va/va_private.h
@@ -41,6 +41,8 @@
#include "vl/vl_compositor.h"
#include "vl/vl_csc.h"
+#include "util/u_dynarray.h"
+
#define VL_VA_DRIVER(ctx) ((vlVaDriver *)ctx->pDriverData)
#define VL_VA_PSCREEN(ctx) (VL_VA_DRIVER(ctx)->vscreen->pscreen)
@@ -155,6 +157,15 @@ typedef struct {
} vlVaDriver;
typedef struct {
+ VAImage *image;
+
+ struct u_rect src_rect;
+ struct u_rect dst_rect;
+
+ struct pipe_sampler_view *sampler;
+} vlVaSubpicture;
+
+typedef struct {
struct pipe_video_codec *decoder;
struct pipe_video_buffer *target;
union {
@@ -185,6 +196,7 @@ typedef struct {
typedef struct {
struct pipe_video_buffer templat, *buffer;
struct pipe_fence_handle *fence;
+ struct util_dynarray subpics; /* vlVaSubpicture */
} vlVaSurface;
// Public functions: