va.h   va.h 
skipping to change at line 1315 skipping to change at line 1315
* device independent data structure for codedbuffer * device independent data structure for codedbuffer
*/ */
/* /*
* FICTURE_AVE_QP(bit7-0): The average Qp value used during this frame * FICTURE_AVE_QP(bit7-0): The average Qp value used during this frame
* LARGE_SLICE(bit8):At least one slice in the current frame was large * LARGE_SLICE(bit8):At least one slice in the current frame was large
* enough for the encoder to attempt to limit its size. * enough for the encoder to attempt to limit its size.
* SLICE_OVERFLOW(bit9): At least one slice in the current frame has * SLICE_OVERFLOW(bit9): At least one slice in the current frame has
* exceeded the maximum slice size specified. * exceeded the maximum slice size specified.
* BITRATE_OVERFLOW(bit10): The peak bitrate was exceeded for this frame. * BITRATE_OVERFLOW(bit10): The peak bitrate was exceeded for this frame.
* BITRATE_HIGH(bit11): The frame size got within the safety margin of the maximum size (VCM only)
* AIR_MB_OVER_THRESHOLD: the number of MBs adapted to Intra MB * AIR_MB_OVER_THRESHOLD: the number of MBs adapted to Intra MB
*/ */
#define VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK 0xff #define VA_CODED_BUF_STATUS_PICTURE_AVE_QP_MASK 0xff
#define VA_CODED_BUF_STATUS_LARGE_SLICE_MASK 0x100 #define VA_CODED_BUF_STATUS_LARGE_SLICE_MASK 0x100
#define VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK 0x200 #define VA_CODED_BUF_STATUS_SLICE_OVERFLOW_MASK 0x200
#define VA_CODED_BUF_STATUS_BITRATE_OVERFLOW 0x400 #define VA_CODED_BUF_STATUS_BITRATE_OVERFLOW 0x400
#define VA_CODED_BUF_STATUS_BITRATE_HIGH 0x800
#define VA_CODED_BUF_STATUS_AIR_MB_OVER_THRESHOLD 0xff0000 #define VA_CODED_BUF_STATUS_AIR_MB_OVER_THRESHOLD 0xff0000
/* /*
* device independent data structure for codedbuffer * device independent data structure for codedbuffer
*/ */
typedef struct _VACodedBufferSegment { typedef struct _VACodedBufferSegment {
unsigned int size;/* size of the data buffer in the coded buffer segmen t, in bytes */ unsigned int size;/* size of the data buffer in the coded buffer segmen t, in bytes */
unsigned int bit_offset; /* bit offset into the data buffer where valid bitstream data begins */ unsigned int bit_offset; /* bit offset into the data buffer where valid bitstream data begins */
unsigned int status; /* status set by the driver on the coded buffer*/ unsigned int status; /* status set by the driver on the coded buffer*/
unsigned int reserved; /* for future use */ unsigned int reserved; /* for future use */
skipping to change at line 1442 skipping to change at line 1444
/* /*
* Find out any pending ops on the render target * Find out any pending ops on the render target
*/ */
VAStatus vaQuerySurfaceStatus ( VAStatus vaQuerySurfaceStatus (
VADisplay dpy, VADisplay dpy,
VASurfaceID render_target, VASurfaceID render_target,
VASurfaceStatus *status /* out */ VASurfaceStatus *status /* out */
); );
typedef enum
{
VA_DECODE_SLICE_MISSING = 0,
VA_DECODE_MB_ERROR = 1,
} VA_DECODE_ERROR_TYPE;
/* /*
* Client calls vaQuerySurfaceError with VA_STATUS_ERROR_DECODING_ERROR, se rver side returns * Client calls vaQuerySurfaceError with VA_STATUS_ERROR_DECODING_ERROR, se rver side returns
* an array of structure VASurfaceDecodeMBErrors, and the array is terminat ed by setting status=-1 * an array of structure VASurfaceDecodeMBErrors, and the array is terminat ed by setting status=-1
*/ */
typedef struct _VASurfaceDecodeMBErrors typedef struct _VASurfaceDecodeMBErrors
{ {
int status; /* 1 if hardware has returned detailed info below, -1 means this record is invalid */ int status; /* 1 if hardware has returned detailed info below, -1 means this record is invalid */
unsigned int start_mb; /* start mb address with errors */ unsigned int start_mb; /* start mb address with errors */
unsigned int end_mb; /* end mb address with errors */ unsigned int end_mb; /* end mb address with errors */
VA_DECODE_ERROR_TYPE decode_error_type;
} VASurfaceDecodeMBErrors; } VASurfaceDecodeMBErrors;
/* /*
* After the application gets VA_STATUS_ERROR_DECODING_ERROR after calling vaSyncSurface(), * After the application gets VA_STATUS_ERROR_DECODING_ERROR after calling vaSyncSurface(),
* it can call vaQuerySurfaceError to find out further details on the parti cular error. * it can call vaQuerySurfaceError to find out further details on the parti cular error.
* VA_STATUS_ERROR_DECODING_ERROR should be passed in as "error_status", * VA_STATUS_ERROR_DECODING_ERROR should be passed in as "error_status",
* upon the return, error_info will point to an array of _VASurfaceDecodeMB Errors structure, * upon the return, error_info will point to an array of _VASurfaceDecodeMB Errors structure,
* which is allocated and filled by libVA with detailed information on the missing or error macroblocks. * which is allocated and filled by libVA with detailed information on the missing or error macroblocks.
* The array is terminated if "status==-1" is detected. * The array is terminated if "status==-1" is detected.
*/ */
skipping to change at line 1837 skipping to change at line 1846
/* attribute value for VADisplayAttribRotation */ /* attribute value for VADisplayAttribRotation */
#define VA_ROTATION_NONE 0x00000000 #define VA_ROTATION_NONE 0x00000000
#define VA_ROTATION_90 0x00000001 #define VA_ROTATION_90 0x00000001
#define VA_ROTATION_180 0x00000002 #define VA_ROTATION_180 0x00000002
#define VA_ROTATION_270 0x00000004 #define VA_ROTATION_270 0x00000004
/* attribute value for VADisplayAttribOutOfLoopDeblock */ /* attribute value for VADisplayAttribOutOfLoopDeblock */
#define VA_OOL_DEBLOCKING_FALSE 0x00000000 #define VA_OOL_DEBLOCKING_FALSE 0x00000000
#define VA_OOL_DEBLOCKING_TRUE 0x00000001 #define VA_OOL_DEBLOCKING_TRUE 0x00000001
/* Render mode */
#define VA_RENDER_MODE_UNDEFINED 0
#define VA_RENDER_MODE_LOCAL_OVERLAY 1
#define VA_RENDER_MODE_LOCAL_GPU 2
#define VA_RENDER_MODE_EXTERNAL_OVERLAY 4
#define VA_RENDER_MODE_EXTERNAL_GPU 8
/* Render device */
#define VA_RENDER_DEVICE_UNDEFINED 0
#define VA_RENDER_DEVICE_LOCAL 1
#define VA_RENDER_DEVICE_EXTERNAL 2
/* Currently defined display attribute types */ /* Currently defined display attribute types */
typedef enum typedef enum
{ {
VADisplayAttribBrightness = 0, VADisplayAttribBrightness = 0,
VADisplayAttribContrast = 1, VADisplayAttribContrast = 1,
VADisplayAttribHue = 2, VADisplayAttribHue = 2,
VADisplayAttribSaturation = 3, VADisplayAttribSaturation = 3,
/* client can specifiy a background color for the target window /* client can specifiy a background color for the target window
* the new feature of video conference, * the new feature of video conference,
* the uncovered area of the surface is filled by this color * the uncovered area of the surface is filled by this color
* also it will blend with the decoded video color*/ * also it will blend with the decoded video color
*/
VADisplayAttribBackgroundColor = 4, VADisplayAttribBackgroundColor = 4,
/* /*
* this is a gettable only attribute. For some implementations that use the * this is a gettable only attribute. For some implementations that use the
* hardware overlay, after PutSurface is called, the surface can not be * hardware overlay, after PutSurface is called, the surface can not be
* re-used until after the subsequent PutSurface call. If this is the c ase * re-used until after the subsequent PutSurface call. If this is the c ase
* then the value for this attribute will be set to 1 so that the clien t * then the value for this attribute will be set to 1 so that the clien t
* will not attempt to re-use the surface right after returning from a call * will not attempt to re-use the surface right after returning from a call
* to PutSurface. * to PutSurface.
* *
* Don't use it, use flag VASurfaceDisplaying of vaQuerySurfaceStatus s ince * Don't use it, use flag VASurfaceDisplaying of vaQuerySurfaceStatus s ince
skipping to change at line 1882 skipping to change at line 1904
*/ */
VADisplayAttribCSCMatrix = 12, VADisplayAttribCSCMatrix = 12,
/* specify the constant color used to blend with video surface /* specify the constant color used to blend with video surface
* Cd = Cv*Cc*Ac + Cb *(1 - Ac) C means the constant RGB * Cd = Cv*Cc*Ac + Cb *(1 - Ac) C means the constant RGB
* d: the final color to overwrite into the frame buffer * d: the final color to overwrite into the frame buffer
* v: decoded video after color conversion, * v: decoded video after color conversion,
* c: video color specified by VADisplayAttribBlendColor * c: video color specified by VADisplayAttribBlendColor
* b: background color of the drawable * b: background color of the drawable
*/ */
VADisplayAttribBlendColor = 13, VADisplayAttribBlendColor = 13,
/*
* Indicate driver to skip painting color key or not.
* only applicable if the render is overlay
*/
VADisplayAttribOverlayAutoPaintColorKey = 14,
/*
* customized overlay color key, the format is RGB888
* [23:16] = Red, [15:08] = Green, [07:00] = Blue.
*/
VADisplayAttribOverlayColorKey = 15,
/*
* The hint for the implementation of vaPutSurface
* normally, the driver could use an overlay or GPU to render the surfa
ce on the screen
* this flag provides APP the flexibity to switch the render dynamicall
y
*/
VADisplayAttribRenderMode = 16,
/*
* specify if vaPutSurface needs to render into specified monitors
* one example is that one external monitor (e.g. HDMI) is enabled,
* but the window manager is not aware of it, and there is no associate
d drawable
*/
VADisplayAttribRenderDevice = 17,
/*
* specify vaPutSurface render area if there is no drawable on the moni
tor
*/
VADisplayAttribRenderRect = 18,
} VADisplayAttribType; } VADisplayAttribType;
/* flags for VADisplayAttribute */ /* flags for VADisplayAttribute */
#define VA_DISPLAY_ATTRIB_NOT_SUPPORTED 0x0000 #define VA_DISPLAY_ATTRIB_NOT_SUPPORTED 0x0000
#define VA_DISPLAY_ATTRIB_GETTABLE 0x0001 #define VA_DISPLAY_ATTRIB_GETTABLE 0x0001
#define VA_DISPLAY_ATTRIB_SETTABLE 0x0002 #define VA_DISPLAY_ATTRIB_SETTABLE 0x0002
typedef struct _VADisplayAttribute typedef struct _VADisplayAttribute
{ {
VADisplayAttribType type; VADisplayAttribType type;
 End of changes. 7 change blocks. 
1 lines changed or deleted 53 lines changed or added


 va_backend_tpi.h   va_backend_tpi.h 
skipping to change at line 55 skipping to change at line 55
VAStatus (*vaCreateSurfaceFromV4L2Buf) ( VAStatus (*vaCreateSurfaceFromV4L2Buf) (
VADriverContextP ctx, VADriverContextP ctx,
int v4l2_fd, /* file descriptor of V4L2 device */ int v4l2_fd, /* file descriptor of V4L2 device */
struct v4l2_format *v4l2_fmt, /* format of V4L2 */ struct v4l2_format *v4l2_fmt, /* format of V4L2 */
struct v4l2_buffer *v4l2_buf, /* V4L2 buffer */ struct v4l2_buffer *v4l2_buf, /* V4L2 buffer */
VASurfaceID *surface /* out */ VASurfaceID *surface /* out */
); );
VAStatus (*vaCreateSurfacesForUserPtr)( VAStatus (*vaCreateSurfacesForUserPtr)(
VADisplay dpy, VADriverContextP ctx,
int width, int width,
int height, int height,
int format, int format,
int num_surfaces, int num_surfaces,
VASurfaceID *surfaces, /* out */ VASurfaceID *surfaces, /* out */
unsigned size, /* total buffer size need to be allocated */ unsigned size, /* total buffer size need to be allocated */
unsigned int fourcc, /* expected fourcc */ unsigned int fourcc, /* expected fourcc */
unsigned int luma_stride, /* luma stride, could be width al igned with a special value */ unsigned int luma_stride, /* luma stride, could be width al igned with a special value */
unsigned int chroma_u_stride, /* chroma stride */ unsigned int chroma_u_stride, /* chroma stride */
unsigned int chroma_v_stride, unsigned int chroma_v_stride,
unsigned int luma_offset, /* could be 0 */ unsigned int luma_offset, /* could be 0 */
unsigned int chroma_u_offset, /* UV offset from the beginni ng of the memory */ unsigned int chroma_u_offset, /* UV offset from the beginni ng of the memory */
unsigned int chroma_v_offset unsigned int chroma_v_offset
); );
VAStatus (*vaPutSurfaceBuf) ( VAStatus (*vaPutSurfaceBuf) (
VADisplay dpy, VADriverContextP ctx,
VASurfaceID surface, VASurfaceID surface,
unsigned char* data, unsigned char* data,
int* data_len, int* data_len,
short srcx, short srcx,
short srcy, short srcy,
unsigned short srcw, unsigned short srcw,
unsigned short srch, unsigned short srch,
short destx, short destx,
short desty, short desty,
unsigned short destw, unsigned short destw,
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/