@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,47 @@
|
|
|
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 AVFORMAT_VERSION_H
|
|
22
|
+
#define AVFORMAT_VERSION_H
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @file
|
|
26
|
+
* @ingroup libavf
|
|
27
|
+
* Libavformat version macros
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
#include "libavutil/version.h"
|
|
31
|
+
|
|
32
|
+
#include "version_major.h"
|
|
33
|
+
|
|
34
|
+
#define LIBAVFORMAT_VERSION_MINOR 7
|
|
35
|
+
#define LIBAVFORMAT_VERSION_MICRO 100
|
|
36
|
+
|
|
37
|
+
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
|
38
|
+
LIBAVFORMAT_VERSION_MINOR, \
|
|
39
|
+
LIBAVFORMAT_VERSION_MICRO)
|
|
40
|
+
#define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
|
|
41
|
+
LIBAVFORMAT_VERSION_MINOR, \
|
|
42
|
+
LIBAVFORMAT_VERSION_MICRO)
|
|
43
|
+
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
|
|
44
|
+
|
|
45
|
+
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
|
|
46
|
+
|
|
47
|
+
#endif /* AVFORMAT_VERSION_H */
|
|
@@ -0,0 +1,54 @@
|
|
|
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 AVFORMAT_VERSION_MAJOR_H
|
|
22
|
+
#define AVFORMAT_VERSION_MAJOR_H
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @file
|
|
26
|
+
* @ingroup libavf
|
|
27
|
+
* Libavformat version macros
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
|
|
31
|
+
// Also please add any ticket numbers that you believe might be affected here
|
|
32
|
+
#define LIBAVFORMAT_VERSION_MAJOR 61
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* FF_API_* defines may be placed below to indicate public API that will be
|
|
36
|
+
* dropped at a future version bump. The defines themselves are not part of
|
|
37
|
+
* the public API and may change, break or disappear at any time.
|
|
38
|
+
*
|
|
39
|
+
* @note, when bumping the major version it is recommended to manually
|
|
40
|
+
* disable each FF_API_* in its own commit instead of disabling them all
|
|
41
|
+
* at once through the bump. This improves the git bisect-ability of the change.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
45
|
+
#define FF_API_LAVF_SHORTEST (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
46
|
+
#define FF_API_ALLOW_FLUSH (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
47
|
+
#define FF_API_AVSTREAM_SIDE_DATA (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
48
|
+
|
|
49
|
+
#define FF_API_GET_DUR_ESTIMATE_METHOD (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
50
|
+
#define FF_API_INTERNAL_TIMING (LIBAVFORMAT_VERSION_MAJOR < 62)
|
|
51
|
+
|
|
52
|
+
#define FF_API_R_FRAME_RATE 1
|
|
53
|
+
|
|
54
|
+
#endif /* AVFORMAT_VERSION_MAJOR_H */
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* copyright (c) 2006 Mans Rullgard
|
|
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_adler32
|
|
24
|
+
* Public header for Adler-32 hash function implementation.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
#ifndef AVUTIL_ADLER32_H
|
|
28
|
+
#define AVUTIL_ADLER32_H
|
|
29
|
+
|
|
30
|
+
#include <stddef.h>
|
|
31
|
+
#include <stdint.h>
|
|
32
|
+
#include "attributes.h"
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @defgroup lavu_adler32 Adler-32
|
|
36
|
+
* @ingroup lavu_hash
|
|
37
|
+
* Adler-32 hash function implementation.
|
|
38
|
+
*
|
|
39
|
+
* @{
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
typedef uint32_t AVAdler;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Calculate the Adler32 checksum of a buffer.
|
|
46
|
+
*
|
|
47
|
+
* Passing the return value to a subsequent av_adler32_update() call
|
|
48
|
+
* allows the checksum of multiple buffers to be calculated as though
|
|
49
|
+
* they were concatenated.
|
|
50
|
+
*
|
|
51
|
+
* @param adler initial checksum value
|
|
52
|
+
* @param buf pointer to input buffer
|
|
53
|
+
* @param len size of input buffer
|
|
54
|
+
* @return updated checksum
|
|
55
|
+
*/
|
|
56
|
+
AVAdler av_adler32_update(AVAdler adler, const uint8_t *buf,
|
|
57
|
+
size_t len) av_pure;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @}
|
|
61
|
+
*/
|
|
62
|
+
|
|
63
|
+
#endif /* AVUTIL_ADLER32_H */
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* copyright (c) 2007 Michael Niedermayer <michaelni@gmx.at>
|
|
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_AES_H
|
|
22
|
+
#define AVUTIL_AES_H
|
|
23
|
+
|
|
24
|
+
#include <stdint.h>
|
|
25
|
+
|
|
26
|
+
#include "attributes.h"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @defgroup lavu_aes AES
|
|
30
|
+
* @ingroup lavu_crypto
|
|
31
|
+
* @{
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
extern const int av_aes_size;
|
|
35
|
+
|
|
36
|
+
struct AVAES;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Allocate an AVAES context.
|
|
40
|
+
*/
|
|
41
|
+
struct AVAES *av_aes_alloc(void);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Initialize an AVAES context.
|
|
45
|
+
*
|
|
46
|
+
* @param a The AVAES context
|
|
47
|
+
* @param key Pointer to the key
|
|
48
|
+
* @param key_bits 128, 192 or 256
|
|
49
|
+
* @param decrypt 0 for encryption, 1 for decryption
|
|
50
|
+
*/
|
|
51
|
+
int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Encrypt or decrypt a buffer using a previously initialized context.
|
|
55
|
+
*
|
|
56
|
+
* @param a The AVAES context
|
|
57
|
+
* @param dst destination array, can be equal to src
|
|
58
|
+
* @param src source array, can be equal to dst
|
|
59
|
+
* @param count number of 16 byte blocks
|
|
60
|
+
* @param iv initialization vector for CBC mode, if NULL then ECB will be used
|
|
61
|
+
* @param decrypt 0 for encryption, 1 for decryption
|
|
62
|
+
*/
|
|
63
|
+
void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @}
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
#endif /* AVUTIL_AES_H */
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* AES-CTR cipher
|
|
3
|
+
* Copyright (c) 2015 Eran Kornblau <erankor at gmail dot 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
|
+
#ifndef AVUTIL_AES_CTR_H
|
|
23
|
+
#define AVUTIL_AES_CTR_H
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @defgroup lavu_aes_ctr AES-CTR
|
|
27
|
+
* @ingroup lavu_crypto
|
|
28
|
+
* @{
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
#include <stdint.h>
|
|
32
|
+
|
|
33
|
+
#include "attributes.h"
|
|
34
|
+
|
|
35
|
+
#define AES_CTR_KEY_SIZE (16)
|
|
36
|
+
#define AES_CTR_IV_SIZE (8)
|
|
37
|
+
|
|
38
|
+
struct AVAESCTR;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Allocate an AVAESCTR context.
|
|
42
|
+
*/
|
|
43
|
+
struct AVAESCTR *av_aes_ctr_alloc(void);
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Initialize an AVAESCTR context.
|
|
47
|
+
*
|
|
48
|
+
* @param a The AVAESCTR context to initialize
|
|
49
|
+
* @param key encryption key, must have a length of AES_CTR_KEY_SIZE
|
|
50
|
+
*/
|
|
51
|
+
int av_aes_ctr_init(struct AVAESCTR *a, const uint8_t *key);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Release an AVAESCTR context.
|
|
55
|
+
*
|
|
56
|
+
* @param a The AVAESCTR context
|
|
57
|
+
*/
|
|
58
|
+
void av_aes_ctr_free(struct AVAESCTR *a);
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Process a buffer using a previously initialized context.
|
|
62
|
+
*
|
|
63
|
+
* @param a The AVAESCTR context
|
|
64
|
+
* @param dst destination array, can be equal to src
|
|
65
|
+
* @param src source array, can be equal to dst
|
|
66
|
+
* @param size the size of src and dst
|
|
67
|
+
*/
|
|
68
|
+
void av_aes_ctr_crypt(struct AVAESCTR *a, uint8_t *dst, const uint8_t *src, int size);
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Get the current iv
|
|
72
|
+
*/
|
|
73
|
+
const uint8_t* av_aes_ctr_get_iv(struct AVAESCTR *a);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Generate a random iv
|
|
77
|
+
*/
|
|
78
|
+
void av_aes_ctr_set_random_iv(struct AVAESCTR *a);
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Forcefully change the 8-byte iv
|
|
82
|
+
*/
|
|
83
|
+
void av_aes_ctr_set_iv(struct AVAESCTR *a, const uint8_t* iv);
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Forcefully change the "full" 16-byte iv, including the counter
|
|
87
|
+
*/
|
|
88
|
+
void av_aes_ctr_set_full_iv(struct AVAESCTR *a, const uint8_t* iv);
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Increment the top 64 bit of the iv (performed after each frame)
|
|
92
|
+
*/
|
|
93
|
+
void av_aes_ctr_increment_iv(struct AVAESCTR *a);
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @}
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
#endif /* AVUTIL_AES_CTR_H */
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2023 Jan Ekström <jeebjp@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_AMBIENT_VIEWING_ENVIRONMENT_H
|
|
22
|
+
#define AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H
|
|
23
|
+
|
|
24
|
+
#include <stddef.h>
|
|
25
|
+
#include "frame.h"
|
|
26
|
+
#include "rational.h"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Ambient viewing environment metadata as defined by H.274. The values are
|
|
30
|
+
* saved in AVRationals so that they keep their exactness, while allowing for
|
|
31
|
+
* easy access to a double value with f.ex. av_q2d.
|
|
32
|
+
*
|
|
33
|
+
* @note sizeof(AVAmbientViewingEnvironment) is not part of the public ABI, and
|
|
34
|
+
* it must be allocated using av_ambient_viewing_environment_alloc.
|
|
35
|
+
*/
|
|
36
|
+
typedef struct AVAmbientViewingEnvironment {
|
|
37
|
+
/**
|
|
38
|
+
* Environmental illuminance of the ambient viewing environment in lux.
|
|
39
|
+
*/
|
|
40
|
+
AVRational ambient_illuminance;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Normalized x chromaticity coordinate of the environmental ambient light
|
|
44
|
+
* in the nominal viewing environment according to the CIE 1931 definition
|
|
45
|
+
* of x and y as specified in ISO/CIE 11664-1.
|
|
46
|
+
*/
|
|
47
|
+
AVRational ambient_light_x;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Normalized y chromaticity coordinate of the environmental ambient light
|
|
51
|
+
* in the nominal viewing environment according to the CIE 1931 definition
|
|
52
|
+
* of x and y as specified in ISO/CIE 11664-1.
|
|
53
|
+
*/
|
|
54
|
+
AVRational ambient_light_y;
|
|
55
|
+
} AVAmbientViewingEnvironment;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Allocate an AVAmbientViewingEnvironment structure.
|
|
59
|
+
*
|
|
60
|
+
* @return the newly allocated struct or NULL on failure
|
|
61
|
+
*/
|
|
62
|
+
AVAmbientViewingEnvironment *av_ambient_viewing_environment_alloc(size_t *size);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Allocate and add an AVAmbientViewingEnvironment structure to an existing
|
|
66
|
+
* AVFrame as side data.
|
|
67
|
+
*
|
|
68
|
+
* @return the newly allocated struct, or NULL on failure
|
|
69
|
+
*/
|
|
70
|
+
AVAmbientViewingEnvironment *av_ambient_viewing_environment_create_side_data(AVFrame *frame);
|
|
71
|
+
|
|
72
|
+
#endif /* AVUTIL_AMBIENT_VIEWING_ENVIRONMENT_H */
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
|
|
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
|
+
* Macro definitions for various function/variable attributes
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
#ifndef AVUTIL_ATTRIBUTES_H
|
|
27
|
+
#define AVUTIL_ATTRIBUTES_H
|
|
28
|
+
|
|
29
|
+
#ifdef __GNUC__
|
|
30
|
+
# define AV_GCC_VERSION_AT_LEAST(x,y) (__GNUC__ > (x) || __GNUC__ == (x) && __GNUC_MINOR__ >= (y))
|
|
31
|
+
# define AV_GCC_VERSION_AT_MOST(x,y) (__GNUC__ < (x) || __GNUC__ == (x) && __GNUC_MINOR__ <= (y))
|
|
32
|
+
#else
|
|
33
|
+
# define AV_GCC_VERSION_AT_LEAST(x,y) 0
|
|
34
|
+
# define AV_GCC_VERSION_AT_MOST(x,y) 0
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
#ifdef __has_builtin
|
|
38
|
+
# define AV_HAS_BUILTIN(x) __has_builtin(x)
|
|
39
|
+
#else
|
|
40
|
+
# define AV_HAS_BUILTIN(x) 0
|
|
41
|
+
#endif
|
|
42
|
+
|
|
43
|
+
#ifndef av_always_inline
|
|
44
|
+
#if AV_GCC_VERSION_AT_LEAST(3,1)
|
|
45
|
+
# define av_always_inline __attribute__((always_inline)) inline
|
|
46
|
+
#elif defined(_MSC_VER)
|
|
47
|
+
# define av_always_inline __forceinline
|
|
48
|
+
#else
|
|
49
|
+
# define av_always_inline inline
|
|
50
|
+
#endif
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
#ifndef av_extern_inline
|
|
54
|
+
#if defined(__ICL) && __ICL >= 1210 || defined(__GNUC_STDC_INLINE__)
|
|
55
|
+
# define av_extern_inline extern inline
|
|
56
|
+
#else
|
|
57
|
+
# define av_extern_inline inline
|
|
58
|
+
#endif
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
#if AV_GCC_VERSION_AT_LEAST(3,4)
|
|
62
|
+
# define av_warn_unused_result __attribute__((warn_unused_result))
|
|
63
|
+
#else
|
|
64
|
+
# define av_warn_unused_result
|
|
65
|
+
#endif
|
|
66
|
+
|
|
67
|
+
#if AV_GCC_VERSION_AT_LEAST(3,1)
|
|
68
|
+
# define av_noinline __attribute__((noinline))
|
|
69
|
+
#elif defined(_MSC_VER)
|
|
70
|
+
# define av_noinline __declspec(noinline)
|
|
71
|
+
#else
|
|
72
|
+
# define av_noinline
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
#if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
|
|
76
|
+
# define av_pure __attribute__((pure))
|
|
77
|
+
#else
|
|
78
|
+
# define av_pure
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
#if AV_GCC_VERSION_AT_LEAST(2,6) || defined(__clang__)
|
|
82
|
+
# define av_const __attribute__((const))
|
|
83
|
+
#else
|
|
84
|
+
# define av_const
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#if AV_GCC_VERSION_AT_LEAST(4,3) || defined(__clang__)
|
|
88
|
+
# define av_cold __attribute__((cold))
|
|
89
|
+
#else
|
|
90
|
+
# define av_cold
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
#if AV_GCC_VERSION_AT_LEAST(4,1) && !defined(__llvm__)
|
|
94
|
+
# define av_flatten __attribute__((flatten))
|
|
95
|
+
#else
|
|
96
|
+
# define av_flatten
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#if AV_GCC_VERSION_AT_LEAST(3,1)
|
|
100
|
+
# define attribute_deprecated __attribute__((deprecated))
|
|
101
|
+
#elif defined(_MSC_VER)
|
|
102
|
+
# define attribute_deprecated __declspec(deprecated)
|
|
103
|
+
#else
|
|
104
|
+
# define attribute_deprecated
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Disable warnings about deprecated features
|
|
109
|
+
* This is useful for sections of code kept for backward compatibility and
|
|
110
|
+
* scheduled for removal.
|
|
111
|
+
*/
|
|
112
|
+
#ifndef AV_NOWARN_DEPRECATED
|
|
113
|
+
#if AV_GCC_VERSION_AT_LEAST(4,6) || defined(__clang__)
|
|
114
|
+
# define AV_NOWARN_DEPRECATED(code) \
|
|
115
|
+
_Pragma("GCC diagnostic push") \
|
|
116
|
+
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") \
|
|
117
|
+
code \
|
|
118
|
+
_Pragma("GCC diagnostic pop")
|
|
119
|
+
#elif defined(_MSC_VER)
|
|
120
|
+
# define AV_NOWARN_DEPRECATED(code) \
|
|
121
|
+
__pragma(warning(push)) \
|
|
122
|
+
__pragma(warning(disable : 4996)) \
|
|
123
|
+
code; \
|
|
124
|
+
__pragma(warning(pop))
|
|
125
|
+
#else
|
|
126
|
+
# define AV_NOWARN_DEPRECATED(code) code
|
|
127
|
+
#endif
|
|
128
|
+
#endif
|
|
129
|
+
|
|
130
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
131
|
+
# define av_unused __attribute__((unused))
|
|
132
|
+
#else
|
|
133
|
+
# define av_unused
|
|
134
|
+
#endif
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Mark a variable as used and prevent the compiler from optimizing it
|
|
138
|
+
* away. This is useful for variables accessed only from inline
|
|
139
|
+
* assembler without the compiler being aware.
|
|
140
|
+
*/
|
|
141
|
+
#if AV_GCC_VERSION_AT_LEAST(3,1) || defined(__clang__)
|
|
142
|
+
# define av_used __attribute__((used))
|
|
143
|
+
#else
|
|
144
|
+
# define av_used
|
|
145
|
+
#endif
|
|
146
|
+
|
|
147
|
+
#if AV_GCC_VERSION_AT_LEAST(3,3) || defined(__clang__)
|
|
148
|
+
# define av_alias __attribute__((may_alias))
|
|
149
|
+
#else
|
|
150
|
+
# define av_alias
|
|
151
|
+
#endif
|
|
152
|
+
|
|
153
|
+
#if (defined(__GNUC__) || defined(__clang__)) && !defined(__INTEL_COMPILER)
|
|
154
|
+
# define av_uninit(x) x=x
|
|
155
|
+
#else
|
|
156
|
+
# define av_uninit(x) x
|
|
157
|
+
#endif
|
|
158
|
+
|
|
159
|
+
#if defined(__GNUC__) || defined(__clang__)
|
|
160
|
+
# define av_builtin_constant_p __builtin_constant_p
|
|
161
|
+
# define av_printf_format(fmtpos, attrpos) __attribute__((__format__(__printf__, fmtpos, attrpos)))
|
|
162
|
+
#else
|
|
163
|
+
# define av_builtin_constant_p(x) 0
|
|
164
|
+
# define av_printf_format(fmtpos, attrpos)
|
|
165
|
+
#endif
|
|
166
|
+
|
|
167
|
+
#if AV_GCC_VERSION_AT_LEAST(2,5) || defined(__clang__)
|
|
168
|
+
# define av_noreturn __attribute__((noreturn))
|
|
169
|
+
#else
|
|
170
|
+
# define av_noreturn
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
#endif /* AVUTIL_ATTRIBUTES_H */
|