diff options
Diffstat (limited to 'lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h')
-rw-r--r-- | lib/mesa/src/gallium/auxiliary/vl/vl_compositor.h | 23 |
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); + /*@}*/ /** |