OSDN Git Service

Fixed dummy driver compile issue
[android-x86/hardware-intel-common-libva.git] / dummy_drv_video / dummy_drv_video.c
index 7cf1a50..20ee3ae 100644 (file)
@@ -451,6 +451,18 @@ VAStatus dummy_CreateImage(
     return VA_STATUS_SUCCESS;
 }
 
+VAStatus dummy_DeriveImage(
+       VADriverContextP ctx,
+       VASurfaceID surface,
+       VAImage *image     /* out */
+)
+{
+    INIT_DRIVER_DATA
+    
+    /* TODO */
+    return VA_STATUS_SUCCESS;
+}
+
 VAStatus dummy_DestroyImage(
        VADriverContextP ctx,
        VAImageID image
@@ -508,6 +520,26 @@ VAStatus dummy_PutImage(
     return VA_STATUS_SUCCESS;
 }
 
+VAStatus dummy_PutImage2(
+       VADriverContextP ctx,
+       VASurfaceID surface,
+       VAImageID image,
+       int src_x,
+       int src_y,
+       unsigned int src_width,
+       unsigned int src_height,
+       int dest_x,
+       int dest_y,
+       unsigned int dest_width,
+       unsigned int dest_height
+)
+{
+    INIT_DRIVER_DATA
+    
+    /* TODO */
+    return VA_STATUS_SUCCESS;
+}
+
 VAStatus dummy_QuerySubpictureFormats(
        VADriverContextP ctx,
        VAImageFormat *format_list,        /* out */
@@ -623,6 +655,32 @@ VAStatus dummy_AssociateSubpicture(
     return VA_STATUS_SUCCESS;
 }
 
+VAStatus dummy_AssociateSubpicture2(
+       VADriverContextP ctx,
+       VASubpictureID subpicture,
+       VASurfaceID *target_surfaces,
+       int num_surfaces,
+       short src_x, /* upper left offset in subpicture */
+       short src_y,
+       unsigned short src_width,
+       unsigned short src_height,
+       short dest_x, /* upper left offset in surface */
+       short dest_y,
+       unsigned short dest_width,
+       unsigned short dest_height,
+       /*
+        * whether to enable chroma-keying or global-alpha
+        * see VA_SUBPICTURE_XXX values
+        */
+       unsigned int flags
+)
+{
+    INIT_DRIVER_DATA
+    
+    /* TODO */
+    return VA_STATUS_SUCCESS;
+}
+
 VAStatus dummy_DeassociateSubpicture(
        VADriverContextP ctx,
        VASubpictureID subpicture,
@@ -678,6 +736,12 @@ VAStatus dummy_CreateContext(
     obj_context->picture_height = picture_height;
     obj_context->num_render_targets = num_render_targets;
     obj_context->render_targets = (VASurfaceID *) malloc(num_render_targets * sizeof(VASurfaceID));
+    if (obj_context->render_targets == NULL)
+    {
+        vaStatus = VA_STATUS_ERROR_ALLOCATION_FAILED;
+        return vaStatus;
+    }
+    
     for(i = 0; i < num_render_targets; i++)
     {
         if (NULL == SURFACE(render_targets[i]))
@@ -1090,11 +1154,17 @@ VAStatus dummy_SetDisplayAttributes (
 }
 
 
-VAStatus dummy_DbgCopySurfaceToBuffer(
+VAStatus dummy_CopySurfaceToBuffer(
                VADriverContextP ctx,
                VASurfaceID surface,
-               void **buffer, /* out */
-               unsigned int *stride /* out */
+                unsigned int *fourcc, /* following are output argument */
+                unsigned int *luma_stride,
+                unsigned int *chroma_u_stride,
+                unsigned int *chroma_v_stride,
+                unsigned int *luma_offset,
+                unsigned int *chroma_u_offset,
+                unsigned int *chroma_v_offset,
+               void **buffer
        )
 {
     /* TODO */
@@ -1141,7 +1211,7 @@ VAStatus dummy_Terminate( VADriverContextP ctx )
     return VA_STATUS_SUCCESS;
 }
 
-VAStatus __vaDriverInit_0_26(  VADriverContextP ctx )
+VAStatus __vaDriverInit_0_29(  VADriverContextP ctx )
 {
     object_base_p obj;
     int result;
@@ -1149,7 +1219,7 @@ VAStatus __vaDriverInit_0_26(  VADriverContextP ctx )
     int i;
 
     ctx->version_major = 0;
-    ctx->version_minor = 26;
+    ctx->version_minor = 29;
     ctx->max_profiles = DUMMY_MAX_PROFILES;
     ctx->max_entrypoints = DUMMY_MAX_ENTRYPOINTS;
     ctx->max_attributes = DUMMY_MAX_CONFIG_ATTRIBUTES;
@@ -1183,24 +1253,26 @@ VAStatus __vaDriverInit_0_26(  VADriverContextP ctx )
     ctx->vtable.vaPutSurface = dummy_PutSurface;
     ctx->vtable.vaQueryImageFormats = dummy_QueryImageFormats;
     ctx->vtable.vaCreateImage = dummy_CreateImage;
+    ctx->vtable.vaDeriveImage = dummy_DeriveImage;
     ctx->vtable.vaDestroyImage = dummy_DestroyImage;
     ctx->vtable.vaSetImagePalette = dummy_SetImagePalette;
     ctx->vtable.vaGetImage = dummy_GetImage;
     ctx->vtable.vaPutImage = dummy_PutImage;
+    ctx->vtable.vaPutImage2 = dummy_PutImage2;
     ctx->vtable.vaQuerySubpictureFormats = dummy_QuerySubpictureFormats;
     ctx->vtable.vaCreateSubpicture = dummy_CreateSubpicture;
     ctx->vtable.vaDestroySubpicture = dummy_DestroySubpicture;
     ctx->vtable.vaSetSubpictureImage = dummy_SetSubpictureImage;
-    ctx->vtable.vaSetSubpicturePalette = dummy_SetSubpicturePalette;
     ctx->vtable.vaSetSubpictureChromakey = dummy_SetSubpictureChromakey;
     ctx->vtable.vaSetSubpictureGlobalAlpha = dummy_SetSubpictureGlobalAlpha;
     ctx->vtable.vaAssociateSubpicture = dummy_AssociateSubpicture;
+    ctx->vtable.vaAssociateSubpicture2 = dummy_AssociateSubpicture2;
     ctx->vtable.vaDeassociateSubpicture = dummy_DeassociateSubpicture;
     ctx->vtable.vaQueryDisplayAttributes = dummy_QueryDisplayAttributes;
     ctx->vtable.vaGetDisplayAttributes = dummy_GetDisplayAttributes;
     ctx->vtable.vaSetDisplayAttributes = dummy_SetDisplayAttributes;
     
-    ctx->vtable.vaDbgCopySurfaceToBuffer = dummy_DbgCopySurfaceToBuffer;
+    ctx->vtable.vaCopySurfaceToBuffer = dummy_CopySurfaceToBuffer;
 
     driver_data = (struct dummy_driver_data *) malloc( sizeof(*driver_data) );
     ctx->pDriverData = (void *) driver_data;