VPP: track the frame sequence for DI on IVB
authorXiang, Haihao <haihao.xiang@intel.com>
Fri, 13 Sep 2013 02:12:53 +0000 (10:12 +0800)
committerXiang, Haihao <haihao.xiang@intel.com>
Mon, 23 Sep 2013 02:44:07 +0000 (10:44 +0800)
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
(cherry picked from commit c008b4222d593594330fbb087204ff53722f9765)

src/i965_post_processing.c
src/i965_post_processing.h

index 4bd0a4b..c3dc953 100755 (executable)
@@ -3782,6 +3782,8 @@ gen7_pp_nv12_dndi_initialize(VADriverContextP ctx, struct i965_post_processing_c
 
     dst_surface->flags = I965_SURFACE_FLAG_FRAME;
 
+    pp_dndi_context->frame_order = (pp_dndi_context->frame_order + 1) % 2;
+
     return VA_STATUS_SUCCESS;
 }
 
@@ -5350,6 +5352,7 @@ i965_post_processing_context_init(VADriverContextP ctx,
         pp_context->pp_inline_parameter = calloc(sizeof(struct pp_inline_parameter), 1);
     }
 
+    pp_context->pp_dndi_context.frame_order = -1;
     pp_context->batch = batch;
 }
 
index fbe684c..052b573 100755 (executable)
@@ -95,6 +95,7 @@ struct pp_dndi_context
     int dest_w;
     int dest_h;
     dri_bo *stmm_bo;
+    int frame_order; /* -1 for the first frame */
 };
 
 struct pp_dn_context