Mesa (main): gallium/auxiliary/vl: Add additional deinterlace enum and tracking
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Sun Aug 8 14:42:46 UTC 2021
Module: Mesa
Branch: main
Commit: 675508dd81da8d77f179c6cc7831caaa2cbde094
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=675508dd81da8d77f179c6cc7831caaa2cbde094
Author: Thong Thai <thong.thai at amd.com>
Date: Fri Aug 6 14:32:40 2021 -0400
gallium/auxiliary/vl: Add additional deinterlace enum and tracking
Add additional deinterlace enums and a deinterlace field to the
vl_compositor struct, so we can keep track of which deinterlacing
algorithm is currently being used, if any.
Signed-off-by: Thong Thai <thong.thai at amd.com>
Reviewed-by: Leo Liu <leo.liu at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12251>
---
src/gallium/auxiliary/vl/vl_compositor.c | 4 ++++
src/gallium/auxiliary/vl/vl_compositor.h | 6 +++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/gallium/auxiliary/vl/vl_compositor.c b/src/gallium/auxiliary/vl/vl_compositor.c
index d312768d8a4..66abf7325b8 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.c
+++ b/src/gallium/auxiliary/vl/vl_compositor.c
@@ -572,6 +572,8 @@ vl_compositor_set_buffer_layer(struct vl_compositor_state *s,
if (buffer->interlaced) {
float half_a_line = 0.5f / s->layers[layer].zw.y;
switch(deinterlace) {
+ case VL_COMPOSITOR_NONE:
+ case VL_COMPOSITOR_MOTION_ADAPTIVE:
case VL_COMPOSITOR_WEAVE:
if (c->pipe_cs_composit_supported)
s->layers[layer].cs = c->cs_weave_rgb;
@@ -778,6 +780,8 @@ vl_compositor_init(struct vl_compositor *c, struct pipe_context *pipe)
c->pipe_gfx_supported = pipe->screen->get_param(pipe->screen, PIPE_CAP_GRAPHICS);
c->pipe = pipe;
+ c->deinterlace = VL_COMPOSITOR_NONE;
+
if (!init_pipe_state(c)) {
return false;
}
diff --git a/src/gallium/auxiliary/vl/vl_compositor.h b/src/gallium/auxiliary/vl/vl_compositor.h
index cccee01623b..32ce82f7320 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.h
+++ b/src/gallium/auxiliary/vl/vl_compositor.h
@@ -50,9 +50,11 @@ struct pipe_context;
/* deinterlace allgorithem */
enum vl_compositor_deinterlace
{
+ VL_COMPOSITOR_NONE,
VL_COMPOSITOR_WEAVE,
VL_COMPOSITOR_BOB_TOP,
- VL_COMPOSITOR_BOB_BOTTOM
+ VL_COMPOSITOR_BOB_BOTTOM,
+ VL_COMPOSITOR_MOTION_ADAPTIVE
};
/* clockwise degree */
@@ -125,6 +127,8 @@ struct vl_compositor
bool pipe_cs_composit_supported;
bool pipe_gfx_supported;
+ enum vl_compositor_deinterlace deinterlace;
+
struct {
struct {
void *y;
More information about the mesa-commit
mailing list