summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h')
-rw-r--r--lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h b/lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h
index 934b634b3..ceab5e004 100644
--- a/lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h
+++ b/lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h
@@ -113,10 +113,15 @@ struct vl_compositor
void *vs;
void *fs_video_buffer;
- void *fs_weave;
+ void *fs_weave_rgb;
void *fs_rgba;
struct {
+ void *y;
+ void *uv;
+ } fs_weave_yuv;
+
+ struct {
void *rgb;
void *yuv;
} fs_palette;
@@ -138,7 +143,9 @@ vl_compositor_init_state(struct vl_compositor_state *state, struct pipe_context
* set yuv -> rgba conversion matrix
*/
void
-vl_compositor_set_csc_matrix(struct vl_compositor_state *settings, const vl_csc_matrix *matrix);
+vl_compositor_set_csc_matrix(struct vl_compositor_state *settings,
+ const vl_csc_matrix *matrix,
+ float luma_min, float luma_max);
/**
* reset dirty area, so it's cleared with the clear colour
@@ -234,6 +241,18 @@ vl_compositor_set_layer_rotation(struct vl_compositor_state *state,
unsigned layer,
enum vl_compositor_rotation rotate);
+/**
+ * set a layer of y or uv to render
+ */
+void
+vl_compositor_set_yuv_layer(struct vl_compositor_state *s,
+ struct vl_compositor *c,
+ unsigned layer,
+ struct pipe_video_buffer *buffer,
+ struct u_rect *src_rect,
+ struct u_rect *dst_rect,
+ bool y);
+
/*@}*/
/**