]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/vaapi.h
x86: hpel: Move {avg,put}_pixels16_sse2 to hpeldsp
[ffmpeg] / libavcodec / vaapi.h
index 4161a667a5d1ae84c4b10d43aafb3811744514d8..39e88259d641a7d17c99e8f2d6966013d7ec6234 100644 (file)
@@ -1,40 +1,45 @@
 /*
- * Video Acceleration API (shared data between FFmpeg and the video player)
+ * Video Acceleration API (shared data between Libav and the video player)
  * HW decode acceleration for MPEG-2, MPEG-4, H.264 and VC-1
  *
  * Copyright (C) 2008-2009 Splitted-Desktop Systems
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
 #ifndef AVCODEC_VAAPI_H
 #define AVCODEC_VAAPI_H
 
+/**
+ * @file
+ * @ingroup lavc_codec_hwaccel_vaapi
+ * Public libavcodec VA API header.
+ */
+
 #include <stdint.h>
-#include <va/va.h>
 
 /**
- * \defgroup VAAPI_Decoding VA API Decoding
- * \ingroup Decoder
+ * @defgroup lavc_codec_hwaccel_vaapi VA API Decoding
+ * @ingroup lavc_codec_hwaccel
  * @{
  */
 
 /**
- * This structure is used to share data between the FFmpeg library and
+ * This structure is used to share data between the Libav library and
  * the client video application.
  * This shall be zero-allocated and available as
  * AVCodecContext.hwaccel_context. All user members can be set once
@@ -73,7 +78,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 +86,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 +94,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 +102,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 +120,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
      *