Skip to content

Commit

Permalink
vpp: fix advanced deinterlacing on Sandybridge and Ivybridge.
Browse files Browse the repository at this point in the history
This fixes support for Motion Adaptive deinterlacing mode on both
Sandybridge and Ivybridge platforms. In particular, correct field
ordering is now supported, and STMM ping-pong buffering is added.

v2: changed STMM surface format to Y800 for a single plane.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
  • Loading branch information
gbeauchesne committed Oct 28, 2014
1 parent e835d90 commit 3eff1b3
Show file tree
Hide file tree
Showing 3 changed files with 452 additions and 360 deletions.
6 changes: 0 additions & 6 deletions src/gen8_post_processing.c
Expand Up @@ -1392,9 +1392,6 @@ gen8_post_processing_context_finalize(VADriverContextP ctx,
dri_bo_unreference(pp_context->surface_state_binding_table.bo);
pp_context->surface_state_binding_table.bo = NULL;

dri_bo_unreference(pp_context->pp_dndi_context.stmm_bo);
pp_context->pp_dndi_context.stmm_bo = NULL;

dri_bo_unreference(pp_context->pp_dn_context.stmm_bo);
pp_context->pp_dn_context.stmm_bo = NULL;

Expand Down Expand Up @@ -1498,9 +1495,6 @@ gen8_post_processing_context_init(VADriverContextP ctx,
pp_context->pp_static_parameter = calloc(sizeof(struct gen7_pp_static_parameter), 1);
pp_context->pp_inline_parameter = calloc(sizeof(struct gen7_pp_inline_parameter), 1);

pp_context->pp_dndi_context.current_out_surface = VA_INVALID_SURFACE;
pp_context->pp_dndi_context.current_out_obj_surface = NULL;
pp_context->pp_dndi_context.frame_order = -1;
pp_context->batch = batch;

pp_context->idrt_size = 5 * sizeof(struct gen8_interface_descriptor_data);
Expand Down

0 comments on commit 3eff1b3

Please sign in to comment.