if (drv->pipe->screen->get_param(drv->pipe->screen,
PIPE_CAP_PREFER_COMPUTE_FOR_MULTIMEDIA))
- util_compute_blit(drv->pipe, &blit, &context->blit_cs);
+ util_compute_blit(drv->pipe, &blit, &context->blit_cs, !drv->compositor.deinterlace);
else
drv->pipe->blit(drv->pipe, &blit);
}
VAStatus
vlVaHandleVAProcPipelineParameterBufferType(vlVaDriver *drv, vlVaContext *context, vlVaBuffer *buf)
{
- enum vl_compositor_deinterlace deinterlace = VL_COMPOSITOR_WEAVE;
+ enum vl_compositor_deinterlace deinterlace = VL_COMPOSITOR_NONE;
VARectangle def_src_region, def_dst_region;
const VARectangle *src_region, *dst_region;
VAProcPipelineParameterBuffer *param;
case VAProcDeinterlacingMotionAdaptive:
src = vlVaApplyDeint(drv, context, param, src,
!!(deint->flags & VA_DEINTERLACING_BOTTOM_FIELD));
+ deinterlace = VL_COMPOSITOR_MOTION_ADAPTIVE;
break;
default:
return VA_STATUS_ERROR_UNIMPLEMENTED;
}
-
+ drv->compositor.deinterlace = deinterlace;
break;
}