@pproenca/ffmpeg-dev 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/include/aom/aom.h +127 -0
- package/include/aom/aom_codec.h +594 -0
- package/include/aom/aom_decoder.h +257 -0
- package/include/aom/aom_encoder.h +1154 -0
- package/include/aom/aom_external_partition.h +452 -0
- package/include/aom/aom_frame_buffer.h +84 -0
- package/include/aom/aom_image.h +462 -0
- package/include/aom/aom_integer.h +60 -0
- package/include/aom/aomcx.h +2288 -0
- package/include/aom/aomdx.h +607 -0
- package/include/dav1d/common.h +94 -0
- package/include/dav1d/data.h +117 -0
- package/include/dav1d/dav1d.h +329 -0
- package/include/dav1d/headers.h +444 -0
- package/include/dav1d/picture.h +157 -0
- package/include/dav1d/version.h +50 -0
- package/include/index.js +1 -0
- package/include/lame/lame.h +1342 -0
- package/include/libavcodec/ac3_parser.h +36 -0
- package/include/libavcodec/adts_parser.h +37 -0
- package/include/libavcodec/avcodec.h +3128 -0
- package/include/libavcodec/avdct.h +88 -0
- package/include/libavcodec/avfft.h +149 -0
- package/include/libavcodec/bsf.h +332 -0
- package/include/libavcodec/codec.h +382 -0
- package/include/libavcodec/codec_desc.h +134 -0
- package/include/libavcodec/codec_id.h +669 -0
- package/include/libavcodec/codec_par.h +248 -0
- package/include/libavcodec/d3d11va.h +109 -0
- package/include/libavcodec/defs.h +337 -0
- package/include/libavcodec/dirac.h +135 -0
- package/include/libavcodec/dv_profile.h +82 -0
- package/include/libavcodec/dxva2.h +90 -0
- package/include/libavcodec/jni.h +67 -0
- package/include/libavcodec/mediacodec.h +103 -0
- package/include/libavcodec/packet.h +887 -0
- package/include/libavcodec/qsv.h +109 -0
- package/include/libavcodec/vdpau.h +171 -0
- package/include/libavcodec/version.h +45 -0
- package/include/libavcodec/version_major.h +52 -0
- package/include/libavcodec/videotoolbox.h +85 -0
- package/include/libavcodec/vorbis_parser.h +74 -0
- package/include/libavdevice/avdevice.h +397 -0
- package/include/libavdevice/version.h +45 -0
- package/include/libavdevice/version_major.h +43 -0
- package/include/libavfilter/avfilter.h +1379 -0
- package/include/libavfilter/buffersink.h +173 -0
- package/include/libavfilter/buffersrc.h +215 -0
- package/include/libavfilter/version.h +48 -0
- package/include/libavfilter/version_major.h +40 -0
- package/include/libavformat/avformat.h +3107 -0
- package/include/libavformat/avio.h +831 -0
- package/include/libavformat/version.h +47 -0
- package/include/libavformat/version_major.h +54 -0
- package/include/libavutil/adler32.h +63 -0
- package/include/libavutil/aes.h +69 -0
- package/include/libavutil/aes_ctr.h +99 -0
- package/include/libavutil/ambient_viewing_environment.h +72 -0
- package/include/libavutil/attributes.h +173 -0
- package/include/libavutil/audio_fifo.h +187 -0
- package/include/libavutil/avassert.h +78 -0
- package/include/libavutil/avconfig.h +6 -0
- package/include/libavutil/avstring.h +428 -0
- package/include/libavutil/avutil.h +362 -0
- package/include/libavutil/base64.h +72 -0
- package/include/libavutil/blowfish.h +82 -0
- package/include/libavutil/bprint.h +254 -0
- package/include/libavutil/bswap.h +105 -0
- package/include/libavutil/buffer.h +322 -0
- package/include/libavutil/camellia.h +70 -0
- package/include/libavutil/cast5.h +80 -0
- package/include/libavutil/channel_layout.h +751 -0
- package/include/libavutil/common.h +589 -0
- package/include/libavutil/cpu.h +145 -0
- package/include/libavutil/crc.h +102 -0
- package/include/libavutil/csp.h +150 -0
- package/include/libavutil/des.h +81 -0
- package/include/libavutil/detection_bbox.h +108 -0
- package/include/libavutil/dict.h +241 -0
- package/include/libavutil/display.h +109 -0
- package/include/libavutil/dovi_meta.h +396 -0
- package/include/libavutil/downmix_info.h +115 -0
- package/include/libavutil/encryption_info.h +205 -0
- package/include/libavutil/error.h +129 -0
- package/include/libavutil/eval.h +140 -0
- package/include/libavutil/executor.h +67 -0
- package/include/libavutil/ffversion.h +5 -0
- package/include/libavutil/fifo.h +242 -0
- package/include/libavutil/file.h +62 -0
- package/include/libavutil/film_grain_params.h +322 -0
- package/include/libavutil/frame.h +1175 -0
- package/include/libavutil/hash.h +264 -0
- package/include/libavutil/hdr_dynamic_metadata.h +376 -0
- package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
- package/include/libavutil/hmac.h +99 -0
- package/include/libavutil/hwcontext.h +598 -0
- package/include/libavutil/hwcontext_cuda.h +74 -0
- package/include/libavutil/hwcontext_d3d11va.h +178 -0
- package/include/libavutil/hwcontext_d3d12va.h +142 -0
- package/include/libavutil/hwcontext_drm.h +169 -0
- package/include/libavutil/hwcontext_dxva2.h +75 -0
- package/include/libavutil/hwcontext_mediacodec.h +61 -0
- package/include/libavutil/hwcontext_opencl.h +100 -0
- package/include/libavutil/hwcontext_qsv.h +87 -0
- package/include/libavutil/hwcontext_vaapi.h +117 -0
- package/include/libavutil/hwcontext_vdpau.h +44 -0
- package/include/libavutil/hwcontext_videotoolbox.h +106 -0
- package/include/libavutil/hwcontext_vulkan.h +382 -0
- package/include/libavutil/iamf.h +690 -0
- package/include/libavutil/imgutils.h +377 -0
- package/include/libavutil/intfloat.h +77 -0
- package/include/libavutil/intreadwrite.h +677 -0
- package/include/libavutil/lfg.h +81 -0
- package/include/libavutil/log.h +387 -0
- package/include/libavutil/lzo.h +66 -0
- package/include/libavutil/macros.h +80 -0
- package/include/libavutil/mastering_display_metadata.h +137 -0
- package/include/libavutil/mathematics.h +300 -0
- package/include/libavutil/md5.h +89 -0
- package/include/libavutil/mem.h +607 -0
- package/include/libavutil/motion_vector.h +57 -0
- package/include/libavutil/murmur3.h +115 -0
- package/include/libavutil/opt.h +1187 -0
- package/include/libavutil/parseutils.h +197 -0
- package/include/libavutil/pixdesc.h +440 -0
- package/include/libavutil/pixelutils.h +51 -0
- package/include/libavutil/pixfmt.h +716 -0
- package/include/libavutil/random_seed.h +57 -0
- package/include/libavutil/rational.h +225 -0
- package/include/libavutil/rc4.h +69 -0
- package/include/libavutil/replaygain.h +50 -0
- package/include/libavutil/ripemd.h +83 -0
- package/include/libavutil/samplefmt.h +269 -0
- package/include/libavutil/sha.h +90 -0
- package/include/libavutil/sha512.h +92 -0
- package/include/libavutil/spherical.h +243 -0
- package/include/libavutil/stereo3d.h +325 -0
- package/include/libavutil/tea.h +71 -0
- package/include/libavutil/threadmessage.h +115 -0
- package/include/libavutil/time.h +56 -0
- package/include/libavutil/timecode.h +199 -0
- package/include/libavutil/timestamp.h +85 -0
- package/include/libavutil/tree.h +137 -0
- package/include/libavutil/twofish.h +70 -0
- package/include/libavutil/tx.h +210 -0
- package/include/libavutil/uuid.h +146 -0
- package/include/libavutil/version.h +124 -0
- package/include/libavutil/video_enc_params.h +171 -0
- package/include/libavutil/video_hint.h +107 -0
- package/include/libavutil/xtea.h +94 -0
- package/include/libpostproc/postprocess.h +107 -0
- package/include/libpostproc/version.h +46 -0
- package/include/libpostproc/version_major.h +31 -0
- package/include/libswresample/swresample.h +587 -0
- package/include/libswresample/version.h +46 -0
- package/include/libswresample/version_major.h +31 -0
- package/include/libswscale/swscale.h +460 -0
- package/include/libswscale/version.h +44 -0
- package/include/libswscale/version_major.h +35 -0
- package/include/ogg/config_types.h +26 -0
- package/include/ogg/ogg.h +209 -0
- package/include/ogg/os_types.h +158 -0
- package/include/opus/opus.h +1099 -0
- package/include/opus/opus_defines.h +830 -0
- package/include/opus/opus_multistream.h +660 -0
- package/include/opus/opus_projection.h +568 -0
- package/include/opus/opus_types.h +166 -0
- package/include/svt-av1/EbDebugMacros.h +88 -0
- package/include/svt-av1/EbSvtAv1.h +462 -0
- package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
- package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
- package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
- package/include/svt-av1/EbSvtAv1Formats.h +126 -0
- package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
- package/include/vorbis/codec.h +242 -0
- package/include/vorbis/vorbisenc.h +435 -0
- package/include/vorbis/vorbisfile.h +205 -0
- package/include/vpx/vp8.h +136 -0
- package/include/vpx/vp8cx.h +1118 -0
- package/include/vpx/vp8dx.h +228 -0
- package/include/vpx/vpx_codec.h +475 -0
- package/include/vpx/vpx_decoder.h +367 -0
- package/include/vpx/vpx_encoder.h +1150 -0
- package/include/vpx/vpx_ext_ratectrl.h +590 -0
- package/include/vpx/vpx_frame_buffer.h +83 -0
- package/include/vpx/vpx_image.h +221 -0
- package/include/vpx/vpx_integer.h +40 -0
- package/include/vpx/vpx_tpl.h +68 -0
- package/include/x264.h +1027 -0
- package/include/x264_config.h +6 -0
- package/include/x265.h +2737 -0
- package/include/x265_config.h +34 -0
- package/package.json +24 -0
|
@@ -0,0 +1,173 @@
|
|
|
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_BUFFERSINK_H
|
|
20
|
+
#define AVFILTER_BUFFERSINK_H
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @file
|
|
24
|
+
* @ingroup lavfi_buffersink
|
|
25
|
+
* memory buffer sink API for audio and video
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
#include "avfilter.h"
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @defgroup lavfi_buffersink Buffer sink API
|
|
32
|
+
* @ingroup lavfi
|
|
33
|
+
* @{
|
|
34
|
+
*
|
|
35
|
+
* The buffersink and abuffersink filters are there to connect filter graphs
|
|
36
|
+
* to applications. They have a single input, connected to the graph, and no
|
|
37
|
+
* output. Frames must be extracted using av_buffersink_get_frame() or
|
|
38
|
+
* av_buffersink_get_samples().
|
|
39
|
+
*
|
|
40
|
+
* The format negotiated by the graph during configuration can be obtained
|
|
41
|
+
* using the accessor functions:
|
|
42
|
+
* - av_buffersink_get_time_base(),
|
|
43
|
+
* - av_buffersink_get_format(),
|
|
44
|
+
* - av_buffersink_get_frame_rate(),
|
|
45
|
+
* - av_buffersink_get_w(),
|
|
46
|
+
* - av_buffersink_get_h(),
|
|
47
|
+
* - av_buffersink_get_sample_aspect_ratio(),
|
|
48
|
+
* - av_buffersink_get_channels(),
|
|
49
|
+
* - av_buffersink_get_ch_layout(),
|
|
50
|
+
* - av_buffersink_get_sample_rate().
|
|
51
|
+
*
|
|
52
|
+
* The layout returned by av_buffersink_get_ch_layout() must de uninitialized
|
|
53
|
+
* by the caller.
|
|
54
|
+
*
|
|
55
|
+
* The format can be constrained by setting options, using av_opt_set() and
|
|
56
|
+
* related functions with the AV_OPT_SEARCH_CHILDREN flag.
|
|
57
|
+
* - pix_fmts (int list),
|
|
58
|
+
* - color_spaces (int list),
|
|
59
|
+
* - color_ranges (int list),
|
|
60
|
+
* - sample_fmts (int list),
|
|
61
|
+
* - sample_rates (int list),
|
|
62
|
+
* - ch_layouts (string),
|
|
63
|
+
* - channel_counts (int list),
|
|
64
|
+
* - all_channel_counts (bool).
|
|
65
|
+
* Most of these options are of type binary, and should be set using
|
|
66
|
+
* av_opt_set_int_list() or av_opt_set_bin(). If they are not set, all
|
|
67
|
+
* corresponding formats are accepted.
|
|
68
|
+
*
|
|
69
|
+
* As a special case, if ch_layouts is not set, all valid channel layouts are
|
|
70
|
+
* accepted except for UNSPEC layouts, unless all_channel_counts is set.
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get a frame with filtered data from sink and put it in frame.
|
|
75
|
+
*
|
|
76
|
+
* @param ctx pointer to a buffersink or abuffersink filter context.
|
|
77
|
+
* @param frame pointer to an allocated frame that will be filled with data.
|
|
78
|
+
* The data must be freed using av_frame_unref() / av_frame_free()
|
|
79
|
+
* @param flags a combination of AV_BUFFERSINK_FLAG_* flags
|
|
80
|
+
*
|
|
81
|
+
* @return >= 0 in for success, a negative AVERROR code for failure.
|
|
82
|
+
*/
|
|
83
|
+
int av_buffersink_get_frame_flags(AVFilterContext *ctx, AVFrame *frame, int flags);
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Tell av_buffersink_get_buffer_ref() to read video/samples buffer
|
|
87
|
+
* reference, but not remove it from the buffer. This is useful if you
|
|
88
|
+
* need only to read a video/samples buffer, without to fetch it.
|
|
89
|
+
*/
|
|
90
|
+
#define AV_BUFFERSINK_FLAG_PEEK 1
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Tell av_buffersink_get_buffer_ref() not to request a frame from its input.
|
|
94
|
+
* If a frame is already buffered, it is read (and removed from the buffer),
|
|
95
|
+
* but if no frame is present, return AVERROR(EAGAIN).
|
|
96
|
+
*/
|
|
97
|
+
#define AV_BUFFERSINK_FLAG_NO_REQUEST 2
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Set the frame size for an audio buffer sink.
|
|
101
|
+
*
|
|
102
|
+
* All calls to av_buffersink_get_buffer_ref will return a buffer with
|
|
103
|
+
* exactly the specified number of samples, or AVERROR(EAGAIN) if there is
|
|
104
|
+
* not enough. The last buffer at EOF will be padded with 0.
|
|
105
|
+
*/
|
|
106
|
+
void av_buffersink_set_frame_size(AVFilterContext *ctx, unsigned frame_size);
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* @defgroup lavfi_buffersink_accessors Buffer sink accessors
|
|
110
|
+
* Get the properties of the stream
|
|
111
|
+
* @{
|
|
112
|
+
*/
|
|
113
|
+
|
|
114
|
+
enum AVMediaType av_buffersink_get_type (const AVFilterContext *ctx);
|
|
115
|
+
AVRational av_buffersink_get_time_base (const AVFilterContext *ctx);
|
|
116
|
+
int av_buffersink_get_format (const AVFilterContext *ctx);
|
|
117
|
+
|
|
118
|
+
AVRational av_buffersink_get_frame_rate (const AVFilterContext *ctx);
|
|
119
|
+
int av_buffersink_get_w (const AVFilterContext *ctx);
|
|
120
|
+
int av_buffersink_get_h (const AVFilterContext *ctx);
|
|
121
|
+
AVRational av_buffersink_get_sample_aspect_ratio (const AVFilterContext *ctx);
|
|
122
|
+
enum AVColorSpace av_buffersink_get_colorspace (const AVFilterContext *ctx);
|
|
123
|
+
enum AVColorRange av_buffersink_get_color_range (const AVFilterContext *ctx);
|
|
124
|
+
|
|
125
|
+
int av_buffersink_get_channels (const AVFilterContext *ctx);
|
|
126
|
+
int av_buffersink_get_ch_layout (const AVFilterContext *ctx,
|
|
127
|
+
AVChannelLayout *ch_layout);
|
|
128
|
+
int av_buffersink_get_sample_rate (const AVFilterContext *ctx);
|
|
129
|
+
|
|
130
|
+
AVBufferRef * av_buffersink_get_hw_frames_ctx (const AVFilterContext *ctx);
|
|
131
|
+
|
|
132
|
+
/** @} */
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Get a frame with filtered data from sink and put it in frame.
|
|
136
|
+
*
|
|
137
|
+
* @param ctx pointer to a context of a buffersink or abuffersink AVFilter.
|
|
138
|
+
* @param frame pointer to an allocated frame that will be filled with data.
|
|
139
|
+
* The data must be freed using av_frame_unref() / av_frame_free()
|
|
140
|
+
*
|
|
141
|
+
* @return
|
|
142
|
+
* - >= 0 if a frame was successfully returned.
|
|
143
|
+
* - AVERROR(EAGAIN) if no frames are available at this point; more
|
|
144
|
+
* input frames must be added to the filtergraph to get more output.
|
|
145
|
+
* - AVERROR_EOF if there will be no more output frames on this sink.
|
|
146
|
+
* - A different negative AVERROR code in other failure cases.
|
|
147
|
+
*/
|
|
148
|
+
int av_buffersink_get_frame(AVFilterContext *ctx, AVFrame *frame);
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Same as av_buffersink_get_frame(), but with the ability to specify the number
|
|
152
|
+
* of samples read. This function is less efficient than
|
|
153
|
+
* av_buffersink_get_frame(), because it copies the data around.
|
|
154
|
+
*
|
|
155
|
+
* @param ctx pointer to a context of the abuffersink AVFilter.
|
|
156
|
+
* @param frame pointer to an allocated frame that will be filled with data.
|
|
157
|
+
* The data must be freed using av_frame_unref() / av_frame_free()
|
|
158
|
+
* frame will contain exactly nb_samples audio samples, except at
|
|
159
|
+
* the end of stream, when it can contain less than nb_samples.
|
|
160
|
+
*
|
|
161
|
+
* @return The return codes have the same meaning as for
|
|
162
|
+
* av_buffersink_get_frame().
|
|
163
|
+
*
|
|
164
|
+
* @warning do not mix this function with av_buffersink_get_frame(). Use only one or
|
|
165
|
+
* the other with a single sink, not both.
|
|
166
|
+
*/
|
|
167
|
+
int av_buffersink_get_samples(AVFilterContext *ctx, AVFrame *frame, int nb_samples);
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* @}
|
|
171
|
+
*/
|
|
172
|
+
|
|
173
|
+
#endif /* AVFILTER_BUFFERSINK_H */
|
|
@@ -0,0 +1,215 @@
|
|
|
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_BUFFERSRC_H
|
|
20
|
+
#define AVFILTER_BUFFERSRC_H
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @file
|
|
24
|
+
* @ingroup lavfi_buffersrc
|
|
25
|
+
* Memory buffer source API.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
#include "avfilter.h"
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @defgroup lavfi_buffersrc Buffer source API
|
|
32
|
+
* @ingroup lavfi
|
|
33
|
+
* @{
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
enum {
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Do not check for format changes.
|
|
40
|
+
*/
|
|
41
|
+
AV_BUFFERSRC_FLAG_NO_CHECK_FORMAT = 1,
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Immediately push the frame to the output.
|
|
45
|
+
*/
|
|
46
|
+
AV_BUFFERSRC_FLAG_PUSH = 4,
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Keep a reference to the frame.
|
|
50
|
+
* If the frame if reference-counted, create a new reference; otherwise
|
|
51
|
+
* copy the frame data.
|
|
52
|
+
*/
|
|
53
|
+
AV_BUFFERSRC_FLAG_KEEP_REF = 8,
|
|
54
|
+
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Get the number of failed requests.
|
|
59
|
+
*
|
|
60
|
+
* A failed request is when the request_frame method is called while no
|
|
61
|
+
* frame is present in the buffer.
|
|
62
|
+
* The number is reset when a frame is added.
|
|
63
|
+
*/
|
|
64
|
+
unsigned av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src);
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This structure contains the parameters describing the frames that will be
|
|
68
|
+
* passed to this filter.
|
|
69
|
+
*
|
|
70
|
+
* It should be allocated with av_buffersrc_parameters_alloc() and freed with
|
|
71
|
+
* av_free(). All the allocated fields in it remain owned by the caller.
|
|
72
|
+
*/
|
|
73
|
+
typedef struct AVBufferSrcParameters {
|
|
74
|
+
/**
|
|
75
|
+
* video: the pixel format, value corresponds to enum AVPixelFormat
|
|
76
|
+
* audio: the sample format, value corresponds to enum AVSampleFormat
|
|
77
|
+
*/
|
|
78
|
+
int format;
|
|
79
|
+
/**
|
|
80
|
+
* The timebase to be used for the timestamps on the input frames.
|
|
81
|
+
*/
|
|
82
|
+
AVRational time_base;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Video only, the display dimensions of the input frames.
|
|
86
|
+
*/
|
|
87
|
+
int width, height;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Video only, the sample (pixel) aspect ratio.
|
|
91
|
+
*/
|
|
92
|
+
AVRational sample_aspect_ratio;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Video only, the frame rate of the input video. This field must only be
|
|
96
|
+
* set to a non-zero value if input stream has a known constant framerate
|
|
97
|
+
* and should be left at its initial value if the framerate is variable or
|
|
98
|
+
* unknown.
|
|
99
|
+
*/
|
|
100
|
+
AVRational frame_rate;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Video with a hwaccel pixel format only. This should be a reference to an
|
|
104
|
+
* AVHWFramesContext instance describing the input frames.
|
|
105
|
+
*/
|
|
106
|
+
AVBufferRef *hw_frames_ctx;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Audio only, the audio sampling rate in samples per second.
|
|
110
|
+
*/
|
|
111
|
+
int sample_rate;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Audio only, the audio channel layout
|
|
115
|
+
*/
|
|
116
|
+
AVChannelLayout ch_layout;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Video only, the YUV colorspace and range.
|
|
120
|
+
*/
|
|
121
|
+
enum AVColorSpace color_space;
|
|
122
|
+
enum AVColorRange color_range;
|
|
123
|
+
} AVBufferSrcParameters;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Allocate a new AVBufferSrcParameters instance. It should be freed by the
|
|
127
|
+
* caller with av_free().
|
|
128
|
+
*/
|
|
129
|
+
AVBufferSrcParameters *av_buffersrc_parameters_alloc(void);
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Initialize the buffersrc or abuffersrc filter with the provided parameters.
|
|
133
|
+
* This function may be called multiple times, the later calls override the
|
|
134
|
+
* previous ones. Some of the parameters may also be set through AVOptions, then
|
|
135
|
+
* whatever method is used last takes precedence.
|
|
136
|
+
*
|
|
137
|
+
* @param ctx an instance of the buffersrc or abuffersrc filter
|
|
138
|
+
* @param param the stream parameters. The frames later passed to this filter
|
|
139
|
+
* must conform to those parameters. All the allocated fields in
|
|
140
|
+
* param remain owned by the caller, libavfilter will make internal
|
|
141
|
+
* copies or references when necessary.
|
|
142
|
+
* @return 0 on success, a negative AVERROR code on failure.
|
|
143
|
+
*/
|
|
144
|
+
int av_buffersrc_parameters_set(AVFilterContext *ctx, AVBufferSrcParameters *param);
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Add a frame to the buffer source.
|
|
148
|
+
*
|
|
149
|
+
* @param ctx an instance of the buffersrc filter
|
|
150
|
+
* @param frame frame to be added. If the frame is reference counted, this
|
|
151
|
+
* function will make a new reference to it. Otherwise the frame data will be
|
|
152
|
+
* copied.
|
|
153
|
+
*
|
|
154
|
+
* @return 0 on success, a negative AVERROR on error
|
|
155
|
+
*
|
|
156
|
+
* This function is equivalent to av_buffersrc_add_frame_flags() with the
|
|
157
|
+
* AV_BUFFERSRC_FLAG_KEEP_REF flag.
|
|
158
|
+
*/
|
|
159
|
+
av_warn_unused_result
|
|
160
|
+
int av_buffersrc_write_frame(AVFilterContext *ctx, const AVFrame *frame);
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Add a frame to the buffer source.
|
|
164
|
+
*
|
|
165
|
+
* @param ctx an instance of the buffersrc filter
|
|
166
|
+
* @param frame frame to be added. If the frame is reference counted, this
|
|
167
|
+
* function will take ownership of the reference(s) and reset the frame.
|
|
168
|
+
* Otherwise the frame data will be copied. If this function returns an error,
|
|
169
|
+
* the input frame is not touched.
|
|
170
|
+
*
|
|
171
|
+
* @return 0 on success, a negative AVERROR on error.
|
|
172
|
+
*
|
|
173
|
+
* @note the difference between this function and av_buffersrc_write_frame() is
|
|
174
|
+
* that av_buffersrc_write_frame() creates a new reference to the input frame,
|
|
175
|
+
* while this function takes ownership of the reference passed to it.
|
|
176
|
+
*
|
|
177
|
+
* This function is equivalent to av_buffersrc_add_frame_flags() without the
|
|
178
|
+
* AV_BUFFERSRC_FLAG_KEEP_REF flag.
|
|
179
|
+
*/
|
|
180
|
+
av_warn_unused_result
|
|
181
|
+
int av_buffersrc_add_frame(AVFilterContext *ctx, AVFrame *frame);
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Add a frame to the buffer source.
|
|
185
|
+
*
|
|
186
|
+
* By default, if the frame is reference-counted, this function will take
|
|
187
|
+
* ownership of the reference(s) and reset the frame. This can be controlled
|
|
188
|
+
* using the flags.
|
|
189
|
+
*
|
|
190
|
+
* If this function returns an error, the input frame is not touched.
|
|
191
|
+
*
|
|
192
|
+
* @param buffer_src pointer to a buffer source context
|
|
193
|
+
* @param frame a frame, or NULL to mark EOF
|
|
194
|
+
* @param flags a combination of AV_BUFFERSRC_FLAG_*
|
|
195
|
+
* @return >= 0 in case of success, a negative AVERROR code
|
|
196
|
+
* in case of failure
|
|
197
|
+
*/
|
|
198
|
+
av_warn_unused_result
|
|
199
|
+
int av_buffersrc_add_frame_flags(AVFilterContext *buffer_src,
|
|
200
|
+
AVFrame *frame, int flags);
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Close the buffer source after EOF.
|
|
204
|
+
*
|
|
205
|
+
* This is similar to passing NULL to av_buffersrc_add_frame_flags()
|
|
206
|
+
* except it takes the timestamp of the EOF, i.e. the timestamp of the end
|
|
207
|
+
* of the last frame.
|
|
208
|
+
*/
|
|
209
|
+
int av_buffersrc_close(AVFilterContext *ctx, int64_t pts, unsigned flags);
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* @}
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
#endif /* AVFILTER_BUFFERSRC_H */
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Version macros.
|
|
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 AVFILTER_VERSION_H
|
|
22
|
+
#define AVFILTER_VERSION_H
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @file
|
|
26
|
+
* @ingroup lavfi
|
|
27
|
+
* Libavfilter version macros
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#include "libavutil/version.h"
|
|
31
|
+
|
|
32
|
+
#include "version_major.h"
|
|
33
|
+
|
|
34
|
+
#define LIBAVFILTER_VERSION_MINOR 4
|
|
35
|
+
#define LIBAVFILTER_VERSION_MICRO 100
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
|
39
|
+
LIBAVFILTER_VERSION_MINOR, \
|
|
40
|
+
LIBAVFILTER_VERSION_MICRO)
|
|
41
|
+
#define LIBAVFILTER_VERSION AV_VERSION(LIBAVFILTER_VERSION_MAJOR, \
|
|
42
|
+
LIBAVFILTER_VERSION_MINOR, \
|
|
43
|
+
LIBAVFILTER_VERSION_MICRO)
|
|
44
|
+
#define LIBAVFILTER_BUILD LIBAVFILTER_VERSION_INT
|
|
45
|
+
|
|
46
|
+
#define LIBAVFILTER_IDENT "Lavfi" AV_STRINGIFY(LIBAVFILTER_VERSION)
|
|
47
|
+
|
|
48
|
+
#endif /* AVFILTER_VERSION_H */
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Version macros.
|
|
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 AVFILTER_VERSION_MAJOR_H
|
|
22
|
+
#define AVFILTER_VERSION_MAJOR_H
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @file
|
|
26
|
+
* @ingroup lavfi
|
|
27
|
+
* Libavfilter version macros
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#define LIBAVFILTER_VERSION_MAJOR 10
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* FF_API_* defines may be placed below to indicate public API that will be
|
|
34
|
+
* dropped at a future version bump. The defines themselves are not part of
|
|
35
|
+
* the public API and may change, break or disappear at any time.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
#define FF_API_LINK_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 11)
|
|
39
|
+
|
|
40
|
+
#endif /* AVFILTER_VERSION_MAJOR_H */
|