mirror of
https://github.com/vgmstream/vgmstream.git
synced 2025-01-29 19:37:30 +01:00
Updated FFmpeg.
This commit is contained in:
parent
4c8d6cffbc
commit
948cd89c24
@ -615,6 +615,7 @@ enum AVCodecID {
|
||||
AV_CODEC_ID_PAF_AUDIO,
|
||||
AV_CODEC_ID_ON2AVC,
|
||||
AV_CODEC_ID_DSS_SP,
|
||||
AV_CODEC_ID_CODEC2,
|
||||
|
||||
AV_CODEC_ID_FFWAVESYNTH = 0x15800,
|
||||
AV_CODEC_ID_SONIC,
|
||||
@ -634,6 +635,8 @@ enum AVCodecID {
|
||||
AV_CODEC_ID_ATRAC3PAL,
|
||||
AV_CODEC_ID_DOLBY_E,
|
||||
AV_CODEC_ID_APTX,
|
||||
AV_CODEC_ID_APTX_HD,
|
||||
AV_CODEC_ID_SBC,
|
||||
|
||||
/* subtitle codecs */
|
||||
AV_CODEC_ID_FIRST_SUBTITLE = 0x17000, ///< A dummy ID pointing at the start of subtitle codecs.
|
||||
@ -767,7 +770,7 @@ typedef struct AVCodecDescriptor {
|
||||
* Note: If the first 23 bits of the additional bytes are not 0, then damaged
|
||||
* MPEG bitstreams could cause overread and segfault.
|
||||
*/
|
||||
#define AV_INPUT_BUFFER_PADDING_SIZE 32
|
||||
#define AV_INPUT_BUFFER_PADDING_SIZE 64
|
||||
|
||||
/**
|
||||
* @ingroup lavc_encoding
|
||||
@ -1045,6 +1048,20 @@ typedef struct RcOverride{
|
||||
*/
|
||||
#define AV_CODEC_CAP_LOSSLESS 0x80000000
|
||||
|
||||
/**
|
||||
* Codec is backed by a hardware implementation. Typically used to
|
||||
* identify a non-hwaccel hardware decoder. For information about hwaccels, use
|
||||
* avcodec_get_hw_config() instead.
|
||||
*/
|
||||
#define AV_CODEC_CAP_HARDWARE (1 << 18)
|
||||
|
||||
/**
|
||||
* Codec is potentially backed by a hardware implementation, but not
|
||||
* necessarily. This is used instead of AV_CODEC_CAP_HARDWARE, if the
|
||||
* implementation provides some sort of internal fallback.
|
||||
*/
|
||||
#define AV_CODEC_CAP_HYBRID (1 << 19)
|
||||
|
||||
/**
|
||||
* Pan Scan area.
|
||||
* This specifies the area which should be displayed.
|
||||
@ -2903,6 +2920,14 @@ typedef struct AVCodecContext {
|
||||
#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
|
||||
#define FF_PROFILE_HEVC_REXT 4
|
||||
|
||||
#define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0
|
||||
#define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1
|
||||
#define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2
|
||||
#define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3
|
||||
#define FF_PROFILE_MJPEG_JPEG_LS 0xf7
|
||||
|
||||
#define FF_PROFILE_SBC_MSBC 1
|
||||
|
||||
/**
|
||||
* level
|
||||
* - encoding: Set by user.
|
||||
@ -3240,6 +3265,20 @@ typedef struct AVCodecContext {
|
||||
* (with the display dimensions being determined by the crop_* fields).
|
||||
*/
|
||||
int apply_cropping;
|
||||
|
||||
/*
|
||||
* Video decoding only. Sets the number of extra hardware frames which
|
||||
* the decoder will allocate for use by the caller. This must be set
|
||||
* before avcodec_open2() is called.
|
||||
*
|
||||
* Some hardware decoders require all frames that they will use for
|
||||
* output to be defined in advance before decoding starts. For such
|
||||
* decoders, the hardware frame pool must therefore be of a fixed size.
|
||||
* The extra frames set here are on top of any number that the decoder
|
||||
* needs internally in order to operate normally (for example, frames
|
||||
* used as reference pictures).
|
||||
*/
|
||||
int extra_hw_frames;
|
||||
} AVCodecContext;
|
||||
|
||||
#if FF_API_CODEC_GET_SET
|
||||
@ -3377,6 +3416,18 @@ typedef struct AVCodec {
|
||||
const AVClass *priv_class; ///< AVClass for the private context
|
||||
const AVProfile *profiles; ///< array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
|
||||
|
||||
/**
|
||||
* Group name of the codec implementation.
|
||||
* This is a short symbolic name of the wrapper backing this codec. A
|
||||
* wrapper uses some kind of external implementation for the codec, such
|
||||
* as an external library, or a codec implementation provided by the OS or
|
||||
* the hardware.
|
||||
* If this field is NULL, this is a builtin, libavcodec native codec.
|
||||
* If non-NULL, this will be the suffix in AVCodec.name in most cases
|
||||
* (usually AVCodec.name will be of the form "<codec_name>_<wrapper_name>").
|
||||
*/
|
||||
const char *wrapper_name;
|
||||
|
||||
/*****************************************************************
|
||||
* No fields below this line are part of the public API. They
|
||||
* may not be used outside of libavcodec and can be changed and
|
||||
@ -3413,6 +3464,9 @@ typedef struct AVCodec {
|
||||
|
||||
/**
|
||||
* Initialize codec static data, called from avcodec_register().
|
||||
*
|
||||
* This is not intended for time consuming operations as it is
|
||||
* run for every codec regardless of that codec being used.
|
||||
*/
|
||||
void (*init_static_data)(struct AVCodec *codec);
|
||||
|
||||
@ -3952,12 +4006,26 @@ typedef struct AVCodecParameters {
|
||||
int seek_preroll;
|
||||
} AVCodecParameters;
|
||||
|
||||
/**
|
||||
* Iterate over all registered codecs.
|
||||
*
|
||||
* @param opaque a pointer where libavcodec will store the iteration state. Must
|
||||
* point to NULL to start the iteration.
|
||||
*
|
||||
* @return the next registered codec or NULL when the iteration is
|
||||
* finished
|
||||
*/
|
||||
const AVCodec *av_codec_iterate(void **opaque);
|
||||
|
||||
#if FF_API_NEXT
|
||||
/**
|
||||
* If c is NULL, returns the first registered codec,
|
||||
* if c is non-NULL, returns the next registered codec after c,
|
||||
* or NULL if c is the last one.
|
||||
*/
|
||||
attribute_deprecated
|
||||
AVCodec *av_codec_next(const AVCodec *c);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Return the LIBAVCODEC_VERSION_INT constant.
|
||||
@ -3974,6 +4042,7 @@ const char *avcodec_configuration(void);
|
||||
*/
|
||||
const char *avcodec_license(void);
|
||||
|
||||
#if FF_API_NEXT
|
||||
/**
|
||||
* Register the codec codec and initialize libavcodec.
|
||||
*
|
||||
@ -3982,6 +4051,7 @@ const char *avcodec_license(void);
|
||||
*
|
||||
* @see avcodec_register_all()
|
||||
*/
|
||||
attribute_deprecated
|
||||
void avcodec_register(AVCodec *codec);
|
||||
|
||||
/**
|
||||
@ -3994,7 +4064,9 @@ void avcodec_register(AVCodec *codec);
|
||||
* @see av_register_codec_parser
|
||||
* @see av_register_bitstream_filter
|
||||
*/
|
||||
attribute_deprecated
|
||||
void avcodec_register_all(void);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Allocate an AVCodecContext and set its fields to default values. The
|
||||
@ -5094,8 +5166,21 @@ typedef struct AVCodecParser {
|
||||
struct AVCodecParser *next;
|
||||
} AVCodecParser;
|
||||
|
||||
/**
|
||||
* Iterate over all registered codec parsers.
|
||||
*
|
||||
* @param opaque a pointer where libavcodec will store the iteration state. Must
|
||||
* point to NULL to start the iteration.
|
||||
*
|
||||
* @return the next registered codec parser or NULL when the iteration is
|
||||
* finished
|
||||
*/
|
||||
const AVCodecParser *av_parser_iterate(void **opaque);
|
||||
|
||||
attribute_deprecated
|
||||
AVCodecParser *av_parser_next(const AVCodecParser *c);
|
||||
|
||||
attribute_deprecated
|
||||
void av_register_codec_parser(AVCodecParser *parser);
|
||||
AVCodecParserContext *av_parser_init(int codec_id);
|
||||
|
||||
@ -5671,7 +5756,7 @@ attribute_deprecated
|
||||
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf);
|
||||
/**
|
||||
* @deprecated the old bitstream filtering API (using AVBitStreamFilterContext)
|
||||
* is deprecated. Use av_bsf_next() from the new bitstream filtering API (using
|
||||
* is deprecated. Use av_bsf_iterate() from the new bitstream filtering API (using
|
||||
* AVBSFContext).
|
||||
*/
|
||||
attribute_deprecated
|
||||
@ -5693,7 +5778,11 @@ const AVBitStreamFilter *av_bsf_get_by_name(const char *name);
|
||||
* @return the next registered bitstream filter or NULL when the iteration is
|
||||
* finished
|
||||
*/
|
||||
const AVBitStreamFilter *av_bsf_iterate(void **opaque);
|
||||
#if FF_API_NEXT
|
||||
attribute_deprecated
|
||||
const AVBitStreamFilter *av_bsf_next(void **opaque);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Allocate a context for a given bitstream filter. The caller must fill in the
|
||||
@ -5904,9 +5993,11 @@ attribute_deprecated
|
||||
AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel);
|
||||
#endif
|
||||
|
||||
|
||||
#if FF_API_LOCKMGR
|
||||
/**
|
||||
* Lock operation used by lockmgr
|
||||
*
|
||||
* @deprecated Deprecated together with av_lockmgr_register().
|
||||
*/
|
||||
enum AVLockOp {
|
||||
AV_LOCK_CREATE, ///< Create a mutex
|
||||
@ -5937,8 +6028,13 @@ enum AVLockOp {
|
||||
* mechanism (i.e. do not use a single static object to
|
||||
* implement your lock manager). If cb is set to NULL the
|
||||
* lockmgr will be unregistered.
|
||||
*
|
||||
* @deprecated This function does nothing, and always returns 0. Be sure to
|
||||
* build with thread support to get basic thread safety.
|
||||
*/
|
||||
attribute_deprecated
|
||||
int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Get the type of the given codec.
|
||||
|
@ -28,8 +28,8 @@
|
||||
#include "libavutil/version.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 58
|
||||
#define LIBAVCODEC_VERSION_MINOR 6
|
||||
#define LIBAVCODEC_VERSION_MICRO 102
|
||||
#define LIBAVCODEC_VERSION_MINOR 14
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
@ -126,6 +126,12 @@
|
||||
#ifndef FF_API_USER_VISIBLE_AVHWACCEL
|
||||
#define FF_API_USER_VISIBLE_AVHWACCEL (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_LOCKMGR
|
||||
#define FF_API_LOCKMGR (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_NEXT
|
||||
#define FF_API_NEXT (LIBAVCODEC_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* AVCODEC_VERSION_H */
|
||||
|
@ -845,6 +845,7 @@ typedef struct AVStreamInternal AVStreamInternal;
|
||||
#define AV_DISPOSITION_CAPTIONS 0x10000
|
||||
#define AV_DISPOSITION_DESCRIPTIONS 0x20000
|
||||
#define AV_DISPOSITION_METADATA 0x40000
|
||||
#define AV_DISPOSITION_DEPENDENT 0x80000 ///< dependent audio stream (mix_type=0 in mpegts)
|
||||
|
||||
/**
|
||||
* Options for behavior on timestamp wrap detection.
|
||||
@ -986,12 +987,17 @@ typedef struct AVStream {
|
||||
*/
|
||||
AVRational r_frame_rate;
|
||||
|
||||
#if FF_API_LAVF_FFSERVER
|
||||
/**
|
||||
* String containing pairs of key and values describing recommended encoder configuration.
|
||||
* Pairs are separated by ','.
|
||||
* Keys are separated from values by '='.
|
||||
*
|
||||
* @deprecated unused
|
||||
*/
|
||||
attribute_deprecated
|
||||
char *recommended_encoder_configuration;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Codec parameters associated with this stream. Allocated and freed by
|
||||
@ -1014,10 +1020,10 @@ typedef struct AVStream {
|
||||
*****************************************************************
|
||||
*/
|
||||
|
||||
#define MAX_STD_TIMEBASES (30*12+30+3+6)
|
||||
/**
|
||||
* Stream information used internally by avformat_find_stream_info()
|
||||
*/
|
||||
#define MAX_STD_TIMEBASES (30*12+30+3+6)
|
||||
struct {
|
||||
int64_t last_dts;
|
||||
int64_t duration_gcd;
|
||||
@ -1217,11 +1223,13 @@ attribute_deprecated
|
||||
AVRational av_stream_get_r_frame_rate(const AVStream *s);
|
||||
attribute_deprecated
|
||||
void av_stream_set_r_frame_rate(AVStream *s, AVRational r);
|
||||
#if FF_API_LAVF_FFSERVER
|
||||
attribute_deprecated
|
||||
char* av_stream_get_recommended_encoder_configuration(const AVStream *s);
|
||||
attribute_deprecated
|
||||
void av_stream_set_recommended_encoder_configuration(AVStream *s, char *configuration);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
|
||||
|
||||
@ -1268,6 +1276,11 @@ typedef struct AVProgram {
|
||||
|
||||
#define AVFMTCTX_NOHEADER 0x0001 /**< signal that no header is present
|
||||
(streams are added dynamically) */
|
||||
#define AVFMTCTX_UNSEEKABLE 0x0002 /**< signal that the stream is definitely
|
||||
not seekable, and attempts to call the
|
||||
seek function will fail. For some
|
||||
network protocols (e.g. HLS), this can
|
||||
change dynamically at runtime. */
|
||||
|
||||
typedef struct AVChapter {
|
||||
int id; ///< unique ID to identify the chapter
|
||||
@ -1382,13 +1395,33 @@ typedef struct AVFormatContext {
|
||||
*/
|
||||
AVStream **streams;
|
||||
|
||||
#if FF_API_FORMAT_FILENAME
|
||||
/**
|
||||
* input or output filename
|
||||
*
|
||||
* - demuxing: set by avformat_open_input()
|
||||
* - muxing: may be set by the caller before avformat_write_header()
|
||||
*
|
||||
* @deprecated Use url instead.
|
||||
*/
|
||||
attribute_deprecated
|
||||
char filename[1024];
|
||||
#endif
|
||||
|
||||
/**
|
||||
* input or output URL. Unlike the old filename field, this field has no
|
||||
* length restriction.
|
||||
*
|
||||
* - demuxing: set by avformat_open_input(), initialized to an empty
|
||||
* string if url parameter was NULL in avformat_open_input().
|
||||
* - muxing: may be set by the caller before calling avformat_write_header()
|
||||
* (or avformat_init_output() if that is called first) to a string
|
||||
* which is freeable by av_free(). Set to an empty string if it
|
||||
* was NULL in avformat_init_output().
|
||||
*
|
||||
* Freed by libavformat in avformat_free_context().
|
||||
*/
|
||||
char *url;
|
||||
|
||||
/**
|
||||
* Position of the first frame of the component, in
|
||||
@ -1449,7 +1482,7 @@ typedef struct AVFormatContext {
|
||||
#endif
|
||||
#define AVFMT_FLAG_FAST_SEEK 0x80000 ///< Enable fast, but inaccurate seeks for some formats
|
||||
#define AVFMT_FLAG_SHORTEST 0x100000 ///< Stop muxing when the shortest stream stops.
|
||||
#define AVFMT_FLAG_AUTO_BSF 0x200000 ///< Wait for packet data before writing a header, and add bitstream filters as requested by the muxer
|
||||
#define AVFMT_FLAG_AUTO_BSF 0x200000 ///< Add bitstream filters as requested by the muxer
|
||||
|
||||
/**
|
||||
* Maximum size of the data read from input for determining
|
||||
@ -1852,7 +1885,7 @@ typedef struct AVFormatContext {
|
||||
*/
|
||||
char *protocol_whitelist;
|
||||
|
||||
/*
|
||||
/**
|
||||
* A callback for opening new IO streams.
|
||||
*
|
||||
* Whenever a muxer or a demuxer needs to open an IO stream (typically from
|
||||
@ -1979,6 +2012,7 @@ const char *avformat_configuration(void);
|
||||
*/
|
||||
const char *avformat_license(void);
|
||||
|
||||
#if FF_API_NEXT
|
||||
/**
|
||||
* Initialize libavformat and register all the muxers, demuxers and
|
||||
* protocols. If you do not call this function, then you can select
|
||||
@ -1987,31 +2021,44 @@ const char *avformat_license(void);
|
||||
* @see av_register_input_format()
|
||||
* @see av_register_output_format()
|
||||
*/
|
||||
attribute_deprecated
|
||||
void av_register_all(void);
|
||||
|
||||
attribute_deprecated
|
||||
void av_register_input_format(AVInputFormat *format);
|
||||
attribute_deprecated
|
||||
void av_register_output_format(AVOutputFormat *format);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Do global initialization of network components. This is optional,
|
||||
* but recommended, since it avoids the overhead of implicitly
|
||||
* doing the setup for each session.
|
||||
* Do global initialization of network libraries. This is optional,
|
||||
* and not recommended anymore.
|
||||
*
|
||||
* Calling this function will become mandatory if using network
|
||||
* protocols at some major version bump.
|
||||
* This functions only exists to work around thread-safety issues
|
||||
* with older GnuTLS or OpenSSL libraries. If libavformat is linked
|
||||
* to newer versions of those libraries, or if you do not use them,
|
||||
* calling this function is unnecessary. Otherwise, you need to call
|
||||
* this function before any other threads using them are started.
|
||||
*
|
||||
* This function will be deprecated once support for older GnuTLS and
|
||||
* OpenSSL libraries is removed, and this function has no purpose
|
||||
* anymore.
|
||||
*/
|
||||
int avformat_network_init(void);
|
||||
|
||||
/**
|
||||
* Undo the initialization done by avformat_network_init.
|
||||
* Undo the initialization done by avformat_network_init. Call it only
|
||||
* once for each time you called avformat_network_init.
|
||||
*/
|
||||
int avformat_network_deinit(void);
|
||||
|
||||
#if FF_API_NEXT
|
||||
/**
|
||||
* If f is NULL, returns the first registered input format,
|
||||
* if f is non-NULL, returns the next registered input format after f
|
||||
* or NULL if f is the last one.
|
||||
*/
|
||||
attribute_deprecated
|
||||
AVInputFormat *av_iformat_next(const AVInputFormat *f);
|
||||
|
||||
/**
|
||||
@ -2019,7 +2066,31 @@ AVInputFormat *av_iformat_next(const AVInputFormat *f);
|
||||
* if f is non-NULL, returns the next registered output format after f
|
||||
* or NULL if f is the last one.
|
||||
*/
|
||||
attribute_deprecated
|
||||
AVOutputFormat *av_oformat_next(const AVOutputFormat *f);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Iterate over all registered muxers.
|
||||
*
|
||||
* @param opaque a pointer where libavformat will store the iteration state. Must
|
||||
* point to NULL to start the iteration.
|
||||
*
|
||||
* @return the next registered muxer or NULL when the iteration is
|
||||
* finished
|
||||
*/
|
||||
const AVOutputFormat *av_muxer_iterate(void **opaque);
|
||||
|
||||
/**
|
||||
* Iterate over all registered demuxers.
|
||||
*
|
||||
* @param opaque a pointer where libavformat will store the iteration state. Must
|
||||
* point to NULL to start the iteration.
|
||||
*
|
||||
* @return the next registered demuxer or NULL when the iteration is
|
||||
* finished
|
||||
*/
|
||||
const AVInputFormat *av_demuxer_iterate(void **opaque);
|
||||
|
||||
/**
|
||||
* Allocate an AVFormatContext.
|
||||
|
@ -32,8 +32,8 @@
|
||||
// Major bumping may affect Ticket5467, 5421, 5451(compatibility with Chromium)
|
||||
// Also please add any ticket numbers that you believe might be affected here
|
||||
#define LIBAVFORMAT_VERSION_MAJOR 58
|
||||
#define LIBAVFORMAT_VERSION_MINOR 2
|
||||
#define LIBAVFORMAT_VERSION_MICRO 103
|
||||
#define LIBAVFORMAT_VERSION_MINOR 10
|
||||
#define LIBAVFORMAT_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
|
||||
LIBAVFORMAT_VERSION_MINOR, \
|
||||
@ -82,6 +82,18 @@
|
||||
#ifndef FF_API_OLD_AVIO_EOF_0
|
||||
#define FF_API_OLD_AVIO_EOF_0 (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_LAVF_FFSERVER
|
||||
#define FF_API_LAVF_FFSERVER (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_FORMAT_FILENAME
|
||||
#define FF_API_FORMAT_FILENAME (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_OLD_RTSP_OPTIONS
|
||||
#define FF_API_OLD_RTSP_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
#ifndef FF_API_NEXT
|
||||
#define FF_API_NEXT (LIBAVFORMAT_VERSION_MAJOR < 59)
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef FF_API_R_FRAME_RATE
|
||||
|
@ -67,10 +67,15 @@ const uint8_t* av_aes_ctr_get_iv(struct AVAESCTR *a);
|
||||
void av_aes_ctr_set_random_iv(struct AVAESCTR *a);
|
||||
|
||||
/**
|
||||
* Forcefully change the iv
|
||||
* Forcefully change the 8-byte iv
|
||||
*/
|
||||
void av_aes_ctr_set_iv(struct AVAESCTR *a, const uint8_t* iv);
|
||||
|
||||
/**
|
||||
* Forcefully change the "full" 16-byte iv, including the counter
|
||||
*/
|
||||
void av_aes_ctr_set_full_iv(struct AVAESCTR *a, const uint8_t* iv);
|
||||
|
||||
/**
|
||||
* Increment the top 64 bit of the iv (performed after each frame)
|
||||
*/
|
||||
|
@ -162,7 +162,7 @@ static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, in
|
||||
*/
|
||||
static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
|
||||
{
|
||||
if (a&(~0xFF)) return (-a)>>31;
|
||||
if (a&(~0xFF)) return (~a)>>31;
|
||||
else return a;
|
||||
}
|
||||
|
||||
@ -184,7 +184,7 @@ static av_always_inline av_const int8_t av_clip_int8_c(int a)
|
||||
*/
|
||||
static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
|
||||
{
|
||||
if (a&(~0xFFFF)) return (-a)>>31;
|
||||
if (a&(~0xFFFF)) return (~a)>>31;
|
||||
else return a;
|
||||
}
|
||||
|
||||
@ -264,13 +264,37 @@ static av_always_inline int av_sat_add32_c(int a, int b)
|
||||
*
|
||||
* @param a first value
|
||||
* @param b value doubled and added to a
|
||||
* @return sum with signed saturation
|
||||
* @return sum sat(a + sat(2*b)) with signed saturation
|
||||
*/
|
||||
static av_always_inline int av_sat_dadd32_c(int a, int b)
|
||||
{
|
||||
return av_sat_add32(a, av_sat_add32(b, b));
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtract two signed 32-bit values with saturation.
|
||||
*
|
||||
* @param a one value
|
||||
* @param b another value
|
||||
* @return difference with signed saturation
|
||||
*/
|
||||
static av_always_inline int av_sat_sub32_c(int a, int b)
|
||||
{
|
||||
return av_clipl_int32((int64_t)a - b);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subtract a doubled value from another value with saturation at both stages.
|
||||
*
|
||||
* @param a first value
|
||||
* @param b value doubled and subtracted from a
|
||||
* @return difference sat(a - sat(2*b)) with signed saturation
|
||||
*/
|
||||
static av_always_inline int av_sat_dsub32_c(int a, int b)
|
||||
{
|
||||
return av_sat_sub32(a, av_sat_add32(b, b));
|
||||
}
|
||||
|
||||
/**
|
||||
* Clip a float value into the amin-amax range.
|
||||
* @param a value to clip
|
||||
@ -517,6 +541,12 @@ static av_always_inline av_const int av_parity_c(uint32_t v)
|
||||
#ifndef av_sat_dadd32
|
||||
# define av_sat_dadd32 av_sat_dadd32_c
|
||||
#endif
|
||||
#ifndef av_sat_sub32
|
||||
# define av_sat_sub32 av_sat_sub32_c
|
||||
#endif
|
||||
#ifndef av_sat_dsub32
|
||||
# define av_sat_dsub32 av_sat_dsub32_c
|
||||
#endif
|
||||
#ifndef av_clipf
|
||||
# define av_clipf av_clipf_c
|
||||
#endif
|
||||
|
@ -55,6 +55,7 @@
|
||||
#define AV_CPU_FLAG_FMA3 0x10000 ///< Haswell FMA3 functions
|
||||
#define AV_CPU_FLAG_BMI1 0x20000 ///< Bit Manipulation Instruction Set 1
|
||||
#define AV_CPU_FLAG_BMI2 0x40000 ///< Bit Manipulation Instruction Set 2
|
||||
#define AV_CPU_FLAG_AVX512 0x100000 ///< AVX-512 functions: requires OS support even if YMM/ZMM registers aren't used
|
||||
|
||||
#define AV_CPU_FLAG_ALTIVEC 0x0001 ///< standard
|
||||
#define AV_CPU_FLAG_VSX 0x0002 ///< ISA 2.06
|
||||
|
@ -54,6 +54,7 @@ typedef enum {
|
||||
AV_CRC_32_IEEE_LE, /*< reversed bitorder version of AV_CRC_32_IEEE */
|
||||
AV_CRC_16_ANSI_LE, /*< reversed bitorder version of AV_CRC_16_ANSI */
|
||||
AV_CRC_24_IEEE,
|
||||
AV_CRC_8_EBU,
|
||||
AV_CRC_MAX, /*< Not part of public API! Do not use outside libavutil. */
|
||||
}AVCRCId;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Automatically generated by version.sh, do not manually edit! */
|
||||
#ifndef AVUTIL_FFVERSION_H
|
||||
#define AVUTIL_FFVERSION_H
|
||||
#define FFMPEG_VERSION "N-89370-g26825d962f"
|
||||
#define FFMPEG_VERSION "N-90388-g2ddc6b4392"
|
||||
#endif /* AVUTIL_FFVERSION_H */
|
||||
|
@ -141,6 +141,23 @@ enum AVFrameSideDataType {
|
||||
* metadata key entry "name".
|
||||
*/
|
||||
AV_FRAME_DATA_ICC_PROFILE,
|
||||
|
||||
#if FF_API_FRAME_QP
|
||||
/**
|
||||
* Implementation-specific description of the format of AV_FRAME_QP_TABLE_DATA.
|
||||
* The contents of this side data are undocumented and internal; use
|
||||
* av_frame_set_qp_table() and av_frame_get_qp_table() to access this in a
|
||||
* meaningful way instead.
|
||||
*/
|
||||
AV_FRAME_DATA_QP_TABLE_PROPERTIES,
|
||||
|
||||
/**
|
||||
* Raw QP table data. Its format is described by
|
||||
* AV_FRAME_DATA_QP_TABLE_PROPERTIES. Use av_frame_set_qp_table() and
|
||||
* av_frame_get_qp_table() to access this instead.
|
||||
*/
|
||||
AV_FRAME_DATA_QP_TABLE_DATA,
|
||||
#endif
|
||||
};
|
||||
|
||||
enum AVActiveFormatDescription {
|
||||
@ -529,6 +546,7 @@ typedef struct AVFrame {
|
||||
attribute_deprecated
|
||||
int qscale_type;
|
||||
|
||||
attribute_deprecated
|
||||
AVBufferRef *qp_table_buf;
|
||||
#endif
|
||||
/**
|
||||
@ -800,6 +818,22 @@ AVFrameSideData *av_frame_new_side_data(AVFrame *frame,
|
||||
enum AVFrameSideDataType type,
|
||||
int size);
|
||||
|
||||
/**
|
||||
* Add a new side data to a frame from an existing AVBufferRef
|
||||
*
|
||||
* @param frame a frame to which the side data should be added
|
||||
* @param type the type of the added side data
|
||||
* @param buf an AVBufferRef to add as side data. The ownership of
|
||||
* the reference is transferred to the frame.
|
||||
*
|
||||
* @return newly added side data on success, NULL on error. On failure
|
||||
* the frame is unchanged and the AVBufferRef remains owned by
|
||||
* the caller.
|
||||
*/
|
||||
AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame *frame,
|
||||
enum AVFrameSideDataType type,
|
||||
AVBufferRef *buf);
|
||||
|
||||
/**
|
||||
* @return a pointer to the side data of a given type on success, NULL if there
|
||||
* is no side data with such type in this frame.
|
||||
|
@ -29,6 +29,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "version.h"
|
||||
|
||||
/**
|
||||
* @defgroup lavu_hash Hash Functions
|
||||
* @ingroup lavu_crypto
|
||||
@ -179,7 +181,11 @@ void av_hash_init(struct AVHashContext *ctx);
|
||||
* @param[in] src Data to be added to the hash context
|
||||
* @param[in] len Size of the additional data
|
||||
*/
|
||||
#if FF_API_CRYPTO_SIZE_T
|
||||
void av_hash_update(struct AVHashContext *ctx, const uint8_t *src, int len);
|
||||
#else
|
||||
void av_hash_update(struct AVHashContext *ctx, const uint8_t *src, size_t len);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Finalize a hash context and compute the actual hash value.
|
||||
|
@ -35,6 +35,7 @@ enum AVHWDeviceType {
|
||||
AV_HWDEVICE_TYPE_D3D11VA,
|
||||
AV_HWDEVICE_TYPE_DRM,
|
||||
AV_HWDEVICE_TYPE_OPENCL,
|
||||
AV_HWDEVICE_TYPE_MEDIACODEC,
|
||||
};
|
||||
|
||||
typedef struct AVHWDeviceInternal AVHWDeviceInternal;
|
||||
|
36
ext_includes/libavutil/hwcontext_mediacodec.h
Normal file
36
ext_includes/libavutil/hwcontext_mediacodec.h
Normal file
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* FFmpeg is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* FFmpeg is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#ifndef AVUTIL_HWCONTEXT_MEDIACODEC_H
|
||||
#define AVUTIL_HWCONTEXT_MEDIACODEC_H
|
||||
|
||||
/**
|
||||
* MediaCodec details.
|
||||
*
|
||||
* Allocated as AVHWDeviceContext.hwctx
|
||||
*/
|
||||
typedef struct AVMediaCodecDeviceContext {
|
||||
/**
|
||||
* android/view/Surface handle, to be filled by the user.
|
||||
*
|
||||
* This is the default surface used by decoders on this device.
|
||||
*/
|
||||
void *surface;
|
||||
} AVMediaCodecDeviceContext;
|
||||
|
||||
#endif /* AVUTIL_HWCONTEXT_MEDIACODEC_H */
|
@ -224,7 +224,7 @@ union unaligned_16 { uint16_t l; } __attribute__((packed)) av_alias;
|
||||
# define AV_RN(s, p) (((const union unaligned_##s *) (p))->l)
|
||||
# define AV_WN(s, p, v) ((((union unaligned_##s *) (p))->l) = (v))
|
||||
|
||||
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64)) && AV_HAVE_FAST_UNALIGNED
|
||||
#elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_X64) || defined(_M_ARM64)) && AV_HAVE_FAST_UNALIGNED
|
||||
|
||||
# define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p)))
|
||||
# define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v))
|
||||
|
@ -1,4 +1,4 @@
|
||||
/**
|
||||
/*
|
||||
* Copyright (c) 2016 Neil Birkbeck <neil.birkbeck@gmail.com>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
|
@ -29,6 +29,8 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "version.h"
|
||||
|
||||
/**
|
||||
* @defgroup lavu_murmur3 Murmur3
|
||||
* @ingroup lavu_hash
|
||||
@ -97,7 +99,11 @@ void av_murmur3_init(struct AVMurMur3 *c);
|
||||
* @param[in] src Input data to update hash with
|
||||
* @param[in] len Number of bytes to read from `src`
|
||||
*/
|
||||
#if FF_API_CRYPTO_SIZE_T
|
||||
void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, int len);
|
||||
#else
|
||||
void av_murmur3_update(struct AVMurMur3 *c, const uint8_t *src, size_t len);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Finish hashing and output digest value.
|
||||
|
@ -229,15 +229,15 @@ enum AVOptionType{
|
||||
AV_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
|
||||
AV_OPT_TYPE_DICT,
|
||||
AV_OPT_TYPE_UINT64,
|
||||
AV_OPT_TYPE_CONST = 128,
|
||||
AV_OPT_TYPE_IMAGE_SIZE = MKBETAG('S','I','Z','E'), ///< offset must point to two consecutive integers
|
||||
AV_OPT_TYPE_PIXEL_FMT = MKBETAG('P','F','M','T'),
|
||||
AV_OPT_TYPE_SAMPLE_FMT = MKBETAG('S','F','M','T'),
|
||||
AV_OPT_TYPE_VIDEO_RATE = MKBETAG('V','R','A','T'), ///< offset must point to AVRational
|
||||
AV_OPT_TYPE_DURATION = MKBETAG('D','U','R',' '),
|
||||
AV_OPT_TYPE_COLOR = MKBETAG('C','O','L','R'),
|
||||
AV_OPT_TYPE_CHANNEL_LAYOUT = MKBETAG('C','H','L','A'),
|
||||
AV_OPT_TYPE_BOOL = MKBETAG('B','O','O','L'),
|
||||
AV_OPT_TYPE_CONST,
|
||||
AV_OPT_TYPE_IMAGE_SIZE, ///< offset must point to two consecutive integers
|
||||
AV_OPT_TYPE_PIXEL_FMT,
|
||||
AV_OPT_TYPE_SAMPLE_FMT,
|
||||
AV_OPT_TYPE_VIDEO_RATE, ///< offset must point to AVRational
|
||||
AV_OPT_TYPE_DURATION,
|
||||
AV_OPT_TYPE_COLOR,
|
||||
AV_OPT_TYPE_CHANNEL_LAYOUT,
|
||||
AV_OPT_TYPE_BOOL,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -287,6 +287,7 @@ typedef struct AVOption {
|
||||
* This flag only makes sense when AV_OPT_FLAG_EXPORT is also set.
|
||||
*/
|
||||
#define AV_OPT_FLAG_READONLY 128
|
||||
#define AV_OPT_FLAG_BSF_PARAM (1<<8) ///< a generic parameter which can be set by the user for bit stream filtering
|
||||
#define AV_OPT_FLAG_FILTERING_PARAM (1<<16) ///< a generic parameter which can be set by the user for filtering
|
||||
//FIXME think about enc-audio, ... style flags
|
||||
|
||||
|
@ -66,7 +66,11 @@ int av_ripemd_init(struct AVRIPEMD* context, int bits);
|
||||
* @param data input data to update hash with
|
||||
* @param len input data length
|
||||
*/
|
||||
#if FF_API_CRYPTO_SIZE_T
|
||||
void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, unsigned int len);
|
||||
#else
|
||||
void av_ripemd_update(struct AVRIPEMD* context, const uint8_t* data, size_t len);
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Finish hashing and output digest value.
|
||||
|
@ -79,7 +79,7 @@
|
||||
*/
|
||||
|
||||
#define LIBAVUTIL_VERSION_MAJOR 56
|
||||
#define LIBAVUTIL_VERSION_MINOR 4
|
||||
#define LIBAVUTIL_VERSION_MINOR 11
|
||||
#define LIBAVUTIL_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||
|
@ -11,6 +11,7 @@ EXPORTS
|
||||
av_bsf_get_class
|
||||
av_bsf_get_null_filter
|
||||
av_bsf_init
|
||||
av_bsf_iterate
|
||||
av_bsf_list_alloc
|
||||
av_bsf_list_append
|
||||
av_bsf_list_append2
|
||||
@ -30,6 +31,7 @@ EXPORTS
|
||||
av_codec_get_seek_preroll
|
||||
av_codec_is_decoder
|
||||
av_codec_is_encoder
|
||||
av_codec_iterate
|
||||
av_codec_next
|
||||
av_codec_set_chroma_intra_matrix
|
||||
av_codec_set_codec_descriptor
|
||||
@ -100,6 +102,7 @@ EXPORTS
|
||||
av_parser_change
|
||||
av_parser_close
|
||||
av_parser_init
|
||||
av_parser_iterate
|
||||
av_parser_next
|
||||
av_parser_parse2
|
||||
av_picture_copy
|
||||
@ -195,10 +198,17 @@ EXPORTS
|
||||
avpriv_dca_convert_bitstream
|
||||
avpriv_dca_parse_core_frame_header
|
||||
avpriv_dca_sample_rates
|
||||
avpriv_exif_decode_ifd
|
||||
avpriv_find_pix_fmt
|
||||
avpriv_find_start_code
|
||||
avpriv_get_raw_pix_fmt_tags
|
||||
avpriv_lock_avformat
|
||||
avpriv_mjpeg_bits_ac_chrominance
|
||||
avpriv_mjpeg_bits_ac_luminance
|
||||
avpriv_mjpeg_bits_dc_chrominance
|
||||
avpriv_mjpeg_bits_dc_luminance
|
||||
avpriv_mjpeg_val_ac_chrominance
|
||||
avpriv_mjpeg_val_ac_luminance
|
||||
avpriv_mjpeg_val_dc
|
||||
avpriv_mpa_bitrate_tab
|
||||
avpriv_mpa_freq_tab
|
||||
avpriv_mpeg4audio_get_config
|
||||
@ -210,5 +220,4 @@ EXPORTS
|
||||
avpriv_split_xiph_headers
|
||||
avpriv_tak_parse_streaminfo
|
||||
avpriv_toupper4
|
||||
avpriv_unlock_avformat
|
||||
avsubtitle_free
|
||||
|
Binary file not shown.
@ -1,17 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAABCAAGBQJaJHR1AAoJEI1smEefSt5xalQP/jnuQwo9iUfxYkwaRV033J4u
|
||||
Qn14RWui7avcFQBD/tEeywX2ZxZkC8ijv1DDGdjuosW3kBroKjWwW54hLfVuaqYL
|
||||
fVGE3p25atJ9pKGQYXKlqWlZo9OvhM+0h8Fa8qH23e3XNTo0lJFFom28epeWAh5t
|
||||
ojijpvBSCxUSYhSBNPmZyrxK3MREoH7vBhzVOkdxAb3xVFvZO9bhGNKhQUaWdmzV
|
||||
4KLqMNfzoK5xP3hItlwdjrhbYPHcU1OQwwhHlpz1rNqZyN47UB+3r4OPO9zqLDUb
|
||||
4YPrqVmzA1YygsbE7kWifxKjGGr5LObtlOvPOHMWrtDa8wdfFXU6vs+qLLZoEphg
|
||||
jSDDNjD39NWK1cxg0IOpXEQA7mE33ejegQ/5CrFPGBimd0c0Xk3FQrnXcCMIL5NC
|
||||
X73+hE1bayd9HXdvtI3CPT/M7kkh1cD9loRDr5ajZ0WjkgzSBTLCcZGm+uOjC+eZ
|
||||
ov5nU5erpUMGCYSnhGfsOao8NTJlFrvZniDXc6XZBfNPcZ0Ryqmk6o7XAlUuF7TS
|
||||
5TqFCLYxWsdb8BRz/NxTyw9zJ37cKtc9Vdt6fbavcinKx6+CJrQ3M10dedWQripE
|
||||
ZUJFIEtjHbKPtmiqHFFzjP5oNPl8VGZXrGzKXZwgXmo9HD2B+bwoOwpmlDjJyyGS
|
||||
cX/ze0Rq6oTmkxPxNHAh
|
||||
=wTAE
|
||||
iQIzBAABCAAdFiEEdiLr51NrDwQ29PFjjWyYR59K3nEFAlqx1TAACgkQjWyYR59K
|
||||
3nGMPw/8CKcaUz0CW0q0gaTSlPRij4nSLkdoyV4HOolo5CV8/Ee2JWJzQSp8gNYu
|
||||
6/EAG/jgjoiwyTf7ajXhbNGFQfEq6tLTGRGQny3vdrWKI4OFlj3GIiMrNm2LVFFP
|
||||
MWtd8luU6VBHT2DV2/wwpvpXEFu44IWb14N1UBMyxlo8Cs9o3/6hZ1I5hwGbQ/HL
|
||||
Tl9bz/U9E7JXNR1mXlPZDiQx5QnD/Lhmw8xynEw03YNG2YB8G+kujlf1egxbvrzy
|
||||
htr3BZtxY6OmiLzv4Vf4/KhtYaRV249zN3ydINLHOwXT/gN/hGk/u9RQpigABKCU
|
||||
lrTVx5HjLvuYd7FmMsmLuCKpUI900RhqqvmlQB/7Scppo3I/fAfZoIojH7P3rH8V
|
||||
ipdjBqxoeZN+fhvRK3IH0VBq7d/o1MTDUR1+8NXjmjdSqWXxDYD9izfFMi3BKm8o
|
||||
jx8b0l2CPPJl7q/xZpcTpNzOWLFmTA9IEwmh0LjR1TSvRK0gWoaSsYBCel6zkuRp
|
||||
8QyLCeky7uQo2XRfSNF+ZtfX0Zg3IMARzir250oY+T/ssb1DrBBYmmeNbNxYFFdi
|
||||
qp2fznTzhdNGkgq1TmhoowvQ5i5HEG6JfgFRNLL4l3tUek2QNjpW032HPt08kqhG
|
||||
34QbcvRE80Mr/jH5x3G2klE2CLQSnynPEzO4F942x8et1LmwyVI=
|
||||
=qCwb
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -5,6 +5,7 @@ EXPORTS
|
||||
av_codec_get_id
|
||||
av_codec_get_tag
|
||||
av_codec_get_tag2
|
||||
av_demuxer_iterate
|
||||
av_demuxer_open
|
||||
av_dump_format
|
||||
av_filename_number_test
|
||||
@ -47,6 +48,7 @@ EXPORTS
|
||||
av_interleaved_write_frame
|
||||
av_interleaved_write_uncoded_frame
|
||||
av_match_ext
|
||||
av_muxer_iterate
|
||||
av_new_program
|
||||
av_oformat_next
|
||||
av_pkt_dump_log2
|
||||
@ -163,11 +165,5 @@ EXPORTS
|
||||
avpriv_io_delete
|
||||
avpriv_io_move
|
||||
avpriv_new_chapter
|
||||
avpriv_register_devices
|
||||
avpriv_set_pts_info
|
||||
ffio_open_dyn_packet_buf
|
||||
ffio_set_buf_size
|
||||
ffurl_close
|
||||
ffurl_closep
|
||||
ffurl_open
|
||||
ffurl_open_whitelist
|
||||
ffurl_write
|
||||
|
Binary file not shown.
@ -1,17 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAABCAAGBQJaJHR2AAoJEI1smEefSt5x3/wP/j50DZychoqJNHUlAvhaixS3
|
||||
0i0e9+3Q4MMj/YtkEXu31LTXHW7OYUYpIzyxMCTUnSfAgCiuET8UXUVV2scZjzAz
|
||||
6bTLcgamdbzhE51FCPF07+pYWN5jcKTMv2gJXael6KpdH6TnLOJZRlHyFJf1689G
|
||||
hzfZ+zQlN4q5GLm1ZVXiTFPV2iFO4xJdTTBy4u+y68o7oa4ceDIGMOor8wNmaOE3
|
||||
S8yt8WdG97rXiKFa7ErT8fS+qER8FQ/yaVWIlng8tEhLamWF+dWJD3n18SMNjQgX
|
||||
xUV4IfZAgzVR1F+HjVpCUsAMqWB2wUHxUC/wa8kbApfVCdMQyVJVAUA03VkRieJb
|
||||
TOczG9DhTqIjOOgZVtqqxynP9JmIw4g2AtwR0jIGBiClVDkOtQPeAlcUgNCYi0CH
|
||||
vdB7qYfvZbxUNwuKa95jmsBbIPG09vqbw8N9MmBB/UQYv8MqVfPOEge81S+qM/+j
|
||||
Qt9f03PlU4bAviFvDO7xHZ3/OjdWtxtr0XeVfSZmscJIYoQkaK6j5fKbQN5xsIlf
|
||||
wegAVF1Ah/WMz+f4xKcywlX4BhG5vFdfGeYvqVmTlIEACmtrUOnL0zFkT9+Lpi5b
|
||||
TUbS3eipMEgcMtLt52cutinTGH7bj12vWjaKgbeJEOdOUlQ1wIvgdP+h6f1TsH5h
|
||||
0JRgX4rLuL5j7bxvHn8/
|
||||
=38ue
|
||||
iQIzBAABCAAdFiEEdiLr51NrDwQ29PFjjWyYR59K3nEFAlqx1TAACgkQjWyYR59K
|
||||
3nHIng//R1X9FrxcMubJrEwRckmXYkdBANdjbLkGjaSA+pgUGqtB/t5r6JiMHW9C
|
||||
POULXwaFBxVd/OKnx54NwFSiZiSQiq9MKCS8tdO61F/A6E623QoIx5lqYiuTIZ+S
|
||||
8qboxiFksMrLzQ/I5P5603QOJ5/mbzam1vBIhf9NwdsUmUp5aD8bOZGj1K9OBE+E
|
||||
uEqbQh1kmaPOiQo0pwxCPvu12Aiq2dVQcGqmkacZUr0B2LENh60SUAnYiiashlgH
|
||||
hGiiZeBoET/eKXwHV3Q8rTx3RpuroF2lonAb6PXlJWVfU37D5GqHpKWA5pU3W26c
|
||||
vWHYS9B1KMHefZonBJzVZiDp9zwVFDtL730NJcsQE61zGU7CxJBc8O1pVblSnQy6
|
||||
022EP8euKZoKGmtj5m2HS8W85tf+CbdhsqK6oP7NVYW2ka0xReck8mStbHk6Q/yR
|
||||
+1ccGtq5VIVoMztAW1nlYsUovqcKe2LUwddKLMMOihmQDz2kSXrd9XbGbHsccpKE
|
||||
m40jkoMvuIR6fiz0YZGGTD133xtYNt1IF01wWPW3BLPIMq0BfYq0PJv7aqQZkgUy
|
||||
RYdHfsw4vgQrrr0+w1l/CftC92RdtnbdXFmZZB0huQvfTJ9JUCrS++ce/GZzIPMS
|
||||
6Fvui9MV+wexsZjFnHKGXbnRxBiXfFRx6E9xMz0NTVZGQ0l2qE0=
|
||||
=Py3f
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -11,6 +11,7 @@ EXPORTS
|
||||
av_aes_ctr_get_iv
|
||||
av_aes_ctr_increment_iv
|
||||
av_aes_ctr_init
|
||||
av_aes_ctr_set_full_iv
|
||||
av_aes_ctr_set_iv
|
||||
av_aes_ctr_set_random_iv
|
||||
av_aes_init
|
||||
@ -175,6 +176,7 @@ EXPORTS
|
||||
av_frame_make_writable
|
||||
av_frame_move_ref
|
||||
av_frame_new_side_data
|
||||
av_frame_new_side_data_from_buf
|
||||
av_frame_ref
|
||||
av_frame_remove_side_data
|
||||
av_frame_set_best_effort_timestamp
|
||||
|
Binary file not shown.
@ -1,17 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAABCAAGBQJaJHR3AAoJEI1smEefSt5xf6AQAKnODDHuqxmdj7bub9WHccNK
|
||||
t/jTr/CdfaO+0xKAuAPTqgcMwovIK0A+H/We/WjRqMW5cHGaRladKmg/z7JRrNDd
|
||||
qf8doUMGDW6UszF0B8oJ/8EV14f+W4VfQcA5li6oVM3MjW+zPCc577n5hP9d+qXW
|
||||
i3zuocx+4Hy5Tw73OMuZ3mIrlae4DaiN34Jd1g1YmN02iAnf3Xo4LBkb51dNq5gq
|
||||
CbTn1nWTII/qN9WKQlPD4IzW2wp5YCMpD6UZO0qFMwzGlb+lB4uo2XVAQCxjSPLF
|
||||
RummkfAxr54KJGFh9Qf3SUSfSk0w2AQHpcXjgufN9XI974kI7OfO7bwZj1CPMQR0
|
||||
QivjF92tn5rZWV4EDeohWZhdpQcOT/6MzJUOdINQyY1CzgNTOlPxf8+tJ5xfUbo9
|
||||
4zi3zFL3cNyDX8trY6vaArynl9amSzICrQGcRMWjdwMPcslQlQ/W4wwYK2cVyJXH
|
||||
AKu+cxNmrNXi0X5V51qFSXmG6LpYqFBDLKRbz4G/YMY+0lgceRPOen1Gqu5RQZBn
|
||||
43QTM7+FW9DdexlYNXFyQ+X2eIgVn4wZiLrWT82s4T0wncaxClbDXZ1bWQWmnyr/
|
||||
wiNLbj+vEzaiW3hPpYF232o4BYy11DD3WetDXQUhFeEwX3eOOZzs+o/BoP5kWTZO
|
||||
eE6LGjazOkCRHXs3/BT7
|
||||
=TRdQ
|
||||
iQIzBAABCAAdFiEEdiLr51NrDwQ29PFjjWyYR59K3nEFAlqx1TEACgkQjWyYR59K
|
||||
3nFvCA/8DfkMhBKR/Yc8razgdOWI9tZVMvGJKkN1y1c0Zj+Ti9Vzf/E7APiCx0e/
|
||||
NvnDeSZwO8P7TlOJUNaWg2tgHxrroBWrNGw3BBPmEpiMQ4muL1TnzRy8la1NeMiD
|
||||
27UMSYu3bcMRQKJ1imYOK6MqZYBFTM9bFBIAPI3muBCBqltqIUtAel2/LaUx9gmu
|
||||
rz66oetqOVCTA7to3e/ceE52tW7BaEdblEdJ4yscqiOIlcNLXsCb6/yuPEc/lgda
|
||||
lucILs/EfXBpFrlHVIslZyh8SPmmzb/buKmGwu/d8H58Hn0NkzJZG1kRIdC+F5h2
|
||||
XflslMqOHlmWMfGSk12T7jBYFejTtD6XneMMmRF/cqVjf1Y02HZGCyR/1IUltPkT
|
||||
luDrp1nBYFs7SauDygDU6pawUGhGmfndVWBAvl0YAc6VpqToUkySIfvsowTto+pQ
|
||||
XzkiE1yj1kfvXVg5EaX2298Nl3IMHlm8JkXlCADOlmcucIxdIu2q3M8jfMya06Hy
|
||||
qWXE5Br3+GJaamAKoapEefCemyVhM06oTJmHTJ4os3SRilUquV08tI347lFYfutn
|
||||
8c2JZVWwsmYa/BMbXBpqJqD027flGOW3HMcBuZA8vP9zGP3cxgJe5l9R9QsJ1t9y
|
||||
1KB8fXavyQVFsDwAHCscMaJE5wMeheR4QbgblchR+AZVh7S/+qk=
|
||||
=fOm7
|
||||
-----END PGP SIGNATURE-----
|
||||
|
@ -22,7 +22,7 @@
|
||||
--enable-swresample
|
||||
--enable-parser=ac3,mpegaudio,xma,vorbis,opus
|
||||
--enable-demuxer=ac3,asf,xwma,mov,oma,ogg,tak,dsf,wav,aac,dts,dtshd,mp3,bink,flac,msf,xmv,caf,ape,smacker,pcm_s8,spdif,mpc,mpc8
|
||||
--enable-decoder=ac3,wmapro,wmav1,wmav2,wmavoice,wmalossless,xma1,xma2,dca,tak,dsd_lsbf,dsd_lsbf_planar,dsd_mbf,dsd_msbf_planar,aac,atrac3,atrac3p,mp3float,bink,binkaudio_dct,binkaudio_rdft,flac,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,vorbis,ape,adpcm_ima_qt,smackaud,opus,pcm_s8,pcm_s8_planar,mpc7,mpc8
|
||||
--enable-decoder=ac3,wmapro,wmav1,wmav2,wmavoice,wmalossless,xma1,xma2,dca,tak,dsd_lsbf,dsd_lsbf_planar,dsd_mbf,dsd_msbf_planar,aac,atrac3,atrac3p,mp3float,bink,binkaudio_dct,binkaudio_rdft,flac,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar,vorbis,ape,adpcm_ima_qt,smackaud,opus,pcm_s8,pcm_s8_planar,mpc7,mpc8,alac
|
||||
--disable-parser=mpeg4video,h263
|
||||
--disable-decoder=mpeg2video,h263,h264,mpeg1video,mpeg2video,mpeg4,hevc,vp9
|
||||
--disable-cuvid
|
||||
|
33
ext_libs/media-autobuild_suite.ini
Normal file
33
ext_libs/media-autobuild_suite.ini
Normal file
@ -0,0 +1,33 @@
|
||||
[compiler list]
|
||||
msys2Arch=2
|
||||
arch=2
|
||||
license2=2
|
||||
standalone=2
|
||||
vpx2=2
|
||||
aom=2
|
||||
x2643=2
|
||||
x2652=2
|
||||
other265=2
|
||||
flac=2
|
||||
fdkaac=2
|
||||
faac=2
|
||||
mediainfo=2
|
||||
soxB=1
|
||||
ffmpegB2=3
|
||||
ffmpegUpdate=1
|
||||
ffmpegChoice=1
|
||||
mp4box=2
|
||||
rtmpdump=2
|
||||
mplayer2=2
|
||||
mpv=2
|
||||
bmx=2
|
||||
curl=2
|
||||
ffmbc=2
|
||||
cyanrip=2
|
||||
redshift=2
|
||||
cores=8
|
||||
deleteSource=2
|
||||
strip=1
|
||||
pack=2
|
||||
logging=1
|
||||
updateSuite=1
|
Binary file not shown.
@ -1,17 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQIcBAABCAAGBQJaJHRzAAoJEI1smEefSt5xJ3YP/3m6wquOl/ICXzveiURXvoG/
|
||||
7akxaEj5QYPGwZcxYos6YL2aVUHSbM1icrYSi//pRihZfwvIU0WJv3Xixhz51edx
|
||||
MrI8r7K4qajfHuOR2t2UZsPlow5cdblb9LymGCarWoK99bK/VSlRTlYGspu1yRja
|
||||
6CKcdXmMHahiWeTo1f1MeC9Q8utFqKHY8ewYO2b74OtxRvQ2/Hv52C5shCVwEdpc
|
||||
SOK7cqHf7yLfznPpcNNN+8Zd7Bd/v6tnJ8hnpESqazlf/MHofeCTYFMnHz0YHJPR
|
||||
tss0nusebkRNbfoKzmu9SOAVx4iZ9PpAoFsa2BAjEctj4lN2QFLd/f0sWZITQzDK
|
||||
ribkszFQ+XnVJxxljBQwemMGueLZDGLO1DuRaOMz/Hh3SAL9/p6dUL0kZWO3U9UP
|
||||
Rbca/SpQwA/LytEy7DqmboMp64/GHd+GAtWpkUjuTxcAnxxytbo0XZkunWo5qjhW
|
||||
2aGcu05e41POzsnN/i0rjSQ+S7kDsxwmeVXnOs87bJ5xbXWhHPJQIGc53ZQEKJpc
|
||||
72I5Ey0x0AgMymqwbq5rBytcw/Z36ipz3Tdyd7ROxvUy3XzxYIVpT3gyBv7hQa/O
|
||||
Ummi49spH7vYDRdLLappqN6Kjy31yd24mGraQJx3Z1YRhE1tMNO8D7oguJmW+ggk
|
||||
szsG/m3nS4B8ZNBZfpas
|
||||
=r+sV
|
||||
iQIzBAABCAAdFiEEdiLr51NrDwQ29PFjjWyYR59K3nEFAlqx1SQACgkQjWyYR59K
|
||||
3nGr3g/9E86vs68h7nZvSlMWtsaNNmdkY5GX4LlD1L8XfZ8RfxwV8xmEOvqezdmI
|
||||
EonU2jUGzocAf2nuiahFHJ0bXT7TxY7btoLzT5P/M+Frvog1l+9fmxCo6/b143J1
|
||||
pwersbMW2F8fUcxx75JHx4hdV3FL4LCNU/tztxdf0TN45cNMYs/XugAsBzBfJZQ3
|
||||
Yd1D1dCnrZ9R560M3sZgLF24wdhxa+cZxwLJpnZeQxN/IWi4/npkZVhjLsoMhPPg
|
||||
K8cnjOpX6rZ9ux/XhG1LyQK6FCigJ/ta5gBMi+neLisNB2ryPfx3mimE+o7k15wX
|
||||
tAwry8UgeXAVWMp+idppqDRjbzDODEfZRpfoPFbOosNNFy963NO2bVDGRIna/wnt
|
||||
05szWlzm1PtnVxYMjeg+GdGnU+GA/J+F8alRNu+RgMW4WSGQ2OKBV8AoGn9Htmpa
|
||||
ELpIGEqHXbBmcSMgDIuU38AGiiBLnfNst5CgkwZe/QqKFRa/hpPT28ljDKqdKxXg
|
||||
3p/KwD60oNGxMQ2bbRKGrrh+UCWp6L+gyBRwwupGfM5oxUSjoIsZLcM2+55u9kUT
|
||||
BfjOROZFoK3BA5leCO893cs63AiHRjXjSIxTmbF70EdxsqrrNc1LFGThu8CPlE1U
|
||||
Dn8aaU2JxeQTkrmT1KrmTcO7wIE05oHfs50hdhrt/b303Q2t+v4=
|
||||
=8sKv
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Loading…
x
Reference in New Issue
Block a user