summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/filter/vf_vavpp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/video/filter/vf_vavpp.c b/video/filter/vf_vavpp.c
index 54648e124c..be7f7f4dad 100644
--- a/video/filter/vf_vavpp.c
+++ b/video/filter/vf_vavpp.c
@@ -163,6 +163,14 @@ static struct mp_image *render(struct vf_instance *vf, struct mp_image *in,
status = vaMapBuffer(p->display, buffer, (void**)&param);
if (!check_error(vf, status, "vaMapBuffer()"))
break;
+
+ VAProcFilterParameterBufferDeinterlacing *filter_params;
+ status = vaMapBuffer(p->display, *(p->pipe.filters), (void**)&filter_params);
+ if (!check_error(vf, status, "vaMapBuffer()"))
+ break;
+ filter_params->flags = flags & VA_TOP_FIELD ? 0 : VA_DEINTERLACING_BOTTOM_FIELD;
+ vaUnmapBuffer(p->display, *(p->pipe.filters));
+
param->surface = in_id;
param->surface_region = NULL;
param->output_region = NULL;