Path: blob/master/dep/ffmpeg/include/libavcodec/videotoolbox.h
4216 views
/*1* Videotoolbox hardware acceleration2*3* copyright (c) 2012 Sebastien Zwickert4*5* This file is part of FFmpeg.6*7* FFmpeg is free software; you can redistribute it and/or8* modify it under the terms of the GNU Lesser General Public9* License as published by the Free Software Foundation; either10* version 2.1 of the License, or (at your option) any later version.11*12* FFmpeg is distributed in the hope that it will be useful,13* but WITHOUT ANY WARRANTY; without even the implied warranty of14* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU15* Lesser General Public License for more details.16*17* You should have received a copy of the GNU Lesser General Public18* License along with FFmpeg; if not, write to the Free Software19* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA20*/2122#ifndef AVCODEC_VIDEOTOOLBOX_H23#define AVCODEC_VIDEOTOOLBOX_H2425/**26* @file27* @ingroup lavc_codec_hwaccel_videotoolbox28* Public libavcodec Videotoolbox header.29*/3031/**32* @defgroup lavc_codec_hwaccel_videotoolbox VideoToolbox Decoder33* @ingroup lavc_codec_hwaccel34*35* Hardware accelerated decoding using VideoToolbox on Apple Platforms36*37* @{38*/3940#include <stdint.h>4142#define Picture QuickdrawPicture43#include <VideoToolbox/VideoToolbox.h>44#undef Picture4546#include "libavcodec/avcodec.h"4748#include "libavutil/attributes.h"4950/**51* This struct holds all the information that needs to be passed52* between the caller and libavcodec for initializing Videotoolbox decoding.53* Its size is not a part of the public ABI, it must be allocated with54* av_videotoolbox_alloc_context() and freed with av_free().55*/56typedef struct AVVideotoolboxContext {57/**58* Videotoolbox decompression session object.59*/60VTDecompressionSessionRef session;6162/**63* CVPixelBuffer Format Type that Videotoolbox will use for decoded frames.64* set by the caller. If this is set to 0, then no specific format is65* requested from the decoder, and its native format is output.66*/67OSType cv_pix_fmt_type;6869/**70* CoreMedia Format Description that Videotoolbox will use to create the decompression session.71*/72CMVideoFormatDescriptionRef cm_fmt_desc;7374/**75* CoreMedia codec type that Videotoolbox will use to create the decompression session.76*/77int cm_codec_type;78} AVVideotoolboxContext;7980/**81* @}82*/8384#endif /* AVCODEC_VIDEOTOOLBOX_H */858687