diff options
Diffstat (limited to 'video')
-rw-r--r-- | video/filter/vf_vavpp.c | 8 |
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**)¶m); 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; |