X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvaapi.h;h=39e88259d641a7d17c99e8f2d6966013d7ec6234;hb=52acd79165e70799871a2feeb02b4fdc0d38a956;hp=4161a667a5d1ae84c4b10d43aafb3811744514d8;hpb=7f7b04af38cdc064dfdd2670c5d83865dfecceea;p=ffmpeg diff --git a/libavcodec/vaapi.h b/libavcodec/vaapi.h index 4161a667a5d..39e88259d64 100644 --- a/libavcodec/vaapi.h +++ b/libavcodec/vaapi.h @@ -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 -#include /** - * \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 *