FFmpeg
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
libavutil
avutil.h
Go to the documentation of this file.
1
/*
2
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVUTIL_AVUTIL_H
22
#define AVUTIL_AVUTIL_H
23
24
/**
25
* @file
26
* external API header
27
*/
28
29
/**
30
* @mainpage
31
*
32
* @section ffmpeg_intro Introduction
33
*
34
* This document describes the usage of the different libraries
35
* provided by FFmpeg.
36
*
37
* @li @ref libavc "libavcodec" encoding/decoding library
38
* @li @ref lavfi "libavfilter" graph based frame editing library
39
* @li @ref libavf "libavformat" I/O and muxing/demuxing library
40
* @li @ref lavd "libavdevice" special devices muxing/demuxing library
41
* @li @ref lavu "libavutil" common utility library
42
* @li @ref lswr "libswresample" audio resampling, format conversion and mixing
43
* @li @ref lpp "libpostproc" post processing library
44
* @li @ref lsws "libswscale" color conversion and scaling library
45
*/
46
47
/**
48
* @defgroup lavu Common utility functions
49
*
50
* @brief
51
* libavutil contains the code shared across all the other FFmpeg
52
* libraries
53
*
54
* @note In order to use the functions provided by avutil you must include
55
* the specific header.
56
*
57
* @{
58
*
59
* @defgroup lavu_crypto Crypto and Hashing
60
*
61
* @{
62
* @}
63
*
64
* @defgroup lavu_math Maths
65
* @{
66
*
67
* @}
68
*
69
* @defgroup lavu_string String Manipulation
70
*
71
* @{
72
*
73
* @}
74
*
75
* @defgroup lavu_mem Memory Management
76
*
77
* @{
78
*
79
* @}
80
*
81
* @defgroup lavu_data Data Structures
82
* @{
83
*
84
* @}
85
*
86
* @defgroup lavu_audio Audio related
87
*
88
* @{
89
*
90
* @}
91
*
92
* @defgroup lavu_error Error Codes
93
*
94
* @{
95
*
96
* @}
97
*
98
* @defgroup lavu_misc Other
99
*
100
* @{
101
*
102
* @defgroup lavu_internal Internal
103
*
104
* Not exported functions, for internal usage only
105
*
106
* @{
107
*
108
* @}
109
*/
110
111
112
/**
113
* @addtogroup lavu_ver
114
* @{
115
*/
116
117
/**
118
* Return the LIBAVUTIL_VERSION_INT constant.
119
*/
120
unsigned
avutil_version
(
void
);
121
122
/**
123
* Return the libavutil build-time configuration.
124
*/
125
const
char
*
avutil_configuration
(
void
);
126
127
/**
128
* Return the libavutil license.
129
*/
130
const
char
*
avutil_license
(
void
);
131
132
/**
133
* @}
134
*/
135
136
/**
137
* @addtogroup lavu_media Media Type
138
* @brief Media Type
139
*/
140
141
enum
AVMediaType
{
142
AVMEDIA_TYPE_UNKNOWN
= -1,
///< Usually treated as AVMEDIA_TYPE_DATA
143
AVMEDIA_TYPE_VIDEO
,
144
AVMEDIA_TYPE_AUDIO
,
145
AVMEDIA_TYPE_DATA
,
///< Opaque data information usually continuous
146
AVMEDIA_TYPE_SUBTITLE
,
147
AVMEDIA_TYPE_ATTACHMENT
,
///< Opaque data information usually sparse
148
AVMEDIA_TYPE_NB
149
};
150
151
/**
152
* Return a string describing the media_type enum, NULL if media_type
153
* is unknown.
154
*/
155
const
char
*
av_get_media_type_string
(
enum
AVMediaType
media_type);
156
157
/**
158
* @defgroup lavu_const Constants
159
* @{
160
*
161
* @defgroup lavu_enc Encoding specific
162
*
163
* @note those definition should move to avcodec
164
* @{
165
*/
166
167
#define FF_LAMBDA_SHIFT 7
168
#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)
169
#define FF_QP2LAMBDA 118
///< factor to convert from H.263 QP to lambda
170
#define FF_LAMBDA_MAX (256*128-1)
171
172
#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove
173
174
/**
175
* @}
176
* @defgroup lavu_time Timestamp specific
177
*
178
* FFmpeg internal timebase and timestamp definitions
179
*
180
* @{
181
*/
182
183
/**
184
* @brief Undefined timestamp value
185
*
186
* Usually reported by demuxer that work on containers that do not provide
187
* either pts or dts.
188
*/
189
190
#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
191
192
/**
193
* Internal time base represented as integer
194
*/
195
196
#define AV_TIME_BASE 1000000
197
198
/**
199
* Internal time base represented as fractional value
200
*/
201
202
#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE}
203
204
/**
205
* @}
206
* @}
207
* @defgroup lavu_picture Image related
208
*
209
* AVPicture types, pixel formats and basic image planes manipulation.
210
*
211
* @{
212
*/
213
214
enum
AVPictureType
{
215
AV_PICTURE_TYPE_NONE
= 0,
///< Undefined
216
AV_PICTURE_TYPE_I
,
///< Intra
217
AV_PICTURE_TYPE_P
,
///< Predicted
218
AV_PICTURE_TYPE_B
,
///< Bi-dir predicted
219
AV_PICTURE_TYPE_S
,
///< S(GMC)-VOP MPEG4
220
AV_PICTURE_TYPE_SI
,
///< Switching Intra
221
AV_PICTURE_TYPE_SP
,
///< Switching Predicted
222
AV_PICTURE_TYPE_BI
,
///< BI type
223
};
224
225
/**
226
* Return a single letter to describe the given picture type
227
* pict_type.
228
*
229
* @param[in] pict_type the picture type @return a single character
230
* representing the picture type, '?' if pict_type is unknown
231
*/
232
char
av_get_picture_type_char
(
enum
AVPictureType
pict_type);
233
234
/**
235
* @}
236
*/
237
238
#include "
common.h
"
239
#include "
error.h
"
240
#include "
version.h
"
241
#include "
mathematics.h
"
242
#include "
rational.h
"
243
#include "
intfloat_readwrite.h
"
244
#include "
log.h
"
245
#include "
pixfmt.h
"
246
247
/**
248
* Return x default pointer in case p is NULL.
249
*/
250
static
inline
void
*
av_x_if_null
(
const
void
*p,
const
void
*x)
251
{
252
return
(
void
*)(intptr_t)(p ? p : x);
253
}
254
255
/**
256
* @}
257
* @}
258
*/
259
260
#endif
/* AVUTIL_AVUTIL_H */
Generated on Sat May 25 2013 03:58:50 for FFmpeg by
1.8.2