| 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 | |
|