updated opencv_ffmpeg binaries, headers and libs to ffmpeg 0.8.2
This commit is contained in:
		
							
								
								
									
										4
									
								
								3rdparty/ffmpeg/make.bat
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								3rdparty/ffmpeg/make.bat
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,3 @@
 | 
			
		||||
rem gcc -Wall -shared -o opencv_ffmpeg.dll -O3 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32 -lpthreadG<64>E2
 | 
			
		||||
gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
 | 
			
		||||
set path=c:\apps\mingw64\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lavcore64 -lwsock32
 | 
			
		||||
rem set path=c:\dev\msys32\bin;%path% & gcc -Wall -shared -o opencv_ffmpeg.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat -lavcodec -lavdevice -lswscale -lavutil -lwsock32
 | 
			
		||||
set path=c:\dev\msys64\bin;%path% & gcc -m64 -Wall -shared -o opencv_ffmpeg_64.dll -O2 -x c++ -I../include -I../include/ffmpeg_ -I../../modules/highgui/src ffopencv.c -L../lib -lavformat64 -lavcodec64 -lavdevice64 -lswscale64 -lavutil64 -lavcore64 -lwsock32 -lws2_32
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								3rdparty/ffmpeg/opencv_ffmpeg.dll
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/ffmpeg/opencv_ffmpeg.dll
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/ffmpeg/opencv_ffmpeg_64.dll
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/ffmpeg/opencv_ffmpeg_64.dll
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										1046
									
								
								3rdparty/include/ffmpeg_/libavcodec/avcodec.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1046
									
								
								3rdparty/include/ffmpeg_/libavcodec/avcodec.h
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/avfft.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/avfft.h
									
									
									
									
										vendored
									
									
								
							@@ -85,7 +85,7 @@ enum DCTTransformType {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Sets up DCT.
 | 
			
		||||
 * Set up DCT.
 | 
			
		||||
 * @param nbits           size of the input array:
 | 
			
		||||
 *                        (1 << nbits)     for DCT-II, DCT-III and DST-I
 | 
			
		||||
 *                        (1 << nbits) + 1 for DCT-I
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/dxva2.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/dxva2.h
									
									
									
									
										vendored
									
									
								
							@@ -23,7 +23,7 @@
 | 
			
		||||
#ifndef AVCODEC_DXVA_H
 | 
			
		||||
#define AVCODEC_DXVA_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
#include <dxva2api.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										203
									
								
								3rdparty/include/ffmpeg_/libavcodec/opt.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										203
									
								
								3rdparty/include/ffmpeg_/libavcodec/opt.h
									
									
									
									
										vendored
									
									
								
							@@ -1,211 +1,34 @@
 | 
			
		||||
/*
 | 
			
		||||
 * AVOptions
 | 
			
		||||
 * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 * This file is part of Libav.
 | 
			
		||||
 *
 | 
			
		||||
 * This file is part of FFmpeg.
 | 
			
		||||
 *
 | 
			
		||||
 * FFmpeg is free software; you can redistribute it and/or
 | 
			
		||||
 * Libav 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,
 | 
			
		||||
 * Libav 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
 | 
			
		||||
 * License along with Libav; if not, write to the Free Software
 | 
			
		||||
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * This header is provided for compatibility only and will be removed
 | 
			
		||||
 * on next major bump
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AVCODEC_OPT_H
 | 
			
		||||
#define AVCODEC_OPT_H
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * AVOptions
 | 
			
		||||
 */
 | 
			
		||||
#include "libavcodec/version.h"
 | 
			
		||||
 | 
			
		||||
#include "libavutil/rational.h"
 | 
			
		||||
#include "avcodec.h"
 | 
			
		||||
 | 
			
		||||
enum AVOptionType{
 | 
			
		||||
    FF_OPT_TYPE_FLAGS,
 | 
			
		||||
    FF_OPT_TYPE_INT,
 | 
			
		||||
    FF_OPT_TYPE_INT64,
 | 
			
		||||
    FF_OPT_TYPE_DOUBLE,
 | 
			
		||||
    FF_OPT_TYPE_FLOAT,
 | 
			
		||||
    FF_OPT_TYPE_STRING,
 | 
			
		||||
    FF_OPT_TYPE_RATIONAL,
 | 
			
		||||
    FF_OPT_TYPE_BINARY,  ///< offset must point to a pointer immediately followed by an int for the length
 | 
			
		||||
    FF_OPT_TYPE_CONST=128,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * AVOption
 | 
			
		||||
 */
 | 
			
		||||
typedef struct AVOption {
 | 
			
		||||
    const char *name;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * short English help text
 | 
			
		||||
     * @todo What about other languages?
 | 
			
		||||
     */
 | 
			
		||||
    const char *help;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The offset relative to the context structure where the option
 | 
			
		||||
     * value is stored. It should be 0 for named constants.
 | 
			
		||||
     */
 | 
			
		||||
    int offset;
 | 
			
		||||
    enum AVOptionType type;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * the default value for scalar options
 | 
			
		||||
     */
 | 
			
		||||
    double default_val;
 | 
			
		||||
    double min;                 ///< minimum valid value for the option
 | 
			
		||||
    double max;                 ///< maximum valid value for the option
 | 
			
		||||
 | 
			
		||||
    int flags;
 | 
			
		||||
#define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
 | 
			
		||||
#define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
 | 
			
		||||
#define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
 | 
			
		||||
#define AV_OPT_FLAG_AUDIO_PARAM     8
 | 
			
		||||
#define AV_OPT_FLAG_VIDEO_PARAM     16
 | 
			
		||||
#define AV_OPT_FLAG_SUBTITLE_PARAM  32
 | 
			
		||||
//FIXME think about enc-audio, ... style flags
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The logical unit to which the option belongs. Non-constant
 | 
			
		||||
     * options and corresponding named constants share the same
 | 
			
		||||
     * unit. May be NULL.
 | 
			
		||||
     */
 | 
			
		||||
    const char *unit;
 | 
			
		||||
} AVOption;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * AVOption2.
 | 
			
		||||
 * THIS IS NOT PART OF THE API/ABI YET!
 | 
			
		||||
 * This is identical to AVOption except that default_val was replaced by
 | 
			
		||||
 * an union, it should be compatible with AVOption on normal platforms.
 | 
			
		||||
 */
 | 
			
		||||
typedef struct AVOption2 {
 | 
			
		||||
    const char *name;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * short English help text
 | 
			
		||||
     * @todo What about other languages?
 | 
			
		||||
     */
 | 
			
		||||
    const char *help;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The offset relative to the context structure where the option
 | 
			
		||||
     * value is stored. It should be 0 for named constants.
 | 
			
		||||
     */
 | 
			
		||||
    int offset;
 | 
			
		||||
    enum AVOptionType type;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * the default value for scalar options
 | 
			
		||||
     */
 | 
			
		||||
    union {
 | 
			
		||||
        double dbl;
 | 
			
		||||
        const char *str;
 | 
			
		||||
    } default_val;
 | 
			
		||||
 | 
			
		||||
    double min;                 ///< minimum valid value for the option
 | 
			
		||||
    double max;                 ///< maximum valid value for the option
 | 
			
		||||
 | 
			
		||||
    int flags;
 | 
			
		||||
/*
 | 
			
		||||
#define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
 | 
			
		||||
#define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
 | 
			
		||||
#define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
 | 
			
		||||
#define AV_OPT_FLAG_AUDIO_PARAM     8
 | 
			
		||||
#define AV_OPT_FLAG_VIDEO_PARAM     16
 | 
			
		||||
#define AV_OPT_FLAG_SUBTITLE_PARAM  32
 | 
			
		||||
*/
 | 
			
		||||
//FIXME think about enc-audio, ... style flags
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The logical unit to which the option belongs. Non-constant
 | 
			
		||||
     * options and corresponding named constants share the same
 | 
			
		||||
     * unit. May be NULL.
 | 
			
		||||
     */
 | 
			
		||||
    const char *unit;
 | 
			
		||||
} AVOption2;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Looks for an option in obj. Looks only for the options which
 | 
			
		||||
 * have the flags set as specified in mask and flags (that is,
 | 
			
		||||
 * for which it is the case that opt->flags & mask == flags).
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] obj a pointer to a struct whose first element is a
 | 
			
		||||
 * pointer to an AVClass
 | 
			
		||||
 * @param[in] name the name of the option to look for
 | 
			
		||||
 * @param[in] unit the unit of the option to look for, or any if NULL
 | 
			
		||||
 * @return a pointer to the option found, or NULL if no option
 | 
			
		||||
 * has been found
 | 
			
		||||
 */
 | 
			
		||||
const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
 | 
			
		||||
 | 
			
		||||
#if LIBAVCODEC_VERSION_MAJOR < 53
 | 
			
		||||
/**
 | 
			
		||||
 * @see av_set_string2()
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated const AVOption *av_set_string(void *obj, const char *name, const char *val);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @return a pointer to the AVOption corresponding to the field set or
 | 
			
		||||
 * NULL if no matching AVOption exists, or if the value val is not
 | 
			
		||||
 * valid
 | 
			
		||||
 * @see av_set_string3()
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated const AVOption *av_set_string2(void *obj, const char *name, const char *val, int alloc);
 | 
			
		||||
#if FF_API_OPT_H
 | 
			
		||||
#include "libavutil/opt.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Sets the field of obj with the given name to value.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] obj A struct whose first element is a pointer to an
 | 
			
		||||
 * AVClass.
 | 
			
		||||
 * @param[in] name the name of the field to set
 | 
			
		||||
 * @param[in] val The value to set. If the field is not of a string
 | 
			
		||||
 * type, then the given string is parsed.
 | 
			
		||||
 * SI postfixes and some named scalars are supported.
 | 
			
		||||
 * If the field is of a numeric type, it has to be a numeric or named
 | 
			
		||||
 * scalar. Behavior with more than one scalar and +- infix operators
 | 
			
		||||
 * is undefined.
 | 
			
		||||
 * If the field is of a flags type, it has to be a sequence of numeric
 | 
			
		||||
 * scalars or named flags separated by '+' or '-'. Prefixing a flag
 | 
			
		||||
 * with '+' causes it to be set without affecting the other flags;
 | 
			
		||||
 * similarly, '-' unsets a flag.
 | 
			
		||||
 * @param[out] o_out if non-NULL put here a pointer to the AVOption
 | 
			
		||||
 * found
 | 
			
		||||
 * @param alloc when 1 then the old value will be av_freed() and the
 | 
			
		||||
 *                     new av_strduped()
 | 
			
		||||
 *              when 0 then no av_free() nor av_strdup() will be used
 | 
			
		||||
 * @return 0 if the value has been set, or an AVERROR code in case of
 | 
			
		||||
 * error:
 | 
			
		||||
 * AVERROR(ENOENT) if no matching option exists
 | 
			
		||||
 * AVERROR(ERANGE) if the value is out of range
 | 
			
		||||
 * AVERROR(EINVAL) if the value is not valid
 | 
			
		||||
 */
 | 
			
		||||
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
 | 
			
		||||
 | 
			
		||||
const AVOption *av_set_double(void *obj, const char *name, double n);
 | 
			
		||||
const AVOption *av_set_q(void *obj, const char *name, AVRational n);
 | 
			
		||||
const AVOption *av_set_int(void *obj, const char *name, int64_t n);
 | 
			
		||||
double av_get_double(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
 | 
			
		||||
const AVOption *av_next_option(void *obj, const AVOption *last);
 | 
			
		||||
int av_opt_show(void *obj, void *av_log_obj);
 | 
			
		||||
void av_opt_set_defaults(void *s);
 | 
			
		||||
void av_opt_set_defaults2(void *s, int mask, int flags);
 | 
			
		||||
 | 
			
		||||
#endif /* AVCODEC_OPT_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/vaapi.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								3rdparty/include/ffmpeg_/libavcodec/vaapi.h
									
									
									
									
										vendored
									
									
								
							@@ -24,7 +24,7 @@
 | 
			
		||||
#ifndef AVCODEC_VAAPI_H
 | 
			
		||||
#define AVCODEC_VAAPI_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * \defgroup VAAPI_Decoding VA API Decoding
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										15
									
								
								3rdparty/include/ffmpeg_/libavcodec/vdpau.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								3rdparty/include/ffmpeg_/libavcodec/vdpau.h
									
									
									
									
										vendored
									
									
								
							@@ -38,7 +38,6 @@
 | 
			
		||||
 * and rendering (API calls) are done as part of the VDPAU
 | 
			
		||||
 * presentation (vo_vdpau.c) module.
 | 
			
		||||
 *
 | 
			
		||||
 * @{
 | 
			
		||||
 * \defgroup  VDPAU_Decoding VDPAU Decoding
 | 
			
		||||
 * \ingroup Decoder
 | 
			
		||||
 * @{
 | 
			
		||||
@@ -68,6 +67,13 @@ struct vdpau_render_state {
 | 
			
		||||
 | 
			
		||||
    int state; ///< Holds FF_VDPAU_STATE_* values.
 | 
			
		||||
 | 
			
		||||
    /** Describe size/location of the compressed video data.
 | 
			
		||||
        Set to 0 when freeing bitstream_buffers. */
 | 
			
		||||
    int bitstream_buffers_allocated;
 | 
			
		||||
    int bitstream_buffers_used;
 | 
			
		||||
    /** The user is responsible for freeing this buffer using av_freep(). */
 | 
			
		||||
    VdpBitstreamBuffer *bitstream_buffers;
 | 
			
		||||
 | 
			
		||||
    /** picture parameter information for all supported codecs */
 | 
			
		||||
    union VdpPictureInfo {
 | 
			
		||||
        VdpPictureInfoH264        h264;
 | 
			
		||||
@@ -75,13 +81,6 @@ struct vdpau_render_state {
 | 
			
		||||
        VdpPictureInfoVC1          vc1;
 | 
			
		||||
        VdpPictureInfoMPEG4Part2 mpeg4;
 | 
			
		||||
    } info;
 | 
			
		||||
 | 
			
		||||
    /** Describe size/location of the compressed video data.
 | 
			
		||||
        Set to 0 when freeing bitstream_buffers. */
 | 
			
		||||
    int bitstream_buffers_allocated;
 | 
			
		||||
    int bitstream_buffers_used;
 | 
			
		||||
    /** The user is responsible for freeing this buffer using av_freep(). */
 | 
			
		||||
    VdpBitstreamBuffer *bitstream_buffers;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* @}*/
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										72
									
								
								3rdparty/include/ffmpeg_/libavcodec/version.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								3rdparty/include/ffmpeg_/libavcodec/version.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
/*
 | 
			
		||||
 *
 | 
			
		||||
 * 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 AVCODEC_VERSION_H
 | 
			
		||||
#define AVCODEC_VERSION_H
 | 
			
		||||
 | 
			
		||||
#define LIBAVCODEC_VERSION_MAJOR 53
 | 
			
		||||
#define LIBAVCODEC_VERSION_MINOR  7
 | 
			
		||||
#define LIBAVCODEC_VERSION_MICRO  0
 | 
			
		||||
 | 
			
		||||
#define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
 | 
			
		||||
                                               LIBAVCODEC_VERSION_MINOR, \
 | 
			
		||||
                                               LIBAVCODEC_VERSION_MICRO)
 | 
			
		||||
#define LIBAVCODEC_VERSION      AV_VERSION(LIBAVCODEC_VERSION_MAJOR,    \
 | 
			
		||||
                                           LIBAVCODEC_VERSION_MINOR,    \
 | 
			
		||||
                                           LIBAVCODEC_VERSION_MICRO)
 | 
			
		||||
#define LIBAVCODEC_BUILD        LIBAVCODEC_VERSION_INT
 | 
			
		||||
 | 
			
		||||
#define LIBAVCODEC_IDENT        "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Those FF_API_* defines are not part of public API.
 | 
			
		||||
 * They may change, break or disappear at any time.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef FF_API_PALETTE_CONTROL
 | 
			
		||||
#define FF_API_PALETTE_CONTROL  (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_OLD_SAMPLE_FMT
 | 
			
		||||
#define FF_API_OLD_SAMPLE_FMT   (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_OLD_AUDIOCONVERT
 | 
			
		||||
#define FF_API_OLD_AUDIOCONVERT (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_ANTIALIAS_ALGO
 | 
			
		||||
#define FF_API_ANTIALIAS_ALGO   (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_REQUEST_CHANNELS
 | 
			
		||||
#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_OPT_H
 | 
			
		||||
#define FF_API_OPT_H            (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_THREAD_INIT
 | 
			
		||||
#define FF_API_THREAD_INIT      (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_OLD_FF_PICT_TYPES
 | 
			
		||||
#define FF_API_OLD_FF_PICT_TYPES (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_FLAC_GLOBAL_OPTS
 | 
			
		||||
#define FF_API_FLAC_GLOBAL_OPTS (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_GET_PIX_FMT_NAME
 | 
			
		||||
#define FF_API_GET_PIX_FMT_NAME (LIBAVCODEC_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* AVCODEC_VERSION_H */
 | 
			
		||||
							
								
								
									
										23
									
								
								3rdparty/include/ffmpeg_/libavcodec/xvmc.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								3rdparty/include/ffmpeg_/libavcodec/xvmc.h
									
									
									
									
										vendored
									
									
								
							@@ -25,11 +25,6 @@
 | 
			
		||||
 | 
			
		||||
#include "avcodec.h"
 | 
			
		||||
 | 
			
		||||
#if LIBAVCODEC_VERSION_MAJOR < 53
 | 
			
		||||
#define AV_XVMC_STATE_DISPLAY_PENDING          1  /**  the surface should be shown, the video driver manipulates this */
 | 
			
		||||
#define AV_XVMC_STATE_PREDICTION               2  /**  the surface is needed for prediction, the codec manipulates this */
 | 
			
		||||
#define AV_XVMC_STATE_OSD_SOURCE               4  /**  the surface is needed for subpicture rendering */
 | 
			
		||||
#endif
 | 
			
		||||
#define AV_XVMC_ID                    0x1DC711C0  /**< special value to ensure that regular pixel routines haven't corrupted the struct
 | 
			
		||||
                                                       the number is 1337 speak for the letters IDCT MCo (motion compensation) */
 | 
			
		||||
 | 
			
		||||
@@ -71,7 +66,7 @@ struct xvmc_pix_fmt {
 | 
			
		||||
    */
 | 
			
		||||
    int             allocated_data_blocks;
 | 
			
		||||
 | 
			
		||||
    /** Indicates that the hardware would interpret data_blocks as IDCT
 | 
			
		||||
    /** Indicate that the hardware would interpret data_blocks as IDCT
 | 
			
		||||
        coefficients and perform IDCT on them.
 | 
			
		||||
        - application - set during initialization
 | 
			
		||||
        - libavcodec  - unchanged
 | 
			
		||||
@@ -151,22 +146,6 @@ struct xvmc_pix_fmt {
 | 
			
		||||
                        of coded blocks it contains.
 | 
			
		||||
    */
 | 
			
		||||
    int             next_free_data_block_num;
 | 
			
		||||
 | 
			
		||||
/** extensions may be placed here */
 | 
			
		||||
#if LIBAVCODEC_VERSION_MAJOR < 53
 | 
			
		||||
//@{
 | 
			
		||||
    /** State flags used to work around limitations in the MPlayer video system.
 | 
			
		||||
        0   - Surface is not used.
 | 
			
		||||
        1   - Surface is still held in application to be displayed or is
 | 
			
		||||
              still visible.
 | 
			
		||||
        2   - Surface is still held in libavcodec buffer for prediction.
 | 
			
		||||
    */
 | 
			
		||||
    int             state;
 | 
			
		||||
 | 
			
		||||
    /** pointer to the surface where the subpicture is rendered */
 | 
			
		||||
    void*           p_osd_target_surface_render;
 | 
			
		||||
//}@
 | 
			
		||||
#endif
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif /* AVCODEC_XVMC_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										17
									
								
								3rdparty/include/ffmpeg_/libavdevice/avdevice.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								3rdparty/include/ffmpeg_/libavdevice/avdevice.h
									
									
									
									
										vendored
									
									
								
							@@ -20,10 +20,11 @@
 | 
			
		||||
#define AVDEVICE_AVDEVICE_H
 | 
			
		||||
 | 
			
		||||
#include "libavutil/avutil.h"
 | 
			
		||||
#include "libavformat/avformat.h"
 | 
			
		||||
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MAJOR 52
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MINOR  2
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MICRO  0
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MAJOR 53
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MINOR  1
 | 
			
		||||
#define LIBAVDEVICE_VERSION_MICRO  1
 | 
			
		||||
 | 
			
		||||
#define LIBAVDEVICE_VERSION_INT AV_VERSION_INT(LIBAVDEVICE_VERSION_MAJOR, \
 | 
			
		||||
                                               LIBAVDEVICE_VERSION_MINOR, \
 | 
			
		||||
@@ -33,18 +34,22 @@
 | 
			
		||||
                                           LIBAVDEVICE_VERSION_MICRO)
 | 
			
		||||
#define LIBAVDEVICE_BUILD       LIBAVDEVICE_VERSION_INT
 | 
			
		||||
 | 
			
		||||
#ifndef FF_API_V4L
 | 
			
		||||
#define FF_API_V4L              (LIBAVDEVICE_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the LIBAVDEVICE_VERSION_INT constant.
 | 
			
		||||
 * Return the LIBAVDEVICE_VERSION_INT constant.
 | 
			
		||||
 */
 | 
			
		||||
unsigned avdevice_version(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the libavdevice build-time configuration.
 | 
			
		||||
 * Return the libavdevice build-time configuration.
 | 
			
		||||
 */
 | 
			
		||||
const char *avdevice_configuration(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the libavdevice license.
 | 
			
		||||
 * Return the libavdevice license.
 | 
			
		||||
 */
 | 
			
		||||
const char *avdevice_license(void);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1005
									
								
								3rdparty/include/ffmpeg_/libavformat/avformat.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1005
									
								
								3rdparty/include/ffmpeg_/libavformat/avformat.h
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										940
									
								
								3rdparty/include/ffmpeg_/libavformat/avio.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										940
									
								
								3rdparty/include/ffmpeg_/libavformat/avio.h
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										81
									
								
								3rdparty/include/ffmpeg_/libavformat/version.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								3rdparty/include/ffmpeg_/libavformat/version.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Version macros.
 | 
			
		||||
 *
 | 
			
		||||
 * 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 AVFORMAT_VERSION_H
 | 
			
		||||
#define AVFORMAT_VERSION_H
 | 
			
		||||
 | 
			
		||||
#include "libavutil/avutil.h"
 | 
			
		||||
 | 
			
		||||
#define LIBAVFORMAT_VERSION_MAJOR 53
 | 
			
		||||
#define LIBAVFORMAT_VERSION_MINOR  4
 | 
			
		||||
#define LIBAVFORMAT_VERSION_MICRO  0
 | 
			
		||||
 | 
			
		||||
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
 | 
			
		||||
                                               LIBAVFORMAT_VERSION_MINOR, \
 | 
			
		||||
                                               LIBAVFORMAT_VERSION_MICRO)
 | 
			
		||||
#define LIBAVFORMAT_VERSION     AV_VERSION(LIBAVFORMAT_VERSION_MAJOR,   \
 | 
			
		||||
                                           LIBAVFORMAT_VERSION_MINOR,   \
 | 
			
		||||
                                           LIBAVFORMAT_VERSION_MICRO)
 | 
			
		||||
#define LIBAVFORMAT_BUILD       LIBAVFORMAT_VERSION_INT
 | 
			
		||||
 | 
			
		||||
#define LIBAVFORMAT_IDENT       "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Those FF_API_* defines are not part of public API.
 | 
			
		||||
 * They may change, break or disappear at any time.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef FF_API_OLD_METADATA2
 | 
			
		||||
#define FF_API_OLD_METADATA2           (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_READ_SEEK
 | 
			
		||||
#define FF_API_READ_SEEK               (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_OLD_AVIO
 | 
			
		||||
#define FF_API_OLD_AVIO                (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_DUMP_FORMAT
 | 
			
		||||
#define FF_API_DUMP_FORMAT             (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_PARSE_DATE
 | 
			
		||||
#define FF_API_PARSE_DATE              (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_FIND_INFO_TAG
 | 
			
		||||
#define FF_API_FIND_INFO_TAG           (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_PKT_DUMP
 | 
			
		||||
#define FF_API_PKT_DUMP                (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_GUESS_IMG2_CODEC
 | 
			
		||||
#define FF_API_GUESS_IMG2_CODEC        (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_SDP_CREATE
 | 
			
		||||
#define FF_API_SDP_CREATE              (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_ALLOC_OUTPUT_CONTEXT
 | 
			
		||||
#define FF_API_ALLOC_OUTPUT_CONTEXT    (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_FORMAT_PARAMETERS
 | 
			
		||||
#define FF_API_FORMAT_PARAMETERS       (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_FLAG_RTP_HINT
 | 
			
		||||
#define FF_API_FLAG_RTP_HINT           (LIBAVFORMAT_VERSION_MAJOR < 54)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* AVFORMAT_VERSION_H */
 | 
			
		||||
							
								
								
									
										14
									
								
								3rdparty/include/ffmpeg_/libavutil/adler32.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								3rdparty/include/ffmpeg_/libavutil/adler32.h
									
									
									
									
										vendored
									
									
								
							@@ -21,9 +21,21 @@
 | 
			
		||||
#ifndef AVUTIL_ADLER32_H
 | 
			
		||||
#define AVUTIL_ADLER32_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Calculate the Adler32 checksum of a buffer.
 | 
			
		||||
 *
 | 
			
		||||
 * Passing the return value to a subsequent av_adler32_update() call
 | 
			
		||||
 * allows the checksum of multiple buffers to be calculated as though
 | 
			
		||||
 * they were concatenated.
 | 
			
		||||
 *
 | 
			
		||||
 * @param adler initial checksum value
 | 
			
		||||
 * @param buf   pointer to input buffer
 | 
			
		||||
 * @param len   size of input buffer
 | 
			
		||||
 * @return      updated checksum
 | 
			
		||||
 */
 | 
			
		||||
unsigned long av_adler32_update(unsigned long adler, const uint8_t *buf,
 | 
			
		||||
                                unsigned int len) av_pure;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										47
									
								
								3rdparty/include/ffmpeg_/libavutil/aes.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								3rdparty/include/ffmpeg_/libavutil/aes.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
			
		||||
/*
 | 
			
		||||
 * copyright (c) 2007 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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_AES_H
 | 
			
		||||
#define AVUTIL_AES_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
extern const int av_aes_size;
 | 
			
		||||
 | 
			
		||||
struct AVAES;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize an AVAES context.
 | 
			
		||||
 * @param key_bits 128, 192 or 256
 | 
			
		||||
 * @param decrypt 0 for encryption, 1 for decryption
 | 
			
		||||
 */
 | 
			
		||||
int av_aes_init(struct AVAES *a, const uint8_t *key, int key_bits, int decrypt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Encrypt or decrypt a buffer using a previously initialized context.
 | 
			
		||||
 * @param count number of 16 byte blocks
 | 
			
		||||
 * @param dst destination array, can be equal to src
 | 
			
		||||
 * @param src source array, can be equal to dst
 | 
			
		||||
 * @param iv initialization vector for CBC mode, if NULL then ECB will be used
 | 
			
		||||
 * @param decrypt 0 for encryption, 1 for decryption
 | 
			
		||||
 */
 | 
			
		||||
void av_aes_crypt(struct AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_AES_H */
 | 
			
		||||
							
								
								
									
										27
									
								
								3rdparty/include/ffmpeg_/libavutil/attributes.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										27
									
								
								3rdparty/include/ffmpeg_/libavutil/attributes.h
									
									
									
									
										vendored
									
									
								
							@@ -65,7 +65,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_cold
 | 
			
		||||
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
 | 
			
		||||
#if AV_GCC_VERSION_AT_LEAST(4,3)
 | 
			
		||||
#    define av_cold __attribute__((cold))
 | 
			
		||||
#else
 | 
			
		||||
#    define av_cold
 | 
			
		||||
@@ -73,7 +73,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_flatten
 | 
			
		||||
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,1)
 | 
			
		||||
#if AV_GCC_VERSION_AT_LEAST(4,1)
 | 
			
		||||
#    define av_flatten __attribute__((flatten))
 | 
			
		||||
#else
 | 
			
		||||
#    define av_flatten
 | 
			
		||||
@@ -96,8 +96,29 @@
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Mark a variable as used and prevent the compiler from optimizing it
 | 
			
		||||
 * away.  This is useful for variables accessed only from inline
 | 
			
		||||
 * assembler without the compiler being aware.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef av_used
 | 
			
		||||
#if AV_GCC_VERSION_AT_LEAST(3,1)
 | 
			
		||||
#    define av_used __attribute__((used))
 | 
			
		||||
#else
 | 
			
		||||
#    define av_used
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_alias
 | 
			
		||||
#if AV_GCC_VERSION_AT_LEAST(3,3)
 | 
			
		||||
#   define av_alias __attribute__((may_alias))
 | 
			
		||||
#else
 | 
			
		||||
#   define av_alias
 | 
			
		||||
#endif
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_uninit
 | 
			
		||||
#if defined(__GNUC__) && !defined(__ICC)
 | 
			
		||||
#if defined(__GNUC__) && !defined(__INTEL_COMPILER)
 | 
			
		||||
#    define av_uninit(x) x=x
 | 
			
		||||
#else
 | 
			
		||||
#    define av_uninit(x) x
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										95
									
								
								3rdparty/include/ffmpeg_/libavutil/audioconvert.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								3rdparty/include/ffmpeg_/libavutil/audioconvert.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,95 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 * Copyright (c) 2008 Peter Ross
 | 
			
		||||
 *
 | 
			
		||||
 * 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_AUDIOCONVERT_H
 | 
			
		||||
#define AVUTIL_AUDIOCONVERT_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * audio conversion routines
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Audio channel masks */
 | 
			
		||||
#define AV_CH_FRONT_LEFT             0x00000001
 | 
			
		||||
#define AV_CH_FRONT_RIGHT            0x00000002
 | 
			
		||||
#define AV_CH_FRONT_CENTER           0x00000004
 | 
			
		||||
#define AV_CH_LOW_FREQUENCY          0x00000008
 | 
			
		||||
#define AV_CH_BACK_LEFT              0x00000010
 | 
			
		||||
#define AV_CH_BACK_RIGHT             0x00000020
 | 
			
		||||
#define AV_CH_FRONT_LEFT_OF_CENTER   0x00000040
 | 
			
		||||
#define AV_CH_FRONT_RIGHT_OF_CENTER  0x00000080
 | 
			
		||||
#define AV_CH_BACK_CENTER            0x00000100
 | 
			
		||||
#define AV_CH_SIDE_LEFT              0x00000200
 | 
			
		||||
#define AV_CH_SIDE_RIGHT             0x00000400
 | 
			
		||||
#define AV_CH_TOP_CENTER             0x00000800
 | 
			
		||||
#define AV_CH_TOP_FRONT_LEFT         0x00001000
 | 
			
		||||
#define AV_CH_TOP_FRONT_CENTER       0x00002000
 | 
			
		||||
#define AV_CH_TOP_FRONT_RIGHT        0x00004000
 | 
			
		||||
#define AV_CH_TOP_BACK_LEFT          0x00008000
 | 
			
		||||
#define AV_CH_TOP_BACK_CENTER        0x00010000
 | 
			
		||||
#define AV_CH_TOP_BACK_RIGHT         0x00020000
 | 
			
		||||
#define AV_CH_STEREO_LEFT            0x20000000  ///< Stereo downmix.
 | 
			
		||||
#define AV_CH_STEREO_RIGHT           0x40000000  ///< See AV_CH_STEREO_LEFT.
 | 
			
		||||
 | 
			
		||||
/** Channel mask value used for AVCodecContext.request_channel_layout
 | 
			
		||||
    to indicate that the user requests the channel order of the decoder output
 | 
			
		||||
    to be the native codec channel order. */
 | 
			
		||||
#define AV_CH_LAYOUT_NATIVE          0x8000000000000000LL
 | 
			
		||||
 | 
			
		||||
/* Audio channel convenience macros */
 | 
			
		||||
#define AV_CH_LAYOUT_MONO              (AV_CH_FRONT_CENTER)
 | 
			
		||||
#define AV_CH_LAYOUT_STEREO            (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_2_1               (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
 | 
			
		||||
#define AV_CH_LAYOUT_SURROUND          (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
 | 
			
		||||
#define AV_CH_LAYOUT_4POINT0           (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
 | 
			
		||||
#define AV_CH_LAYOUT_2_2               (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_QUAD              (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_5POINT0           (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_5POINT1           (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
 | 
			
		||||
#define AV_CH_LAYOUT_5POINT0_BACK      (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_5POINT1_BACK      (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
 | 
			
		||||
#define AV_CH_LAYOUT_7POINT0           (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_7POINT1           (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
 | 
			
		||||
#define AV_CH_LAYOUT_7POINT1_WIDE      (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
 | 
			
		||||
#define AV_CH_LAYOUT_STEREO_DOWNMIX    (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return a channel layout id that matches name, 0 if no match.
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_get_channel_layout(const char *name);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return a description of a channel layout.
 | 
			
		||||
 * If nb_channels is <= 0, it is guessed from the channel_layout.
 | 
			
		||||
 *
 | 
			
		||||
 * @param buf put here the string containing the channel layout
 | 
			
		||||
 * @param buf_size size in bytes of the buffer
 | 
			
		||||
 */
 | 
			
		||||
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, int64_t channel_layout);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the number of channels in the channel layout.
 | 
			
		||||
 */
 | 
			
		||||
int av_get_channel_layout_nb_channels(int64_t channel_layout);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_AUDIOCONVERT_H */
 | 
			
		||||
							
								
								
									
										66
									
								
								3rdparty/include/ffmpeg_/libavutil/avassert.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								3rdparty/include/ffmpeg_/libavutil/avassert.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
/*
 | 
			
		||||
 * copyright (c) 2010 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * simple assert() macros that are a bit more flexible than ISO C assert().
 | 
			
		||||
 * @author Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AVUTIL_AVASSERT_H
 | 
			
		||||
#define AVUTIL_AVASSERT_H
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * assert() equivalent, that is always enabled.
 | 
			
		||||
 */
 | 
			
		||||
#define av_assert0(cond) do {                                           \
 | 
			
		||||
    if (!(cond)) {                                                      \
 | 
			
		||||
        av_log(NULL, AV_LOG_FATAL, "Assertion %s failed at %s:%d\n",    \
 | 
			
		||||
               AV_STRINGIFY(cond), __FILE__, __LINE__);                 \
 | 
			
		||||
        abort();                                                        \
 | 
			
		||||
    }                                                                   \
 | 
			
		||||
} while (0)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * assert() equivalent, that does not lie in speed critical code.
 | 
			
		||||
 * These asserts() thus can be enabled without fearing speedloss.
 | 
			
		||||
 */
 | 
			
		||||
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 0
 | 
			
		||||
#define av_assert1(cond) av_assert0(cond)
 | 
			
		||||
#else
 | 
			
		||||
#define av_assert1(cond) ((void)0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * assert() equivalent, that does lie in speed critical code.
 | 
			
		||||
 */
 | 
			
		||||
#if defined(ASSERT_LEVEL) && ASSERT_LEVEL > 1
 | 
			
		||||
#define av_assert2(cond) av_assert0(cond)
 | 
			
		||||
#else
 | 
			
		||||
#define av_assert2(cond) ((void)0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_AVASSERT_H */
 | 
			
		||||
@@ -2,4 +2,5 @@
 | 
			
		||||
#ifndef AVUTIL_AVCONFIG_H
 | 
			
		||||
#define AVUTIL_AVCONFIG_H
 | 
			
		||||
#define AV_HAVE_BIGENDIAN 0
 | 
			
		||||
#define AV_HAVE_FAST_UNALIGNED 1
 | 
			
		||||
#endif /* AVUTIL_AVCONFIG_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								3rdparty/include/ffmpeg_/libavutil/avstring.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								3rdparty/include/ffmpeg_/libavutil/avstring.h
									
									
									
									
										vendored
									
									
								
							@@ -114,4 +114,20 @@ size_t av_strlcatf(char *dst, size_t size, const char *fmt, ...);
 | 
			
		||||
 */
 | 
			
		||||
char *av_d2str(double d);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Unescape the given string until a non escaped terminating char,
 | 
			
		||||
 * and return the token corresponding to the unescaped string.
 | 
			
		||||
 *
 | 
			
		||||
 * The normal \ and ' escaping is supported. Leading and trailing
 | 
			
		||||
 * whitespaces are removed, unless they are escaped with '\' or are
 | 
			
		||||
 * enclosed between ''.
 | 
			
		||||
 *
 | 
			
		||||
 * @param buf the buffer to parse, buf will be updated to point to the
 | 
			
		||||
 * terminating char
 | 
			
		||||
 * @param term a 0-terminated list of terminating chars
 | 
			
		||||
 * @return the malloced unescaped string, which must be av_freed by
 | 
			
		||||
 * the user, NULL in case of allocation failure
 | 
			
		||||
 */
 | 
			
		||||
char *av_get_token(const char **buf, const char *term);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_AVSTRING_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								3rdparty/include/ffmpeg_/libavutil/avutil.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										55
									
								
								3rdparty/include/ffmpeg_/libavutil/avutil.h
									
									
									
									
										vendored
									
									
								
							@@ -39,8 +39,8 @@
 | 
			
		||||
#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
 | 
			
		||||
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
 | 
			
		||||
 | 
			
		||||
#define LIBAVUTIL_VERSION_MAJOR 50
 | 
			
		||||
#define LIBAVUTIL_VERSION_MINOR 15
 | 
			
		||||
#define LIBAVUTIL_VERSION_MAJOR 51
 | 
			
		||||
#define LIBAVUTIL_VERSION_MINOR  9
 | 
			
		||||
#define LIBAVUTIL_VERSION_MICRO  1
 | 
			
		||||
 | 
			
		||||
#define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
 | 
			
		||||
@@ -54,17 +54,31 @@
 | 
			
		||||
#define LIBAVUTIL_IDENT         "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the LIBAVUTIL_VERSION_INT constant.
 | 
			
		||||
 * Those FF_API_* defines are not part of public API.
 | 
			
		||||
 * They may change, break or disappear at any time.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef FF_API_OLD_EVAL_NAMES
 | 
			
		||||
#define FF_API_OLD_EVAL_NAMES (LIBAVUTIL_VERSION_MAJOR < 52)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
 | 
			
		||||
#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 52)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_FIND_OPT
 | 
			
		||||
#define FF_API_FIND_OPT                 (LIBAVUTIL_VERSION_MAJOR < 52)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the LIBAVUTIL_VERSION_INT constant.
 | 
			
		||||
 */
 | 
			
		||||
unsigned avutil_version(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the libavutil build-time configuration.
 | 
			
		||||
 * Return the libavutil build-time configuration.
 | 
			
		||||
 */
 | 
			
		||||
const char *avutil_configuration(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the libavutil license.
 | 
			
		||||
 * Return the libavutil license.
 | 
			
		||||
 */
 | 
			
		||||
const char *avutil_license(void);
 | 
			
		||||
 | 
			
		||||
@@ -78,6 +92,37 @@ enum AVMediaType {
 | 
			
		||||
    AVMEDIA_TYPE_NB
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define FF_LAMBDA_SHIFT 7
 | 
			
		||||
#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)
 | 
			
		||||
#define FF_QP2LAMBDA 118 ///< factor to convert from H.263 QP to lambda
 | 
			
		||||
#define FF_LAMBDA_MAX (256*128-1)
 | 
			
		||||
 | 
			
		||||
#define FF_QUALITY_SCALE FF_LAMBDA_SCALE //FIXME maybe remove
 | 
			
		||||
 | 
			
		||||
#define AV_NOPTS_VALUE          INT64_C(0x8000000000000000)
 | 
			
		||||
#define AV_TIME_BASE            1000000
 | 
			
		||||
#define AV_TIME_BASE_Q          (AVRational){1, AV_TIME_BASE}
 | 
			
		||||
 | 
			
		||||
enum AVPictureType {
 | 
			
		||||
    AV_PICTURE_TYPE_NONE = 0, ///< Undefined
 | 
			
		||||
    AV_PICTURE_TYPE_I,     ///< Intra
 | 
			
		||||
    AV_PICTURE_TYPE_P,     ///< Predicted
 | 
			
		||||
    AV_PICTURE_TYPE_B,     ///< Bi-dir predicted
 | 
			
		||||
    AV_PICTURE_TYPE_S,     ///< S(GMC)-VOP MPEG4
 | 
			
		||||
    AV_PICTURE_TYPE_SI,    ///< Switching Intra
 | 
			
		||||
    AV_PICTURE_TYPE_SP,    ///< Switching Predicted
 | 
			
		||||
    AV_PICTURE_TYPE_BI,    ///< BI type
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return a single letter to describe the given picture type
 | 
			
		||||
 * pict_type.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] pict_type the picture type @return a single character
 | 
			
		||||
 * representing the picture type, '?' if pict_type is unknown
 | 
			
		||||
 */
 | 
			
		||||
char av_get_picture_type_char(enum AVPictureType pict_type);
 | 
			
		||||
 | 
			
		||||
#include "common.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "mathematics.h"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								3rdparty/include/ffmpeg_/libavutil/base64.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								3rdparty/include/ffmpeg_/libavutil/base64.h
									
									
									
									
										vendored
									
									
								
							@@ -21,29 +21,34 @@
 | 
			
		||||
#ifndef AVUTIL_BASE64_H
 | 
			
		||||
#define AVUTIL_BASE64_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Decodes the base64-encoded string in in and puts the decoded
 | 
			
		||||
 * data in out.
 | 
			
		||||
 * Decode a base64-encoded string.
 | 
			
		||||
 *
 | 
			
		||||
 * @param out_size size in bytes of the out buffer, it should be at
 | 
			
		||||
 * least 3/4 of the length of in
 | 
			
		||||
 * @return the number of bytes written, or a negative value in case of
 | 
			
		||||
 * error
 | 
			
		||||
 * @param out      buffer for decoded data
 | 
			
		||||
 * @param in       null-terminated input string
 | 
			
		||||
 * @param out_size size in bytes of the out buffer, must be at
 | 
			
		||||
 *                 least 3/4 of the length of in
 | 
			
		||||
 * @return         number of bytes written, or a negative value in case of
 | 
			
		||||
 *                 invalid input
 | 
			
		||||
 */
 | 
			
		||||
int av_base64_decode(uint8_t *out, const char *in, int out_size);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Encodes in base64 the data in in and puts the resulting string
 | 
			
		||||
 * in out.
 | 
			
		||||
 * Encode data to base64 and null-terminate.
 | 
			
		||||
 *
 | 
			
		||||
 * @param out_size size in bytes of the out string, it should be at
 | 
			
		||||
 * least ((in_size + 2) / 3) * 4 + 1
 | 
			
		||||
 * @param in_size size in bytes of the in buffer
 | 
			
		||||
 * @return the string containing the encoded data, or NULL in case of
 | 
			
		||||
 * error
 | 
			
		||||
 * @param out      buffer for encoded data
 | 
			
		||||
 * @param out_size size in bytes of the output buffer, must be at
 | 
			
		||||
 *                 least AV_BASE64_SIZE(in_size)
 | 
			
		||||
 * @param in_size  size in bytes of the 'in' buffer
 | 
			
		||||
 * @return         'out' or NULL in case of error
 | 
			
		||||
 */
 | 
			
		||||
char *av_base64_encode(char *out, int out_size, const uint8_t *in, int in_size);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Calculate the output size needed to base64-encode x bytes.
 | 
			
		||||
 */
 | 
			
		||||
#define AV_BASE64_SIZE(x)  (((x)+2) / 3 * 4 + 1)
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_BASE64_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										124
									
								
								3rdparty/include/ffmpeg_/libavutil/bswap.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								3rdparty/include/ffmpeg_/libavutil/bswap.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,124 @@
 | 
			
		||||
/*
 | 
			
		||||
 * copyright (c) 2006 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * byte swapping routines
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AVUTIL_BSWAP_H
 | 
			
		||||
#define AVUTIL_BSWAP_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "libavutil/avconfig.h"
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_AV_CONFIG_H
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#if   ARCH_ARM
 | 
			
		||||
#   include "arm/bswap.h"
 | 
			
		||||
#elif ARCH_AVR32
 | 
			
		||||
#   include "avr32/bswap.h"
 | 
			
		||||
#elif ARCH_BFIN
 | 
			
		||||
#   include "bfin/bswap.h"
 | 
			
		||||
#elif ARCH_SH4
 | 
			
		||||
#   include "sh4/bswap.h"
 | 
			
		||||
#elif ARCH_X86
 | 
			
		||||
#   include "x86/bswap.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* HAVE_AV_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#define AV_BSWAP16C(x) (((x) << 8 & 0xff00)  | ((x) >> 8 & 0x00ff))
 | 
			
		||||
#define AV_BSWAP32C(x) (AV_BSWAP16C(x) << 16 | AV_BSWAP16C((x) >> 16))
 | 
			
		||||
#define AV_BSWAP64C(x) (AV_BSWAP32C(x) << 32 | AV_BSWAP32C((x) >> 32))
 | 
			
		||||
 | 
			
		||||
#define AV_BSWAPC(s, x) AV_BSWAP##s##C(x)
 | 
			
		||||
 | 
			
		||||
#ifndef av_bswap16
 | 
			
		||||
static av_always_inline av_const uint16_t av_bswap16(uint16_t x)
 | 
			
		||||
{
 | 
			
		||||
    x= (x>>8) | (x<<8);
 | 
			
		||||
    return x;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_bswap32
 | 
			
		||||
static av_always_inline av_const uint32_t av_bswap32(uint32_t x)
 | 
			
		||||
{
 | 
			
		||||
    x= ((x<<8)&0xFF00FF00) | ((x>>8)&0x00FF00FF);
 | 
			
		||||
    x= (x>>16) | (x<<16);
 | 
			
		||||
    return x;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_bswap64
 | 
			
		||||
static inline uint64_t av_const av_bswap64(uint64_t x)
 | 
			
		||||
{
 | 
			
		||||
#if 0
 | 
			
		||||
    x= ((x<< 8)&0xFF00FF00FF00FF00ULL) | ((x>> 8)&0x00FF00FF00FF00FFULL);
 | 
			
		||||
    x= ((x<<16)&0xFFFF0000FFFF0000ULL) | ((x>>16)&0x0000FFFF0000FFFFULL);
 | 
			
		||||
    return (x>>32) | (x<<32);
 | 
			
		||||
#else
 | 
			
		||||
    union {
 | 
			
		||||
        uint64_t ll;
 | 
			
		||||
        uint32_t l[2];
 | 
			
		||||
    } w, r;
 | 
			
		||||
    w.ll = x;
 | 
			
		||||
    r.l[0] = av_bswap32 (w.l[1]);
 | 
			
		||||
    r.l[1] = av_bswap32 (w.l[0]);
 | 
			
		||||
    return r.ll;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
// be2ne ... big-endian to native-endian
 | 
			
		||||
// le2ne ... little-endian to native-endian
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
#define av_be2ne16(x) (x)
 | 
			
		||||
#define av_be2ne32(x) (x)
 | 
			
		||||
#define av_be2ne64(x) (x)
 | 
			
		||||
#define av_le2ne16(x) av_bswap16(x)
 | 
			
		||||
#define av_le2ne32(x) av_bswap32(x)
 | 
			
		||||
#define av_le2ne64(x) av_bswap64(x)
 | 
			
		||||
#define AV_BE2NEC(s, x) (x)
 | 
			
		||||
#define AV_LE2NEC(s, x) AV_BSWAPC(s, x)
 | 
			
		||||
#else
 | 
			
		||||
#define av_be2ne16(x) av_bswap16(x)
 | 
			
		||||
#define av_be2ne32(x) av_bswap32(x)
 | 
			
		||||
#define av_be2ne64(x) av_bswap64(x)
 | 
			
		||||
#define av_le2ne16(x) (x)
 | 
			
		||||
#define av_le2ne32(x) (x)
 | 
			
		||||
#define av_le2ne64(x) (x)
 | 
			
		||||
#define AV_BE2NEC(s, x) AV_BSWAPC(s, x)
 | 
			
		||||
#define AV_LE2NEC(s, x) (x)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define AV_BE2NE16C(x) AV_BE2NEC(16, x)
 | 
			
		||||
#define AV_BE2NE32C(x) AV_BE2NEC(32, x)
 | 
			
		||||
#define AV_BE2NE64C(x) AV_BE2NEC(64, x)
 | 
			
		||||
#define AV_LE2NE16C(x) AV_LE2NEC(16, x)
 | 
			
		||||
#define AV_LE2NE32C(x) AV_LE2NEC(32, x)
 | 
			
		||||
#define AV_LE2NE64C(x) AV_LE2NEC(64, x)
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_BSWAP_H */
 | 
			
		||||
							
								
								
									
										181
									
								
								3rdparty/include/ffmpeg_/libavutil/common.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										181
									
								
								3rdparty/include/ffmpeg_/libavutil/common.h
									
									
									
									
										vendored
									
									
								
							@@ -28,22 +28,27 @@
 | 
			
		||||
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
#include <msc_inttypes.h>
 | 
			
		||||
#else
 | 
			
		||||
#include <inttypes.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
#include "libavutil/avconfig.h"
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
#   define AV_NE(be, le) (be)
 | 
			
		||||
#else
 | 
			
		||||
#   define AV_NE(be, le) (le)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
//rounded division & shift
 | 
			
		||||
#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
 | 
			
		||||
/* assume b>0 */
 | 
			
		||||
#define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))
 | 
			
		||||
#define FFUDIV(a,b) (((a)>0 ?(a):(a)-(b)+1) / (b))
 | 
			
		||||
#define FFUMOD(a,b) ((a)-(b)*FFUDIV(a,b))
 | 
			
		||||
#define FFABS(a) ((a) >= 0 ? (a) : (-(a)))
 | 
			
		||||
#define FFSIGN(a) ((a) > 0 ? 1 : -1)
 | 
			
		||||
 | 
			
		||||
@@ -61,7 +66,7 @@ extern const uint8_t ff_log2_tab[256];
 | 
			
		||||
 | 
			
		||||
extern const uint8_t av_reverse[256];
 | 
			
		||||
 | 
			
		||||
static inline av_const int av_log2_c(unsigned int v)
 | 
			
		||||
static av_always_inline av_const int av_log2_c(unsigned int v)
 | 
			
		||||
{
 | 
			
		||||
    int n = 0;
 | 
			
		||||
    if (v & 0xffff0000) {
 | 
			
		||||
@@ -77,7 +82,7 @@ static inline av_const int av_log2_c(unsigned int v)
 | 
			
		||||
    return n;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline av_const int av_log2_16bit_c(unsigned int v)
 | 
			
		||||
static av_always_inline av_const int av_log2_16bit_c(unsigned int v)
 | 
			
		||||
{
 | 
			
		||||
    int n = 0;
 | 
			
		||||
    if (v & 0xff00) {
 | 
			
		||||
@@ -94,21 +99,17 @@ static inline av_const int av_log2_16bit_c(unsigned int v)
 | 
			
		||||
#   include "intmath.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef av_log2
 | 
			
		||||
#   define av_log2       av_log2_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_log2_16bit
 | 
			
		||||
#   define av_log2_16bit av_log2_16bit_c
 | 
			
		||||
#endif
 | 
			
		||||
/* Pull in unguarded fallback defines at the end of this file. */
 | 
			
		||||
#include "common.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a signed integer value into the amin-amax range.
 | 
			
		||||
 * Clip a signed integer value into the amin-amax range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @param amin minimum value of the clip range
 | 
			
		||||
 * @param amax maximum value of the clip range
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const int av_clip(int a, int amin, int amax)
 | 
			
		||||
static av_always_inline av_const int av_clip_c(int a, int amin, int amax)
 | 
			
		||||
{
 | 
			
		||||
    if      (a < amin) return amin;
 | 
			
		||||
    else if (a > amax) return amax;
 | 
			
		||||
@@ -116,87 +117,122 @@ static inline av_const int av_clip(int a, int amin, int amax)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a signed integer value into the 0-255 range.
 | 
			
		||||
 * Clip a signed integer value into the 0-255 range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const uint8_t av_clip_uint8(int a)
 | 
			
		||||
static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
 | 
			
		||||
{
 | 
			
		||||
    if (a&(~0xFF)) return (-a)>>31;
 | 
			
		||||
    else           return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a signed integer value into the 0-65535 range.
 | 
			
		||||
 * Clip a signed integer value into the -128,127 range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const uint16_t av_clip_uint16(int a)
 | 
			
		||||
static av_always_inline av_const int8_t av_clip_int8_c(int a)
 | 
			
		||||
{
 | 
			
		||||
    if ((a+0x80) & ~0xFF) return (a>>31) ^ 0x7F;
 | 
			
		||||
    else                  return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clip a signed integer value into the 0-65535 range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
 | 
			
		||||
{
 | 
			
		||||
    if (a&(~0xFFFF)) return (-a)>>31;
 | 
			
		||||
    else             return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a signed integer value into the -32768,32767 range.
 | 
			
		||||
 * Clip a signed integer value into the -32768,32767 range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const int16_t av_clip_int16(int a)
 | 
			
		||||
static av_always_inline av_const int16_t av_clip_int16_c(int a)
 | 
			
		||||
{
 | 
			
		||||
    if ((a+0x8000) & ~0xFFFF) return (a>>31) ^ 0x7FFF;
 | 
			
		||||
    else                      return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a signed 64-bit integer value into the -2147483648,2147483647 range.
 | 
			
		||||
 * Clip a signed 64-bit integer value into the -2147483648,2147483647 range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const int32_t av_clipl_int32(int64_t a)
 | 
			
		||||
static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a)
 | 
			
		||||
{
 | 
			
		||||
    if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (a>>63) ^ 0x7FFFFFFF;
 | 
			
		||||
    else                                         return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clips a float value into the amin-amax range.
 | 
			
		||||
 * Clip a signed integer to an unsigned power of two range.
 | 
			
		||||
 * @param  a value to clip
 | 
			
		||||
 * @param  p bit position to clip at
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
 | 
			
		||||
{
 | 
			
		||||
    if (a & ~((1<<p) - 1)) return -a >> 31 & ((1<<p) - 1);
 | 
			
		||||
    else                   return  a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Clip a float value into the amin-amax range.
 | 
			
		||||
 * @param a value to clip
 | 
			
		||||
 * @param amin minimum value of the clip range
 | 
			
		||||
 * @param amax maximum value of the clip range
 | 
			
		||||
 * @return clipped value
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const float av_clipf(float a, float amin, float amax)
 | 
			
		||||
static av_always_inline av_const float av_clipf_c(float a, float amin, float amax)
 | 
			
		||||
{
 | 
			
		||||
    if      (a < amin) return amin;
 | 
			
		||||
    else if (a > amax) return amax;
 | 
			
		||||
    else               return a;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Computes ceil(log2(x)).
 | 
			
		||||
/** Compute ceil(log2(x)).
 | 
			
		||||
 * @param x value used to compute ceil(log2(x))
 | 
			
		||||
 * @return computed ceiling of log2(x)
 | 
			
		||||
 */
 | 
			
		||||
static inline av_const int av_ceil_log2(int x)
 | 
			
		||||
static av_always_inline av_const int av_ceil_log2_c(int x)
 | 
			
		||||
{
 | 
			
		||||
    return av_log2((x - 1) << 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#define MKTAG(a,b,c,d) (a | (b << 8) | (c << 16) | (d << 24))
 | 
			
		||||
#define MKBETAG(a,b,c,d) (d | (c << 8) | (b << 16) | (a << 24))
 | 
			
		||||
/**
 | 
			
		||||
 * Count number of bits set to one in x
 | 
			
		||||
 * @param x value to count bits of
 | 
			
		||||
 * @return the number of bits set to one in x
 | 
			
		||||
 */
 | 
			
		||||
static av_always_inline av_const int av_popcount_c(uint32_t x)
 | 
			
		||||
{
 | 
			
		||||
    x -= (x >> 1) & 0x55555555;
 | 
			
		||||
    x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
 | 
			
		||||
    x = (x + (x >> 4)) & 0x0F0F0F0F;
 | 
			
		||||
    x += x >> 8;
 | 
			
		||||
    return (x + (x >> 16)) & 0x3F;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * \def GET_UTF8(val, GET_BYTE, ERROR)
 | 
			
		||||
 * Converts a UTF-8 character (up to 4 bytes long) to its 32-bit UCS-4 encoded form
 | 
			
		||||
 * \param val is the output and should be of type uint32_t. It holds the converted
 | 
			
		||||
 * UCS-4 character and should be a left value.
 | 
			
		||||
 * \param GET_BYTE gets UTF-8 encoded bytes from any proper source. It can be
 | 
			
		||||
 * a function or a statement whose return value or evaluated value is of type
 | 
			
		||||
 * uint8_t. It will be executed up to 4 times for values in the valid UTF-8 range,
 | 
			
		||||
 * and up to 7 times in the general case.
 | 
			
		||||
 * \param ERROR action that should be taken when an invalid UTF-8 byte is returned
 | 
			
		||||
 * from GET_BYTE. It should be a statement that jumps out of the macro,
 | 
			
		||||
 * like exit(), goto, return, break, or continue.
 | 
			
		||||
#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24))
 | 
			
		||||
#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((a) << 24))
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Convert a UTF-8 character (up to 4 bytes) to its 32-bit UCS-4 encoded form.
 | 
			
		||||
 *
 | 
			
		||||
 * @param val      Output value, must be an lvalue of type uint32_t.
 | 
			
		||||
 * @param GET_BYTE Expression reading one byte from the input.
 | 
			
		||||
 *                 Evaluated up to 7 times (4 for the currently
 | 
			
		||||
 *                 assigned Unicode range).  With a memory buffer
 | 
			
		||||
 *                 input, this could be *ptr++.
 | 
			
		||||
 * @param ERROR    Expression to be evaluated on invalid input,
 | 
			
		||||
 *                 typically a goto statement.
 | 
			
		||||
 */
 | 
			
		||||
#define GET_UTF8(val, GET_BYTE, ERROR)\
 | 
			
		||||
    val= GET_BYTE;\
 | 
			
		||||
@@ -213,17 +249,14 @@ static inline av_const int av_ceil_log2(int x)
 | 
			
		||||
        }\
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * \def GET_UTF16(val, GET_16BIT, ERROR)
 | 
			
		||||
 * Converts a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form
 | 
			
		||||
 * \param val is the output and should be of type uint32_t. It holds the converted
 | 
			
		||||
 * UCS-4 character and should be a left value.
 | 
			
		||||
 * \param GET_16BIT gets two bytes of UTF-16 encoded data converted to native endianness.
 | 
			
		||||
 * It can be a function or a statement whose return value or evaluated value is of type
 | 
			
		||||
 * uint16_t. It will be executed up to 2 times.
 | 
			
		||||
 * \param ERROR action that should be taken when an invalid UTF-16 surrogate is
 | 
			
		||||
 * returned from GET_BYTE. It should be a statement that jumps out of the macro,
 | 
			
		||||
 * like exit(), goto, return, break, or continue.
 | 
			
		||||
/**
 | 
			
		||||
 * Convert a UTF-16 character (2 or 4 bytes) to its 32-bit UCS-4 encoded form.
 | 
			
		||||
 *
 | 
			
		||||
 * @param val       Output value, must be an lvalue of type uint32_t.
 | 
			
		||||
 * @param GET_16BIT Expression returning two bytes of UTF-16 data converted
 | 
			
		||||
 *                  to native byte order.  Evaluated one or two times.
 | 
			
		||||
 * @param ERROR     Expression to be evaluated on invalid input,
 | 
			
		||||
 *                  typically a goto statement.
 | 
			
		||||
 */
 | 
			
		||||
#define GET_UTF16(val, GET_16BIT, ERROR)\
 | 
			
		||||
    val = GET_16BIT;\
 | 
			
		||||
@@ -239,7 +272,7 @@ static inline av_const int av_ceil_log2(int x)
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * \def PUT_UTF8(val, tmp, PUT_BYTE)
 | 
			
		||||
 * Converts a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long).
 | 
			
		||||
 * Convert a 32-bit Unicode character to its UTF-8 encoded form (up to 4 bytes long).
 | 
			
		||||
 * \param val is an input-only argument and should be of type uint32_t. It holds
 | 
			
		||||
 * a UCS-4 encoded Unicode character that is to be converted to UTF-8. If
 | 
			
		||||
 * val is given as a function it is executed only once.
 | 
			
		||||
@@ -275,7 +308,7 @@ static inline av_const int av_ceil_log2(int x)
 | 
			
		||||
 | 
			
		||||
/*!
 | 
			
		||||
 * \def PUT_UTF16(val, tmp, PUT_16BIT)
 | 
			
		||||
 * Converts a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes).
 | 
			
		||||
 * Convert a 32-bit Unicode character to its UTF-16 encoded form (2 or 4 bytes).
 | 
			
		||||
 * \param val is an input-only argument and should be of type uint32_t. It holds
 | 
			
		||||
 * a UCS-4 encoded Unicode character that is to be converted to UTF-16. If
 | 
			
		||||
 * val is given as a function it is executed only once.
 | 
			
		||||
@@ -310,3 +343,45 @@ static inline av_const int av_ceil_log2(int x)
 | 
			
		||||
#endif /* HAVE_AV_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_COMMON_H */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The following definitions are outside the multiple inclusion guard
 | 
			
		||||
 * to ensure they are immediately available in intmath.h.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef av_log2
 | 
			
		||||
#   define av_log2       av_log2_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_log2_16bit
 | 
			
		||||
#   define av_log2_16bit av_log2_16bit_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_ceil_log2
 | 
			
		||||
#   define av_ceil_log2     av_ceil_log2_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip
 | 
			
		||||
#   define av_clip          av_clip_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip_uint8
 | 
			
		||||
#   define av_clip_uint8    av_clip_uint8_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip_int8
 | 
			
		||||
#   define av_clip_int8     av_clip_int8_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip_uint16
 | 
			
		||||
#   define av_clip_uint16   av_clip_uint16_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip_int16
 | 
			
		||||
#   define av_clip_int16    av_clip_int16_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clipl_int32
 | 
			
		||||
#   define av_clipl_int32   av_clipl_int32_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clip_uintp2
 | 
			
		||||
#   define av_clip_uintp2   av_clip_uintp2_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_clipf
 | 
			
		||||
#   define av_clipf         av_clipf_c
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef av_popcount
 | 
			
		||||
#   define av_popcount      av_popcount_c
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										61
									
								
								3rdparty/include/ffmpeg_/libavutil/cpu.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								3rdparty/include/ffmpeg_/libavutil/cpu.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,61 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2000, 2001, 2002 Fabrice Bellard
 | 
			
		||||
 *
 | 
			
		||||
 * 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_CPU_H
 | 
			
		||||
#define AVUTIL_CPU_H
 | 
			
		||||
 | 
			
		||||
#define AV_CPU_FLAG_FORCE    0x80000000 /* force usage of selected flags (OR) */
 | 
			
		||||
 | 
			
		||||
    /* lower 16 bits - CPU features */
 | 
			
		||||
#define AV_CPU_FLAG_MMX          0x0001 ///< standard MMX
 | 
			
		||||
#define AV_CPU_FLAG_MMX2         0x0002 ///< SSE integer functions or AMD MMX ext
 | 
			
		||||
#define AV_CPU_FLAG_3DNOW        0x0004 ///< AMD 3DNOW
 | 
			
		||||
#define AV_CPU_FLAG_SSE          0x0008 ///< SSE functions
 | 
			
		||||
#define AV_CPU_FLAG_SSE2         0x0010 ///< PIV SSE2 functions
 | 
			
		||||
#define AV_CPU_FLAG_SSE2SLOW 0x40000000 ///< SSE2 supported, but usually not faster
 | 
			
		||||
#define AV_CPU_FLAG_3DNOWEXT     0x0020 ///< AMD 3DNowExt
 | 
			
		||||
#define AV_CPU_FLAG_SSE3         0x0040 ///< Prescott SSE3 functions
 | 
			
		||||
#define AV_CPU_FLAG_SSE3SLOW 0x20000000 ///< SSE3 supported, but usually not faster
 | 
			
		||||
#define AV_CPU_FLAG_SSSE3        0x0080 ///< Conroe SSSE3 functions
 | 
			
		||||
#define AV_CPU_FLAG_ATOM     0x10000000 ///< Atom processor, some SSSE3 instructions are slower
 | 
			
		||||
#define AV_CPU_FLAG_SSE4         0x0100 ///< Penryn SSE4.1 functions
 | 
			
		||||
#define AV_CPU_FLAG_SSE42        0x0200 ///< Nehalem SSE4.2 functions
 | 
			
		||||
#define AV_CPU_FLAG_AVX          0x4000 ///< AVX functions: requires OS support even if YMM registers aren't used
 | 
			
		||||
#define AV_CPU_FLAG_IWMMXT       0x0100 ///< XScale IWMMXT
 | 
			
		||||
#define AV_CPU_FLAG_ALTIVEC      0x0001 ///< standard
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the flags which specify extensions supported by the CPU.
 | 
			
		||||
 */
 | 
			
		||||
int av_get_cpu_flags(void);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Disables cpu detection and forces the specified flags.
 | 
			
		||||
 */
 | 
			
		||||
void av_force_cpu_flags(int flags);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* The following CPU-specific functions shall not be called directly. */
 | 
			
		||||
int ff_get_cpu_flags_arm(void);
 | 
			
		||||
int ff_get_cpu_flags_ppc(void);
 | 
			
		||||
int ff_get_cpu_flags_x86(void);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_CPU_H */
 | 
			
		||||
							
								
								
									
										2
									
								
								3rdparty/include/ffmpeg_/libavutil/crc.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								3rdparty/include/ffmpeg_/libavutil/crc.h
									
									
									
									
										vendored
									
									
								
							@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef AVUTIL_CRC_H
 | 
			
		||||
#define AVUTIL_CRC_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										81
									
								
								3rdparty/include/ffmpeg_/libavutil/dict.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								3rdparty/include/ffmpeg_/libavutil/dict.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,81 @@
 | 
			
		||||
/*
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Public dictionary API.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AVUTIL_DICT_H
 | 
			
		||||
#define AVUTIL_DICT_H
 | 
			
		||||
 | 
			
		||||
#define AV_DICT_MATCH_CASE      1
 | 
			
		||||
#define AV_DICT_IGNORE_SUFFIX   2
 | 
			
		||||
#define AV_DICT_DONT_STRDUP_KEY 4
 | 
			
		||||
#define AV_DICT_DONT_STRDUP_VAL 8
 | 
			
		||||
#define AV_DICT_DONT_OVERWRITE 16   ///< Don't overwrite existing entries.
 | 
			
		||||
#define AV_DICT_APPEND         32   /**< If the entry already exists, append to it.  Note that no
 | 
			
		||||
                                      delimiter is added, the strings are simply concatenated. */
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    char *key;
 | 
			
		||||
    char *value;
 | 
			
		||||
} AVDictionaryEntry;
 | 
			
		||||
 | 
			
		||||
typedef struct AVDictionary AVDictionary;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get a dictionary entry with matching key.
 | 
			
		||||
 *
 | 
			
		||||
 * @param prev Set to the previous matching element to find the next.
 | 
			
		||||
 *             If set to NULL the first matching element is returned.
 | 
			
		||||
 * @param flags Allows case as well as suffix-insensitive comparisons.
 | 
			
		||||
 * @return Found entry or NULL, changing key or value leads to undefined behavior.
 | 
			
		||||
 */
 | 
			
		||||
AVDictionaryEntry *
 | 
			
		||||
av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Set the given entry in *pm, overwriting an existing entry.
 | 
			
		||||
 *
 | 
			
		||||
 * @param pm pointer to a pointer to a dictionary struct. If *pm is NULL
 | 
			
		||||
 * a dictionary struct is allocated and put in *pm.
 | 
			
		||||
 * @param key entry key to add to *pm (will be av_strduped depending on flags)
 | 
			
		||||
 * @param value entry value to add to *pm (will be av_strduped depending on flags).
 | 
			
		||||
 *        Passing a NULL value will cause an existing tag to be deleted.
 | 
			
		||||
 * @return >= 0 on success otherwise an error code <0
 | 
			
		||||
 */
 | 
			
		||||
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Copy entries from one AVDictionary struct into another.
 | 
			
		||||
 * @param dst pointer to a pointer to a AVDictionary struct. If *dst is NULL,
 | 
			
		||||
 *            this function will allocate a struct for you and put it in *dst
 | 
			
		||||
 * @param src pointer to source AVDictionary struct
 | 
			
		||||
 * @param flags flags to use when setting entries in *dst
 | 
			
		||||
 * @note metadata is read using the AV_DICT_IGNORE_SUFFIX flag
 | 
			
		||||
 */
 | 
			
		||||
void av_dict_copy(AVDictionary **dst, AVDictionary *src, int flags);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Free all the memory allocated for an AVDictionary struct.
 | 
			
		||||
 */
 | 
			
		||||
void av_dict_free(AVDictionary **m);
 | 
			
		||||
 | 
			
		||||
#endif // AVUTIL_DICT_H
 | 
			
		||||
							
								
								
									
										36
									
								
								3rdparty/include/ffmpeg_/libavutil/error.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								3rdparty/include/ffmpeg_/libavutil/error.h
									
									
									
									
										vendored
									
									
								
							@@ -37,32 +37,28 @@
 | 
			
		||||
#define AVUNERROR(e) (e)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR < 51
 | 
			
		||||
#define AVERROR_INVALIDDATA AVERROR(EINVAL)  ///< Invalid data found when processing input
 | 
			
		||||
#define AVERROR_IO          AVERROR(EIO)     ///< I/O error
 | 
			
		||||
#define AVERROR_NOENT       AVERROR(ENOENT)  ///< No such file or directory
 | 
			
		||||
#define AVERROR_NOFMT       AVERROR(EILSEQ)  ///< Unknown format
 | 
			
		||||
#define AVERROR_NOMEM       AVERROR(ENOMEM)  ///< Not enough memory
 | 
			
		||||
#define AVERROR_NOTSUPP     AVERROR(ENOSYS)  ///< Operation not supported
 | 
			
		||||
#define AVERROR_NUMEXPECTED AVERROR(EDOM)    ///< Number syntax expected in filename
 | 
			
		||||
#define AVERROR_UNKNOWN     AVERROR(EINVAL)  ///< Unknown error
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define AVERROR_EOF         AVERROR(EPIPE)   ///< End of file
 | 
			
		||||
 | 
			
		||||
#define AVERROR_PATCHWELCOME    (-MKTAG('P','A','W','E')) ///< Not yet implemented in FFmpeg, patches welcome
 | 
			
		||||
 | 
			
		||||
#if LIBAVUTIL_VERSION_MAJOR > 50
 | 
			
		||||
#define AVERROR_INVALIDDATA     (-MKTAG('I','N','D','A')) ///< Invalid data found when processing input
 | 
			
		||||
#define AVERROR_NUMEXPECTED     (-MKTAG('N','U','E','X')) ///< Number syntax expected in filename
 | 
			
		||||
#endif
 | 
			
		||||
#define AVERROR_BSF_NOT_FOUND      (-MKTAG(0xF8,'B','S','F')) ///< Bitstream filter not found
 | 
			
		||||
#define AVERROR_DECODER_NOT_FOUND  (-MKTAG(0xF8,'D','E','C')) ///< Decoder not found
 | 
			
		||||
#define AVERROR_DEMUXER_NOT_FOUND  (-MKTAG(0xF8,'D','E','M')) ///< Demuxer not found
 | 
			
		||||
#define AVERROR_ENCODER_NOT_FOUND  (-MKTAG(0xF8,'E','N','C')) ///< Encoder not found
 | 
			
		||||
#define AVERROR_EOF                (-MKTAG( 'E','O','F',' ')) ///< End of file
 | 
			
		||||
#define AVERROR_EXIT               (-MKTAG( 'E','X','I','T')) ///< Immediate exit was requested; the called function should not be restarted
 | 
			
		||||
#define AVERROR_FILTER_NOT_FOUND   (-MKTAG(0xF8,'F','I','L')) ///< Filter not found
 | 
			
		||||
#define AVERROR_INVALIDDATA        (-MKTAG( 'I','N','D','A')) ///< Invalid data found when processing input
 | 
			
		||||
#define AVERROR_MUXER_NOT_FOUND    (-MKTAG(0xF8,'M','U','X')) ///< Muxer not found
 | 
			
		||||
#define AVERROR_OPTION_NOT_FOUND   (-MKTAG(0xF8,'O','P','T')) ///< Option not found
 | 
			
		||||
#define AVERROR_PATCHWELCOME       (-MKTAG( 'P','A','W','E')) ///< Not yet implemented in FFmpeg, patches welcome
 | 
			
		||||
#define AVERROR_PROTOCOL_NOT_FOUND (-MKTAG(0xF8,'P','R','O')) ///< Protocol not found
 | 
			
		||||
#define AVERROR_STREAM_NOT_FOUND   (-MKTAG(0xF8,'S','T','R')) ///< Stream not found
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Puts a description of the AVERROR code errnum in errbuf.
 | 
			
		||||
 * Put a description of the AVERROR code errnum in errbuf.
 | 
			
		||||
 * In case of failure the global variable errno is set to indicate the
 | 
			
		||||
 * error. Even in case of failure av_strerror() will print a generic
 | 
			
		||||
 * error message indicating the errnum provided to errbuf.
 | 
			
		||||
 *
 | 
			
		||||
 * @param errnum      error code to describe
 | 
			
		||||
 * @param errbuf      buffer to which description is written
 | 
			
		||||
 * @param errbuf_size the size in bytes of errbuf
 | 
			
		||||
 * @return 0 on success, a negative value if a description for errnum
 | 
			
		||||
 * cannot be found
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										146
									
								
								3rdparty/include/ffmpeg_/libavutil/eval.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								3rdparty/include/ffmpeg_/libavutil/eval.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,146 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2002 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * simple arithmetic expression evaluator
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef AVUTIL_EVAL_H
 | 
			
		||||
#define AVUTIL_EVAL_H
 | 
			
		||||
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
 | 
			
		||||
typedef struct AVExpr AVExpr;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse and evaluate an expression.
 | 
			
		||||
 * Note, this is significantly slower than av_expr_eval().
 | 
			
		||||
 *
 | 
			
		||||
 * @param res a pointer to a double where is put the result value of
 | 
			
		||||
 * the expression, or NAN in case of error
 | 
			
		||||
 * @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)"
 | 
			
		||||
 * @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0}
 | 
			
		||||
 * @param const_values a zero terminated array of values for the identifiers from const_names
 | 
			
		||||
 * @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers
 | 
			
		||||
 * @param funcs1 NULL terminated array of function pointers for functions which take 1 argument
 | 
			
		||||
 * @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers
 | 
			
		||||
 * @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments
 | 
			
		||||
 * @param opaque a pointer which will be passed to all functions from funcs1 and funcs2
 | 
			
		||||
 * @param log_ctx parent logging context
 | 
			
		||||
 * @return 0 in case of success, a negative value corresponding to an
 | 
			
		||||
 * AVERROR code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_expr_parse_and_eval(double *res, const char *s,
 | 
			
		||||
                           const char * const *const_names, const double *const_values,
 | 
			
		||||
                           const char * const *func1_names, double (* const *funcs1)(void *, double),
 | 
			
		||||
                           const char * const *func2_names, double (* const *funcs2)(void *, double, double),
 | 
			
		||||
                           void *opaque, int log_offset, void *log_ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse an expression.
 | 
			
		||||
 *
 | 
			
		||||
 * @param expr a pointer where is put an AVExpr containing the parsed
 | 
			
		||||
 * value in case of successfull parsing, or NULL otherwise.
 | 
			
		||||
 * The pointed to AVExpr must be freed with av_expr_free() by the user
 | 
			
		||||
 * when it is not needed anymore.
 | 
			
		||||
 * @param s expression as a zero terminated string, for example "1+2^3+5*5+sin(2/3)"
 | 
			
		||||
 * @param const_names NULL terminated array of zero terminated strings of constant identifiers, for example {"PI", "E", 0}
 | 
			
		||||
 * @param func1_names NULL terminated array of zero terminated strings of funcs1 identifiers
 | 
			
		||||
 * @param funcs1 NULL terminated array of function pointers for functions which take 1 argument
 | 
			
		||||
 * @param func2_names NULL terminated array of zero terminated strings of funcs2 identifiers
 | 
			
		||||
 * @param funcs2 NULL terminated array of function pointers for functions which take 2 arguments
 | 
			
		||||
 * @param log_ctx parent logging context
 | 
			
		||||
 * @return 0 in case of success, a negative value corresponding to an
 | 
			
		||||
 * AVERROR code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_expr_parse(AVExpr **expr, const char *s,
 | 
			
		||||
                  const char * const *const_names,
 | 
			
		||||
                  const char * const *func1_names, double (* const *funcs1)(void *, double),
 | 
			
		||||
                  const char * const *func2_names, double (* const *funcs2)(void *, double, double),
 | 
			
		||||
                  int log_offset, void *log_ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Evaluate a previously parsed expression.
 | 
			
		||||
 *
 | 
			
		||||
 * @param const_values a zero terminated array of values for the identifiers from av_expr_parse() const_names
 | 
			
		||||
 * @param opaque a pointer which will be passed to all functions from funcs1 and funcs2
 | 
			
		||||
 * @return the value of the expression
 | 
			
		||||
 */
 | 
			
		||||
double av_expr_eval(AVExpr *e, const double *const_values, void *opaque);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Free a parsed expression previously created with av_expr_parse().
 | 
			
		||||
 */
 | 
			
		||||
void av_expr_free(AVExpr *e);
 | 
			
		||||
 | 
			
		||||
#if FF_API_OLD_EVAL_NAMES
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Deprecated in favor of av_expr_parse_and_eval().
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
int av_parse_and_eval_expr(double *res, const char *s,
 | 
			
		||||
                           const char * const *const_names, const double *const_values,
 | 
			
		||||
                           const char * const *func1_names, double (* const *funcs1)(void *, double),
 | 
			
		||||
                           const char * const *func2_names, double (* const *funcs2)(void *, double, double),
 | 
			
		||||
                           void *opaque, int log_offset, void *log_ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Deprecated in favor of av_expr_parse().
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
int av_parse_expr(AVExpr **expr, const char *s,
 | 
			
		||||
                  const char * const *const_names,
 | 
			
		||||
                  const char * const *func1_names, double (* const *funcs1)(void *, double),
 | 
			
		||||
                  const char * const *func2_names, double (* const *funcs2)(void *, double, double),
 | 
			
		||||
                  int log_offset, void *log_ctx);
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Deprecated in favor of av_expr_eval().
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
double av_eval_expr(AVExpr *e, const double *const_values, void *opaque);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Deprecated in favor of av_expr_free().
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
void av_free_expr(AVExpr *e);
 | 
			
		||||
#endif /* FF_API_OLD_EVAL_NAMES */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse the string in numstr and return its value as a double. If
 | 
			
		||||
 * the string is empty, contains only whitespaces, or does not contain
 | 
			
		||||
 * an initial substring that has the expected syntax for a
 | 
			
		||||
 * floating-point number, no conversion is performed. In this case,
 | 
			
		||||
 * returns a value of zero and the value returned in tail is the value
 | 
			
		||||
 * of numstr.
 | 
			
		||||
 *
 | 
			
		||||
 * @param numstr a string representing a number, may contain one of
 | 
			
		||||
 * the International System number postfixes, for example 'K', 'M',
 | 
			
		||||
 * 'G'. If 'i' is appended after the postfix, powers of 2 are used
 | 
			
		||||
 * instead of powers of 10. The 'B' postfix multiplies the value for
 | 
			
		||||
 * 8, and can be appended after another postfix or used alone. This
 | 
			
		||||
 * allows using for example 'KB', 'MiB', 'G' and 'B' as postfix.
 | 
			
		||||
 * @param tail if non-NULL puts here the pointer to the char next
 | 
			
		||||
 * after the last parsed character
 | 
			
		||||
 */
 | 
			
		||||
double av_strtod(const char *numstr, char **tail);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_EVAL_H */
 | 
			
		||||
							
								
								
									
										20
									
								
								3rdparty/include/ffmpeg_/libavutil/fifo.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								3rdparty/include/ffmpeg_/libavutil/fifo.h
									
									
									
									
										vendored
									
									
								
							@@ -24,7 +24,7 @@
 | 
			
		||||
#ifndef AVUTIL_FIFO_H
 | 
			
		||||
#define AVUTIL_FIFO_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
typedef struct AVFifoBuffer {
 | 
			
		||||
    uint8_t *buffer;
 | 
			
		||||
@@ -33,26 +33,26 @@ typedef struct AVFifoBuffer {
 | 
			
		||||
} AVFifoBuffer;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initializes an AVFifoBuffer.
 | 
			
		||||
 * Initialize an AVFifoBuffer.
 | 
			
		||||
 * @param size of FIFO
 | 
			
		||||
 * @return AVFifoBuffer or NULL in case of memory allocation failure
 | 
			
		||||
 */
 | 
			
		||||
AVFifoBuffer *av_fifo_alloc(unsigned int size);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Frees an AVFifoBuffer.
 | 
			
		||||
 * Free an AVFifoBuffer.
 | 
			
		||||
 * @param *f AVFifoBuffer to free
 | 
			
		||||
 */
 | 
			
		||||
void av_fifo_free(AVFifoBuffer *f);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Resets the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
 | 
			
		||||
 * Reset the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied.
 | 
			
		||||
 * @param *f AVFifoBuffer to reset
 | 
			
		||||
 */
 | 
			
		||||
void av_fifo_reset(AVFifoBuffer *f);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the amount of data in bytes in the AVFifoBuffer, that is the
 | 
			
		||||
 * Return the amount of data in bytes in the AVFifoBuffer, that is the
 | 
			
		||||
 * amount of data you can read from it.
 | 
			
		||||
 * @param *f AVFifoBuffer to read from
 | 
			
		||||
 * @return size
 | 
			
		||||
@@ -60,7 +60,7 @@ void av_fifo_reset(AVFifoBuffer *f);
 | 
			
		||||
int av_fifo_size(AVFifoBuffer *f);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the amount of space in bytes in the AVFifoBuffer, that is the
 | 
			
		||||
 * Return the amount of space in bytes in the AVFifoBuffer, that is the
 | 
			
		||||
 * amount of data you can write into it.
 | 
			
		||||
 * @param *f AVFifoBuffer to write into
 | 
			
		||||
 * @return size
 | 
			
		||||
@@ -68,7 +68,7 @@ int av_fifo_size(AVFifoBuffer *f);
 | 
			
		||||
int av_fifo_space(AVFifoBuffer *f);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Feeds data from an AVFifoBuffer to a user-supplied callback.
 | 
			
		||||
 * Feed data from an AVFifoBuffer to a user-supplied callback.
 | 
			
		||||
 * @param *f AVFifoBuffer to read from
 | 
			
		||||
 * @param buf_size number of bytes to read
 | 
			
		||||
 * @param *func generic read function
 | 
			
		||||
@@ -77,7 +77,7 @@ int av_fifo_space(AVFifoBuffer *f);
 | 
			
		||||
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int));
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Feeds data from a user-supplied callback to an AVFifoBuffer.
 | 
			
		||||
 * Feed data from a user-supplied callback to an AVFifoBuffer.
 | 
			
		||||
 * @param *f AVFifoBuffer to write to
 | 
			
		||||
 * @param *src data source; non-const since it may be used as a
 | 
			
		||||
 * modifiable context by the function defined in func
 | 
			
		||||
@@ -92,7 +92,7 @@ int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)
 | 
			
		||||
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int));
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Resizes an AVFifoBuffer.
 | 
			
		||||
 * Resize an AVFifoBuffer.
 | 
			
		||||
 * @param *f AVFifoBuffer to resize
 | 
			
		||||
 * @param size new AVFifoBuffer size in bytes
 | 
			
		||||
 * @return <0 for failure, >=0 otherwise
 | 
			
		||||
@@ -100,7 +100,7 @@ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void
 | 
			
		||||
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Reads and discards the specified amount of data from an AVFifoBuffer.
 | 
			
		||||
 * Read and discard the specified amount of data from an AVFifoBuffer.
 | 
			
		||||
 * @param *f AVFifoBuffer to read from
 | 
			
		||||
 * @param size amount of data to read in bytes
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										52
									
								
								3rdparty/include/ffmpeg_/libavutil/file.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								3rdparty/include/ffmpeg_/libavutil/file.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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_FILE_H
 | 
			
		||||
#define AVUTIL_FILE_H
 | 
			
		||||
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * Misc file utilities.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Read the file with name filename, and put its content in a newly
 | 
			
		||||
 * allocated buffer or map it with mmap() when available.
 | 
			
		||||
 * In case of success set *bufptr to the read or mmapped buffer, and
 | 
			
		||||
 * *size to the size in bytes of the buffer in *bufptr.
 | 
			
		||||
 * The returned buffer must be released with av_file_unmap().
 | 
			
		||||
 *
 | 
			
		||||
 * @param log_offset loglevel offset used for logging
 | 
			
		||||
 * @param log_ctx context used for logging
 | 
			
		||||
 * @return a non negative number in case of success, a negative value
 | 
			
		||||
 * corresponding to an AVERROR error code in case of failure
 | 
			
		||||
 */
 | 
			
		||||
int av_file_map(const char *filename, uint8_t **bufptr, size_t *size,
 | 
			
		||||
                int log_offset, void *log_ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Unmap or free the buffer bufptr created by av_file_map().
 | 
			
		||||
 *
 | 
			
		||||
 * @param size size in bytes of bufptr, must be the same as returned
 | 
			
		||||
 * by av_file_map()
 | 
			
		||||
 */
 | 
			
		||||
void av_file_unmap(uint8_t *bufptr, size_t size);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_FILE_H */
 | 
			
		||||
							
								
								
									
										130
									
								
								3rdparty/include/ffmpeg_/libavutil/imgutils.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										130
									
								
								3rdparty/include/ffmpeg_/libavutil/imgutils.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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_IMGUTILS_H
 | 
			
		||||
#define AVUTIL_IMGUTILS_H
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * misc image utilities
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
#include "pixdesc.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compute the max pixel step for each plane of an image with a
 | 
			
		||||
 * format described by pixdesc.
 | 
			
		||||
 *
 | 
			
		||||
 * The pixel step is the distance in bytes between the first byte of
 | 
			
		||||
 * the group of bytes which describe a pixel component and the first
 | 
			
		||||
 * byte of the successive group in the same plane for the same
 | 
			
		||||
 * component.
 | 
			
		||||
 *
 | 
			
		||||
 * @param max_pixsteps an array which is filled with the max pixel step
 | 
			
		||||
 * for each plane. Since a plane may contain different pixel
 | 
			
		||||
 * components, the computed max_pixsteps[plane] is relative to the
 | 
			
		||||
 * component in the plane with the max pixel step.
 | 
			
		||||
 * @param max_pixstep_comps an array which is filled with the component
 | 
			
		||||
 * for each plane which has the max pixel step. May be NULL.
 | 
			
		||||
 */
 | 
			
		||||
void av_image_fill_max_pixsteps(int max_pixsteps[4], int max_pixstep_comps[4],
 | 
			
		||||
                                const AVPixFmtDescriptor *pixdesc);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compute the size of an image line with format pix_fmt and width
 | 
			
		||||
 * width for the plane plane.
 | 
			
		||||
 *
 | 
			
		||||
 * @return the computed size in bytes
 | 
			
		||||
 */
 | 
			
		||||
int av_image_get_linesize(enum PixelFormat pix_fmt, int width, int plane);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Fill plane linesizes for an image with pixel format pix_fmt and
 | 
			
		||||
 * width width.
 | 
			
		||||
 *
 | 
			
		||||
 * @param linesizes array to be filled with the linesize for each plane
 | 
			
		||||
 * @return >= 0 in case of success, a negative error code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_image_fill_linesizes(int linesizes[4], enum PixelFormat pix_fmt, int width);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Fill plane data pointers for an image with pixel format pix_fmt and
 | 
			
		||||
 * height height.
 | 
			
		||||
 *
 | 
			
		||||
 * @param data pointers array to be filled with the pointer for each image plane
 | 
			
		||||
 * @param ptr the pointer to a buffer which will contain the image
 | 
			
		||||
 * @param linesizes the array containing the linesize for each
 | 
			
		||||
 * plane, should be filled by av_image_fill_linesizes()
 | 
			
		||||
 * @return the size in bytes required for the image buffer, a negative
 | 
			
		||||
 * error code in case of failure
 | 
			
		||||
 */
 | 
			
		||||
int av_image_fill_pointers(uint8_t *data[4], enum PixelFormat pix_fmt, int height,
 | 
			
		||||
                           uint8_t *ptr, const int linesizes[4]);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocate an image with size w and h and pixel format pix_fmt, and
 | 
			
		||||
 * fill pointers and linesizes accordingly.
 | 
			
		||||
 * The allocated image buffer has to be freed by using
 | 
			
		||||
 * av_freep(&pointers[0]).
 | 
			
		||||
 *
 | 
			
		||||
 * @param align the value to use for buffer size alignment
 | 
			
		||||
 * @return the size in bytes required for the image buffer, a negative
 | 
			
		||||
 * error code in case of failure
 | 
			
		||||
 */
 | 
			
		||||
int av_image_alloc(uint8_t *pointers[4], int linesizes[4],
 | 
			
		||||
                   int w, int h, enum PixelFormat pix_fmt, int align);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Copy image plane from src to dst.
 | 
			
		||||
 * That is, copy "height" number of lines of "bytewidth" bytes each.
 | 
			
		||||
 * The first byte of each successive line is separated by *_linesize
 | 
			
		||||
 * bytes.
 | 
			
		||||
 *
 | 
			
		||||
 * @param dst_linesize linesize for the image plane in dst
 | 
			
		||||
 * @param src_linesize linesize for the image plane in src
 | 
			
		||||
 */
 | 
			
		||||
void av_image_copy_plane(uint8_t       *dst, int dst_linesize,
 | 
			
		||||
                         const uint8_t *src, int src_linesize,
 | 
			
		||||
                         int bytewidth, int height);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Copy image in src_data to dst_data.
 | 
			
		||||
 *
 | 
			
		||||
 * @param dst_linesize linesizes for the image in dst_data
 | 
			
		||||
 * @param src_linesize linesizes for the image in src_data
 | 
			
		||||
 */
 | 
			
		||||
void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
 | 
			
		||||
                   const uint8_t *src_data[4], const int src_linesizes[4],
 | 
			
		||||
                   enum PixelFormat pix_fmt, int width, int height);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Check if the given dimension of an image is valid, meaning that all
 | 
			
		||||
 * bytes of the image can be addressed with a signed int.
 | 
			
		||||
 *
 | 
			
		||||
 * @param w the width of the picture
 | 
			
		||||
 * @param h the height of the picture
 | 
			
		||||
 * @param log_offset the offset to sum to the log level for logging with log_ctx
 | 
			
		||||
 * @param log_ctx the parent logging context, it may be NULL
 | 
			
		||||
 * @return >= 0 if valid, a negative error code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_image_check_size(unsigned int w, unsigned int h, int log_offset, void *log_ctx);
 | 
			
		||||
 | 
			
		||||
int ff_set_systematic_pal2(uint32_t pal[256], enum PixelFormat pix_fmt);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_IMGUTILS_H */
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef AVUTIL_INTFLOAT_READWRITE_H
 | 
			
		||||
#define AVUTIL_INTFLOAT_READWRITE_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
 | 
			
		||||
/* IEEE 80 bits extended float */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										522
									
								
								3rdparty/include/ffmpeg_/libavutil/intreadwrite.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										522
									
								
								3rdparty/include/ffmpeg_/libavutil/intreadwrite.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,522 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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_INTREADWRITE_H
 | 
			
		||||
#define AVUTIL_INTREADWRITE_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include "libavutil/avconfig.h"
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
#include "bswap.h"
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
    uint64_t u64;
 | 
			
		||||
    uint32_t u32[2];
 | 
			
		||||
    uint16_t u16[4];
 | 
			
		||||
    uint8_t  u8 [8];
 | 
			
		||||
    double   f64;
 | 
			
		||||
    float    f32[2];
 | 
			
		||||
} av_alias av_alias64;
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
    uint32_t u32;
 | 
			
		||||
    uint16_t u16[2];
 | 
			
		||||
    uint8_t  u8 [4];
 | 
			
		||||
    float    f32;
 | 
			
		||||
} av_alias av_alias32;
 | 
			
		||||
 | 
			
		||||
typedef union {
 | 
			
		||||
    uint16_t u16;
 | 
			
		||||
    uint8_t  u8 [2];
 | 
			
		||||
} av_alias av_alias16;
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Arch-specific headers can provide any combination of
 | 
			
		||||
 * AV_[RW][BLN](16|24|32|64) and AV_(COPY|SWAP|ZERO)(64|128) macros.
 | 
			
		||||
 * Preprocessor symbols must be defined, even if these are implemented
 | 
			
		||||
 * as inline functions.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_AV_CONFIG_H
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#if   ARCH_ARM
 | 
			
		||||
#   include "arm/intreadwrite.h"
 | 
			
		||||
#elif ARCH_AVR32
 | 
			
		||||
#   include "avr32/intreadwrite.h"
 | 
			
		||||
#elif ARCH_MIPS
 | 
			
		||||
#   include "mips/intreadwrite.h"
 | 
			
		||||
#elif ARCH_PPC
 | 
			
		||||
#   include "ppc/intreadwrite.h"
 | 
			
		||||
#elif ARCH_TOMI
 | 
			
		||||
#   include "tomi/intreadwrite.h"
 | 
			
		||||
#elif ARCH_X86
 | 
			
		||||
#   include "x86/intreadwrite.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* HAVE_AV_CONFIG_H */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Map AV_RNXX <-> AV_R[BL]XX for all variants provided by per-arch headers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN16) && !defined(AV_RB16)
 | 
			
		||||
#       define AV_RB16(p) AV_RN16(p)
 | 
			
		||||
#   elif !defined(AV_RN16) &&  defined(AV_RB16)
 | 
			
		||||
#       define AV_RN16(p) AV_RB16(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN16) && !defined(AV_WB16)
 | 
			
		||||
#       define AV_WB16(p, v) AV_WN16(p, v)
 | 
			
		||||
#   elif !defined(AV_WN16) &&  defined(AV_WB16)
 | 
			
		||||
#       define AV_WN16(p, v) AV_WB16(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN24) && !defined(AV_RB24)
 | 
			
		||||
#       define AV_RB24(p) AV_RN24(p)
 | 
			
		||||
#   elif !defined(AV_RN24) &&  defined(AV_RB24)
 | 
			
		||||
#       define AV_RN24(p) AV_RB24(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN24) && !defined(AV_WB24)
 | 
			
		||||
#       define AV_WB24(p, v) AV_WN24(p, v)
 | 
			
		||||
#   elif !defined(AV_WN24) &&  defined(AV_WB24)
 | 
			
		||||
#       define AV_WN24(p, v) AV_WB24(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN32) && !defined(AV_RB32)
 | 
			
		||||
#       define AV_RB32(p) AV_RN32(p)
 | 
			
		||||
#   elif !defined(AV_RN32) &&  defined(AV_RB32)
 | 
			
		||||
#       define AV_RN32(p) AV_RB32(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN32) && !defined(AV_WB32)
 | 
			
		||||
#       define AV_WB32(p, v) AV_WN32(p, v)
 | 
			
		||||
#   elif !defined(AV_WN32) &&  defined(AV_WB32)
 | 
			
		||||
#       define AV_WN32(p, v) AV_WB32(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN64) && !defined(AV_RB64)
 | 
			
		||||
#       define AV_RB64(p) AV_RN64(p)
 | 
			
		||||
#   elif !defined(AV_RN64) &&  defined(AV_RB64)
 | 
			
		||||
#       define AV_RN64(p) AV_RB64(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN64) && !defined(AV_WB64)
 | 
			
		||||
#       define AV_WB64(p, v) AV_WN64(p, v)
 | 
			
		||||
#   elif !defined(AV_WN64) &&  defined(AV_WB64)
 | 
			
		||||
#       define AV_WN64(p, v) AV_WB64(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#else /* AV_HAVE_BIGENDIAN */
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN16) && !defined(AV_RL16)
 | 
			
		||||
#       define AV_RL16(p) AV_RN16(p)
 | 
			
		||||
#   elif !defined(AV_RN16) &&  defined(AV_RL16)
 | 
			
		||||
#       define AV_RN16(p) AV_RL16(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN16) && !defined(AV_WL16)
 | 
			
		||||
#       define AV_WL16(p, v) AV_WN16(p, v)
 | 
			
		||||
#   elif !defined(AV_WN16) &&  defined(AV_WL16)
 | 
			
		||||
#       define AV_WN16(p, v) AV_WL16(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN24) && !defined(AV_RL24)
 | 
			
		||||
#       define AV_RL24(p) AV_RN24(p)
 | 
			
		||||
#   elif !defined(AV_RN24) &&  defined(AV_RL24)
 | 
			
		||||
#       define AV_RN24(p) AV_RL24(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN24) && !defined(AV_WL24)
 | 
			
		||||
#       define AV_WL24(p, v) AV_WN24(p, v)
 | 
			
		||||
#   elif !defined(AV_WN24) &&  defined(AV_WL24)
 | 
			
		||||
#       define AV_WN24(p, v) AV_WL24(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN32) && !defined(AV_RL32)
 | 
			
		||||
#       define AV_RL32(p) AV_RN32(p)
 | 
			
		||||
#   elif !defined(AV_RN32) &&  defined(AV_RL32)
 | 
			
		||||
#       define AV_RN32(p) AV_RL32(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN32) && !defined(AV_WL32)
 | 
			
		||||
#       define AV_WL32(p, v) AV_WN32(p, v)
 | 
			
		||||
#   elif !defined(AV_WN32) &&  defined(AV_WL32)
 | 
			
		||||
#       define AV_WN32(p, v) AV_WL32(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_RN64) && !defined(AV_RL64)
 | 
			
		||||
#       define AV_RL64(p) AV_RN64(p)
 | 
			
		||||
#   elif !defined(AV_RN64) &&  defined(AV_RL64)
 | 
			
		||||
#       define AV_RN64(p) AV_RL64(p)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#   if    defined(AV_WN64) && !defined(AV_WL64)
 | 
			
		||||
#       define AV_WL64(p, v) AV_WN64(p, v)
 | 
			
		||||
#   elif !defined(AV_WN64) &&  defined(AV_WL64)
 | 
			
		||||
#       define AV_WN64(p, v) AV_WL64(p, v)
 | 
			
		||||
#   endif
 | 
			
		||||
 | 
			
		||||
#endif /* !AV_HAVE_BIGENDIAN */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Define AV_[RW]N helper macros to simplify definitions not provided
 | 
			
		||||
 * by per-arch headers.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__GNUC__) && !defined(__TI_COMPILER_VERSION__)
 | 
			
		||||
 | 
			
		||||
union unaligned_64 { uint64_t l; } __attribute__((packed)) av_alias;
 | 
			
		||||
union unaligned_32 { uint32_t l; } __attribute__((packed)) av_alias;
 | 
			
		||||
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(__DECC)
 | 
			
		||||
 | 
			
		||||
#   define AV_RN(s, p) (*((const __unaligned uint##s##_t*)(p)))
 | 
			
		||||
#   define AV_WN(s, p, v) (*((__unaligned uint##s##_t*)(p)) = (v))
 | 
			
		||||
 | 
			
		||||
#elif AV_HAVE_FAST_UNALIGNED
 | 
			
		||||
 | 
			
		||||
#   define AV_RN(s, p) (((const av_alias##s*)(p))->u##s)
 | 
			
		||||
#   define AV_WN(s, p, v) (((av_alias##s*)(p))->u##s = (v))
 | 
			
		||||
 | 
			
		||||
#else
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB16
 | 
			
		||||
#   define AV_RB16(x)                           \
 | 
			
		||||
    ((((const uint8_t*)(x))[0] << 8) |          \
 | 
			
		||||
      ((const uint8_t*)(x))[1])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB16
 | 
			
		||||
#   define AV_WB16(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d)>>8;            \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL16
 | 
			
		||||
#   define AV_RL16(x)                           \
 | 
			
		||||
    ((((const uint8_t*)(x))[1] << 8) |          \
 | 
			
		||||
      ((const uint8_t*)(x))[0])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL16
 | 
			
		||||
#   define AV_WL16(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>8;            \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB32
 | 
			
		||||
#   define AV_RB32(x)                                \
 | 
			
		||||
    (((uint32_t)((const uint8_t*)(x))[0] << 24) |    \
 | 
			
		||||
               (((const uint8_t*)(x))[1] << 16) |    \
 | 
			
		||||
               (((const uint8_t*)(x))[2] <<  8) |    \
 | 
			
		||||
                ((const uint8_t*)(x))[3])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB32
 | 
			
		||||
#   define AV_WB32(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[3] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>16;           \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d)>>24;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL32
 | 
			
		||||
#   define AV_RL32(x)                                \
 | 
			
		||||
    (((uint32_t)((const uint8_t*)(x))[3] << 24) |    \
 | 
			
		||||
               (((const uint8_t*)(x))[2] << 16) |    \
 | 
			
		||||
               (((const uint8_t*)(x))[1] <<  8) |    \
 | 
			
		||||
                ((const uint8_t*)(x))[0])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL32
 | 
			
		||||
#   define AV_WL32(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d)>>16;           \
 | 
			
		||||
        ((uint8_t*)(p))[3] = (d)>>24;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB64
 | 
			
		||||
#   define AV_RB64(x)                                   \
 | 
			
		||||
    (((uint64_t)((const uint8_t*)(x))[0] << 56) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[1] << 48) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[2] << 40) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[3] << 32) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[4] << 24) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[5] << 16) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[6] <<  8) |       \
 | 
			
		||||
      (uint64_t)((const uint8_t*)(x))[7])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB64
 | 
			
		||||
#   define AV_WB64(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[7] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[6] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[5] = (d)>>16;           \
 | 
			
		||||
        ((uint8_t*)(p))[4] = (d)>>24;           \
 | 
			
		||||
        ((uint8_t*)(p))[3] = (d)>>32;           \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d)>>40;           \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>48;           \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d)>>56;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL64
 | 
			
		||||
#   define AV_RL64(x)                                   \
 | 
			
		||||
    (((uint64_t)((const uint8_t*)(x))[7] << 56) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[6] << 48) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[5] << 40) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[4] << 32) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[3] << 24) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[2] << 16) |       \
 | 
			
		||||
     ((uint64_t)((const uint8_t*)(x))[1] <<  8) |       \
 | 
			
		||||
      (uint64_t)((const uint8_t*)(x))[0])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL64
 | 
			
		||||
#   define AV_WL64(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d)>>16;           \
 | 
			
		||||
        ((uint8_t*)(p))[3] = (d)>>24;           \
 | 
			
		||||
        ((uint8_t*)(p))[4] = (d)>>32;           \
 | 
			
		||||
        ((uint8_t*)(p))[5] = (d)>>40;           \
 | 
			
		||||
        ((uint8_t*)(p))[6] = (d)>>48;           \
 | 
			
		||||
        ((uint8_t*)(p))[7] = (d)>>56;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
#   define AV_RN(s, p)    AV_RB##s(p)
 | 
			
		||||
#   define AV_WN(s, p, v) AV_WB##s(p, v)
 | 
			
		||||
#else
 | 
			
		||||
#   define AV_RN(s, p)    AV_RL##s(p)
 | 
			
		||||
#   define AV_WN(s, p, v) AV_WL##s(p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* HAVE_FAST_UNALIGNED */
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN16
 | 
			
		||||
#   define AV_RN16(p) AV_RN(16, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN32
 | 
			
		||||
#   define AV_RN32(p) AV_RN(32, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN64
 | 
			
		||||
#   define AV_RN64(p) AV_RN(64, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN16
 | 
			
		||||
#   define AV_WN16(p, v) AV_WN(16, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN32
 | 
			
		||||
#   define AV_WN32(p, v) AV_WN(32, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN64
 | 
			
		||||
#   define AV_WN64(p, v) AV_WN(64, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
#   define AV_RB(s, p)    AV_RN##s(p)
 | 
			
		||||
#   define AV_WB(s, p, v) AV_WN##s(p, v)
 | 
			
		||||
#   define AV_RL(s, p)    av_bswap##s(AV_RN##s(p))
 | 
			
		||||
#   define AV_WL(s, p, v) AV_WN##s(p, av_bswap##s(v))
 | 
			
		||||
#else
 | 
			
		||||
#   define AV_RB(s, p)    av_bswap##s(AV_RN##s(p))
 | 
			
		||||
#   define AV_WB(s, p, v) AV_WN##s(p, av_bswap##s(v))
 | 
			
		||||
#   define AV_RL(s, p)    AV_RN##s(p)
 | 
			
		||||
#   define AV_WL(s, p, v) AV_WN##s(p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define AV_RB8(x)     (((const uint8_t*)(x))[0])
 | 
			
		||||
#define AV_WB8(p, d)  do { ((uint8_t*)(p))[0] = (d); } while(0)
 | 
			
		||||
 | 
			
		||||
#define AV_RL8(x)     AV_RB8(x)
 | 
			
		||||
#define AV_WL8(p, d)  AV_WB8(p, d)
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB16
 | 
			
		||||
#   define AV_RB16(p)    AV_RB(16, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB16
 | 
			
		||||
#   define AV_WB16(p, v) AV_WB(16, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL16
 | 
			
		||||
#   define AV_RL16(p)    AV_RL(16, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL16
 | 
			
		||||
#   define AV_WL16(p, v) AV_WL(16, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB32
 | 
			
		||||
#   define AV_RB32(p)    AV_RB(32, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB32
 | 
			
		||||
#   define AV_WB32(p, v) AV_WB(32, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL32
 | 
			
		||||
#   define AV_RL32(p)    AV_RL(32, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL32
 | 
			
		||||
#   define AV_WL32(p, v) AV_WL(32, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB64
 | 
			
		||||
#   define AV_RB64(p)    AV_RB(64, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB64
 | 
			
		||||
#   define AV_WB64(p, v) AV_WB(64, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL64
 | 
			
		||||
#   define AV_RL64(p)    AV_RL(64, p)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL64
 | 
			
		||||
#   define AV_WL64(p, v) AV_WL(64, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RB24
 | 
			
		||||
#   define AV_RB24(x)                           \
 | 
			
		||||
    ((((const uint8_t*)(x))[0] << 16) |         \
 | 
			
		||||
     (((const uint8_t*)(x))[1] <<  8) |         \
 | 
			
		||||
      ((const uint8_t*)(x))[2])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WB24
 | 
			
		||||
#   define AV_WB24(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d)>>16;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RL24
 | 
			
		||||
#   define AV_RL24(x)                           \
 | 
			
		||||
    ((((const uint8_t*)(x))[2] << 16) |         \
 | 
			
		||||
     (((const uint8_t*)(x))[1] <<  8) |         \
 | 
			
		||||
      ((const uint8_t*)(x))[0])
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef AV_WL24
 | 
			
		||||
#   define AV_WL24(p, d) do {                   \
 | 
			
		||||
        ((uint8_t*)(p))[0] = (d);               \
 | 
			
		||||
        ((uint8_t*)(p))[1] = (d)>>8;            \
 | 
			
		||||
        ((uint8_t*)(p))[2] = (d)>>16;           \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The AV_[RW]NA macros access naturally aligned data
 | 
			
		||||
 * in a type-safe way.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define AV_RNA(s, p)    (((const av_alias##s*)(p))->u##s)
 | 
			
		||||
#define AV_WNA(s, p, v) (((av_alias##s*)(p))->u##s = (v))
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN16A
 | 
			
		||||
#   define AV_RN16A(p) AV_RNA(16, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN32A
 | 
			
		||||
#   define AV_RN32A(p) AV_RNA(32, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_RN64A
 | 
			
		||||
#   define AV_RN64A(p) AV_RNA(64, p)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN16A
 | 
			
		||||
#   define AV_WN16A(p, v) AV_WNA(16, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN32A
 | 
			
		||||
#   define AV_WN32A(p, v) AV_WNA(32, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_WN64A
 | 
			
		||||
#   define AV_WN64A(p, v) AV_WNA(64, p, v)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Parameters for AV_COPY*, AV_SWAP*, AV_ZERO* must be
 | 
			
		||||
 * naturally aligned. They may be implemented using MMX,
 | 
			
		||||
 * so emms_c() must be called before using any float code
 | 
			
		||||
 * afterwards.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#define AV_COPY(n, d, s) \
 | 
			
		||||
    (((av_alias##n*)(d))->u##n = ((const av_alias##n*)(s))->u##n)
 | 
			
		||||
 | 
			
		||||
#ifndef AV_COPY16
 | 
			
		||||
#   define AV_COPY16(d, s) AV_COPY(16, d, s)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_COPY32
 | 
			
		||||
#   define AV_COPY32(d, s) AV_COPY(32, d, s)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_COPY64
 | 
			
		||||
#   define AV_COPY64(d, s) AV_COPY(64, d, s)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_COPY128
 | 
			
		||||
#   define AV_COPY128(d, s)                    \
 | 
			
		||||
    do {                                       \
 | 
			
		||||
        AV_COPY64(d, s);                       \
 | 
			
		||||
        AV_COPY64((char*)(d)+8, (char*)(s)+8); \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define AV_SWAP(n, a, b) FFSWAP(av_alias##n, *(av_alias##n*)(a), *(av_alias##n*)(b))
 | 
			
		||||
 | 
			
		||||
#ifndef AV_SWAP64
 | 
			
		||||
#   define AV_SWAP64(a, b) AV_SWAP(64, a, b)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define AV_ZERO(n, d) (((av_alias##n*)(d))->u##n = 0)
 | 
			
		||||
 | 
			
		||||
#ifndef AV_ZERO16
 | 
			
		||||
#   define AV_ZERO16(d) AV_ZERO(16, d)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_ZERO32
 | 
			
		||||
#   define AV_ZERO32(d) AV_ZERO(32, d)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_ZERO64
 | 
			
		||||
#   define AV_ZERO64(d) AV_ZERO(64, d)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef AV_ZERO128
 | 
			
		||||
#   define AV_ZERO128(d)         \
 | 
			
		||||
    do {                         \
 | 
			
		||||
        AV_ZERO64(d);            \
 | 
			
		||||
        AV_ZERO64((char*)(d)+8); \
 | 
			
		||||
    } while(0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_INTREADWRITE_H */
 | 
			
		||||
							
								
								
									
										62
									
								
								3rdparty/include/ffmpeg_/libavutil/lfg.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								3rdparty/include/ffmpeg_/libavutil/lfg.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,62 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Lagged Fibonacci PRNG
 | 
			
		||||
 * Copyright (c) 2008 Michael Niedermayer
 | 
			
		||||
 *
 | 
			
		||||
 * 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_LFG_H
 | 
			
		||||
#define AVUTIL_LFG_H
 | 
			
		||||
 | 
			
		||||
typedef struct {
 | 
			
		||||
    unsigned int state[64];
 | 
			
		||||
    int index;
 | 
			
		||||
} AVLFG;
 | 
			
		||||
 | 
			
		||||
void av_lfg_init(AVLFG *c, unsigned int seed);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get the next random unsigned 32-bit number using an ALFG.
 | 
			
		||||
 *
 | 
			
		||||
 * Please also consider a simple LCG like state= state*1664525+1013904223,
 | 
			
		||||
 * it may be good enough and faster for your specific use case.
 | 
			
		||||
 */
 | 
			
		||||
static inline unsigned int av_lfg_get(AVLFG *c){
 | 
			
		||||
    c->state[c->index & 63] = c->state[(c->index-24) & 63] + c->state[(c->index-55) & 63];
 | 
			
		||||
    return c->state[c->index++ & 63];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get the next random unsigned 32-bit number using a MLFG.
 | 
			
		||||
 *
 | 
			
		||||
 * Please also consider av_lfg_get() above, it is faster.
 | 
			
		||||
 */
 | 
			
		||||
static inline unsigned int av_mlfg_get(AVLFG *c){
 | 
			
		||||
    unsigned int a= c->state[(c->index-55) & 63];
 | 
			
		||||
    unsigned int b= c->state[(c->index-24) & 63];
 | 
			
		||||
    return c->state[c->index++ & 63] = 2*a*b+a+b;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get the next two numbers generated by a Box-Muller Gaussian
 | 
			
		||||
 * generator using the random numbers issued by lfg.
 | 
			
		||||
 *
 | 
			
		||||
 * @param out array where the two generated numbers are placed
 | 
			
		||||
 */
 | 
			
		||||
void av_bmg_get(AVLFG *lfg, double out[2]);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_LFG_H */
 | 
			
		||||
							
								
								
									
										54
									
								
								3rdparty/include/ffmpeg_/libavutil/log.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										54
									
								
								3rdparty/include/ffmpeg_/libavutil/log.h
									
									
									
									
										vendored
									
									
								
							@@ -25,7 +25,7 @@
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Describes the class of an AVClass context structure. That is an
 | 
			
		||||
 * Describe the class of an AVClass context structure. That is an
 | 
			
		||||
 * arbitrary struct of which the first field is a pointer to an
 | 
			
		||||
 * AVClass struct (e.g. AVCodecContext, AVFormatContext etc.).
 | 
			
		||||
 */
 | 
			
		||||
@@ -56,6 +56,27 @@ typedef struct {
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    int version;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Offset in the structure where log_level_offset is stored.
 | 
			
		||||
     * 0 means there is no such variable
 | 
			
		||||
     */
 | 
			
		||||
    int log_level_offset_offset;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Offset in the structure where a pointer to the parent context for loging is stored.
 | 
			
		||||
     * for example a decoder that uses eval.c could pass its AVCodecContext to eval as such
 | 
			
		||||
     * parent context. And a av_log() implementation could then display the parent context
 | 
			
		||||
     * can be NULL of course
 | 
			
		||||
     */
 | 
			
		||||
    int parent_log_context_offset;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * A function for extended searching, e.g. in possible
 | 
			
		||||
     * children objects.
 | 
			
		||||
     */
 | 
			
		||||
    const struct AVOption* (*opt_find)(void *obj, const char *name, const char *unit,
 | 
			
		||||
                                       int opt_flags, int search_flags);
 | 
			
		||||
} AVClass;
 | 
			
		||||
 | 
			
		||||
/* av_log API */
 | 
			
		||||
@@ -95,7 +116,7 @@ typedef struct {
 | 
			
		||||
#define AV_LOG_DEBUG    48
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Sends the specified message to the log if the level is less than or equal
 | 
			
		||||
 * Send the specified message to the log if the level is less than or equal
 | 
			
		||||
 * to the current av_log_level. By default, all logging messages are sent to
 | 
			
		||||
 * stderr. This behavior can be altered by setting a different av_vlog callback
 | 
			
		||||
 * function.
 | 
			
		||||
@@ -109,15 +130,38 @@ typedef struct {
 | 
			
		||||
 * @see av_vlog
 | 
			
		||||
 */
 | 
			
		||||
#ifdef __GNUC__
 | 
			
		||||
void av_log(void*, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
 | 
			
		||||
void av_log(void *avcl, int level, const char *fmt, ...) __attribute__ ((__format__ (__printf__, 3, 4)));
 | 
			
		||||
#else
 | 
			
		||||
void av_log(void*, int level, const char *fmt, ...);
 | 
			
		||||
void av_log(void *avcl, int level, const char *fmt, ...);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void av_vlog(void*, int level, const char *fmt, va_list);
 | 
			
		||||
void av_vlog(void *avcl, int level, const char *fmt, va_list);
 | 
			
		||||
int av_log_get_level(void);
 | 
			
		||||
void av_log_set_level(int);
 | 
			
		||||
void av_log_set_callback(void (*)(void*, int, const char*, va_list));
 | 
			
		||||
void av_log_default_callback(void* ptr, int level, const char* fmt, va_list vl);
 | 
			
		||||
const char* av_default_item_name(void* ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * av_dlog macros
 | 
			
		||||
 * Useful to print debug messages that shouldn't get compiled in normally.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef DEBUG
 | 
			
		||||
#    define av_dlog(pctx, ...) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__)
 | 
			
		||||
#else
 | 
			
		||||
#    define av_dlog(pctx, ...) do { if (0) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Skip repeated messages, this requires the user app to use av_log() instead of
 | 
			
		||||
 * (f)printf as the 2 would otherwise interfere and lead to
 | 
			
		||||
 * "Last message repeated x times" messages below (f)printf messages with some
 | 
			
		||||
 * bad luck.
 | 
			
		||||
 * Also to receive the last, "last repeated" line if any, the user app must
 | 
			
		||||
 * call av_log(NULL, AV_LOG_QUIET, "%s", ""); at the end
 | 
			
		||||
 */
 | 
			
		||||
#define AV_LOG_SKIP_REPEATED 1
 | 
			
		||||
void av_log_set_flags(int arg);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_LOG_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								3rdparty/include/ffmpeg_/libavutil/lzo.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								3rdparty/include/ffmpeg_/libavutil/lzo.h
									
									
									
									
										vendored
									
									
								
							@@ -22,9 +22,9 @@
 | 
			
		||||
#ifndef AVUTIL_LZO_H
 | 
			
		||||
#define AVUTIL_LZO_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
/** \defgroup errflags Error flags returned by av_lzo1x_decode
 | 
			
		||||
/** @name Error flags returned by av_lzo1x_decode
 | 
			
		||||
  * \{ */
 | 
			
		||||
//! end of the input buffer reached before decoding finished
 | 
			
		||||
#define AV_LZO_INPUT_DEPLETED 1
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								3rdparty/include/ffmpeg_/libavutil/mathematics.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								3rdparty/include/ffmpeg_/libavutil/mathematics.h
									
									
									
									
										vendored
									
									
								
							@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef AVUTIL_MATHEMATICS_H
 | 
			
		||||
#define AVUTIL_MATHEMATICS_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
#include "rational.h"
 | 
			
		||||
@@ -38,6 +38,9 @@
 | 
			
		||||
#ifndef M_LOG2_10
 | 
			
		||||
#define M_LOG2_10      3.32192809488736234787  /* log_2 10 */
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef M_PHI
 | 
			
		||||
#define M_PHI          1.61803398874989484820   /* phi / golden ratio */
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef M_PI
 | 
			
		||||
#define M_PI           3.14159265358979323846  /* pi */
 | 
			
		||||
#endif
 | 
			
		||||
@@ -63,36 +66,47 @@ enum AVRounding {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the greatest common divisor of a and b.
 | 
			
		||||
 * Return the greatest common divisor of a and b.
 | 
			
		||||
 * If both a and b are 0 or either or both are <0 then behavior is
 | 
			
		||||
 * undefined.
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_const av_gcd(int64_t a, int64_t b);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Rescales a 64-bit integer with rounding to nearest.
 | 
			
		||||
 * Rescale a 64-bit integer with rounding to nearest.
 | 
			
		||||
 * A simple a*b/c isn't possible as it can overflow.
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Rescales a 64-bit integer with specified rounding.
 | 
			
		||||
 * Rescale a 64-bit integer with specified rounding.
 | 
			
		||||
 * A simple a*b/c isn't possible as it can overflow.
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Rescales a 64-bit integer by 2 rational numbers.
 | 
			
		||||
 * Rescale a 64-bit integer by 2 rational numbers.
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compares 2 timestamps each in its own timebases.
 | 
			
		||||
 * Compare 2 timestamps each in its own timebases.
 | 
			
		||||
 * The result of the function is undefined if one of the timestamps
 | 
			
		||||
 * is outside the int64_t range when represented in the others timebase.
 | 
			
		||||
 * @return -1 if ts_a is before ts_b, 1 if ts_a is after ts_b or 0 if they represent the same position
 | 
			
		||||
 */
 | 
			
		||||
int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compare 2 integers modulo mod.
 | 
			
		||||
 * That is we compare integers a and b for which only the least
 | 
			
		||||
 * significant log2(mod) bits are known.
 | 
			
		||||
 *
 | 
			
		||||
 * @param mod must be a power of 2
 | 
			
		||||
 * @return a negative value if a is smaller than b
 | 
			
		||||
 *         a positive value if a is greater than b
 | 
			
		||||
 *         0                if a equals          b
 | 
			
		||||
 */
 | 
			
		||||
int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_MATHEMATICS_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								3rdparty/include/ffmpeg_/libavutil/md5.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								3rdparty/include/ffmpeg_/libavutil/md5.h
									
									
									
									
										vendored
									
									
								
							@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef AVUTIL_MD5_H
 | 
			
		||||
#define AVUTIL_MD5_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
extern const int av_md5_size;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										40
									
								
								3rdparty/include/ffmpeg_/libavutil/mem.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										40
									
								
								3rdparty/include/ffmpeg_/libavutil/mem.h
									
									
									
									
										vendored
									
									
								
							@@ -27,8 +27,9 @@
 | 
			
		||||
#define AVUTIL_MEM_H
 | 
			
		||||
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
 | 
			
		||||
#if defined(__ICC) || defined(__SUNPRO_C)
 | 
			
		||||
#if defined(__INTEL_COMPILER) && __INTEL_COMPILER < 1110 || defined(__SUNPRO_C)
 | 
			
		||||
    #define DECLARE_ALIGNED(n,t,v)      t __attribute__ ((aligned (n))) v
 | 
			
		||||
    #define DECLARE_ASM_CONST(n,t,v)    const t __attribute__ ((aligned (n))) v
 | 
			
		||||
#elif defined(__TI_COMPILER_VERSION__)
 | 
			
		||||
@@ -40,7 +41,7 @@
 | 
			
		||||
        static const t __attribute__((aligned(n))) v
 | 
			
		||||
#elif defined(__GNUC__)
 | 
			
		||||
    #define DECLARE_ALIGNED(n,t,v)      t __attribute__ ((aligned (n))) v
 | 
			
		||||
    #define DECLARE_ASM_CONST(n,t,v)    static const t attribute_used __attribute__ ((aligned (n))) v
 | 
			
		||||
    #define DECLARE_ASM_CONST(n,t,v)    static const t av_used __attribute__ ((aligned (n))) v
 | 
			
		||||
#elif defined(_MSC_VER)
 | 
			
		||||
    #define DECLARE_ALIGNED(n,t,v)      __declspec(align(n)) t v
 | 
			
		||||
    #define DECLARE_ASM_CONST(n,t,v)    __declspec(align(n)) static const t v
 | 
			
		||||
@@ -55,26 +56,26 @@
 | 
			
		||||
    #define av_malloc_attrib
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if (!defined(__ICC) || __ICC > 1110) && AV_GCC_VERSION_AT_LEAST(4,3)
 | 
			
		||||
#if AV_GCC_VERSION_AT_LEAST(4,3)
 | 
			
		||||
    #define av_alloc_size(n) __attribute__((alloc_size(n)))
 | 
			
		||||
#else
 | 
			
		||||
    #define av_alloc_size(n)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocates a block of size bytes with alignment suitable for all
 | 
			
		||||
 * Allocate a block of size bytes with alignment suitable for all
 | 
			
		||||
 * memory accesses (including vectors if available on the CPU).
 | 
			
		||||
 * @param size Size in bytes for the memory block to be allocated.
 | 
			
		||||
 * @return Pointer to the allocated block, NULL if the block cannot
 | 
			
		||||
 * be allocated.
 | 
			
		||||
 * @see av_mallocz()
 | 
			
		||||
 */
 | 
			
		||||
void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
void *av_malloc(size_t size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocates or reallocates a block of memory.
 | 
			
		||||
 * If ptr is NULL and size > 0, allocates a new block. If
 | 
			
		||||
 * size is zero, frees the memory block pointed to by ptr.
 | 
			
		||||
 * Allocate or reallocate a block of memory.
 | 
			
		||||
 * If ptr is NULL and size > 0, allocate a new block. If
 | 
			
		||||
 * size is zero, free the memory block pointed to by ptr.
 | 
			
		||||
 * @param size Size in bytes for the memory block to be allocated or
 | 
			
		||||
 * reallocated.
 | 
			
		||||
 * @param ptr Pointer to a memory block already allocated with
 | 
			
		||||
@@ -83,10 +84,10 @@ void *av_malloc(unsigned int size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
 * cannot be reallocated or the function is used to free the memory block.
 | 
			
		||||
 * @see av_fast_realloc()
 | 
			
		||||
 */
 | 
			
		||||
void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
 | 
			
		||||
void *av_realloc(void *ptr, size_t size) av_alloc_size(2);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Frees a memory block which has been allocated with av_malloc(z)() or
 | 
			
		||||
 * Free a memory block which has been allocated with av_malloc(z)() or
 | 
			
		||||
 * av_realloc().
 | 
			
		||||
 * @param ptr Pointer to the memory block which should be freed.
 | 
			
		||||
 * @note ptr = NULL is explicitly allowed.
 | 
			
		||||
@@ -96,17 +97,17 @@ void *av_realloc(void *ptr, unsigned int size) av_alloc_size(2);
 | 
			
		||||
void av_free(void *ptr);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocates a block of size bytes with alignment suitable for all
 | 
			
		||||
 * Allocate a block of size bytes with alignment suitable for all
 | 
			
		||||
 * memory accesses (including vectors if available on the CPU) and
 | 
			
		||||
 * zeroes all the bytes of the block.
 | 
			
		||||
 * zero all the bytes of the block.
 | 
			
		||||
 * @param size Size in bytes for the memory block to be allocated.
 | 
			
		||||
 * @return Pointer to the allocated block, NULL if it cannot be allocated.
 | 
			
		||||
 * @see av_malloc()
 | 
			
		||||
 */
 | 
			
		||||
void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
void *av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Duplicates the string s.
 | 
			
		||||
 * Duplicate the string s.
 | 
			
		||||
 * @param s string to be duplicated
 | 
			
		||||
 * @return Pointer to a newly allocated string containing a
 | 
			
		||||
 * copy of s or NULL if the string cannot be allocated.
 | 
			
		||||
@@ -114,7 +115,7 @@ void *av_mallocz(unsigned int size) av_malloc_attrib av_alloc_size(1);
 | 
			
		||||
char *av_strdup(const char *s) av_malloc_attrib;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Frees a memory block which has been allocated with av_malloc(z)() or
 | 
			
		||||
 * Free a memory block which has been allocated with av_malloc(z)() or
 | 
			
		||||
 * av_realloc() and set the pointer pointing to it to NULL.
 | 
			
		||||
 * @param ptr Pointer to the pointer to the memory block which should
 | 
			
		||||
 * be freed.
 | 
			
		||||
@@ -122,4 +123,13 @@ char *av_strdup(const char *s) av_malloc_attrib;
 | 
			
		||||
 */
 | 
			
		||||
void av_freep(void *ptr);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Add an element to a dynamic array.
 | 
			
		||||
 *
 | 
			
		||||
 * @param tab_ptr Pointer to the array.
 | 
			
		||||
 * @param nb_ptr  Pointer to the number of elements in the array.
 | 
			
		||||
 * @param elem    Element to be added.
 | 
			
		||||
 */
 | 
			
		||||
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_MEM_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										243
									
								
								3rdparty/include/ffmpeg_/libavutil/opt.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										243
									
								
								3rdparty/include/ffmpeg_/libavutil/opt.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,243 @@
 | 
			
		||||
/*
 | 
			
		||||
 * AVOptions
 | 
			
		||||
 * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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_OPT_H
 | 
			
		||||
#define AVUTIL_OPT_H
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * AVOptions
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "rational.h"
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
#include "dict.h"
 | 
			
		||||
 | 
			
		||||
enum AVOptionType{
 | 
			
		||||
    FF_OPT_TYPE_FLAGS,
 | 
			
		||||
    FF_OPT_TYPE_INT,
 | 
			
		||||
    FF_OPT_TYPE_INT64,
 | 
			
		||||
    FF_OPT_TYPE_DOUBLE,
 | 
			
		||||
    FF_OPT_TYPE_FLOAT,
 | 
			
		||||
    FF_OPT_TYPE_STRING,
 | 
			
		||||
    FF_OPT_TYPE_RATIONAL,
 | 
			
		||||
    FF_OPT_TYPE_BINARY,  ///< offset must point to a pointer immediately followed by an int for the length
 | 
			
		||||
    FF_OPT_TYPE_CONST=128,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * AVOption
 | 
			
		||||
 */
 | 
			
		||||
typedef struct AVOption {
 | 
			
		||||
    const char *name;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * short English help text
 | 
			
		||||
     * @todo What about other languages?
 | 
			
		||||
     */
 | 
			
		||||
    const char *help;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The offset relative to the context structure where the option
 | 
			
		||||
     * value is stored. It should be 0 for named constants.
 | 
			
		||||
     */
 | 
			
		||||
    int offset;
 | 
			
		||||
    enum AVOptionType type;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * the default value for scalar options
 | 
			
		||||
     */
 | 
			
		||||
    union {
 | 
			
		||||
        double dbl;
 | 
			
		||||
        const char *str;
 | 
			
		||||
        /* TODO those are unused now */
 | 
			
		||||
        int64_t i64;
 | 
			
		||||
        AVRational q;
 | 
			
		||||
    } default_val;
 | 
			
		||||
    double min;                 ///< minimum valid value for the option
 | 
			
		||||
    double max;                 ///< maximum valid value for the option
 | 
			
		||||
 | 
			
		||||
    int flags;
 | 
			
		||||
#define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
 | 
			
		||||
#define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
 | 
			
		||||
#define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
 | 
			
		||||
#define AV_OPT_FLAG_AUDIO_PARAM     8
 | 
			
		||||
#define AV_OPT_FLAG_VIDEO_PARAM     16
 | 
			
		||||
#define AV_OPT_FLAG_SUBTITLE_PARAM  32
 | 
			
		||||
//FIXME think about enc-audio, ... style flags
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The logical unit to which the option belongs. Non-constant
 | 
			
		||||
     * options and corresponding named constants share the same
 | 
			
		||||
     * unit. May be NULL.
 | 
			
		||||
     */
 | 
			
		||||
    const char *unit;
 | 
			
		||||
} AVOption;
 | 
			
		||||
 | 
			
		||||
#if FF_API_FIND_OPT
 | 
			
		||||
/**
 | 
			
		||||
 * Look for an option in obj. Look only for the options which
 | 
			
		||||
 * have the flags set as specified in mask and flags (that is,
 | 
			
		||||
 * for which it is the case that opt->flags & mask == flags).
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] obj a pointer to a struct whose first element is a
 | 
			
		||||
 * pointer to an AVClass
 | 
			
		||||
 * @param[in] name the name of the option to look for
 | 
			
		||||
 * @param[in] unit the unit of the option to look for, or any if NULL
 | 
			
		||||
 * @return a pointer to the option found, or NULL if no option
 | 
			
		||||
 * has been found
 | 
			
		||||
 *
 | 
			
		||||
 * @deprecated use av_opt_find.
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Set the field of obj with the given name to value.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] obj A struct whose first element is a pointer to an
 | 
			
		||||
 * AVClass.
 | 
			
		||||
 * @param[in] name the name of the field to set
 | 
			
		||||
 * @param[in] val The value to set. If the field is not of a string
 | 
			
		||||
 * type, then the given string is parsed.
 | 
			
		||||
 * SI postfixes and some named scalars are supported.
 | 
			
		||||
 * If the field is of a numeric type, it has to be a numeric or named
 | 
			
		||||
 * scalar. Behavior with more than one scalar and +- infix operators
 | 
			
		||||
 * is undefined.
 | 
			
		||||
 * If the field is of a flags type, it has to be a sequence of numeric
 | 
			
		||||
 * scalars or named flags separated by '+' or '-'. Prefixing a flag
 | 
			
		||||
 * with '+' causes it to be set without affecting the other flags;
 | 
			
		||||
 * similarly, '-' unsets a flag.
 | 
			
		||||
 * @param[out] o_out if non-NULL put here a pointer to the AVOption
 | 
			
		||||
 * found
 | 
			
		||||
 * @param alloc when 1 then the old value will be av_freed() and the
 | 
			
		||||
 *                     new av_strduped()
 | 
			
		||||
 *              when 0 then no av_free() nor av_strdup() will be used
 | 
			
		||||
 * @return 0 if the value has been set, or an AVERROR code in case of
 | 
			
		||||
 * error:
 | 
			
		||||
 * AVERROR(ENOENT) if no matching option exists
 | 
			
		||||
 * AVERROR(ERANGE) if the value is out of range
 | 
			
		||||
 * AVERROR(EINVAL) if the value is not valid
 | 
			
		||||
 */
 | 
			
		||||
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
 | 
			
		||||
 | 
			
		||||
const AVOption *av_set_double(void *obj, const char *name, double n);
 | 
			
		||||
const AVOption *av_set_q(void *obj, const char *name, AVRational n);
 | 
			
		||||
const AVOption *av_set_int(void *obj, const char *name, int64_t n);
 | 
			
		||||
double av_get_double(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
 | 
			
		||||
const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
 | 
			
		||||
const AVOption *av_next_option(void *obj, const AVOption *last);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Show the obj options.
 | 
			
		||||
 *
 | 
			
		||||
 * @param req_flags requested flags for the options to show. Show only the
 | 
			
		||||
 * options for which it is opt->flags & req_flags.
 | 
			
		||||
 * @param rej_flags rejected flags for the options to show. Show only the
 | 
			
		||||
 * options for which it is !(opt->flags & req_flags).
 | 
			
		||||
 * @param av_log_obj log context to use for showing the options
 | 
			
		||||
 */
 | 
			
		||||
int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags);
 | 
			
		||||
 | 
			
		||||
void av_opt_set_defaults(void *s);
 | 
			
		||||
void av_opt_set_defaults2(void *s, int mask, int flags);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse the key/value pairs list in opts. For each key/value pair
 | 
			
		||||
 * found, stores the value in the field in ctx that is named like the
 | 
			
		||||
 * key. ctx must be an AVClass context, storing is done using
 | 
			
		||||
 * AVOptions.
 | 
			
		||||
 *
 | 
			
		||||
 * @param opts options string to parse, may be NULL
 | 
			
		||||
 * @param key_val_sep a 0-terminated list of characters used to
 | 
			
		||||
 * separate key from value
 | 
			
		||||
 * @param pairs_sep a 0-terminated list of characters used to separate
 | 
			
		||||
 * two pairs from each other
 | 
			
		||||
 * @return the number of successfully set key/value pairs, or a negative
 | 
			
		||||
 * value corresponding to an AVERROR code in case of error:
 | 
			
		||||
 * AVERROR(EINVAL) if opts cannot be parsed,
 | 
			
		||||
 * the error code issued by av_set_string3() if a key/value pair
 | 
			
		||||
 * cannot be set
 | 
			
		||||
 */
 | 
			
		||||
int av_set_options_string(void *ctx, const char *opts,
 | 
			
		||||
                          const char *key_val_sep, const char *pairs_sep);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Free all string and binary options in obj.
 | 
			
		||||
 */
 | 
			
		||||
void av_opt_free(void *obj);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Check whether a particular flag is set in a flags field.
 | 
			
		||||
 *
 | 
			
		||||
 * @param field_name the name of the flag field option
 | 
			
		||||
 * @param flag_name the name of the flag to check
 | 
			
		||||
 * @return non-zero if the flag is set, zero if the flag isn't set,
 | 
			
		||||
 *         isn't of the right type, or the flags field doesn't exist.
 | 
			
		||||
 */
 | 
			
		||||
int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Set all the options from a given dictionary on an object.
 | 
			
		||||
 *
 | 
			
		||||
 * @param obj a struct whose first element is a pointer to AVClass
 | 
			
		||||
 * @param options options to process. This dictionary will be freed and replaced
 | 
			
		||||
 *                by a new one containing all options not found in obj.
 | 
			
		||||
 *                Of course this new dictionary needs to be freed by caller
 | 
			
		||||
 *                with av_dict_free().
 | 
			
		||||
 *
 | 
			
		||||
 * @return 0 on success, a negative AVERROR if some option was found in obj,
 | 
			
		||||
 *         but could not be set.
 | 
			
		||||
 *
 | 
			
		||||
 * @see av_dict_copy()
 | 
			
		||||
 */
 | 
			
		||||
int av_opt_set_dict(void *obj, struct AVDictionary **options);
 | 
			
		||||
 | 
			
		||||
#define AV_OPT_SEARCH_CHILDREN   0x0001 /**< Search in possible children of the
 | 
			
		||||
                                             given object first. */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Look for an option in an object. Consider only options which
 | 
			
		||||
 * have all the specified flags set.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in] obj A pointer to a struct whose first element is a
 | 
			
		||||
 *                pointer to an AVClass.
 | 
			
		||||
 * @param[in] name The name of the option to look for.
 | 
			
		||||
 * @param[in] unit When searching for named constants, name of the unit
 | 
			
		||||
 *                 it belongs to.
 | 
			
		||||
 * @param opt_flags Find only options with all the specified flags set (AV_OPT_FLAG).
 | 
			
		||||
 * @param search_flags A combination of AV_OPT_SEARCH_*.
 | 
			
		||||
 *
 | 
			
		||||
 * @return A pointer to the option found, or NULL if no option
 | 
			
		||||
 *         was found.
 | 
			
		||||
 *
 | 
			
		||||
 * @note Options found with AV_OPT_SEARCH_CHILDREN flag may not be settable
 | 
			
		||||
 * directly with av_set_string3(). Use special calls which take an options
 | 
			
		||||
 * AVDictionary (e.g. avformat_open_input()) to set options found with this
 | 
			
		||||
 * flag.
 | 
			
		||||
 */
 | 
			
		||||
const AVOption *av_opt_find(void *obj, const char *name, const char *unit,
 | 
			
		||||
                            int opt_flags, int search_flags);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_OPT_H */
 | 
			
		||||
							
								
								
									
										117
									
								
								3rdparty/include/ffmpeg_/libavutil/parseutils.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								3rdparty/include/ffmpeg_/libavutil/parseutils.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,117 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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_PARSEUTILS_H
 | 
			
		||||
#define AVUTIL_PARSEUTILS_H
 | 
			
		||||
 | 
			
		||||
#include "rational.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @file
 | 
			
		||||
 * misc parsing utilities
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse str and put in width_ptr and height_ptr the detected values.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in,out] width_ptr pointer to the variable which will contain the detected
 | 
			
		||||
 * width value
 | 
			
		||||
 * @param[in,out] height_ptr pointer to the variable which will contain the detected
 | 
			
		||||
 * height value
 | 
			
		||||
 * @param[in] str the string to parse: it has to be a string in the format
 | 
			
		||||
 * width x height or a valid video size abbreviation.
 | 
			
		||||
 * @return >= 0 on success, a negative error code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parse str and store the detected values in *rate.
 | 
			
		||||
 *
 | 
			
		||||
 * @param[in,out] rate pointer to the AVRational which will contain the detected
 | 
			
		||||
 * frame rate
 | 
			
		||||
 * @param[in] str the string to parse: it has to be a string in the format
 | 
			
		||||
 * rate_num / rate_den, a float number or a valid video rate abbreviation
 | 
			
		||||
 * @return >= 0 on success, a negative error code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_parse_video_rate(AVRational *rate, const char *str);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Put the RGBA values that correspond to color_string in rgba_color.
 | 
			
		||||
 *
 | 
			
		||||
 * @param color_string a string specifying a color. It can be the name of
 | 
			
		||||
 * a color (case insensitive match) or a [0x|#]RRGGBB[AA] sequence,
 | 
			
		||||
 * possibly followed by "@" and a string representing the alpha
 | 
			
		||||
 * component.
 | 
			
		||||
 * The alpha component may be a string composed by "0x" followed by an
 | 
			
		||||
 * hexadecimal number or a decimal number between 0.0 and 1.0, which
 | 
			
		||||
 * represents the opacity value (0x00/0.0 means completely transparent,
 | 
			
		||||
 * 0xff/1.0 completely opaque).
 | 
			
		||||
 * If the alpha component is not specified then 0xff is assumed.
 | 
			
		||||
 * The string "random" will result in a random color.
 | 
			
		||||
 * @param slen length of the initial part of color_string containing the
 | 
			
		||||
 * color. It can be set to -1 if color_string is a null terminated string
 | 
			
		||||
 * containing nothing else than the color.
 | 
			
		||||
 * @return >= 0 in case of success, a negative value in case of
 | 
			
		||||
 * failure (for example if color_string cannot be parsed).
 | 
			
		||||
 */
 | 
			
		||||
int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen,
 | 
			
		||||
                   void *log_ctx);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Parses timestr and returns in *time a corresponding number of
 | 
			
		||||
 * microseconds.
 | 
			
		||||
 *
 | 
			
		||||
 * @param timeval puts here the number of microseconds corresponding
 | 
			
		||||
 * to the string in timestr. If the string represents a duration, it
 | 
			
		||||
 * is the number of microseconds contained in the time interval.  If
 | 
			
		||||
 * the string is a date, is the number of microseconds since 1st of
 | 
			
		||||
 * January, 1970 up to the time of the parsed date.  If timestr cannot
 | 
			
		||||
 * be successfully parsed, set *time to INT64_MIN.
 | 
			
		||||
 | 
			
		||||
 * @param datestr a string representing a date or a duration.
 | 
			
		||||
 * - If a date the syntax is:
 | 
			
		||||
 * @code
 | 
			
		||||
 * [{YYYY-MM-DD|YYYYMMDD}[T|t| ]]{{HH[:MM[:SS[.m...]]]}|{HH[MM[SS[.m...]]]}}[Z]
 | 
			
		||||
 * now
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * If the value is "now" it takes the current time.
 | 
			
		||||
 * Time is local time unless Z is appended, in which case it is
 | 
			
		||||
 * interpreted as UTC.
 | 
			
		||||
 * If the year-month-day part is not specified it takes the current
 | 
			
		||||
 * year-month-day.
 | 
			
		||||
 * - If a duration the syntax is:
 | 
			
		||||
 * @code
 | 
			
		||||
 * [-]HH[:MM[:SS[.m...]]]
 | 
			
		||||
 * [-]S+[.m...]
 | 
			
		||||
 * @endcode
 | 
			
		||||
 * @param duration flag which tells how to interpret timestr, if not
 | 
			
		||||
 * zero timestr is interpreted as a duration, otherwise as a date
 | 
			
		||||
 * @return 0 in case of success, a negative value corresponding to an
 | 
			
		||||
 * AVERROR code otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_parse_time(int64_t *timeval, const char *timestr, int duration);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Attempt to find a specific tag in a URL.
 | 
			
		||||
 *
 | 
			
		||||
 * syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done.
 | 
			
		||||
 * Return 1 if found.
 | 
			
		||||
 */
 | 
			
		||||
int av_find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_PARSEUTILS_H */
 | 
			
		||||
							
								
								
									
										41
									
								
								3rdparty/include/ffmpeg_/libavutil/pixdesc.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								3rdparty/include/ffmpeg_/libavutil/pixdesc.h
									
									
									
									
										vendored
									
									
								
							@@ -23,6 +23,7 @@
 | 
			
		||||
#define AVUTIL_PIXDESC_H
 | 
			
		||||
 | 
			
		||||
#include <inttypes.h>
 | 
			
		||||
#include "pixfmt.h"
 | 
			
		||||
 | 
			
		||||
typedef struct AVComponentDescriptor{
 | 
			
		||||
    uint16_t plane        :2;            ///< which of the 4 planes contains the component
 | 
			
		||||
@@ -93,11 +94,11 @@ typedef struct AVPixFmtDescriptor{
 | 
			
		||||
extern const AVPixFmtDescriptor av_pix_fmt_descriptors[];
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Reads a line from an image, and writes the values of the
 | 
			
		||||
 * Read a line from an image, and write the values of the
 | 
			
		||||
 * pixel format component c to dst.
 | 
			
		||||
 *
 | 
			
		||||
 * @param data the array containing the pointers to the planes of the image
 | 
			
		||||
 * @param linesizes the array containing the linesizes of the image
 | 
			
		||||
 * @param linesize the array containing the linesizes of the image
 | 
			
		||||
 * @param desc the pixel format descriptor for the image
 | 
			
		||||
 * @param x the horizontal coordinate of the first pixel to read
 | 
			
		||||
 * @param y the vertical coordinate of the first pixel to read
 | 
			
		||||
@@ -108,28 +109,28 @@ extern const AVPixFmtDescriptor av_pix_fmt_descriptors[];
 | 
			
		||||
 * component c in data[1] to dst, rather than the palette indexes in
 | 
			
		||||
 * data[0]. The behavior is undefined if the format is not paletted.
 | 
			
		||||
 */
 | 
			
		||||
void read_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4],
 | 
			
		||||
               const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component);
 | 
			
		||||
void av_read_image_line(uint16_t *dst, const uint8_t *data[4], const int linesize[4],
 | 
			
		||||
                        const AVPixFmtDescriptor *desc, int x, int y, int c, int w, int read_pal_component);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Writes the values from src to the pixel format component c of an
 | 
			
		||||
 * Write the values from src to the pixel format component c of an
 | 
			
		||||
 * image line.
 | 
			
		||||
 *
 | 
			
		||||
 * @param src array containing the values to write
 | 
			
		||||
 * @param data the array containing the pointers to the planes of the
 | 
			
		||||
 * image to write into. It is supposed to be zeroed.
 | 
			
		||||
 * @param linesizes the array containing the linesizes of the image
 | 
			
		||||
 * @param linesize the array containing the linesizes of the image
 | 
			
		||||
 * @param desc the pixel format descriptor for the image
 | 
			
		||||
 * @param x the horizontal coordinate of the first pixel to write
 | 
			
		||||
 * @param y the vertical coordinate of the first pixel to write
 | 
			
		||||
 * @param w the width of the line to write, that is the number of
 | 
			
		||||
 * values to write to the image line
 | 
			
		||||
 */
 | 
			
		||||
void write_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
 | 
			
		||||
                const AVPixFmtDescriptor *desc, int x, int y, int c, int w);
 | 
			
		||||
void av_write_image_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
 | 
			
		||||
                         const AVPixFmtDescriptor *desc, int x, int y, int c, int w);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the pixel format corresponding to name.
 | 
			
		||||
 * Return the pixel format corresponding to name.
 | 
			
		||||
 *
 | 
			
		||||
 * If there is no pixel format with name name, then looks for a
 | 
			
		||||
 * pixel format with the name corresponding to the native endian
 | 
			
		||||
@@ -142,7 +143,27 @@ void write_line(const uint16_t *src, uint8_t *data[4], const int linesize[4],
 | 
			
		||||
enum PixelFormat av_get_pix_fmt(const char *name);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the number of bits per pixel used by the pixel format
 | 
			
		||||
 * Return the short name for a pixel format, NULL in case pix_fmt is
 | 
			
		||||
 * unknown.
 | 
			
		||||
 *
 | 
			
		||||
 * @see av_get_pix_fmt(), av_get_pix_fmt_string()
 | 
			
		||||
 */
 | 
			
		||||
const char *av_get_pix_fmt_name(enum PixelFormat pix_fmt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Print in buf the string corresponding to the pixel format with
 | 
			
		||||
 * number pix_fmt, or an header if pix_fmt is negative.
 | 
			
		||||
 *
 | 
			
		||||
 * @param buf the buffer where to write the string
 | 
			
		||||
 * @param buf_size the size of buf
 | 
			
		||||
 * @param pix_fmt the number of the pixel format to print the
 | 
			
		||||
 * corresponding info string, or a negative value to print the
 | 
			
		||||
 * corresponding header.
 | 
			
		||||
 */
 | 
			
		||||
char *av_get_pix_fmt_string (char *buf, int buf_size, enum PixelFormat pix_fmt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the number of bits per pixel used by the pixel format
 | 
			
		||||
 * described by pixdesc.
 | 
			
		||||
 *
 | 
			
		||||
 * The returned number of bits refers to the number of bits actually
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										39
									
								
								3rdparty/include/ffmpeg_/libavutil/pixfmt.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								3rdparty/include/ffmpeg_/libavutil/pixfmt.h
									
									
									
									
										vendored
									
									
								
							@@ -71,9 +71,9 @@ enum PixelFormat {
 | 
			
		||||
    PIX_FMT_MONOWHITE, ///<        Y        ,  1bpp, 0 is white, 1 is black, in each byte pixels are ordered from the msb to the lsb
 | 
			
		||||
    PIX_FMT_MONOBLACK, ///<        Y        ,  1bpp, 0 is black, 1 is white, in each byte pixels are ordered from the msb to the lsb
 | 
			
		||||
    PIX_FMT_PAL8,      ///< 8 bit with PIX_FMT_RGB32 palette
 | 
			
		||||
    PIX_FMT_YUVJ420P,  ///< planar YUV 4:2:0, 12bpp, full scale (JPEG)
 | 
			
		||||
    PIX_FMT_YUVJ422P,  ///< planar YUV 4:2:2, 16bpp, full scale (JPEG)
 | 
			
		||||
    PIX_FMT_YUVJ444P,  ///< planar YUV 4:4:4, 24bpp, full scale (JPEG)
 | 
			
		||||
    PIX_FMT_YUVJ420P,  ///< planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV420P and setting color_range
 | 
			
		||||
    PIX_FMT_YUVJ422P,  ///< planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV422P and setting color_range
 | 
			
		||||
    PIX_FMT_YUVJ444P,  ///< planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of PIX_FMT_YUV444P and setting color_range
 | 
			
		||||
    PIX_FMT_XVMC_MPEG2_MC,///< XVideo Motion Acceleration via common packet passing
 | 
			
		||||
    PIX_FMT_XVMC_MPEG2_IDCT,
 | 
			
		||||
    PIX_FMT_UYVY422,   ///< packed YUV 4:2:2, 16bpp, Cb Y0 Cr Y1
 | 
			
		||||
@@ -95,7 +95,7 @@ enum PixelFormat {
 | 
			
		||||
    PIX_FMT_GRAY16BE,  ///<        Y        , 16bpp, big-endian
 | 
			
		||||
    PIX_FMT_GRAY16LE,  ///<        Y        , 16bpp, little-endian
 | 
			
		||||
    PIX_FMT_YUV440P,   ///< planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
 | 
			
		||||
    PIX_FMT_YUVJ440P,  ///< planar YUV 4:4:0 full scale (JPEG)
 | 
			
		||||
    PIX_FMT_YUVJ440P,  ///< planar YUV 4:4:0 full scale (JPEG), deprecated in favor of PIX_FMT_YUV440P and setting color_range
 | 
			
		||||
    PIX_FMT_YUVA420P,  ///< planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
 | 
			
		||||
    PIX_FMT_VDPAU_H264,///< H.264 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
 | 
			
		||||
    PIX_FMT_VDPAU_MPEG1,///< MPEG-1 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
 | 
			
		||||
@@ -128,14 +128,33 @@ enum PixelFormat {
 | 
			
		||||
    PIX_FMT_VDPAU_MPEG4,  ///< MPEG4 HW decoding with VDPAU, data[0] contains a vdpau_render_state struct which contains the bitstream of the slices as well as various fields extracted from headers
 | 
			
		||||
    PIX_FMT_DXVA2_VLD,    ///< HW decoding through DXVA2, Picture.data[3] contains a LPDIRECT3DSURFACE9 pointer
 | 
			
		||||
 | 
			
		||||
    PIX_FMT_RGB444BE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
 | 
			
		||||
    PIX_FMT_RGB444LE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), little-endian, most significant bits to 0
 | 
			
		||||
    PIX_FMT_BGR444BE,  ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
 | 
			
		||||
    PIX_FMT_RGB444BE,  ///< packed RGB 4:4:4, 16bpp, (msb)4A 4R 4G 4B(lsb), big-endian, most significant bits to 0
 | 
			
		||||
    PIX_FMT_BGR444LE,  ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), little-endian, most significant bits to 1
 | 
			
		||||
    PIX_FMT_Y400A,     ///< 8bit gray, 8bit alpha
 | 
			
		||||
    PIX_FMT_BGR444BE,  ///< packed BGR 4:4:4, 16bpp, (msb)4A 4B 4G 4R(lsb), big-endian, most significant bits to 1
 | 
			
		||||
    PIX_FMT_GRAY8A,    ///< 8bit gray, 8bit alpha
 | 
			
		||||
    PIX_FMT_BGR48BE,   ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as big-endian
 | 
			
		||||
    PIX_FMT_BGR48LE,   ///< packed RGB 16:16:16, 48bpp, 16B, 16G, 16R, the 2-byte value for each R/G/B component is stored as little-endian
 | 
			
		||||
 | 
			
		||||
    //the following 10 formats have the disadvantage of needing 1 format for each bit depth, thus
 | 
			
		||||
    //If you want to support multiple bit depths, then using PIX_FMT_YUV420P16* with the bpp stored seperately
 | 
			
		||||
    //is better
 | 
			
		||||
    PIX_FMT_YUV420P9BE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_YUV420P9LE, ///< planar YUV 4:2:0, 13.5bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV420P10BE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_YUV420P10LE,///< planar YUV 4:2:0, 15bpp, (1 Cr & Cb sample per 2x2 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV422P10BE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV422P10LE,///< planar YUV 4:2:2, 20bpp, (1 Cr & Cb sample per 2x1 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_YUV444P9BE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV444P9LE, ///< planar YUV 4:4:4, 27bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
 | 
			
		||||
    PIX_FMT_YUV444P10BE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), little-endian
 | 
			
		||||
    PIX_FMT_YUV444P10LE,///< planar YUV 4:4:4, 30bpp, (1 Cr & Cb sample per 1x1 Y samples), big-endian
 | 
			
		||||
 | 
			
		||||
    PIX_FMT_NB,        ///< number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of formats might differ between versions
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define PIX_FMT_Y400A PIX_FMT_GRAY8A
 | 
			
		||||
 | 
			
		||||
#if AV_HAVE_BIGENDIAN
 | 
			
		||||
#   define PIX_FMT_NE(be, le) PIX_FMT_##be
 | 
			
		||||
#else
 | 
			
		||||
@@ -152,10 +171,16 @@ enum PixelFormat {
 | 
			
		||||
#define PIX_FMT_RGB565 PIX_FMT_NE(RGB565BE, RGB565LE)
 | 
			
		||||
#define PIX_FMT_RGB555 PIX_FMT_NE(RGB555BE, RGB555LE)
 | 
			
		||||
#define PIX_FMT_RGB444 PIX_FMT_NE(RGB444BE, RGB444LE)
 | 
			
		||||
#define PIX_FMT_BGR48  PIX_FMT_NE(BGR48BE,  BGR48LE)
 | 
			
		||||
#define PIX_FMT_BGR565 PIX_FMT_NE(BGR565BE, BGR565LE)
 | 
			
		||||
#define PIX_FMT_BGR555 PIX_FMT_NE(BGR555BE, BGR555LE)
 | 
			
		||||
#define PIX_FMT_BGR444 PIX_FMT_NE(BGR444BE, BGR444LE)
 | 
			
		||||
 | 
			
		||||
#define PIX_FMT_YUV420P9  PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
 | 
			
		||||
#define PIX_FMT_YUV444P9  PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
 | 
			
		||||
#define PIX_FMT_YUV420P10 PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
 | 
			
		||||
#define PIX_FMT_YUV422P10 PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
 | 
			
		||||
#define PIX_FMT_YUV444P10 PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
 | 
			
		||||
#define PIX_FMT_YUV420P16 PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
 | 
			
		||||
#define PIX_FMT_YUV422P16 PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
 | 
			
		||||
#define PIX_FMT_YUV444P16 PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										31
									
								
								3rdparty/include/ffmpeg_/libavutil/random_seed.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								3rdparty/include/ffmpeg_/libavutil/random_seed.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2009 Baptiste Coudurier <baptiste.coudurier@gmail.com>
 | 
			
		||||
 *
 | 
			
		||||
 * 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_RANDOM_SEED_H
 | 
			
		||||
#define AVUTIL_RANDOM_SEED_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get a seed to use in conjunction with random functions.
 | 
			
		||||
 */
 | 
			
		||||
uint32_t av_get_random_seed(void);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_RANDOM_SEED_H */
 | 
			
		||||
							
								
								
									
										32
									
								
								3rdparty/include/ffmpeg_/libavutil/rational.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								3rdparty/include/ffmpeg_/libavutil/rational.h
									
									
									
									
										vendored
									
									
								
							@@ -28,7 +28,8 @@
 | 
			
		||||
#ifndef AVUTIL_RATIONAL_H
 | 
			
		||||
#define AVUTIL_RATIONAL_H
 | 
			
		||||
 | 
			
		||||
#include <msc_stdint.h>
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include "attributes.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -40,20 +41,23 @@ typedef struct AVRational{
 | 
			
		||||
} AVRational;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Compares two rationals.
 | 
			
		||||
 * Compare two rationals.
 | 
			
		||||
 * @param a first rational
 | 
			
		||||
 * @param b second rational
 | 
			
		||||
 * @return 0 if a==b, 1 if a>b and -1 if a<b
 | 
			
		||||
 * @return 0 if a==b, 1 if a>b, -1 if a<b, and INT_MIN if one of the
 | 
			
		||||
 * values is of the form 0/0
 | 
			
		||||
 */
 | 
			
		||||
static inline int av_cmp_q(AVRational a, AVRational b){
 | 
			
		||||
    const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
 | 
			
		||||
 | 
			
		||||
    if(tmp) return (tmp>>63)|1;
 | 
			
		||||
    else    return 0;
 | 
			
		||||
    if(tmp) return ((tmp ^ a.den ^ b.den)>>63)|1;
 | 
			
		||||
    else if(b.den && a.den) return 0;
 | 
			
		||||
    else if(a.num && b.num) return (a.num>>31) - (b.num>>31);
 | 
			
		||||
    else                    return INT_MIN;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts rational to double.
 | 
			
		||||
 * Convert rational to double.
 | 
			
		||||
 * @param a rational to convert
 | 
			
		||||
 * @return (double) a
 | 
			
		||||
 */
 | 
			
		||||
@@ -62,7 +66,7 @@ static inline double av_q2d(AVRational a){
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Reduces a fraction.
 | 
			
		||||
 * Reduce a fraction.
 | 
			
		||||
 * This is useful for framerate calculations.
 | 
			
		||||
 * @param dst_num destination numerator
 | 
			
		||||
 * @param dst_den destination denominator
 | 
			
		||||
@@ -74,7 +78,7 @@ static inline double av_q2d(AVRational a){
 | 
			
		||||
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Multiplies two rationals.
 | 
			
		||||
 * Multiply two rationals.
 | 
			
		||||
 * @param b first rational
 | 
			
		||||
 * @param c second rational
 | 
			
		||||
 * @return b*c
 | 
			
		||||
@@ -82,7 +86,7 @@ int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
 | 
			
		||||
AVRational av_mul_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Divides one rational by another.
 | 
			
		||||
 * Divide one rational by another.
 | 
			
		||||
 * @param b first rational
 | 
			
		||||
 * @param c second rational
 | 
			
		||||
 * @return b/c
 | 
			
		||||
@@ -90,7 +94,7 @@ AVRational av_mul_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
AVRational av_div_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Adds two rationals.
 | 
			
		||||
 * Add two rationals.
 | 
			
		||||
 * @param b first rational
 | 
			
		||||
 * @param c second rational
 | 
			
		||||
 * @return b+c
 | 
			
		||||
@@ -98,7 +102,7 @@ AVRational av_div_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
AVRational av_add_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Subtracts one rational from another.
 | 
			
		||||
 * Subtract one rational from another.
 | 
			
		||||
 * @param b first rational
 | 
			
		||||
 * @param c second rational
 | 
			
		||||
 * @return b-c
 | 
			
		||||
@@ -106,7 +110,9 @@ AVRational av_add_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
AVRational av_sub_q(AVRational b, AVRational c) av_const;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts a double precision floating point number to a rational.
 | 
			
		||||
 * Convert a double precision floating point number to a rational.
 | 
			
		||||
 * inf is expressed as {1,0} or {-1,0} depending on the sign.
 | 
			
		||||
 *
 | 
			
		||||
 * @param d double to convert
 | 
			
		||||
 * @param max the maximum allowed numerator and denominator
 | 
			
		||||
 * @return (AVRational) d
 | 
			
		||||
@@ -120,7 +126,7 @@ AVRational av_d2q(double d, int max) av_const;
 | 
			
		||||
int av_nearer_q(AVRational q, AVRational q1, AVRational q2);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Finds the nearest value in q_list to q.
 | 
			
		||||
 * Find the nearest value in q_list to q.
 | 
			
		||||
 * @param q_list an array of rationals terminated by {0, 0}
 | 
			
		||||
 * @return the index of the nearest value found in the array
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										125
									
								
								3rdparty/include/ffmpeg_/libavutil/samplefmt.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										125
									
								
								3rdparty/include/ffmpeg_/libavutil/samplefmt.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,125 @@
 | 
			
		||||
/*
 | 
			
		||||
 * 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_SAMPLEFMT_H
 | 
			
		||||
#define AVUTIL_SAMPLEFMT_H
 | 
			
		||||
 | 
			
		||||
#include "avutil.h"
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * all in native-endian format
 | 
			
		||||
 */
 | 
			
		||||
enum AVSampleFormat {
 | 
			
		||||
    AV_SAMPLE_FMT_NONE = -1,
 | 
			
		||||
    AV_SAMPLE_FMT_U8,          ///< unsigned 8 bits
 | 
			
		||||
    AV_SAMPLE_FMT_S16,         ///< signed 16 bits
 | 
			
		||||
    AV_SAMPLE_FMT_S32,         ///< signed 32 bits
 | 
			
		||||
    AV_SAMPLE_FMT_FLT,         ///< float
 | 
			
		||||
    AV_SAMPLE_FMT_DBL,         ///< double
 | 
			
		||||
    AV_SAMPLE_FMT_NB           ///< Number of sample formats. DO NOT USE if linking dynamically
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return the name of sample_fmt, or NULL if sample_fmt is not
 | 
			
		||||
 * recognized.
 | 
			
		||||
 */
 | 
			
		||||
const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE
 | 
			
		||||
 * on error.
 | 
			
		||||
 */
 | 
			
		||||
enum AVSampleFormat av_get_sample_fmt(const char *name);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Generate a string corresponding to the sample format with
 | 
			
		||||
 * sample_fmt, or a header if sample_fmt is negative.
 | 
			
		||||
 *
 | 
			
		||||
 * @param buf the buffer where to write the string
 | 
			
		||||
 * @param buf_size the size of buf
 | 
			
		||||
 * @param sample_fmt the number of the sample format to print the
 | 
			
		||||
 * corresponding info string, or a negative value to print the
 | 
			
		||||
 * corresponding header.
 | 
			
		||||
 * @return the pointer to the filled buffer or NULL if sample_fmt is
 | 
			
		||||
 * unknown or in case of other errors
 | 
			
		||||
 */
 | 
			
		||||
char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);
 | 
			
		||||
 | 
			
		||||
#if FF_API_GET_BITS_PER_SAMPLE_FMT
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Use av_get_bytes_per_sample() instead.
 | 
			
		||||
 */
 | 
			
		||||
attribute_deprecated
 | 
			
		||||
int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Return number of bytes per sample.
 | 
			
		||||
 *
 | 
			
		||||
 * @param sample_fmt the sample format
 | 
			
		||||
 * @return number of bytes per sample or zero if unknown for the given
 | 
			
		||||
 * sample format
 | 
			
		||||
 */
 | 
			
		||||
int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Fill channel data pointers and linesizes for samples with sample
 | 
			
		||||
 * format sample_fmt.
 | 
			
		||||
 *
 | 
			
		||||
 * The pointers array is filled with the pointers to the samples data:
 | 
			
		||||
 * for planar, set the start point of each plane's data within the buffer,
 | 
			
		||||
 * for packed, set the start point of the entire buffer only.
 | 
			
		||||
 *
 | 
			
		||||
 * The linesize array is filled with the aligned size of each samples
 | 
			
		||||
 * plane, that is linesize[i] will contain the linesize of the plane i,
 | 
			
		||||
 * and will be zero for all the unused planes. All linesize values are
 | 
			
		||||
 * equal.
 | 
			
		||||
 *
 | 
			
		||||
 * @param pointers array to be filled with the pointer for each plane, may be NULL
 | 
			
		||||
 * @param linesizes array to be filled with the linesize, may be NULL
 | 
			
		||||
 * @param buf the pointer to a buffer containing the samples
 | 
			
		||||
 * @param nb_samples the number of samples in a single channel
 | 
			
		||||
 * @param planar 1 if the samples layout is planar, 0 if it is packed
 | 
			
		||||
 * @param nb_channels the number of channels
 | 
			
		||||
 * @return the total size of the buffer, a negative
 | 
			
		||||
 * error code in case of failure
 | 
			
		||||
 */
 | 
			
		||||
int av_samples_fill_arrays(uint8_t *pointers[8], int linesizes[8],
 | 
			
		||||
                           uint8_t *buf, int nb_channels, int nb_samples,
 | 
			
		||||
                           enum AVSampleFormat sample_fmt, int planar, int align);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocate a samples buffer for nb_samples samples, and
 | 
			
		||||
 * fill pointers and linesizes accordingly.
 | 
			
		||||
 * The allocated samples buffer has to be freed by using
 | 
			
		||||
 * av_freep(&pointers[0]).
 | 
			
		||||
 *
 | 
			
		||||
 * @param nb_channels number of audio channels
 | 
			
		||||
 * @param nb_samples number of samples per channel
 | 
			
		||||
 * @param planar 1 if the samples layout is planar, 0 if packed,
 | 
			
		||||
 * @param align the value to use for buffer size alignment
 | 
			
		||||
 * @return the size in bytes required for the samples buffer, a negative
 | 
			
		||||
 * error code in case of failure
 | 
			
		||||
 * @see av_samples_fill_arrays()
 | 
			
		||||
 */
 | 
			
		||||
int av_samples_alloc(uint8_t *pointers[8], int linesizes[8],
 | 
			
		||||
                     int nb_channels, int nb_samples,
 | 
			
		||||
                     enum AVSampleFormat sample_fmt, int planar,
 | 
			
		||||
                     int align);
 | 
			
		||||
 | 
			
		||||
#endif /* AVCORE_SAMPLEFMT_H */
 | 
			
		||||
							
								
								
									
										56
									
								
								3rdparty/include/ffmpeg_/libavutil/sha.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								3rdparty/include/ffmpeg_/libavutil/sha.h
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,56 @@
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (C) 2007 Michael Niedermayer <michaelni@gmx.at>
 | 
			
		||||
 *
 | 
			
		||||
 * 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_SHA_H
 | 
			
		||||
#define AVUTIL_SHA_H
 | 
			
		||||
 | 
			
		||||
#include <stdint.h>
 | 
			
		||||
 | 
			
		||||
extern const int av_sha_size;
 | 
			
		||||
 | 
			
		||||
struct AVSHA;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initialize SHA-1 or SHA-2 hashing.
 | 
			
		||||
 *
 | 
			
		||||
 * @param context pointer to the function context (of size av_sha_size)
 | 
			
		||||
 * @param bits    number of bits in digest (SHA-1 - 160 bits, SHA-2 224 or 256 bits)
 | 
			
		||||
 * @return        zero if initialization succeeded, -1 otherwise
 | 
			
		||||
 */
 | 
			
		||||
int av_sha_init(struct AVSHA* context, int bits);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Update hash value.
 | 
			
		||||
 *
 | 
			
		||||
 * @param context hash function context
 | 
			
		||||
 * @param data    input data to update hash with
 | 
			
		||||
 * @param len     input data length
 | 
			
		||||
 */
 | 
			
		||||
void av_sha_update(struct AVSHA* context, const uint8_t* data, unsigned int len);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Finish hashing and output digest value.
 | 
			
		||||
 *
 | 
			
		||||
 * @param context hash function context
 | 
			
		||||
 * @param digest  buffer where output digest value is stored
 | 
			
		||||
 */
 | 
			
		||||
void av_sha_final(struct AVSHA* context, uint8_t *digest);
 | 
			
		||||
 | 
			
		||||
#endif /* AVUTIL_SHA_H */
 | 
			
		||||
							
								
								
									
										51
									
								
								3rdparty/include/ffmpeg_/libswscale/swscale.h
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								3rdparty/include/ffmpeg_/libswscale/swscale.h
									
									
									
									
										vendored
									
									
								
							@@ -29,8 +29,8 @@
 | 
			
		||||
 | 
			
		||||
#include "libavutil/avutil.h"
 | 
			
		||||
 | 
			
		||||
#define LIBSWSCALE_VERSION_MAJOR 0
 | 
			
		||||
#define LIBSWSCALE_VERSION_MINOR 11
 | 
			
		||||
#define LIBSWSCALE_VERSION_MAJOR 2
 | 
			
		||||
#define LIBSWSCALE_VERSION_MINOR 0
 | 
			
		||||
#define LIBSWSCALE_VERSION_MICRO 0
 | 
			
		||||
 | 
			
		||||
#define LIBSWSCALE_VERSION_INT  AV_VERSION_INT(LIBSWSCALE_VERSION_MAJOR, \
 | 
			
		||||
@@ -43,6 +43,20 @@
 | 
			
		||||
 | 
			
		||||
#define LIBSWSCALE_IDENT        "SwS" AV_STRINGIFY(LIBSWSCALE_VERSION)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Those FF_API_* defines are not part of public API.
 | 
			
		||||
 * They may change, break or disappear at any time.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef FF_API_SWS_GETCONTEXT
 | 
			
		||||
#define FF_API_SWS_GETCONTEXT  (LIBSWSCALE_VERSION_MAJOR < 3)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_SWS_CPU_CAPS
 | 
			
		||||
#define FF_API_SWS_CPU_CAPS    (LIBSWSCALE_VERSION_MAJOR < 3)
 | 
			
		||||
#endif
 | 
			
		||||
#ifndef FF_API_SWS_FORMAT_NAME
 | 
			
		||||
#define FF_API_SWS_FORMAT_NAME  (LIBSWSCALE_VERSION_MAJOR < 3)
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the LIBSWSCALE_VERSION_INT constant.
 | 
			
		||||
 */
 | 
			
		||||
@@ -87,11 +101,18 @@ const char *swscale_license(void);
 | 
			
		||||
#define SWS_ACCURATE_RND      0x40000
 | 
			
		||||
#define SWS_BITEXACT          0x80000
 | 
			
		||||
 | 
			
		||||
#if FF_API_SWS_CPU_CAPS
 | 
			
		||||
/**
 | 
			
		||||
 * CPU caps are autodetected now, those flags
 | 
			
		||||
 * are only provided for API compatibility.
 | 
			
		||||
 */
 | 
			
		||||
#define SWS_CPU_CAPS_MMX      0x80000000
 | 
			
		||||
#define SWS_CPU_CAPS_MMX2     0x20000000
 | 
			
		||||
#define SWS_CPU_CAPS_3DNOW    0x40000000
 | 
			
		||||
#define SWS_CPU_CAPS_ALTIVEC  0x10000000
 | 
			
		||||
#define SWS_CPU_CAPS_BFIN     0x01000000
 | 
			
		||||
#define SWS_CPU_CAPS_SSE2     0x02000000
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#define SWS_MAX_REDUCE_CUTOFF 0.002
 | 
			
		||||
 | 
			
		||||
@@ -142,12 +163,28 @@ int sws_isSupportedInput(enum PixelFormat pix_fmt);
 | 
			
		||||
 */
 | 
			
		||||
int sws_isSupportedOutput(enum PixelFormat pix_fmt);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Allocates an empty SwsContext. This must be filled and passed to
 | 
			
		||||
 * sws_init_context(). For filling see AVOptions, options.c and
 | 
			
		||||
 * sws_setColorspaceDetails().
 | 
			
		||||
 */
 | 
			
		||||
struct SwsContext *sws_alloc_context(void);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Initializes the swscaler context sws_context.
 | 
			
		||||
 *
 | 
			
		||||
 * @return zero or positive value on success, a negative value on
 | 
			
		||||
 * error
 | 
			
		||||
 */
 | 
			
		||||
int sws_init_context(struct SwsContext *sws_context, SwsFilter *srcFilter, SwsFilter *dstFilter);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Frees the swscaler context swsContext.
 | 
			
		||||
 * If swsContext is NULL, then does nothing.
 | 
			
		||||
 */
 | 
			
		||||
void sws_freeContext(struct SwsContext *swsContext);
 | 
			
		||||
 | 
			
		||||
#if FF_API_SWS_GETCONTEXT
 | 
			
		||||
/**
 | 
			
		||||
 * Allocates and returns a SwsContext. You need it to perform
 | 
			
		||||
 * scaling/conversion operations using sws_scale().
 | 
			
		||||
@@ -160,11 +197,15 @@ void sws_freeContext(struct SwsContext *swsContext);
 | 
			
		||||
 * @param dstFormat the destination image format
 | 
			
		||||
 * @param flags specify which algorithm and options to use for rescaling
 | 
			
		||||
 * @return a pointer to an allocated context, or NULL in case of error
 | 
			
		||||
 * @note this function is to be removed after a saner alternative is
 | 
			
		||||
 *       written
 | 
			
		||||
 * @deprecated Use sws_getCachedContext() instead.
 | 
			
		||||
 */
 | 
			
		||||
struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat,
 | 
			
		||||
                                  int dstW, int dstH, enum PixelFormat dstFormat,
 | 
			
		||||
                                  int flags, SwsFilter *srcFilter,
 | 
			
		||||
                                  SwsFilter *dstFilter, const double *param);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Scales the image slice in srcSlice and puts the resulting scaled
 | 
			
		||||
@@ -194,6 +235,7 @@ struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat
 | 
			
		||||
 */
 | 
			
		||||
int sws_scale(struct SwsContext *context, const uint8_t* const srcSlice[], const int srcStride[],
 | 
			
		||||
              int srcSliceY, int srcSliceH, uint8_t* const dst[], const int dstStride[]);
 | 
			
		||||
 | 
			
		||||
#if LIBSWSCALE_VERSION_MAJOR < 1
 | 
			
		||||
/**
 | 
			
		||||
 * @deprecated Use sws_scale() instead.
 | 
			
		||||
@@ -205,7 +247,6 @@ int sws_scale_ordered(struct SwsContext *context, const uint8_t* const src[],
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @param inv_table the yuv2rgb coefficients, normally ff_yuv2rgb_coeffs[x]
 | 
			
		||||
 * @param fullRange if 1 then the luma range is 0..255 if 0 it is 16..235
 | 
			
		||||
 * @return -1 if not supported
 | 
			
		||||
 */
 | 
			
		||||
int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
 | 
			
		||||
@@ -312,7 +353,7 @@ struct SwsContext *sws_getCachedContext(struct SwsContext *context,
 | 
			
		||||
 * @param num_pixels number of pixels to convert
 | 
			
		||||
 * @param palette    array with [256] entries, which must match color arrangement (RGB or BGR) of src
 | 
			
		||||
 */
 | 
			
		||||
void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
 | 
			
		||||
void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts an 8bit paletted frame into a frame with a color depth of 24 bits.
 | 
			
		||||
@@ -324,7 +365,7 @@ void sws_convertPalette8ToPacked32(const uint8_t *src, uint8_t *dst, long num_pi
 | 
			
		||||
 * @param num_pixels number of pixels to convert
 | 
			
		||||
 * @param palette    array with [256] entries, which must match color arrangement (RGB or BGR) of src
 | 
			
		||||
 */
 | 
			
		||||
void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette);
 | 
			
		||||
void sws_convertPalette8ToPacked24(const uint8_t *src, uint8_t *dst, int num_pixels, const uint8_t *palette);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif /* SWSCALE_SWSCALE_H */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavcodec.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavcodec.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavcodec64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavcodec64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavcore64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavcore64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavdevice.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavdevice.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavdevice64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavdevice64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavformat.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavformat.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavformat64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavformat64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavutil.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavutil.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libavutil64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libavutil64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libswscale.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libswscale.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								3rdparty/lib/libswscale64.a
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								3rdparty/lib/libswscale64.a
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user