@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.
- 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,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@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
|
+
#ifndef AVUTIL_RANDOM_SEED_H
|
|
22
|
+
#define AVUTIL_RANDOM_SEED_H
|
|
23
|
+
|
|
24
|
+
#include <stddef.h>
|
|
25
|
+
#include <stdint.h>
|
|
26
|
+
/**
|
|
27
|
+
* @addtogroup lavu_crypto
|
|
28
|
+
* @{
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Get a seed to use in conjunction with random functions.
|
|
33
|
+
* This function tries to provide a good seed at a best effort bases.
|
|
34
|
+
* Its possible to call this function multiple times if more bits are needed.
|
|
35
|
+
* It can be quite slow, which is why it should only be used as seed for a faster
|
|
36
|
+
* PRNG. The quality of the seed depends on the platform.
|
|
37
|
+
*/
|
|
38
|
+
uint32_t av_get_random_seed(void);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generate cryptographically secure random data, i.e. suitable for use as
|
|
42
|
+
* encryption keys and similar.
|
|
43
|
+
*
|
|
44
|
+
* @param buf buffer into which the random data will be written
|
|
45
|
+
* @param len size of buf in bytes
|
|
46
|
+
*
|
|
47
|
+
* @retval 0 success, len bytes of random data was written
|
|
48
|
+
* into buf
|
|
49
|
+
* @retval "a negative AVERROR code" random data could not be generated
|
|
50
|
+
*/
|
|
51
|
+
int av_random_bytes(uint8_t *buf, size_t len);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @}
|
|
55
|
+
*/
|
|
56
|
+
|
|
57
|
+
#endif /* AVUTIL_RANDOM_SEED_H */
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* rational numbers
|
|
3
|
+
* Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
|
|
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
|
+
/**
|
|
23
|
+
* @file
|
|
24
|
+
* @ingroup lavu_math_rational
|
|
25
|
+
* Utilties for rational number calculation.
|
|
26
|
+
* @author Michael Niedermayer <michaelni@gmx.at>
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
#ifndef AVUTIL_RATIONAL_H
|
|
30
|
+
#define AVUTIL_RATIONAL_H
|
|
31
|
+
|
|
32
|
+
#include <stdint.h>
|
|
33
|
+
#include <limits.h>
|
|
34
|
+
#include "attributes.h"
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @defgroup lavu_math_rational AVRational
|
|
38
|
+
* @ingroup lavu_math
|
|
39
|
+
* Rational number calculation.
|
|
40
|
+
*
|
|
41
|
+
* While rational numbers can be expressed as floating-point numbers, the
|
|
42
|
+
* conversion process is a lossy one, so are floating-point operations. On the
|
|
43
|
+
* other hand, the nature of FFmpeg demands highly accurate calculation of
|
|
44
|
+
* timestamps. This set of rational number utilities serves as a generic
|
|
45
|
+
* interface for manipulating rational numbers as pairs of numerators and
|
|
46
|
+
* denominators.
|
|
47
|
+
*
|
|
48
|
+
* Many of the functions that operate on AVRational's have the suffix `_q`, in
|
|
49
|
+
* reference to the mathematical symbol "ℚ" (Q) which denotes the set of all
|
|
50
|
+
* rational numbers.
|
|
51
|
+
*
|
|
52
|
+
* @{
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Rational number (pair of numerator and denominator).
|
|
57
|
+
*/
|
|
58
|
+
typedef struct AVRational{
|
|
59
|
+
int num; ///< Numerator
|
|
60
|
+
int den; ///< Denominator
|
|
61
|
+
} AVRational;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Create an AVRational.
|
|
65
|
+
*
|
|
66
|
+
* Useful for compilers that do not support compound literals.
|
|
67
|
+
*
|
|
68
|
+
* @note The return value is not reduced.
|
|
69
|
+
* @see av_reduce()
|
|
70
|
+
*/
|
|
71
|
+
static inline AVRational av_make_q(int num, int den)
|
|
72
|
+
{
|
|
73
|
+
AVRational r = { num, den };
|
|
74
|
+
return r;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Compare two rationals.
|
|
79
|
+
*
|
|
80
|
+
* @param a First rational
|
|
81
|
+
* @param b Second rational
|
|
82
|
+
*
|
|
83
|
+
* @return One of the following values:
|
|
84
|
+
* - 0 if `a == b`
|
|
85
|
+
* - 1 if `a > b`
|
|
86
|
+
* - -1 if `a < b`
|
|
87
|
+
* - `INT_MIN` if one of the values is of the form `0 / 0`
|
|
88
|
+
*/
|
|
89
|
+
static inline int av_cmp_q(AVRational a, AVRational b){
|
|
90
|
+
const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
|
|
91
|
+
|
|
92
|
+
if(tmp) return (int)((tmp ^ a.den ^ b.den)>>63)|1;
|
|
93
|
+
else if(b.den && a.den) return 0;
|
|
94
|
+
else if(a.num && b.num) return (a.num>>31) - (b.num>>31);
|
|
95
|
+
else return INT_MIN;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Convert an AVRational to a `double`.
|
|
100
|
+
* @param a AVRational to convert
|
|
101
|
+
* @return `a` in floating-point form
|
|
102
|
+
* @see av_d2q()
|
|
103
|
+
*/
|
|
104
|
+
static inline double av_q2d(AVRational a){
|
|
105
|
+
return a.num / (double) a.den;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Reduce a fraction.
|
|
110
|
+
*
|
|
111
|
+
* This is useful for framerate calculations.
|
|
112
|
+
*
|
|
113
|
+
* @param[out] dst_num Destination numerator
|
|
114
|
+
* @param[out] dst_den Destination denominator
|
|
115
|
+
* @param[in] num Source numerator
|
|
116
|
+
* @param[in] den Source denominator
|
|
117
|
+
* @param[in] max Maximum allowed values for `dst_num` & `dst_den`
|
|
118
|
+
* @return 1 if the operation is exact, 0 otherwise
|
|
119
|
+
*/
|
|
120
|
+
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Multiply two rationals.
|
|
124
|
+
* @param b First rational
|
|
125
|
+
* @param c Second rational
|
|
126
|
+
* @return b*c
|
|
127
|
+
*/
|
|
128
|
+
AVRational av_mul_q(AVRational b, AVRational c) av_const;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Divide one rational by another.
|
|
132
|
+
* @param b First rational
|
|
133
|
+
* @param c Second rational
|
|
134
|
+
* @return b/c
|
|
135
|
+
*/
|
|
136
|
+
AVRational av_div_q(AVRational b, AVRational c) av_const;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Add two rationals.
|
|
140
|
+
* @param b First rational
|
|
141
|
+
* @param c Second rational
|
|
142
|
+
* @return b+c
|
|
143
|
+
*/
|
|
144
|
+
AVRational av_add_q(AVRational b, AVRational c) av_const;
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Subtract one rational from another.
|
|
148
|
+
* @param b First rational
|
|
149
|
+
* @param c Second rational
|
|
150
|
+
* @return b-c
|
|
151
|
+
*/
|
|
152
|
+
AVRational av_sub_q(AVRational b, AVRational c) av_const;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Invert a rational.
|
|
156
|
+
* @param q value
|
|
157
|
+
* @return 1 / q
|
|
158
|
+
*/
|
|
159
|
+
static av_always_inline AVRational av_inv_q(AVRational q)
|
|
160
|
+
{
|
|
161
|
+
AVRational r = { q.den, q.num };
|
|
162
|
+
return r;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Convert a double precision floating point number to a rational.
|
|
167
|
+
*
|
|
168
|
+
* In case of infinity, the returned value is expressed as `{1, 0}` or
|
|
169
|
+
* `{-1, 0}` depending on the sign.
|
|
170
|
+
*
|
|
171
|
+
* In general rational numbers with |num| <= 1<<26 && |den| <= 1<<26
|
|
172
|
+
* can be recovered exactly from their double representation.
|
|
173
|
+
* (no exceptions were found within 1B random ones)
|
|
174
|
+
*
|
|
175
|
+
* @param d `double` to convert
|
|
176
|
+
* @param max Maximum allowed numerator and denominator
|
|
177
|
+
* @return `d` in AVRational form
|
|
178
|
+
* @see av_q2d()
|
|
179
|
+
*/
|
|
180
|
+
AVRational av_d2q(double d, int max) av_const;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Find which of the two rationals is closer to another rational.
|
|
184
|
+
*
|
|
185
|
+
* @param q Rational to be compared against
|
|
186
|
+
* @param q1 Rational to be tested
|
|
187
|
+
* @param q2 Rational to be tested
|
|
188
|
+
* @return One of the following values:
|
|
189
|
+
* - 1 if `q1` is nearer to `q` than `q2`
|
|
190
|
+
* - -1 if `q2` is nearer to `q` than `q1`
|
|
191
|
+
* - 0 if they have the same distance
|
|
192
|
+
*/
|
|
193
|
+
int av_nearer_q(AVRational q, AVRational q1, AVRational q2);
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Find the value in a list of rationals nearest a given reference rational.
|
|
197
|
+
*
|
|
198
|
+
* @param q Reference rational
|
|
199
|
+
* @param q_list Array of rationals terminated by `{0, 0}`
|
|
200
|
+
* @return Index of the nearest value found in the array
|
|
201
|
+
*/
|
|
202
|
+
int av_find_nearest_q_idx(AVRational q, const AVRational* q_list);
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Convert an AVRational to a IEEE 32-bit `float` expressed in fixed-point
|
|
206
|
+
* format.
|
|
207
|
+
*
|
|
208
|
+
* @param q Rational to be converted
|
|
209
|
+
* @return Equivalent floating-point value, expressed as an unsigned 32-bit
|
|
210
|
+
* integer.
|
|
211
|
+
* @note The returned value is platform-indepedant.
|
|
212
|
+
*/
|
|
213
|
+
uint32_t av_q2intfloat(AVRational q);
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Return the best rational so that a and b are multiple of it.
|
|
217
|
+
* If the resulting denominator is larger than max_den, return def.
|
|
218
|
+
*/
|
|
219
|
+
AVRational av_gcd_q(AVRational a, AVRational b, int max_den, AVRational def);
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @}
|
|
223
|
+
*/
|
|
224
|
+
|
|
225
|
+
#endif /* AVUTIL_RATIONAL_H */
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* RC4 encryption/decryption/pseudo-random number generator
|
|
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_RC4_H
|
|
22
|
+
#define AVUTIL_RC4_H
|
|
23
|
+
|
|
24
|
+
#include <stdint.h>
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @defgroup lavu_rc4 RC4
|
|
28
|
+
* @ingroup lavu_crypto
|
|
29
|
+
* @{
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
typedef struct AVRC4 {
|
|
33
|
+
uint8_t state[256];
|
|
34
|
+
int x, y;
|
|
35
|
+
} AVRC4;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Allocate an AVRC4 context.
|
|
39
|
+
*/
|
|
40
|
+
AVRC4 *av_rc4_alloc(void);
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* @brief Initializes an AVRC4 context.
|
|
44
|
+
*
|
|
45
|
+
* @param d pointer to the AVRC4 context
|
|
46
|
+
* @param key buffer containig the key
|
|
47
|
+
* @param key_bits must be a multiple of 8
|
|
48
|
+
* @param decrypt 0 for encryption, 1 for decryption, currently has no effect
|
|
49
|
+
* @return zero on success, negative value otherwise
|
|
50
|
+
*/
|
|
51
|
+
int av_rc4_init(struct AVRC4 *d, const uint8_t *key, int key_bits, int decrypt);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @brief Encrypts / decrypts using the RC4 algorithm.
|
|
55
|
+
*
|
|
56
|
+
* @param d pointer to the AVRC4 context
|
|
57
|
+
* @param count number of bytes
|
|
58
|
+
* @param dst destination array, can be equal to src
|
|
59
|
+
* @param src source array, can be equal to dst, may be NULL
|
|
60
|
+
* @param iv not (yet) used for RC4, should be NULL
|
|
61
|
+
* @param decrypt 0 for encryption, 1 for decryption, not (yet) used
|
|
62
|
+
*/
|
|
63
|
+
void av_rc4_crypt(struct AVRC4 *d, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @}
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
#endif /* AVUTIL_RC4_H */
|
|
@@ -0,0 +1,50 @@
|
|
|
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 AVUTIL_REPLAYGAIN_H
|
|
20
|
+
#define AVUTIL_REPLAYGAIN_H
|
|
21
|
+
|
|
22
|
+
#include <stdint.h>
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* ReplayGain information (see
|
|
26
|
+
* http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_1.0_specification).
|
|
27
|
+
* The size of this struct is a part of the public ABI.
|
|
28
|
+
*/
|
|
29
|
+
typedef struct AVReplayGain {
|
|
30
|
+
/**
|
|
31
|
+
* Track replay gain in microbels (divide by 100000 to get the value in dB).
|
|
32
|
+
* Should be set to INT32_MIN when unknown.
|
|
33
|
+
*/
|
|
34
|
+
int32_t track_gain;
|
|
35
|
+
/**
|
|
36
|
+
* Peak track amplitude, with 100000 representing full scale (but values
|
|
37
|
+
* may overflow). 0 when unknown.
|
|
38
|
+
*/
|
|
39
|
+
uint32_t track_peak;
|
|
40
|
+
/**
|
|
41
|
+
* Same as track_gain, but for the whole album.
|
|
42
|
+
*/
|
|
43
|
+
int32_t album_gain;
|
|
44
|
+
/**
|
|
45
|
+
* Same as track_peak, but for the whole album,
|
|
46
|
+
*/
|
|
47
|
+
uint32_t album_peak;
|
|
48
|
+
} AVReplayGain;
|
|
49
|
+
|
|
50
|
+
#endif /* AVUTIL_REPLAYGAIN_H */
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
|
|
3
|
+
* Copyright (C) 2013 James Almer <jamrial@gmail.com>
|
|
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
|
+
/**
|
|
23
|
+
* @file
|
|
24
|
+
* @ingroup lavu_ripemd
|
|
25
|
+
* Public header for RIPEMD hash function implementation.
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
#ifndef AVUTIL_RIPEMD_H
|
|
29
|
+
#define AVUTIL_RIPEMD_H
|
|
30
|
+
|
|
31
|
+
#include <stddef.h>
|
|
32
|
+
#include <stdint.h>
|
|
33
|
+
|
|
34
|
+
#include "attributes.h"
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @defgroup lavu_ripemd RIPEMD
|
|
38
|
+
* @ingroup lavu_hash
|
|
39
|
+
* RIPEMD hash function implementation.
|
|
40
|
+
*
|
|
41
|
+
* @{
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
extern const int av_ripemd_size;
|
|
45
|
+
|
|
46
|
+
struct AVRIPEMD;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Allocate an AVRIPEMD context.
|
|
50
|
+
*/
|
|
51
|
+
struct AVRIPEMD *av_ripemd_alloc(void);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Initialize RIPEMD hashing.
|
|
55
|
+
*
|
|
56
|
+
* @param context pointer to the function context (of size av_ripemd_size)
|
|
57
|
+
* @param bits number of bits in digest (128, 160, 256 or 320 bits)
|
|
58
|
+
* @return zero if initialization succeeded, -1 otherwise
|
|
59
|
+
*/
|
|
60
|
+
int av_ripemd_init(struct AVRIPEMD* context, int bits);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Update hash value.
|
|
64
|
+
*
|
|
65
|
+
* @param context hash function context
|
|
66
|
+
* @param data input data to update hash with
|
|
67
|
+
* @param len input data length
|
|
68
|
+
*/
|
|
69
|
+
void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, size_t len);
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Finish hashing and output digest value.
|
|
73
|
+
*
|
|
74
|
+
* @param context hash function context
|
|
75
|
+
* @param digest buffer where output digest value is stored
|
|
76
|
+
*/
|
|
77
|
+
void av_ripemd_final(struct AVRIPEMD* context, uint8_t *digest);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @}
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
#endif /* AVUTIL_RIPEMD_H */
|