[Libva] [Libva-intel-driver PATCH 18/27] HEVC: gen9_hcpd_bsd_object()

Xiang, Haihao haihao.xiang at intel.com
Wed Nov 19 07:05:33 PST 2014


Issue HCP_BSD_OBJECT to start decoding

Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/gen9_mfd.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/gen9_mfd.c b/src/gen9_mfd.c
index 09e19de..d04b133 100644
--- a/src/gen9_mfd.c
+++ b/src/gen9_mfd.c
@@ -822,6 +822,23 @@ gen9_hcpd_slice_state(VADriverContextP ctx,
     ADVANCE_BCS_BATCH(batch);
 }
 
+static void
+gen9_hcpd_bsd_object(VADriverContextP ctx,
+                     VASliceParameterBufferHEVC *slice_param,
+                     struct gen9_hcpd_context *gen9_hcpd_context)
+{
+    struct intel_batchbuffer *batch = gen9_hcpd_context->base.batch;
+
+    BEGIN_BCS_BATCH(batch, 3);
+
+    OUT_BCS_BATCH(batch, HCP_BSD_OBJECT | (3 - 2));
+
+    OUT_BCS_BATCH(batch, slice_param->slice_data_size);
+    OUT_BCS_BATCH(batch, slice_param->slice_data_offset);
+
+    ADVANCE_BCS_BATCH(batch);
+}
+
 static VAStatus
 gen9_hcpd_hevc_decode_picture(VADriverContextP ctx,
                               struct decode_state *decode_state,
@@ -874,6 +891,7 @@ gen9_hcpd_hevc_decode_picture(VADriverContextP ctx,
             gen9_hcpd_slice_state(ctx, pic_param, slice_param, next_slice_param, gen9_hcpd_context);
             gen9_hcpd_ref_idx_state(ctx, pic_param, slice_param, gen9_hcpd_context);
             gen9_hcpd_weightoffset_state(ctx, slice_param, gen9_hcpd_context);
+            gen9_hcpd_bsd_object(ctx, slice_param, gen9_hcpd_context);
             slice_param++;
         }
     }
-- 
1.9.1



More information about the Libva mailing list