@pproenca/ffmpeg-darwin-arm64 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/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/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/lib/index.js +1 -0
- package/lib/libSvtAv1Enc.a +0 -0
- package/lib/libaom.a +0 -0
- package/lib/libavcodec.a +0 -0
- package/lib/libavdevice.a +0 -0
- package/lib/libavfilter.a +0 -0
- package/lib/libavformat.a +0 -0
- package/lib/libavutil.a +0 -0
- package/lib/libdav1d.a +0 -0
- package/lib/libogg.a +0 -0
- package/lib/libopus.a +0 -0
- package/lib/libswresample.a +0 -0
- package/lib/libswscale.a +0 -0
- package/lib/libvorbis.a +0 -0
- package/lib/libvorbisenc.a +0 -0
- package/lib/libvorbisfile.a +0 -0
- package/lib/libvpx.a +0 -0
- package/package.json +35 -0
- package/versions.json +1 -0
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2013 Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
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
|
+
/**
|
|
22
|
+
* @file
|
|
23
|
+
* @ingroup lavu_video_stereo3d
|
|
24
|
+
* Stereoscopic video
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
#ifndef AVUTIL_STEREO3D_H
|
|
28
|
+
#define AVUTIL_STEREO3D_H
|
|
29
|
+
|
|
30
|
+
#include <stdint.h>
|
|
31
|
+
|
|
32
|
+
#include "frame.h"
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @defgroup lavu_video_stereo3d Stereo3D types and functions
|
|
36
|
+
* @ingroup lavu_video
|
|
37
|
+
*
|
|
38
|
+
* A stereoscopic video file consists in multiple views embedded in a single
|
|
39
|
+
* frame, usually describing two views of a scene. This file describes all
|
|
40
|
+
* possible codec-independent view arrangements.
|
|
41
|
+
*
|
|
42
|
+
* @{
|
|
43
|
+
*/
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* List of possible 3D Types
|
|
47
|
+
*/
|
|
48
|
+
enum AVStereo3DType {
|
|
49
|
+
/**
|
|
50
|
+
* Video is not stereoscopic (and metadata has to be there).
|
|
51
|
+
*/
|
|
52
|
+
AV_STEREO3D_2D,
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Views are next to each other.
|
|
56
|
+
*
|
|
57
|
+
* @code{.unparsed}
|
|
58
|
+
* LLLLRRRR
|
|
59
|
+
* LLLLRRRR
|
|
60
|
+
* LLLLRRRR
|
|
61
|
+
* ...
|
|
62
|
+
* @endcode
|
|
63
|
+
*/
|
|
64
|
+
AV_STEREO3D_SIDEBYSIDE,
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Views are on top of each other.
|
|
68
|
+
*
|
|
69
|
+
* @code{.unparsed}
|
|
70
|
+
* LLLLLLLL
|
|
71
|
+
* LLLLLLLL
|
|
72
|
+
* RRRRRRRR
|
|
73
|
+
* RRRRRRRR
|
|
74
|
+
* @endcode
|
|
75
|
+
*/
|
|
76
|
+
AV_STEREO3D_TOPBOTTOM,
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Views are alternated temporally.
|
|
80
|
+
*
|
|
81
|
+
* @code{.unparsed}
|
|
82
|
+
* frame0 frame1 frame2 ...
|
|
83
|
+
* LLLLLLLL RRRRRRRR LLLLLLLL
|
|
84
|
+
* LLLLLLLL RRRRRRRR LLLLLLLL
|
|
85
|
+
* LLLLLLLL RRRRRRRR LLLLLLLL
|
|
86
|
+
* ... ... ...
|
|
87
|
+
* @endcode
|
|
88
|
+
*/
|
|
89
|
+
AV_STEREO3D_FRAMESEQUENCE,
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Views are packed in a checkerboard-like structure per pixel.
|
|
93
|
+
*
|
|
94
|
+
* @code{.unparsed}
|
|
95
|
+
* LRLRLRLR
|
|
96
|
+
* RLRLRLRL
|
|
97
|
+
* LRLRLRLR
|
|
98
|
+
* ...
|
|
99
|
+
* @endcode
|
|
100
|
+
*/
|
|
101
|
+
AV_STEREO3D_CHECKERBOARD,
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Views are next to each other, but when upscaling
|
|
105
|
+
* apply a checkerboard pattern.
|
|
106
|
+
*
|
|
107
|
+
* @code{.unparsed}
|
|
108
|
+
* LLLLRRRR L L L L R R R R
|
|
109
|
+
* LLLLRRRR => L L L L R R R R
|
|
110
|
+
* LLLLRRRR L L L L R R R R
|
|
111
|
+
* LLLLRRRR L L L L R R R R
|
|
112
|
+
* @endcode
|
|
113
|
+
*/
|
|
114
|
+
AV_STEREO3D_SIDEBYSIDE_QUINCUNX,
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Views are packed per line, as if interlaced.
|
|
118
|
+
*
|
|
119
|
+
* @code{.unparsed}
|
|
120
|
+
* LLLLLLLL
|
|
121
|
+
* RRRRRRRR
|
|
122
|
+
* LLLLLLLL
|
|
123
|
+
* ...
|
|
124
|
+
* @endcode
|
|
125
|
+
*/
|
|
126
|
+
AV_STEREO3D_LINES,
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Views are packed per column.
|
|
130
|
+
*
|
|
131
|
+
* @code{.unparsed}
|
|
132
|
+
* LRLRLRLR
|
|
133
|
+
* LRLRLRLR
|
|
134
|
+
* LRLRLRLR
|
|
135
|
+
* ...
|
|
136
|
+
* @endcode
|
|
137
|
+
*/
|
|
138
|
+
AV_STEREO3D_COLUMNS,
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Video is stereoscopic but the packing is unspecified.
|
|
142
|
+
*/
|
|
143
|
+
AV_STEREO3D_UNSPEC,
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* List of possible view types.
|
|
148
|
+
*/
|
|
149
|
+
enum AVStereo3DView {
|
|
150
|
+
/**
|
|
151
|
+
* Frame contains two packed views.
|
|
152
|
+
*/
|
|
153
|
+
AV_STEREO3D_VIEW_PACKED,
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Frame contains only the left view.
|
|
157
|
+
*/
|
|
158
|
+
AV_STEREO3D_VIEW_LEFT,
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Frame contains only the right view.
|
|
162
|
+
*/
|
|
163
|
+
AV_STEREO3D_VIEW_RIGHT,
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Content is unspecified.
|
|
167
|
+
*/
|
|
168
|
+
AV_STEREO3D_VIEW_UNSPEC,
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* List of possible primary eyes.
|
|
173
|
+
*/
|
|
174
|
+
enum AVStereo3DPrimaryEye {
|
|
175
|
+
/**
|
|
176
|
+
* Neither eye.
|
|
177
|
+
*/
|
|
178
|
+
AV_PRIMARY_EYE_NONE,
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Left eye.
|
|
182
|
+
*/
|
|
183
|
+
AV_PRIMARY_EYE_LEFT,
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Right eye
|
|
187
|
+
*/
|
|
188
|
+
AV_PRIMARY_EYE_RIGHT,
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Inverted views, Right/Bottom represents the left view.
|
|
193
|
+
*/
|
|
194
|
+
#define AV_STEREO3D_FLAG_INVERT (1 << 0)
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Stereo 3D type: this structure describes how two videos are packed
|
|
198
|
+
* within a single video surface, with additional information as needed.
|
|
199
|
+
*
|
|
200
|
+
* @note The struct must be allocated with av_stereo3d_alloc() and
|
|
201
|
+
* its size is not a part of the public ABI.
|
|
202
|
+
*/
|
|
203
|
+
typedef struct AVStereo3D {
|
|
204
|
+
/**
|
|
205
|
+
* How views are packed within the video.
|
|
206
|
+
*/
|
|
207
|
+
enum AVStereo3DType type;
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Additional information about the frame packing.
|
|
211
|
+
*/
|
|
212
|
+
int flags;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Determines which views are packed.
|
|
216
|
+
*/
|
|
217
|
+
enum AVStereo3DView view;
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Which eye is the primary eye when rendering in 2D.
|
|
221
|
+
*/
|
|
222
|
+
enum AVStereo3DPrimaryEye primary_eye;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* The distance between the centres of the lenses of the camera system,
|
|
226
|
+
* in micrometers. Zero if unset.
|
|
227
|
+
*/
|
|
228
|
+
uint32_t baseline;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Relative shift of the left and right images, which changes the zero parallax plane.
|
|
232
|
+
* Range is -1.0 to 1.0. Zero if unset.
|
|
233
|
+
*/
|
|
234
|
+
AVRational horizontal_disparity_adjustment;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Horizontal field of view, in degrees. Zero if unset.
|
|
238
|
+
*/
|
|
239
|
+
AVRational horizontal_field_of_view;
|
|
240
|
+
} AVStereo3D;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Allocate an AVStereo3D structure and set its fields to default values.
|
|
244
|
+
* The resulting struct can be freed using av_freep().
|
|
245
|
+
*
|
|
246
|
+
* @return An AVStereo3D filled with default values or NULL on failure.
|
|
247
|
+
*/
|
|
248
|
+
AVStereo3D *av_stereo3d_alloc(void);
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Allocate an AVStereo3D structure and set its fields to default values.
|
|
252
|
+
* The resulting struct can be freed using av_freep().
|
|
253
|
+
*
|
|
254
|
+
* @return An AVStereo3D filled with default values or NULL on failure.
|
|
255
|
+
*/
|
|
256
|
+
AVStereo3D *av_stereo3d_alloc_size(size_t *size);
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Allocate a complete AVFrameSideData and add it to the frame.
|
|
260
|
+
*
|
|
261
|
+
* @param frame The frame which side data is added to.
|
|
262
|
+
*
|
|
263
|
+
* @return The AVStereo3D structure to be filled by caller.
|
|
264
|
+
*/
|
|
265
|
+
AVStereo3D *av_stereo3d_create_side_data(AVFrame *frame);
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Provide a human-readable name of a given stereo3d type.
|
|
269
|
+
*
|
|
270
|
+
* @param type The input stereo3d type value.
|
|
271
|
+
*
|
|
272
|
+
* @return The name of the stereo3d value, or "unknown".
|
|
273
|
+
*/
|
|
274
|
+
const char *av_stereo3d_type_name(unsigned int type);
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Get the AVStereo3DType form a human-readable name.
|
|
278
|
+
*
|
|
279
|
+
* @param name The input string.
|
|
280
|
+
*
|
|
281
|
+
* @return The AVStereo3DType value, or -1 if not found.
|
|
282
|
+
*/
|
|
283
|
+
int av_stereo3d_from_name(const char *name);
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Provide a human-readable name of a given stereo3d view.
|
|
287
|
+
*
|
|
288
|
+
* @param type The input stereo3d view value.
|
|
289
|
+
*
|
|
290
|
+
* @return The name of the stereo3d view value, or "unknown".
|
|
291
|
+
*/
|
|
292
|
+
const char *av_stereo3d_view_name(unsigned int view);
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Get the AVStereo3DView form a human-readable name.
|
|
296
|
+
*
|
|
297
|
+
* @param name The input string.
|
|
298
|
+
*
|
|
299
|
+
* @return The AVStereo3DView value, or -1 if not found.
|
|
300
|
+
*/
|
|
301
|
+
int av_stereo3d_view_from_name(const char *name);
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Provide a human-readable name of a given stereo3d primary eye.
|
|
305
|
+
*
|
|
306
|
+
* @param type The input stereo3d primary eye value.
|
|
307
|
+
*
|
|
308
|
+
* @return The name of the stereo3d primary eye value, or "unknown".
|
|
309
|
+
*/
|
|
310
|
+
const char *av_stereo3d_primary_eye_name(unsigned int eye);
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Get the AVStereo3DPrimaryEye form a human-readable name.
|
|
314
|
+
*
|
|
315
|
+
* @param name The input string.
|
|
316
|
+
*
|
|
317
|
+
* @return The AVStereo3DPrimaryEye value, or -1 if not found.
|
|
318
|
+
*/
|
|
319
|
+
int av_stereo3d_primary_eye_from_name(const char *name);
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* @}
|
|
323
|
+
*/
|
|
324
|
+
|
|
325
|
+
#endif /* AVUTIL_STEREO3D_H */
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A 32-bit implementation of the TEA algorithm
|
|
3
|
+
* Copyright (c) 2015 Vesselin Bontchev
|
|
4
|
+
*
|
|
5
|
+
* This file is part of FFmpeg.
|
|
6
|
+
*
|
|
7
|
+
* FFmpeg is free software; you can redistribute it and/or
|
|
8
|
+
* modify it under the terms of the GNU Lesser General Public
|
|
9
|
+
* License as published by the Free Software Foundation; either
|
|
10
|
+
* version 2.1 of the License, or (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* FFmpeg is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
* Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public
|
|
18
|
+
* License along with FFmpeg; if not, write to the Free Software
|
|
19
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
#ifndef AVUTIL_TEA_H
|
|
23
|
+
#define AVUTIL_TEA_H
|
|
24
|
+
|
|
25
|
+
#include <stdint.h>
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @file
|
|
29
|
+
* @brief Public header for libavutil TEA algorithm
|
|
30
|
+
* @defgroup lavu_tea TEA
|
|
31
|
+
* @ingroup lavu_crypto
|
|
32
|
+
* @{
|
|
33
|
+
*/
|
|
34
|
+
|
|
35
|
+
extern const int av_tea_size;
|
|
36
|
+
|
|
37
|
+
struct AVTEA;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Allocate an AVTEA context
|
|
41
|
+
* To free the struct: av_free(ptr)
|
|
42
|
+
*/
|
|
43
|
+
struct AVTEA *av_tea_alloc(void);
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Initialize an AVTEA context.
|
|
47
|
+
*
|
|
48
|
+
* @param ctx an AVTEA context
|
|
49
|
+
* @param key a key of 16 bytes used for encryption/decryption
|
|
50
|
+
* @param rounds the number of rounds in TEA (64 is the "standard")
|
|
51
|
+
*/
|
|
52
|
+
void av_tea_init(struct AVTEA *ctx, const uint8_t key[16], int rounds);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Encrypt or decrypt a buffer using a previously initialized context.
|
|
56
|
+
*
|
|
57
|
+
* @param ctx an AVTEA context
|
|
58
|
+
* @param dst destination array, can be equal to src
|
|
59
|
+
* @param src source array, can be equal to dst
|
|
60
|
+
* @param count number of 8 byte blocks
|
|
61
|
+
* @param iv initialization vector for CBC mode, if NULL then ECB will be used
|
|
62
|
+
* @param decrypt 0 for encryption, 1 for decryption
|
|
63
|
+
*/
|
|
64
|
+
void av_tea_crypt(struct AVTEA *ctx, uint8_t *dst, const uint8_t *src,
|
|
65
|
+
int count, uint8_t *iv, int decrypt);
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* @}
|
|
69
|
+
*/
|
|
70
|
+
|
|
71
|
+
#endif /* AVUTIL_TEA_H */
|
|
@@ -0,0 +1,115 @@
|
|
|
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 License
|
|
6
|
+
* 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
|
|
12
|
+
* GNU Lesser General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
15
|
+
* along with FFmpeg; if not, write to the Free Software Foundation, Inc.,
|
|
16
|
+
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
#ifndef AVUTIL_THREADMESSAGE_H
|
|
20
|
+
#define AVUTIL_THREADMESSAGE_H
|
|
21
|
+
|
|
22
|
+
typedef struct AVThreadMessageQueue AVThreadMessageQueue;
|
|
23
|
+
|
|
24
|
+
typedef enum AVThreadMessageFlags {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Perform non-blocking operation.
|
|
28
|
+
* If this flag is set, send and recv operations are non-blocking and
|
|
29
|
+
* return AVERROR(EAGAIN) immediately if they can not proceed.
|
|
30
|
+
*/
|
|
31
|
+
AV_THREAD_MESSAGE_NONBLOCK = 1,
|
|
32
|
+
|
|
33
|
+
} AVThreadMessageFlags;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Allocate a new message queue.
|
|
37
|
+
*
|
|
38
|
+
* @param mq pointer to the message queue
|
|
39
|
+
* @param nelem maximum number of elements in the queue
|
|
40
|
+
* @param elsize size of each element in the queue
|
|
41
|
+
* @return >=0 for success; <0 for error, in particular AVERROR(ENOSYS) if
|
|
42
|
+
* lavu was built without thread support
|
|
43
|
+
*/
|
|
44
|
+
int av_thread_message_queue_alloc(AVThreadMessageQueue **mq,
|
|
45
|
+
unsigned nelem,
|
|
46
|
+
unsigned elsize);
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Free a message queue.
|
|
50
|
+
*
|
|
51
|
+
* The message queue must no longer be in use by another thread.
|
|
52
|
+
*/
|
|
53
|
+
void av_thread_message_queue_free(AVThreadMessageQueue **mq);
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Send a message on the queue.
|
|
57
|
+
*/
|
|
58
|
+
int av_thread_message_queue_send(AVThreadMessageQueue *mq,
|
|
59
|
+
void *msg,
|
|
60
|
+
unsigned flags);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Receive a message from the queue.
|
|
64
|
+
*/
|
|
65
|
+
int av_thread_message_queue_recv(AVThreadMessageQueue *mq,
|
|
66
|
+
void *msg,
|
|
67
|
+
unsigned flags);
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Set the sending error code.
|
|
71
|
+
*
|
|
72
|
+
* If the error code is set to non-zero, av_thread_message_queue_send() will
|
|
73
|
+
* return it immediately. Conventional values, such as AVERROR_EOF or
|
|
74
|
+
* AVERROR(EAGAIN), can be used to cause the sending thread to stop or
|
|
75
|
+
* suspend its operation.
|
|
76
|
+
*/
|
|
77
|
+
void av_thread_message_queue_set_err_send(AVThreadMessageQueue *mq,
|
|
78
|
+
int err);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Set the receiving error code.
|
|
82
|
+
*
|
|
83
|
+
* If the error code is set to non-zero, av_thread_message_queue_recv() will
|
|
84
|
+
* return it immediately when there are no longer available messages.
|
|
85
|
+
* Conventional values, such as AVERROR_EOF or AVERROR(EAGAIN), can be used
|
|
86
|
+
* to cause the receiving thread to stop or suspend its operation.
|
|
87
|
+
*/
|
|
88
|
+
void av_thread_message_queue_set_err_recv(AVThreadMessageQueue *mq,
|
|
89
|
+
int err);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Set the optional free message callback function which will be called if an
|
|
93
|
+
* operation is removing messages from the queue.
|
|
94
|
+
*/
|
|
95
|
+
void av_thread_message_queue_set_free_func(AVThreadMessageQueue *mq,
|
|
96
|
+
void (*free_func)(void *msg));
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Return the current number of messages in the queue.
|
|
100
|
+
*
|
|
101
|
+
* @return the current number of messages or AVERROR(ENOSYS) if lavu was built
|
|
102
|
+
* without thread support
|
|
103
|
+
*/
|
|
104
|
+
int av_thread_message_queue_nb_elems(AVThreadMessageQueue *mq);
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Flush the message queue
|
|
108
|
+
*
|
|
109
|
+
* This function is mostly equivalent to reading and free-ing every message
|
|
110
|
+
* except that it will be done in a single operation (no lock/unlock between
|
|
111
|
+
* reads).
|
|
112
|
+
*/
|
|
113
|
+
void av_thread_message_flush(AVThreadMessageQueue *mq);
|
|
114
|
+
|
|
115
|
+
#endif /* AVUTIL_THREADMESSAGE_H */
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2000-2003 Fabrice Bellard
|
|
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_TIME_H
|
|
22
|
+
#define AVUTIL_TIME_H
|
|
23
|
+
|
|
24
|
+
#include <stdint.h>
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get the current time in microseconds.
|
|
28
|
+
*/
|
|
29
|
+
int64_t av_gettime(void);
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get the current time in microseconds since some unspecified starting point.
|
|
33
|
+
* On platforms that support it, the time comes from a monotonic clock
|
|
34
|
+
* This property makes this time source ideal for measuring relative time.
|
|
35
|
+
* The returned values may not be monotonic on platforms where a monotonic
|
|
36
|
+
* clock is not available.
|
|
37
|
+
*/
|
|
38
|
+
int64_t av_gettime_relative(void);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Indicates with a boolean result if the av_gettime_relative() time source
|
|
42
|
+
* is monotonic.
|
|
43
|
+
*/
|
|
44
|
+
int av_gettime_relative_is_monotonic(void);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Sleep for a period of time. Although the duration is expressed in
|
|
48
|
+
* microseconds, the actual delay may be rounded to the precision of the
|
|
49
|
+
* system timer.
|
|
50
|
+
*
|
|
51
|
+
* @param usec Number of microseconds to sleep.
|
|
52
|
+
* @return zero on success or (negative) error code.
|
|
53
|
+
*/
|
|
54
|
+
int av_usleep(unsigned usec);
|
|
55
|
+
|
|
56
|
+
#endif /* AVUTIL_TIME_H */
|