[Libva] [PATCH] Fix: check the bo of reconstructed to ensure it is not NULL

Pengfei Qu Pengfei.Qu at intel.com
Tue Sep 13 02:07:00 UTC 2016


Signed-off-by: Pengfei Qu <Pengfei.Qu at intel.com>
---
 src/gen9_vme.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gen9_vme.c b/src/gen9_vme.c
index 8cbe052..245b0df 100644
--- a/src/gen9_vme.c
+++ b/src/gen9_vme.c
@@ -1852,6 +1852,7 @@ static VAStatus gen9_intel_hevc_input_check(VADriverContextP ctx,
     struct object_surface *obj_surface;
     GenHevcSurface *hevc_encoder_surface = NULL;
     int i;
+    int fourcc;
 
     obj_surface = SURFACE(encode_state->current_render_target);
     assert(obj_surface && obj_surface->bo);
@@ -1860,8 +1861,13 @@ static VAStatus gen9_intel_hevc_input_check(VADriverContextP ctx,
         hevc_encoder_surface->has_p010_to_nv12_done = 0;
     gen9_intel_init_hevc_surface(ctx,encoder_context,encode_state,obj_surface);
 
+    fourcc = obj_surface->fourcc;
     /* Setup current frame and current direct mv buffer*/
     obj_surface = encode_state->reconstructed_object;
+    if(fourcc == VA_FOURCC_P010)
+        i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC_P010, SUBSAMPLE_YUV420);
+    else
+        i965_check_alloc_surface_bo(ctx, obj_surface, 1, VA_FOURCC_NV12, SUBSAMPLE_YUV420);
     hevc_encoder_surface = NULL;
     hevc_encoder_surface = (GenHevcSurface *) obj_surface->private_data;
     if(hevc_encoder_surface)
-- 
2.7.4



More information about the Libva mailing list