From a3d636aff9d18e66fa3e260f515f6e9dba25bf2f Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Tue, 31 Mar 2009 08:33:02 +0000 Subject: Improve VA API buffers allocation logic. This also reduces struct vaapi_context down to ~60 bytes vs. a few KBs before, and gets rid of explicit VA data types. Originally committed as revision 18256 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vaapi.h | 73 +++--------------------------------------------------- 1 file changed, 4 insertions(+), 69 deletions(-) (limited to 'libavcodec/vaapi.h') diff --git a/libavcodec/vaapi.h b/libavcodec/vaapi.h index 4161a667a5..0c057ceeb2 100644 --- a/libavcodec/vaapi.h +++ b/libavcodec/vaapi.h @@ -73,7 +73,7 @@ struct vaapi_context { * - encoding: unused * - decoding: Set by libavcodec */ - VABufferID pic_param_buf_id; + uint32_t pic_param_buf_id; /** * VAIQMatrixBuffer ID @@ -81,7 +81,7 @@ struct vaapi_context { * - encoding: unused * - decoding: Set by libavcodec */ - VABufferID iq_matrix_buf_id; + uint32_t iq_matrix_buf_id; /** * VABitPlaneBuffer ID (for VC-1 decoding) @@ -89,7 +89,7 @@ struct vaapi_context { * - encoding: unused * - decoding: Set by libavcodec */ - VABufferID bitplane_buf_id; + uint32_t bitplane_buf_id; /** * Slice parameter/data buffer IDs @@ -97,7 +97,7 @@ struct vaapi_context { * - encoding: unused * - decoding: Set by libavcodec */ - VABufferID *slice_buf_ids; + uint32_t *slice_buf_ids; /** * Number of effective slice buffer IDs to send to the HW @@ -115,71 +115,6 @@ struct vaapi_context { */ unsigned int slice_buf_ids_alloc; - /** - * Picture parameter buffer - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - union { - VAPictureParameterBufferMPEG2 mpeg2; - VAPictureParameterBufferMPEG4 mpeg4; - VAPictureParameterBufferH264 h264; - VAPictureParameterBufferVC1 vc1; - } pic_param; - - /** - * Size of a VAPictureParameterBuffer element - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - unsigned int pic_param_size; - - /** - * Inverse quantization matrix buffer - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - union { - VAIQMatrixBufferMPEG2 mpeg2; - VAIQMatrixBufferMPEG4 mpeg4; - VAIQMatrixBufferH264 h264; - } iq_matrix; - - /** - * Size of a VAIQMatrixBuffer element - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - unsigned int iq_matrix_size; - - /** - * Flag: is quantization matrix present? - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - uint8_t iq_matrix_present; - - /** - * VC-1 bitplane buffer - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - uint8_t *bitplane_buffer; - - /** - * Size of VC-1 bitplane buffer - * - * - encoding: unused - * - decoding: Set by libavcodec - */ - unsigned int bitplane_buffer_size; - /** * Pointer to VASliceParameterBuffers * -- cgit v1.2.3