.has_accelerated_putimage = 1,
.has_tiled_surface = 1,
.has_di_motion_adptive = 1,
+ .has_di_motion_compensated = 1,
.num_filters = 2,
.filters = {
dndi_ctx->is_first_frame = 1;
break;
case VAProcDeinterlacingMotionAdaptive:
+ case VAProcDeinterlacingMotionCompensated:
fs = &dndi_ctx->frame_store[DNDI_FRAME_IN_CURRENT];
if (fs->surface_id == VA_INVALID_ID)
dndi_ctx->is_first_frame = 1;
sampler_dndi[index].dw6.dndi_stream_id = 1;
sampler_dndi[index].dw6.dndi_first_frame = dndi_ctx->is_first_frame;
sampler_dndi[index].dw6.progressive_dn = 0;
- sampler_dndi[index].dw6.mcdi_enable = 0;
+ sampler_dndi[index].dw6.mcdi_enable =
+ (deint_params->algorithm == VAProcDeinterlacingMotionCompensated);
sampler_dndi[index].dw6.fmd_tear_threshold = 2;
sampler_dndi[index].dw6.cat_th1 = 0;
sampler_dndi[index].dw6.fmd2_vertical_difference_threshold = 100;