diff vaapi.h @ 9292:f0732d44f655 libavcodec

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.
author gb
date Tue, 31 Mar 2009 08:33:02 +0000
parents 238dd89b7ac3
children bf264662cd6b
line wrap: on
line diff
--- a/vaapi.h	Tue Mar 31 07:37:55 2009 +0000
+++ b/vaapi.h	Tue Mar 31 08:33:02 2009 +0000
@@ -73,7 +73,7 @@
      * - encoding: unused
      * - decoding: Set by libavcodec
      */
-    VABufferID pic_param_buf_id;
+    uint32_t pic_param_buf_id;
 
     /**
      * VAIQMatrixBuffer ID
@@ -81,7 +81,7 @@
      * - 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 @@
      * - encoding: unused
      * - decoding: Set by libavcodec
      */
-    VABufferID bitplane_buf_id;
+    uint32_t bitplane_buf_id;
 
     /**
      * Slice parameter/data buffer IDs
@@ -97,7 +97,7 @@
      * - 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
@@ -116,71 +116,6 @@
     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
      *
      * - encoding: unused