@pproenca/ffmpeg-darwin-x64 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.
Files changed (203) hide show
  1. package/include/aom/aom.h +127 -0
  2. package/include/aom/aom_codec.h +594 -0
  3. package/include/aom/aom_decoder.h +257 -0
  4. package/include/aom/aom_encoder.h +1154 -0
  5. package/include/aom/aom_external_partition.h +452 -0
  6. package/include/aom/aom_frame_buffer.h +84 -0
  7. package/include/aom/aom_image.h +462 -0
  8. package/include/aom/aom_integer.h +60 -0
  9. package/include/aom/aomcx.h +2288 -0
  10. package/include/aom/aomdx.h +607 -0
  11. package/include/dav1d/common.h +94 -0
  12. package/include/dav1d/data.h +117 -0
  13. package/include/dav1d/dav1d.h +329 -0
  14. package/include/dav1d/headers.h +444 -0
  15. package/include/dav1d/picture.h +157 -0
  16. package/include/dav1d/version.h +50 -0
  17. package/include/index.js +1 -0
  18. package/include/libavcodec/ac3_parser.h +36 -0
  19. package/include/libavcodec/adts_parser.h +37 -0
  20. package/include/libavcodec/avcodec.h +3128 -0
  21. package/include/libavcodec/avdct.h +88 -0
  22. package/include/libavcodec/avfft.h +149 -0
  23. package/include/libavcodec/bsf.h +332 -0
  24. package/include/libavcodec/codec.h +382 -0
  25. package/include/libavcodec/codec_desc.h +134 -0
  26. package/include/libavcodec/codec_id.h +669 -0
  27. package/include/libavcodec/codec_par.h +248 -0
  28. package/include/libavcodec/d3d11va.h +109 -0
  29. package/include/libavcodec/defs.h +337 -0
  30. package/include/libavcodec/dirac.h +135 -0
  31. package/include/libavcodec/dv_profile.h +82 -0
  32. package/include/libavcodec/dxva2.h +90 -0
  33. package/include/libavcodec/jni.h +67 -0
  34. package/include/libavcodec/mediacodec.h +103 -0
  35. package/include/libavcodec/packet.h +887 -0
  36. package/include/libavcodec/qsv.h +109 -0
  37. package/include/libavcodec/vdpau.h +171 -0
  38. package/include/libavcodec/version.h +45 -0
  39. package/include/libavcodec/version_major.h +52 -0
  40. package/include/libavcodec/videotoolbox.h +85 -0
  41. package/include/libavcodec/vorbis_parser.h +74 -0
  42. package/include/libavdevice/avdevice.h +397 -0
  43. package/include/libavdevice/version.h +45 -0
  44. package/include/libavdevice/version_major.h +43 -0
  45. package/include/libavfilter/avfilter.h +1379 -0
  46. package/include/libavfilter/buffersink.h +173 -0
  47. package/include/libavfilter/buffersrc.h +215 -0
  48. package/include/libavfilter/version.h +48 -0
  49. package/include/libavfilter/version_major.h +40 -0
  50. package/include/libavformat/avformat.h +3107 -0
  51. package/include/libavformat/avio.h +831 -0
  52. package/include/libavformat/version.h +47 -0
  53. package/include/libavformat/version_major.h +54 -0
  54. package/include/libavutil/adler32.h +63 -0
  55. package/include/libavutil/aes.h +69 -0
  56. package/include/libavutil/aes_ctr.h +99 -0
  57. package/include/libavutil/ambient_viewing_environment.h +72 -0
  58. package/include/libavutil/attributes.h +173 -0
  59. package/include/libavutil/audio_fifo.h +187 -0
  60. package/include/libavutil/avassert.h +78 -0
  61. package/include/libavutil/avconfig.h +6 -0
  62. package/include/libavutil/avstring.h +428 -0
  63. package/include/libavutil/avutil.h +362 -0
  64. package/include/libavutil/base64.h +72 -0
  65. package/include/libavutil/blowfish.h +82 -0
  66. package/include/libavutil/bprint.h +254 -0
  67. package/include/libavutil/bswap.h +105 -0
  68. package/include/libavutil/buffer.h +322 -0
  69. package/include/libavutil/camellia.h +70 -0
  70. package/include/libavutil/cast5.h +80 -0
  71. package/include/libavutil/channel_layout.h +751 -0
  72. package/include/libavutil/common.h +589 -0
  73. package/include/libavutil/cpu.h +145 -0
  74. package/include/libavutil/crc.h +102 -0
  75. package/include/libavutil/csp.h +150 -0
  76. package/include/libavutil/des.h +81 -0
  77. package/include/libavutil/detection_bbox.h +108 -0
  78. package/include/libavutil/dict.h +241 -0
  79. package/include/libavutil/display.h +109 -0
  80. package/include/libavutil/dovi_meta.h +396 -0
  81. package/include/libavutil/downmix_info.h +115 -0
  82. package/include/libavutil/encryption_info.h +205 -0
  83. package/include/libavutil/error.h +129 -0
  84. package/include/libavutil/eval.h +140 -0
  85. package/include/libavutil/executor.h +67 -0
  86. package/include/libavutil/ffversion.h +5 -0
  87. package/include/libavutil/fifo.h +242 -0
  88. package/include/libavutil/file.h +62 -0
  89. package/include/libavutil/film_grain_params.h +322 -0
  90. package/include/libavutil/frame.h +1175 -0
  91. package/include/libavutil/hash.h +264 -0
  92. package/include/libavutil/hdr_dynamic_metadata.h +376 -0
  93. package/include/libavutil/hdr_dynamic_vivid_metadata.h +346 -0
  94. package/include/libavutil/hmac.h +99 -0
  95. package/include/libavutil/hwcontext.h +598 -0
  96. package/include/libavutil/hwcontext_cuda.h +74 -0
  97. package/include/libavutil/hwcontext_d3d11va.h +178 -0
  98. package/include/libavutil/hwcontext_d3d12va.h +142 -0
  99. package/include/libavutil/hwcontext_drm.h +169 -0
  100. package/include/libavutil/hwcontext_dxva2.h +75 -0
  101. package/include/libavutil/hwcontext_mediacodec.h +61 -0
  102. package/include/libavutil/hwcontext_opencl.h +100 -0
  103. package/include/libavutil/hwcontext_qsv.h +87 -0
  104. package/include/libavutil/hwcontext_vaapi.h +117 -0
  105. package/include/libavutil/hwcontext_vdpau.h +44 -0
  106. package/include/libavutil/hwcontext_videotoolbox.h +106 -0
  107. package/include/libavutil/hwcontext_vulkan.h +382 -0
  108. package/include/libavutil/iamf.h +690 -0
  109. package/include/libavutil/imgutils.h +377 -0
  110. package/include/libavutil/intfloat.h +77 -0
  111. package/include/libavutil/intreadwrite.h +677 -0
  112. package/include/libavutil/lfg.h +81 -0
  113. package/include/libavutil/log.h +387 -0
  114. package/include/libavutil/lzo.h +66 -0
  115. package/include/libavutil/macros.h +80 -0
  116. package/include/libavutil/mastering_display_metadata.h +137 -0
  117. package/include/libavutil/mathematics.h +300 -0
  118. package/include/libavutil/md5.h +89 -0
  119. package/include/libavutil/mem.h +607 -0
  120. package/include/libavutil/motion_vector.h +57 -0
  121. package/include/libavutil/murmur3.h +115 -0
  122. package/include/libavutil/opt.h +1187 -0
  123. package/include/libavutil/parseutils.h +197 -0
  124. package/include/libavutil/pixdesc.h +440 -0
  125. package/include/libavutil/pixelutils.h +51 -0
  126. package/include/libavutil/pixfmt.h +716 -0
  127. package/include/libavutil/random_seed.h +57 -0
  128. package/include/libavutil/rational.h +225 -0
  129. package/include/libavutil/rc4.h +69 -0
  130. package/include/libavutil/replaygain.h +50 -0
  131. package/include/libavutil/ripemd.h +83 -0
  132. package/include/libavutil/samplefmt.h +269 -0
  133. package/include/libavutil/sha.h +90 -0
  134. package/include/libavutil/sha512.h +92 -0
  135. package/include/libavutil/spherical.h +243 -0
  136. package/include/libavutil/stereo3d.h +325 -0
  137. package/include/libavutil/tea.h +71 -0
  138. package/include/libavutil/threadmessage.h +115 -0
  139. package/include/libavutil/time.h +56 -0
  140. package/include/libavutil/timecode.h +199 -0
  141. package/include/libavutil/timestamp.h +85 -0
  142. package/include/libavutil/tree.h +137 -0
  143. package/include/libavutil/twofish.h +70 -0
  144. package/include/libavutil/tx.h +210 -0
  145. package/include/libavutil/uuid.h +146 -0
  146. package/include/libavutil/version.h +124 -0
  147. package/include/libavutil/video_enc_params.h +171 -0
  148. package/include/libavutil/video_hint.h +107 -0
  149. package/include/libavutil/xtea.h +94 -0
  150. package/include/libswresample/swresample.h +587 -0
  151. package/include/libswresample/version.h +46 -0
  152. package/include/libswresample/version_major.h +31 -0
  153. package/include/libswscale/swscale.h +460 -0
  154. package/include/libswscale/version.h +44 -0
  155. package/include/libswscale/version_major.h +35 -0
  156. package/include/ogg/config_types.h +26 -0
  157. package/include/ogg/ogg.h +209 -0
  158. package/include/ogg/os_types.h +158 -0
  159. package/include/opus/opus.h +1099 -0
  160. package/include/opus/opus_defines.h +830 -0
  161. package/include/opus/opus_multistream.h +660 -0
  162. package/include/opus/opus_projection.h +568 -0
  163. package/include/opus/opus_types.h +166 -0
  164. package/include/svt-av1/EbDebugMacros.h +88 -0
  165. package/include/svt-av1/EbSvtAv1.h +462 -0
  166. package/include/svt-av1/EbSvtAv1Enc.h +1112 -0
  167. package/include/svt-av1/EbSvtAv1ErrorCodes.h +67 -0
  168. package/include/svt-av1/EbSvtAv1ExtFrameBuf.h +64 -0
  169. package/include/svt-av1/EbSvtAv1Formats.h +126 -0
  170. package/include/svt-av1/EbSvtAv1Metadata.h +156 -0
  171. package/include/vorbis/codec.h +242 -0
  172. package/include/vorbis/vorbisenc.h +435 -0
  173. package/include/vorbis/vorbisfile.h +205 -0
  174. package/include/vpx/vp8.h +136 -0
  175. package/include/vpx/vp8cx.h +1118 -0
  176. package/include/vpx/vp8dx.h +228 -0
  177. package/include/vpx/vpx_codec.h +475 -0
  178. package/include/vpx/vpx_decoder.h +367 -0
  179. package/include/vpx/vpx_encoder.h +1150 -0
  180. package/include/vpx/vpx_ext_ratectrl.h +590 -0
  181. package/include/vpx/vpx_frame_buffer.h +83 -0
  182. package/include/vpx/vpx_image.h +221 -0
  183. package/include/vpx/vpx_integer.h +40 -0
  184. package/include/vpx/vpx_tpl.h +68 -0
  185. package/lib/index.js +1 -0
  186. package/lib/libSvtAv1Enc.a +0 -0
  187. package/lib/libaom.a +0 -0
  188. package/lib/libavcodec.a +0 -0
  189. package/lib/libavdevice.a +0 -0
  190. package/lib/libavfilter.a +0 -0
  191. package/lib/libavformat.a +0 -0
  192. package/lib/libavutil.a +0 -0
  193. package/lib/libdav1d.a +0 -0
  194. package/lib/libogg.a +0 -0
  195. package/lib/libopus.a +0 -0
  196. package/lib/libswresample.a +0 -0
  197. package/lib/libswscale.a +0 -0
  198. package/lib/libvorbis.a +0 -0
  199. package/lib/libvorbisenc.a +0 -0
  200. package/lib/libvorbisfile.a +0 -0
  201. package/lib/libvpx.a +0 -0
  202. package/package.json +35 -0
  203. package/versions.json +1 -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 */