X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvdpau.h;h=6f1386067b31ca090853fc26eefdf88cef59ac44;hb=f44005b610abc5b1aca5b3191b64a0a0ba65a03f;hp=2daeb134828e454f005c1ab2eeabddb7a575181b;hpb=8423186e6562b48ba925604b6a25ff6a0fe44feb;p=ffmpeg diff --git a/libavcodec/vdpau.h b/libavcodec/vdpau.h index 2daeb134828..6f1386067b3 100644 --- a/libavcodec/vdpau.h +++ b/libavcodec/vdpau.h @@ -4,64 +4,63 @@ * * Copyright (C) 2008 NVIDIA * - * 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_VDPAU_RENDER_H -#define AVCODEC_VDPAU_RENDER_H +#ifndef AVCODEC_VDPAU_H +#define AVCODEC_VDPAU_H /** - * \defgroup Decoder VDPAU Decoder and Renderer + * @defgroup Decoder VDPAU Decoder and Renderer * * VDPAU hardware acceleration has two modules * - VDPAU decoding * - VDPAU presentation * - * The VDPAU decoding module parses all headers using FFmpeg + * The VDPAU decoding module parses all headers using Libav * parsing mechanisms and uses VDPAU for the actual decoding. * * As per the current implementation, the actual decoding * and rendering (API calls) are done as part of the VDPAU * presentation (vo_vdpau.c) module. * - * @{ - * \defgroup VDPAU_Decoding VDPAU Decoding - * \ingroup Decoder + * @defgroup VDPAU_Decoding VDPAU Decoding + * @ingroup Decoder * @{ */ -#include "vdpau/vdpau.h" -#include "vdpau/vdpau_x11.h" +#include +#include -/** \brief The videoSurface is used for rendering. */ +/** @brief The videoSurface is used for rendering. */ #define FF_VDPAU_STATE_USED_FOR_RENDER 1 /** - * \brief The videoSurface is needed for reference/prediction. + * @brief The videoSurface is needed for reference/prediction. * The codec manipulates this. */ #define FF_VDPAU_STATE_USED_FOR_REFERENCE 2 /** - * \brief This structure is used as a callback between the FFmpeg + * @brief This structure is used as a callback between the Libav * decoder (vd_) and presentation (vo_) module. * This is used for defining a video frame containing surface, * picture parameter, bitstream information etc which are passed - * between the FFmpeg decoder and its clients. + * between the Libav decoder and its clients. */ struct vdpau_render_state { VdpVideoSurface surface; ///< Used as rendered surface, never changed. @@ -70,15 +69,20 @@ struct vdpau_render_state { /** picture parameter information for all supported codecs */ union VdpPictureInfo { - VdpPictureInfoH264 h264; + VdpPictureInfoH264 h264; + VdpPictureInfoMPEG1Or2 mpeg; + VdpPictureInfoVC1 vc1; + VdpPictureInfoMPEG4Part2 mpeg4; } info; - /** Describe size/location of the compressed video data. */ - int bitstreamBuffersAllocated; - int bitstreamBuffersUsed; - VdpBitstreamBuffer *bitstreamBuffers; + /** Describe size/location of the compressed video data. + Set to 0 when freeing bitstream_buffers. */ + int bitstream_buffers_allocated; + int bitstream_buffers_used; + /** The user is responsible for freeing this buffer using av_freep(). */ + VdpBitstreamBuffer *bitstream_buffers; }; /* @}*/ -#endif /* AVCODEC_VDPAU_RENDER_H */ +#endif /* AVCODEC_VDPAU_H */