Libav
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 Libav.
3
*
4
* Libav 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
* Libav 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 Libav; 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
nb_formats
;
66
int
*
formats
;
67
68
unsigned
refcount
;
69
struct
AVFilterFormats
***
refs
;
70
};
71
72
typedef
struct
AVFilterChannelLayouts
{
73
uint64_t *
channel_layouts
;
74
int
nb_channel_layouts
;
75
76
unsigned
refcount
;
77
struct
AVFilterChannelLayouts
***
refs
;
78
}
AVFilterChannelLayouts
;
79
88
AVFilterChannelLayouts
*
ff_merge_channel_layouts
(
AVFilterChannelLayouts
*a,
89
AVFilterChannelLayouts
*
b
);
90
AVFilterFormats
*
ff_merge_samplerates
(
AVFilterFormats
*a,
91
AVFilterFormats
*
b
);
92
97
AVFilterChannelLayouts
*
ff_all_channel_layouts
(
void
);
98
AVFilterFormats
*
ff_all_samplerates
(
void
);
99
105
void
ff_set_common_channel_layouts
(
AVFilterContext
*ctx,
106
AVFilterChannelLayouts
*
layouts
);
107
void
ff_set_common_samplerates
(
AVFilterContext
*ctx,
108
AVFilterFormats
*samplerates);
109
115
void
ff_set_common_formats
(
AVFilterContext
*ctx,
AVFilterFormats
*
formats
);
116
117
int
ff_add_channel_layout
(
AVFilterChannelLayouts
**l, uint64_t channel_layout);
118
122
void
ff_channel_layouts_ref
(
AVFilterChannelLayouts
*f,
123
AVFilterChannelLayouts
**ref);
124
128
void
ff_channel_layouts_unref
(
AVFilterChannelLayouts
**ref);
129
130
void
ff_channel_layouts_changeref
(
AVFilterChannelLayouts
**oldref,
131
AVFilterChannelLayouts
**newref);
132
133
int
ff_default_query_formats
(
AVFilterContext
*ctx);
134
135
143
AVFilterFormats
*
ff_make_format_list
(
const
int
*fmts);
144
153
int
ff_add_format
(
AVFilterFormats
**avff,
int
fmt);
154
158
AVFilterFormats
*
ff_all_formats
(
enum
AVMediaType
type);
159
163
AVFilterFormats
*
ff_planar_sample_fmts
(
void
);
164
173
AVFilterFormats
*
ff_merge_formats
(
AVFilterFormats
*a,
AVFilterFormats
*
b
);
174
187
void
ff_formats_ref
(
AVFilterFormats
*
formats
,
AVFilterFormats
**ref);
188
204
void
ff_formats_unref
(
AVFilterFormats
**ref);
205
219
void
ff_formats_changeref
(
AVFilterFormats
**oldref,
AVFilterFormats
**newref);
220
221
#endif
/* AVFILTER_FORMATS_H */
Generated on Sun Jun 1 2014 17:55:35 for Libav by
1.8.1.2