FFmpeg
1.2.4
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavfilter
formats.h
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#ifndef AVFILTER_FORMATS_H
20
#define AVFILTER_FORMATS_H
21
22
#include "
avfilter.h
"
23
64
struct
AVFilterFormats
{
65
unsigned
format_count
;
66
int
*
formats
;
67
68
unsigned
refcount
;
69
struct
AVFilterFormats
***
refs
;
70
};
71
85
typedef
struct
AVFilterChannelLayouts
{
86
uint64_t *
channel_layouts
;
87
int
nb_channel_layouts
;
88
char
all_layouts
;
89
char
all_counts
;
90
91
unsigned
refcount
;
92
struct
AVFilterChannelLayouts
***
refs
;
93
}
AVFilterChannelLayouts
;
94
102
#define FF_COUNT2LAYOUT(c) (0x8000000000000000ULL | (c))
103
108
#define FF_LAYOUT2COUNT(l) (((l) & 0x8000000000000000ULL) ? \
109
(int)((l) & 0x7FFFFFFF) : 0)
110
119
AVFilterChannelLayouts
*
ff_merge_channel_layouts
(
AVFilterChannelLayouts
*
a
,
120
AVFilterChannelLayouts
*
b
);
121
AVFilterFormats
*
ff_merge_samplerates
(
AVFilterFormats
*
a
,
122
AVFilterFormats
*
b
);
123
128
AVFilterChannelLayouts
*
ff_all_channel_layouts
(
void
);
129
AVFilterFormats
*
ff_all_samplerates
(
void
);
130
135
AVFilterChannelLayouts
*
ff_all_channel_counts
(
void
);
136
137
AVFilterChannelLayouts
*
avfilter_make_format64_list
(
const
int64_t *fmts);
138
139
145
void
ff_set_common_channel_layouts
(
AVFilterContext
*ctx,
146
AVFilterChannelLayouts
*
layouts
);
147
void
ff_set_common_samplerates
(
AVFilterContext
*ctx,
148
AVFilterFormats
*samplerates);
149
155
void
ff_set_common_formats
(
AVFilterContext
*ctx,
AVFilterFormats
*
formats
);
156
157
int
ff_add_channel_layout
(
AVFilterChannelLayouts
**l, uint64_t channel_layout);
158
162
void
ff_channel_layouts_ref
(
AVFilterChannelLayouts
*f,
163
AVFilterChannelLayouts
**ref);
164
168
void
ff_channel_layouts_unref
(
AVFilterChannelLayouts
**ref);
169
170
void
ff_channel_layouts_changeref
(
AVFilterChannelLayouts
**oldref,
171
AVFilterChannelLayouts
**newref);
172
173
int
ff_default_query_formats
(
AVFilterContext
*ctx);
174
181
int
ff_query_formats_all
(
AVFilterContext
*ctx);
182
183
191
AVFilterFormats
*
ff_make_format_list
(
const
int
*fmts);
192
201
int
ff_add_format
(
AVFilterFormats
**avff, int64_t
fmt
);
202
206
AVFilterFormats
*
ff_all_formats
(
enum
AVMediaType
type);
207
211
AVFilterFormats
*
ff_planar_sample_fmts
(
void
);
212
221
AVFilterFormats
*
ff_merge_formats
(
AVFilterFormats
*
a
,
AVFilterFormats
*
b
,
222
enum
AVMediaType
type);
223
236
void
ff_formats_ref
(
AVFilterFormats
*
formats
,
AVFilterFormats
**ref);
237
253
void
ff_formats_unref
(
AVFilterFormats
**ref);
254
268
void
ff_formats_changeref
(
AVFilterFormats
**oldref,
AVFilterFormats
**newref);
269
270
#endif
/* AVFILTER_FORMATS_H */
Generated on Fri Nov 29 2013 19:15:14 for FFmpeg by
1.8.1.2