[Libva] [Libva-intel-driver PATCH 21/27] HEVC: Make sure the buffer store is allocated for the current render target

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


Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
---
 src/gen9_mfd.c           | 1 +
 src/i965_decoder_utils.c | 2 +-
 src/i965_decoder_utils.h | 8 ++++++++
 3 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/gen9_mfd.c b/src/gen9_mfd.c
index 45550f4..9fafd80 100644
--- a/src/gen9_mfd.c
+++ b/src/gen9_mfd.c
@@ -147,6 +147,7 @@ gen9_hcpd_hevc_decode_init(VADriverContextP ctx,
 
     /* Current decoded picture */
     obj_surface = decode_state->render_object;
+    hevc_ensure_surface_bo(ctx, decode_state, obj_surface, pic_param);
     gen9_hcpd_init_hevc_surface(ctx, pic_param, obj_surface, gen9_hcpd_context);
 
     size = ALIGN(gen9_hcpd_context->picture_width_in_pixels, 32) >> 3;
diff --git a/src/i965_decoder_utils.c b/src/i965_decoder_utils.c
index ec83627..8a80418 100644
--- a/src/i965_decoder_utils.c
+++ b/src/i965_decoder_utils.c
@@ -1086,7 +1086,7 @@ intel_decoder_check_vp8_parameter(VADriverContextP ctx,
     return VA_STATUS_SUCCESS;
 }
 
-static VAStatus
+VAStatus
 hevc_ensure_surface_bo(
     VADriverContextP                    ctx,
     struct decode_state                *decode_state,
diff --git a/src/i965_decoder_utils.h b/src/i965_decoder_utils.h
index a447707..d0cc43c 100644
--- a/src/i965_decoder_utils.h
+++ b/src/i965_decoder_utils.h
@@ -165,4 +165,12 @@ intel_ensure_vp8_segmentation_buffer(VADriverContextP ctx, GenBuffer *buf,
 void
 hevc_gen_default_iq_matrix(VAIQMatrixBufferHEVC *iq_matrix);
 
+VAStatus
+hevc_ensure_surface_bo(
+    VADriverContextP                    ctx,
+    struct decode_state                *decode_state,
+    struct object_surface              *obj_surface,
+    const VAPictureParameterBufferHEVC *pic_param
+);
+
 #endif /* I965_DECODER_UTILS_H */
-- 
1.9.1



More information about the Libva mailing list