FFmpeg
libavcodec
videotoolbox.h
Go to the documentation of this file.
1
/*
2
* Videotoolbox hardware acceleration
3
*
4
* copyright (c) 2012 Sebastien Zwickert
5
*
6
* This file is part of FFmpeg.
7
*
8
* FFmpeg is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU Lesser General Public
10
* License as published by the Free Software Foundation; either
11
* version 2.1 of the License, or (at your option) any later version.
12
*
13
* FFmpeg is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public
19
* License along with FFmpeg; if not, write to the Free Software
20
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*/
22
23
#ifndef AVCODEC_VIDEOTOOLBOX_H
24
#define AVCODEC_VIDEOTOOLBOX_H
25
26
/**
27
* @file
28
* @ingroup lavc_codec_hwaccel_videotoolbox
29
* Public libavcodec Videotoolbox header.
30
*/
31
32
/**
33
* @defgroup lavc_codec_hwaccel_videotoolbox VideoToolbox Decoder
34
* @ingroup lavc_codec_hwaccel
35
*
36
* Hardware accelerated decoding using VideoToolbox on Apple Platforms
37
*
38
* @{
39
*/
40
41
#include <stdint.h>
42
43
#define Picture QuickdrawPicture
44
#include <VideoToolbox/VideoToolbox.h>
45
#undef Picture
46
47
#include "
libavcodec/avcodec.h
"
48
49
#include "
libavutil/attributes.h
"
50
51
/**
52
* This struct holds all the information that needs to be passed
53
* between the caller and libavcodec for initializing Videotoolbox decoding.
54
* Its size is not a part of the public ABI, it must be allocated with
55
* av_videotoolbox_alloc_context() and freed with av_free().
56
*/
57
typedef
struct
AVVideotoolboxContext
{
58
/**
59
* Videotoolbox decompression session object.
60
*/
61
VTDecompressionSessionRef
session
;
62
63
/**
64
* CVPixelBuffer Format Type that Videotoolbox will use for decoded frames.
65
* set by the caller. If this is set to 0, then no specific format is
66
* requested from the decoder, and its native format is output.
67
*/
68
OSType
cv_pix_fmt_type
;
69
70
/**
71
* CoreMedia Format Description that Videotoolbox will use to create the decompression session.
72
*/
73
CMVideoFormatDescriptionRef
cm_fmt_desc
;
74
75
/**
76
* CoreMedia codec type that Videotoolbox will use to create the decompression session.
77
*/
78
int
cm_codec_type
;
79
}
AVVideotoolboxContext
;
80
81
/**
82
* @}
83
*/
84
85
#endif
/* AVCODEC_VIDEOTOOLBOX_H */
AVVideotoolboxContext::cm_codec_type
int cm_codec_type
CoreMedia codec type that Videotoolbox will use to create the decompression session.
Definition:
videotoolbox.h:78
AVVideotoolboxContext
This struct holds all the information that needs to be passed between the caller and libavcodec for i...
Definition:
videotoolbox.h:57
AVVideotoolboxContext::session
VTDecompressionSessionRef session
Videotoolbox decompression session object.
Definition:
videotoolbox.h:61
AVVideotoolboxContext::cm_fmt_desc
CMVideoFormatDescriptionRef cm_fmt_desc
CoreMedia Format Description that Videotoolbox will use to create the decompression session.
Definition:
videotoolbox.h:73
attributes.h
avcodec.h
AVVideotoolboxContext::cv_pix_fmt_type
OSType cv_pix_fmt_type
CVPixelBuffer Format Type that Videotoolbox will use for decoded frames.
Definition:
videotoolbox.h:68
Generated on Thu Sep 26 2024 23:15:23 for FFmpeg by
1.8.17