Commit 16ab532f authored by root's avatar root

Include sub-picture support (va 0.22)

parent bb92cdf7
This diff is collapsed.
This diff is collapsed.
...@@ -46,19 +46,21 @@ struct VADriverContext ...@@ -46,19 +46,21 @@ struct VADriverContext
int max_profiles; int max_profiles;
int max_entrypoints; int max_entrypoints;
int max_attributes; int max_attributes;
int max_image_formats;
int max_subpic_formats;
void *handle; /* dlopen handle */ void *handle; /* dlopen handle */
void *pDriverData; void *pDriverData;
struct struct
{ {
VAStatus (*vaTerminate) ( VADriverContextP ctx ); VAStatus (*vaTerminate) ( VADriverContextP ctx );
VAStatus (*vaQueryConfigProfiles) ( VAStatus (*vaQueryConfigProfiles) (
VADriverContextP ctx, VADriverContextP ctx,
VAProfile *profile_list, /* out */ VAProfile *profile_list, /* out */
int *num_profiles /* out */ int *num_profiles /* out */
); );
VAStatus (*vaQueryConfigEntrypoints) ( VAStatus (*vaQueryConfigEntrypoints) (
VADriverContextP ctx, VADriverContextP ctx,
VAProfile profile, VAProfile profile,
VAEntrypoint *entrypoint_list, /* out */ VAEntrypoint *entrypoint_list, /* out */
...@@ -201,9 +203,111 @@ struct VADriverContext ...@@ -201,9 +203,111 @@ struct VADriverContext
short desty, short desty,
unsigned short destw, unsigned short destw,
unsigned short desth, 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 */ 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) ( VAStatus (*vaDbgCopySurfaceToBuffer) (
VADriverContextP ctx, VADriverContextP ctx,
VASurface *surface, VASurface *surface,
......
...@@ -44,6 +44,8 @@ VAStatus vaPutSurface ( ...@@ -44,6 +44,8 @@ VAStatus vaPutSurface (
short desty, short desty,
unsigned short destw, unsigned short destw,
unsigned short desth, 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 */ int flags /* de-interlacing flags */
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment