X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=dummy_drv_video%2Fdummy_drv_video.c;h=20ee3aec83bd3e3970b4f8e6830a779c57ac29db;hb=214cd9cd3c4f9d00a559823bd22fcc2d5a6e9c00;hp=7cf1a50d1ec4337bb971bee57bbc046b94d02f7a;hpb=d2e4f9b2a5e144081223c905304a1b97fa51eb91;p=android-x86%2Fhardware-intel-common-libva.git diff --git a/dummy_drv_video/dummy_drv_video.c b/dummy_drv_video/dummy_drv_video.c index 7cf1a50..20ee3ae 100644 --- a/dummy_drv_video/dummy_drv_video.c +++ b/dummy_drv_video/dummy_drv_video.c @@ -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;