summaryrefslogtreecommitdiff
path: root/src/va_backend.h
diff options
context:
space:
mode:
authorroot <root@mobile-97b8.jf.intel.com>2007-09-07 04:29:54 -0700
committerroot <root@mobile-97b8.jf.intel.com>2007-09-07 04:29:54 -0700
commit16ab532f97d035000e6c7453068c8585a16d21f9 (patch)
tree95c27762338830b9b742fe926979f0f041e4e2a0 /src/va_backend.h
parentbb92cdf7690f28e4df1df2a87255f3e830bcd221 (diff)
Include sub-picture support (va 0.22)
Diffstat (limited to 'src/va_backend.h')
-rwxr-xr-xsrc/va_backend.h110
1 files changed, 107 insertions, 3 deletions
diff --git a/src/va_backend.h b/src/va_backend.h
index 7a0c1e0..5cfef4e 100755
--- a/src/va_backend.h
+++ b/src/va_backend.h
@@ -46,19 +46,21 @@ struct VADriverContext
int max_profiles;
int max_entrypoints;
int max_attributes;
+ int max_image_formats;
+ int max_subpic_formats;
void *handle; /* dlopen handle */
void *pDriverData;
struct
{
- VAStatus (*vaTerminate) ( VADriverContextP ctx );
+ VAStatus (*vaTerminate) ( VADriverContextP ctx );
- VAStatus (*vaQueryConfigProfiles) (
+ VAStatus (*vaQueryConfigProfiles) (
VADriverContextP ctx,
VAProfile *profile_list, /* out */
int *num_profiles /* out */
);
- VAStatus (*vaQueryConfigEntrypoints) (
+ VAStatus (*vaQueryConfigEntrypoints) (
VADriverContextP ctx,
VAProfile profile,
VAEntrypoint *entrypoint_list, /* out */
@@ -201,9 +203,111 @@ struct VADriverContext
short desty,
unsigned short destw,
unsigned short desth,
+ VARectangle *cliprects, /* client supplied clip list */
+ unsigned int number_cliprects, /* number of clip rects in the clip list */
int flags /* de-interlacing flags */
);
+ VAStatus (*vaQueryImageFormats) (
+ VADriverContextP ctx,
+ VAImageFormat *format_list, /* out */
+ int *num_formats /* out */
+ );
+
+ VAStatus (*vaCreateImage) (
+ VADriverContextP ctx,
+ VAImageFormat *format,
+ int width,
+ int height,
+ VAImage *image /* out */
+ );
+
+ VAStatus (*vaDestroyImage) (
+ VADriverContextP ctx,
+ VAImage *image
+ );
+
+ VAStatus (*vaGetImage) (
+ VADriverContextP ctx,
+ VASurface *surface,
+ int x, /* coordinates of the upper left source pixel */
+ int y,
+ unsigned int width, /* width and height of the region */
+ unsigned int height,
+ VAImage *image
+ );
+
+ VAStatus (*vaPutImage) (
+ VADriverContextP ctx,
+ VASurface *surface,
+ VAImage *image,
+ int src_x,
+ int src_y,
+ unsigned int width,
+ unsigned int height,
+ int dest_x,
+ int dest_y
+ );
+
+ VAStatus (*vaQuerySubpictureFormats) (
+ VADriverContextP ctx,
+ VAImageFormat *format_list, /* out */
+ unsigned int *flags, /* out */
+ unsigned int *num_formats /* out */
+ );
+
+ VAStatus (*vaCreateSubpicture) (
+ VADriverContextP ctx,
+ VAImage *image,
+ VASubpicture *subpicture /* out */
+ );
+
+ VAStatus (*vaDestroySubpicture) (
+ VADriverContextP ctx,
+ VASubpicture *subpicture
+ );
+
+ VAStatus (*vaSetSubpicturePalette) (
+ VADriverContextP ctx,
+ VASubpicture *subpicture,
+ /*
+ * pointer to an array holding the palette data. The size of the array is
+ * num_palette_entries * entry_bytes in size. The order of the components
+ * in the palette is described by the component_order in VASubpicture struct
+ */
+ unsigned char *palette
+ );
+
+ VAStatus (*vaSetSubpictureChromakey) (
+ VADriverContextP ctx,
+ VASubpicture *subpicture,
+ unsigned int chromakey_min,
+ unsigned int chromakey_max
+ );
+
+ VAStatus (*vaSetSubpictureGlobalAlpha) (
+ VADriverContextP ctx,
+ VASubpicture *subpicture,
+ float global_alpha
+ );
+
+ VAStatus (*vaAssociateSubpicture) (
+ VADriverContextP ctx,
+ VASurface *target_surface,
+ VASubpicture *subpicture,
+ short src_x, /* upper left offset in subpicture */
+ short src_y,
+ short dest_x, /* upper left offset in surface */
+ short dest_y,
+ unsigned short width,
+ unsigned short height,
+ /*
+ * whether to enable chroma-keying or global-alpha
+ * see VA_SUBPICTURE_XXX values
+ */
+ unsigned int flags
+ );
+
VAStatus (*vaDbgCopySurfaceToBuffer) (
VADriverContextP ctx,
VASurface *surface,