16#define AVCODEC_AVCODEC_H
18#define AVUTIL_SAMPLEFMT_H
20#define AVUTIL_AVUTIL_H
42#define FF_LAMBDA_SHIFT 7
43#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)
44#define FF_QP2LAMBDA 118
45#define FF_LAMBDA_MAX (256*128-1)
47#define FF_QUALITY_SCALE FF_LAMBDA_SCALE
49#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
51#define AV_TIME_BASE 1000000
53#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE}
68#define AVUTIL_COMMON_H
70#define AVUTIL_ATTRIBUTES_H
72# define AV_GCC_VERSION_AT_LEAST(x,y) 0
73# define AV_GCC_VERSION_AT_MOST(x,y) 0
75# define AV_HAS_BUILTIN(x) 0
77# define av_always_inline inline
79# define av_extern_inline inline
81# define av_warn_unused_result
93# define attribute_deprecated
95# define AV_NOWARN_DEPRECATED(code) code
103# define av_uninit(x) x
105# define av_builtin_constant_p(x) 0
106# define av_printf_format(fmtpos, attrpos)
110#define AVUTIL_MACROS_H
112# define AV_NE(be, le) (le)
114#define FFDIFFSIGN(x,y) (((x)>(y)) - ((x)<(y)))
116#define FFMAX(a,b) ((a) > (b) ? (a) : (b))
117#define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c)
118#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
119#define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c)
121#define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)
122#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
124#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))
125#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24))
127#define AV_STRINGIFY(s) AV_TOSTRING(s)
128#define AV_TOSTRING(s) #s
130#define AV_GLUE(a, b) a ## b
131#define AV_JOIN(a, b) AV_GLUE(a, b)
133#define AV_PRAGMA(s) _Pragma(#s)
135#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
137#define AVUTIL_VERSION_H
139#define AV_VERSION_INT(a, b, c) ((a)<<16 | (b)<<8 | (c))
140#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
141#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
143#define AV_VERSION_MAJOR(a) ((a) >> 16)
144#define AV_VERSION_MINOR(a) (((a) & 0x00FF00) >> 8)
145#define AV_VERSION_MICRO(a) ((a) & 0xFF)
147#define LIBAVUTIL_VERSION_MAJOR 57
148#define LIBAVUTIL_VERSION_MINOR 17
149#define LIBAVUTIL_VERSION_MICRO 100
151#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
152 LIBAVUTIL_VERSION_MINOR, \
153 LIBAVUTIL_VERSION_MICRO)
154#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
155 LIBAVUTIL_VERSION_MINOR, \
156 LIBAVUTIL_VERSION_MICRO)
157#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
159#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
161#define FF_API_D2STR (LIBAVUTIL_VERSION_MAJOR < 58)
162#define FF_API_DECLARE_ALIGNED (LIBAVUTIL_VERSION_MAJOR < 58)
163#define FF_API_COLORSPACE_NAME (LIBAVUTIL_VERSION_MAJOR < 58)
164#define FF_API_AV_MALLOCZ_ARRAY (LIBAVUTIL_VERSION_MAJOR < 58)
166#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
168#define ROUNDED_DIV(a,b) (((a)>=0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))
170#define AV_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b)) \
171 : ((a) + (1<<(b)) - 1) >> (b))
173#define FF_CEIL_RSHIFT AV_CEIL_RSHIFT
175#define FFUDIV(a,b) (((a)>0 ?(a):(a)-(b)+1) / (b))
176#define FFUMOD(a,b) ((a)-(b)*FFUDIV(a,b))
178#define FFABS(a) ((a) >= 0 ? (a) : (-(a)))
179#define FFSIGN(a) ((a) > 0 ? 1 : -1)
181#define FFNABS(a) ((a) <= 0 ? (a) : (-(a)))
183#define FFABSU(a) ((a) <= 0 ? -(unsigned)(a) : (unsigned)(a))
184#define FFABS64U(a) ((a) <= 0 ? -(uint64_t)(a) : (uint64_t)(a))
186# define av_ceil_log2 av_ceil_log2_c
187# define av_clip av_clip_c
188# define av_clip64 av_clip64_c
189# define av_clip_uint8 av_clip_uint8_c
190# define av_clip_int8 av_clip_int8_c
191# define av_clip_uint16 av_clip_uint16_c
192# define av_clip_int16 av_clip_int16_c
193# define av_clipl_int32 av_clipl_int32_c
194# define av_clip_intp2 av_clip_intp2_c
195# define av_clip_uintp2 av_clip_uintp2_c
196# define av_mod_uintp2 av_mod_uintp2_c
197# define av_sat_add32 av_sat_add32_c
198# define av_sat_dadd32 av_sat_dadd32_c
199# define av_sat_sub32 av_sat_sub32_c
200# define av_sat_dsub32 av_sat_dsub32_c
201# define av_sat_add64 av_sat_add64_c
202# define av_sat_sub64 av_sat_sub64_c
203# define av_clipf av_clipf_c
204# define av_clipd av_clipd_c
205# define av_popcount av_popcount_c
206# define av_popcount64 av_popcount64_c
207# define av_parity av_parity_c
215 if (a < amin)
return amin;
216 else if (a > amax)
return amax;
222 if (a < amin)
return amin;
223 else if (a > amax)
return amax;
229 if (a&(~0xFF))
return (~a)>>31;
235 if ((a+0x80U) & ~0xFF)
return (a>>31) ^ 0x7F;
241 if (a&(~0xFFFF))
return (~a)>>31;
247 if ((a+0x8000U) & ~0xFFFF)
return (a>>31) ^ 0x7FFF;
253 if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF))
return (int32_t)((a>>63) ^ 0x7FFFFFFF);
254 else return (int32_t)a;
259 if (((
unsigned)a + (1 << p)) & ~((2 << p) - 1))
260 return (a >> 31) ^ ((1 << p) - 1);
267 if (a & ~((1<<p) - 1))
return (~a) >> 31 & ((1<<p) - 1);
273 return a & ((1U << p) - 1);
297 int64_t s = a+(uint64_t)b;
298 if ((int64_t)(a^b | ~s^b) >= 0)
299 return INT64_MAX ^ (b >> 63);
304 if (b <= 0 && a >= INT64_MAX + b)
306 if (b >= 0 && a <= INT64_MIN + b)
328 x -= (x >> 1) & 0x55555555;
329 x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
330 x = (x + (x >> 4)) & 0x0F0F0F0F;
332 return (x + (x >> 16)) & 0x3F;
345#define GET_UTF8(val, GET_BYTE, ERROR)\
348 uint32_t top = (val & 128) >> 1;\
349 if ((val & 0xc0) == 0x80 || val >= 0xFE)\
352 unsigned int tmp = (GET_BYTE) - 128;\
355 val= (val<<6) + tmp;\
358 val &= (top << 1) - 1;\
361#define GET_UTF16(val, GET_16BIT, ERROR)\
364 unsigned int hi = val - 0xD800;\
366 val = (GET_16BIT) - 0xDC00;\
367 if (val > 0x3FFU || hi > 0x3FFU)\
369 val += (hi<<10) + 0x10000;\
373#define PUT_UTF8(val, tmp, PUT_BYTE)\
381 bytes = (av_log2(in) + 4) / 5;\
382 shift = (bytes - 1) * 6;\
383 tmp = (256 - (256 >> bytes)) | (in >> shift);\
385 while (shift >= 6) {\
387 tmp = 0x80 | ((in >> shift) & 0x3f);\
393#define PUT_UTF16(val, tmp, PUT_16BIT)\
400 tmp = 0xD800 | ((in - 0x10000) >> 10);\
402 tmp = 0xDC00 | ((in - 0x10000) & 0x3FF);\
409 #define DECLARE_ALIGNED(n,t,v) t v
410 #define DECLARE_ASM_ALIGNED(n,t,v) t v
411 #define DECLARE_ASM_CONST(n,t,v) static const t v
413 #define av_malloc_attrib
415 #define av_alloc_size(...)
463 const uint8_t *elem_data);
469#define AVUTIL_ERROR_H
471#define AVERROR(e) (e)
472#define AVUNERROR(e) (e)
474#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d))
476#define AVERROR_BSF_NOT_FOUND FFERRTAG(0xF8,'B','S','F')
477#define AVERROR_BUG FFERRTAG( 'B','U','G','!')
478#define AVERROR_BUFFER_TOO_SMALL FFERRTAG( 'B','U','F','S')
479#define AVERROR_DECODER_NOT_FOUND FFERRTAG(0xF8,'D','E','C')
480#define AVERROR_DEMUXER_NOT_FOUND FFERRTAG(0xF8,'D','E','M')
481#define AVERROR_ENCODER_NOT_FOUND FFERRTAG(0xF8,'E','N','C')
482#define AVERROR_EOF FFERRTAG( 'E','O','F',' ')
483#define AVERROR_EXIT FFERRTAG( 'E','X','I','T')
484#define AVERROR_EXTERNAL FFERRTAG( 'E','X','T',' ')
485#define AVERROR_FILTER_NOT_FOUND FFERRTAG(0xF8,'F','I','L')
486#define AVERROR_INVALIDDATA FFERRTAG( 'I','N','D','A')
487#define AVERROR_MUXER_NOT_FOUND FFERRTAG(0xF8,'M','U','X')
488#define AVERROR_OPTION_NOT_FOUND FFERRTAG(0xF8,'O','P','T')
489#define AVERROR_PATCHWELCOME FFERRTAG( 'P','A','W','E')
490#define AVERROR_PROTOCOL_NOT_FOUND FFERRTAG(0xF8,'P','R','O')
492#define AVERROR_STREAM_NOT_FOUND FFERRTAG(0xF8,'S','T','R')
494#define AVERROR_BUG2 FFERRTAG( 'B','U','G',' ')
495#define AVERROR_UNKNOWN FFERRTAG( 'U','N','K','N')
496#define AVERROR_EXPERIMENTAL (-0x2bb2afa8)
497#define AVERROR_INPUT_CHANGED (-0x636e6701)
498#define AVERROR_OUTPUT_CHANGED (-0x636e6702)
500#define AVERROR_HTTP_BAD_REQUEST FFERRTAG(0xF8,'4','0','0')
501#define AVERROR_HTTP_UNAUTHORIZED FFERRTAG(0xF8,'4','0','1')
502#define AVERROR_HTTP_FORBIDDEN FFERRTAG(0xF8,'4','0','3')
503#define AVERROR_HTTP_NOT_FOUND FFERRTAG(0xF8,'4','0','4')
504#define AVERROR_HTTP_OTHER_4XX FFERRTAG(0xF8,'4','X','X')
505#define AVERROR_HTTP_SERVER_ERROR FFERRTAG(0xF8,'5','X','X')
507#define AV_ERROR_MAX_STRING_SIZE 64
517#define av_err2str(errnum) \
518 av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
520#define AVUTIL_RATIONAL_H
534 const int64_t tmp= a.
num * (int64_t)b.
den - b.
num * (int64_t)a.
den;
536 if(tmp)
return (
int)((tmp ^ a.
den ^ b.
den)>>63)|1;
537 else if(b.
den && a.
den)
return 0;
538 else if(a.
num && b.
num)
return (a.
num>>31) - (b.
num>>31);
543 return a.
num / (double) a.
den;
546int av_reduce(
int *dst_num,
int *dst_den, int64_t num, int64_t den, int64_t max);
572#define AVUTIL_MATHEMATICS_H
574#define AVUTIL_INTFLOAT_H
614#define M_E 2.7182818284590452354
615#define M_LN2 0.69314718055994530942
616#define M_LN10 2.30258509299404568402
617#define M_LOG2_10 3.32192809488736234787
618#define M_PHI 1.61803398874989484820
619#define M_PI 3.14159265358979323846
620#define M_PI_2 1.57079632679489661923
621#define M_SQRT1_2 0.70710678118654752440
622#define M_SQRT2 1.41421356237309504880
623#define NAN av_int2float(0x7fc00000)
624#define INFINITY av_int2float(0x7f800000)
678#define AV_IS_INPUT_DEVICE(category) \
679 (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT) || \
680 ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT) || \
681 ((category) == AV_CLASS_CATEGORY_DEVICE_INPUT))
683#define AV_IS_OUTPUT_DEVICE(category) \
684 (((category) == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT) || \
685 ((category) == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT) || \
686 ((category) == AV_CLASS_CATEGORY_DEVICE_OUTPUT))
688struct AVOptionRanges;
694 const char* (*item_name)(
void* ctx);
696 const struct AVOption *
option;
708 int (*
query_ranges)(
struct AVOptionRanges **,
void *obj,
const char *
key,
int flags);
710 void* (*child_next)(
void *obj,
void *prev);
712 const struct AVClass* (*child_class_iterate)(
void **iter);
715#define AV_LOG_QUIET -8
717#define AV_LOG_PANIC 0
719#define AV_LOG_FATAL 8
721#define AV_LOG_ERROR 16
723#define AV_LOG_WARNING 24
725#define AV_LOG_INFO 32
727#define AV_LOG_VERBOSE 40
729#define AV_LOG_DEBUG 48
731#define AV_LOG_TRACE 56
733#define AV_LOG_MAX_OFFSET (AV_LOG_TRACE - AV_LOG_QUIET)
735#define AV_LOG_C(x) ((x) << 8)
741void av_vlog(
void *avcl,
int level, const
char *fmt, va_list vl);
756 char *line,
int line_size,
int *print_prefix);
759 char *line,
int line_size,
int *print_prefix);
761#define AV_LOG_SKIP_REPEATED 1
763#define AV_LOG_PRINT_LEVEL 2
768#define AVUTIL_PIXFMT_H
770#define AVPALETTE_SIZE 1024
771#define AVPALETTE_COUNT 256
1036# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
1038#define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA)
1039#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
1040#define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA)
1041#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
1042#define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0)
1043#define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0)
1045#define AV_PIX_FMT_GRAY9 AV_PIX_FMT_NE(GRAY9BE, GRAY9LE)
1046#define AV_PIX_FMT_GRAY10 AV_PIX_FMT_NE(GRAY10BE, GRAY10LE)
1047#define AV_PIX_FMT_GRAY12 AV_PIX_FMT_NE(GRAY12BE, GRAY12LE)
1048#define AV_PIX_FMT_GRAY14 AV_PIX_FMT_NE(GRAY14BE, GRAY14LE)
1049#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
1050#define AV_PIX_FMT_YA16 AV_PIX_FMT_NE(YA16BE, YA16LE)
1051#define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE)
1052#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
1053#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
1054#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
1055#define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
1056#define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE)
1057#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
1058#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
1059#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
1060#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
1062#define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
1063#define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
1064#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
1065#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
1066#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
1067#define AV_PIX_FMT_YUV440P10 AV_PIX_FMT_NE(YUV440P10BE, YUV440P10LE)
1068#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
1069#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
1070#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
1071#define AV_PIX_FMT_YUV440P12 AV_PIX_FMT_NE(YUV440P12BE, YUV440P12LE)
1072#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
1073#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
1074#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
1075#define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
1076#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
1077#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
1078#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
1080#define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
1081#define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
1082#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
1083#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
1084#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
1085#define AV_PIX_FMT_GBRAP10 AV_PIX_FMT_NE(GBRAP10BE, GBRAP10LE)
1086#define AV_PIX_FMT_GBRAP12 AV_PIX_FMT_NE(GBRAP12BE, GBRAP12LE)
1087#define AV_PIX_FMT_GBRAP16 AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)
1089#define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)
1090#define AV_PIX_FMT_BAYER_RGGB16 AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE)
1091#define AV_PIX_FMT_BAYER_GBRG16 AV_PIX_FMT_NE(BAYER_GBRG16BE, BAYER_GBRG16LE)
1092#define AV_PIX_FMT_BAYER_GRBG16 AV_PIX_FMT_NE(BAYER_GRBG16BE, BAYER_GRBG16LE)
1094#define AV_PIX_FMT_GBRPF32 AV_PIX_FMT_NE(GBRPF32BE, GBRPF32LE)
1095#define AV_PIX_FMT_GBRAPF32 AV_PIX_FMT_NE(GBRAPF32BE, GBRAPF32LE)
1097#define AV_PIX_FMT_GRAYF32 AV_PIX_FMT_NE(GRAYF32BE, GRAYF32LE)
1099#define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
1100#define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
1101#define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
1102#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
1103#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
1104#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
1105#define AV_PIX_FMT_YUVA422P12 AV_PIX_FMT_NE(YUVA422P12BE, YUVA422P12LE)
1106#define AV_PIX_FMT_YUVA444P12 AV_PIX_FMT_NE(YUVA444P12BE, YUVA444P12LE)
1107#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
1108#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
1109#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
1111#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
1112#define AV_PIX_FMT_NV20 AV_PIX_FMT_NE(NV20BE, NV20LE)
1113#define AV_PIX_FMT_AYUV64 AV_PIX_FMT_NE(AYUV64BE, AYUV64LE)
1114#define AV_PIX_FMT_P010 AV_PIX_FMT_NE(P010BE, P010LE)
1115#define AV_PIX_FMT_P016 AV_PIX_FMT_NE(P016BE, P016LE)
1117#define AV_PIX_FMT_Y210 AV_PIX_FMT_NE(Y210BE, Y210LE)
1118#define AV_PIX_FMT_X2RGB10 AV_PIX_FMT_NE(X2RGB10BE, X2RGB10LE)
1119#define AV_PIX_FMT_X2BGR10 AV_PIX_FMT_NE(X2BGR10BE, X2BGR10LE)
1121#define AV_PIX_FMT_P210 AV_PIX_FMT_NE(P210BE, P210LE)
1122#define AV_PIX_FMT_P410 AV_PIX_FMT_NE(P410BE, P410LE)
1123#define AV_PIX_FMT_P216 AV_PIX_FMT_NE(P216BE, P216LE)
1124#define AV_PIX_FMT_P416 AV_PIX_FMT_NE(P416BE, P416LE)
1214 return (
void *)(intptr_t)(p ? p : x);
1218 const void *list, uint64_t term)
av_pure;
1220#define av_int_list_length(list, term) \
1221 av_int_list_length_for_size(sizeof(*(list)), list, term)
1227#define AV_FOURCC_MAX_STRING_SIZE 32
1229#define av_fourcc2str(fourcc) av_fourcc_make_string((char[AV_FOURCC_MAX_STRING_SIZE]){0}, fourcc)
1273 int nb_channels,
int nb_samples,
1283 int src_offset,
int nb_samples,
int nb_channels,
1289#define AVUTIL_BUFFER_H
1305#define AV_BUFFER_FLAG_READONLY (1 << 0)
1308 void (*
free)(
void *opaque, uint8_t *data),
1309 void *opaque,
int flags);
1335 void (*pool_free)(
void *opaque));
1343#define AVUTIL_DICT_H
1345#define AV_DICT_MATCH_CASE 1
1346#define AV_DICT_IGNORE_SUFFIX 2
1348#define AV_DICT_DONT_STRDUP_KEY 4
1350#define AV_DICT_DONT_STRDUP_VAL 8
1352#define AV_DICT_DONT_OVERWRITE 16
1353#define AV_DICT_APPEND 32
1355#define AV_DICT_MULTIKEY 64
1374 const char *key_val_sep,
const char *pairs_sep,
1382 const char key_val_sep,
const char pairs_sep);
1384#define AVUTIL_FRAME_H
1470#define AV_NUM_DATA_POINTERS 8
1527#define AV_FRAME_FLAG_CORRUPT (1 << 0)
1529#define AV_FRAME_FLAG_DISCARD (1 << 2)
1552#define FF_DECODE_ERROR_INVALID_BITSTREAM 1
1553#define FF_DECODE_ERROR_MISSING_REFERENCE 2
1554#define FF_DECODE_ERROR_CONCEALMENT_ACTIVE 4
1555#define FF_DECODE_ERROR_DECODE_SLICES 8
1622#define AVCODEC_CODEC_H
1624#define AVUTIL_HWCONTEXT_H
1744 const void *hwconfig);
1767#define AVCODEC_CODEC_ID_H
1908#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
1946#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
1970#define AV_CODEC_ID_H266 AV_CODEC_ID_VVC
2299#define AVCODEC_VERSION_H
2301#define LIBAVCODEC_VERSION_MAJOR 59
2302#define LIBAVCODEC_VERSION_MINOR 18
2303#define LIBAVCODEC_VERSION_MICRO 100
2305#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
2306 LIBAVCODEC_VERSION_MINOR, \
2307 LIBAVCODEC_VERSION_MICRO)
2308#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \
2309 LIBAVCODEC_VERSION_MINOR, \
2310 LIBAVCODEC_VERSION_MICRO)
2311#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
2313#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
2315#define FF_API_OPENH264_SLICE_MODE (LIBAVCODEC_VERSION_MAJOR < 60)
2316#define FF_API_OPENH264_CABAC (LIBAVCODEC_VERSION_MAJOR < 60)
2317#define FF_API_UNUSED_CODEC_CAPS (LIBAVCODEC_VERSION_MAJOR < 60)
2318#define FF_API_THREAD_SAFE_CALLBACKS (LIBAVCODEC_VERSION_MAJOR < 60)
2319#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 60)
2320#define FF_API_GET_FRAME_CLASS (LIBAVCODEC_VERSION_MAJOR < 60)
2321#define FF_API_AUTO_THREADS (LIBAVCODEC_VERSION_MAJOR < 60)
2322#define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60)
2323#define FF_API_AVCTX_TIMEBASE (LIBAVCODEC_VERSION_MAJOR < 60)
2324#define FF_API_MPEGVIDEO_OPTS (LIBAVCODEC_VERSION_MAJOR < 60)
2325#define FF_API_FLAG_TRUNCATED (LIBAVCODEC_VERSION_MAJOR < 60)
2326#define FF_API_SUB_TEXT_FORMAT (LIBAVCODEC_VERSION_MAJOR < 60)
2328#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
2330#define AV_CODEC_CAP_DR1 (1 << 1)
2332#define AV_CODEC_CAP_TRUNCATED (1 << 3)
2334#define AV_CODEC_CAP_DELAY (1 << 5)
2336#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
2338#define AV_CODEC_CAP_SUBFRAMES (1 << 8)
2340#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
2342#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
2344#define AV_CODEC_CAP_FRAME_THREADS (1 << 12)
2346#define AV_CODEC_CAP_SLICE_THREADS (1 << 13)
2348#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
2350#define AV_CODEC_CAP_OTHER_THREADS (1 << 15)
2351#define AV_CODEC_CAP_AUTO_THREADS AV_CODEC_CAP_OTHER_THREADS
2353#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
2355#define AV_CODEC_CAP_AVOID_PROBING (1 << 17)
2357#define AV_CODEC_CAP_INTRA_ONLY 0x40000000
2359#define AV_CODEC_CAP_LOSSLESS 0x80000000
2361#define AV_CODEC_CAP_HARDWARE (1 << 18)
2363#define AV_CODEC_CAP_HYBRID (1 << 19)
2365#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)
2367#define AV_CODEC_CAP_ENCODER_FLUSH (1 << 21)
2417 const struct AVFrame *frame,
int *got_packet_ptr);
2420 int *got_frame_ptr,
struct AVPacket *avpkt);
2474#define AVCODEC_CODEC_DESC_H
2491#define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
2493#define AV_CODEC_PROP_LOSSY (1 << 1)
2495#define AV_CODEC_PROP_LOSSLESS (1 << 2)
2497#define AV_CODEC_PROP_REORDER (1 << 3)
2499#define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
2501#define AV_CODEC_PROP_TEXT_SUB (1 << 17)
2509#define AVCODEC_CODEC_PAR_H
2583#define AVCODEC_DEFS_H
2585#define AV_INPUT_BUFFER_PADDING_SIZE 64
2644#define AVCODEC_PACKET_H
2715#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS
2756#define AV_PKT_FLAG_KEY 0x0001
2757#define AV_PKT_FLAG_CORRUPT 0x0002
2759#define AV_PKT_FLAG_DISCARD 0x0004
2761#define AV_PKT_FLAG_TRUSTED 0x0008
2763#define AV_PKT_FLAG_DISPOSABLE 0x0010
2793 uint8_t *data,
size_t size);
2824#define AV_INPUT_BUFFER_MIN_SIZE 16384
2833#define AV_CODEC_FLAG_UNALIGNED (1 << 0)
2835#define AV_CODEC_FLAG_QSCALE (1 << 1)
2837#define AV_CODEC_FLAG_4MV (1 << 2)
2839#define AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3)
2841#define AV_CODEC_FLAG_QPEL (1 << 4)
2843#define AV_CODEC_FLAG_DROPCHANGED (1 << 5)
2845#define AV_CODEC_FLAG_PASS1 (1 << 9)
2847#define AV_CODEC_FLAG_PASS2 (1 << 10)
2849#define AV_CODEC_FLAG_LOOP_FILTER (1 << 11)
2851#define AV_CODEC_FLAG_GRAY (1 << 13)
2853#define AV_CODEC_FLAG_PSNR (1 << 15)
2855#define AV_CODEC_FLAG_TRUNCATED (1 << 16)
2857#define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)
2859#define AV_CODEC_FLAG_LOW_DELAY (1 << 19)
2861#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
2863#define AV_CODEC_FLAG_BITEXACT (1 << 23)
2865#define AV_CODEC_FLAG_AC_PRED (1 << 24)
2867#define AV_CODEC_FLAG_INTERLACED_ME (1 << 29)
2868#define AV_CODEC_FLAG_CLOSED_GOP (1U << 31)
2870#define AV_CODEC_FLAG2_FAST (1 << 0)
2872#define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)
2874#define AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3)
2876#define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13)
2878#define AV_CODEC_FLAG2_CHUNKS (1 << 15)
2880#define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
2882#define AV_CODEC_FLAG2_SHOW_ALL (1 << 22)
2884#define AV_CODEC_FLAG2_EXPORT_MVS (1 << 28)
2886#define AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29)
2888#define AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30)
2890#define AV_CODEC_EXPORT_DATA_MVS (1 << 0)
2892#define AV_CODEC_EXPORT_DATA_PRFT (1 << 1)
2894#define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
2896#define AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3)
2898#define AV_GET_BUFFER_FLAG_REF (1 << 0)
2900#define AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0)
2902struct AVCodecInternal;
2928#define FF_COMPRESSION_DEFAULT -1
2953 int y,
int type,
int height);
2994#define FF_CMP_SATD 2
2996#define FF_CMP_PSNR 4
2999#define FF_CMP_ZERO 7
3000#define FF_CMP_VSAD 8
3001#define FF_CMP_VSSE 9
3002#define FF_CMP_NSSE 10
3003#define FF_CMP_W53 11
3004#define FF_CMP_W97 12
3005#define FF_CMP_DCTMAX 13
3006#define FF_CMP_DCT264 14
3007#define FF_CMP_MEDIAN_SAD 15
3008#define FF_CMP_CHROMA 256
3023#define SLICE_FLAG_CODED_ORDER 0x0001
3024#define SLICE_FLAG_ALLOW_FIELD 0x0002
3025#define SLICE_FLAG_ALLOW_PLANE 0x0004
3028#define FF_MB_DECISION_SIMPLE 0
3029#define FF_MB_DECISION_BITS 1
3030#define FF_MB_DECISION_RD 2
3122#define FF_BUG_AUTODETECT 1
3123#define FF_BUG_XVID_ILACE 4
3124#define FF_BUG_UMP4 8
3125#define FF_BUG_NO_PADDING 16
3126#define FF_BUG_AMV 32
3127#define FF_BUG_QPEL_CHROMA 64
3128#define FF_BUG_STD_QPEL 128
3129#define FF_BUG_QPEL_CHROMA2 256
3130#define FF_BUG_DIRECT_BLOCKSIZE 512
3131#define FF_BUG_EDGE 1024
3132#define FF_BUG_HPEL_CHROMA 2048
3133#define FF_BUG_DC_CLIP 4096
3134#define FF_BUG_MS 8192
3135#define FF_BUG_TRUNCATED 16384
3136#define FF_BUG_IEDGE 32768
3139#define FF_COMPLIANCE_VERY_STRICT 2
3140#define FF_COMPLIANCE_STRICT 1
3141#define FF_COMPLIANCE_NORMAL 0
3142#define FF_COMPLIANCE_UNOFFICIAL -1
3143#define FF_COMPLIANCE_EXPERIMENTAL -2
3146#define FF_EC_GUESS_MVS 1
3147#define FF_EC_DEBLOCK 2
3148#define FF_EC_FAVOR_INTER 256
3151#define FF_DEBUG_PICT_INFO 1
3152#define FF_DEBUG_RC 2
3153#define FF_DEBUG_BITSTREAM 4
3154#define FF_DEBUG_MB_TYPE 8
3155#define FF_DEBUG_QP 16
3156#define FF_DEBUG_DCT_COEFF 0x00000040
3157#define FF_DEBUG_SKIP 0x00000080
3158#define FF_DEBUG_STARTCODE 0x00000100
3159#define FF_DEBUG_ER 0x00000400
3160#define FF_DEBUG_MMCO 0x00000800
3161#define FF_DEBUG_BUGS 0x00001000
3162#define FF_DEBUG_BUFFERS 0x00008000
3163#define FF_DEBUG_THREADS 0x00010000
3164#define FF_DEBUG_GREEN_MD 0x00800000
3165#define FF_DEBUG_NOMC 0x01000000
3169#define AV_EF_CRCCHECK (1<<0)
3170#define AV_EF_BITSTREAM (1<<1)
3171#define AV_EF_BUFFER (1<<2)
3172#define AV_EF_EXPLODE (1<<3)
3174#define AV_EF_IGNORE_ERR (1<<15)
3175#define AV_EF_CAREFUL (1<<16)
3176#define AV_EF_COMPLIANT (1<<17)
3177#define AV_EF_AGGRESSIVE (1<<18)
3188#define FF_DCT_AUTO 0
3189#define FF_DCT_FASTINT 1
3192#define FF_DCT_ALTIVEC 5
3193#define FF_DCT_FAAN 6
3196#define FF_IDCT_AUTO 0
3197#define FF_IDCT_INT 1
3198#define FF_IDCT_SIMPLE 2
3199#define FF_IDCT_SIMPLEMMX 3
3200#define FF_IDCT_ARM 7
3201#define FF_IDCT_ALTIVEC 8
3202#define FF_IDCT_SIMPLEARM 10
3203#define FF_IDCT_XVID 14
3204#define FF_IDCT_SIMPLEARMV5TE 16
3205#define FF_IDCT_SIMPLEARMV6 17
3206#define FF_IDCT_FAAN 20
3207#define FF_IDCT_SIMPLENEON 22
3208#define FF_IDCT_NONE 24
3209#define FF_IDCT_SIMPLEAUTO 128
3220#define FF_THREAD_FRAME 1
3221#define FF_THREAD_SLICE 2
3235#define FF_PROFILE_UNKNOWN -99
3236#define FF_PROFILE_RESERVED -100
3238#define FF_PROFILE_AAC_MAIN 0
3239#define FF_PROFILE_AAC_LOW 1
3240#define FF_PROFILE_AAC_SSR 2
3241#define FF_PROFILE_AAC_LTP 3
3242#define FF_PROFILE_AAC_HE 4
3243#define FF_PROFILE_AAC_HE_V2 28
3244#define FF_PROFILE_AAC_LD 22
3245#define FF_PROFILE_AAC_ELD 38
3246#define FF_PROFILE_MPEG2_AAC_LOW 128
3247#define FF_PROFILE_MPEG2_AAC_HE 131
3249#define FF_PROFILE_DNXHD 0
3250#define FF_PROFILE_DNXHR_LB 1
3251#define FF_PROFILE_DNXHR_SQ 2
3252#define FF_PROFILE_DNXHR_HQ 3
3253#define FF_PROFILE_DNXHR_HQX 4
3254#define FF_PROFILE_DNXHR_444 5
3256#define FF_PROFILE_DTS 20
3257#define FF_PROFILE_DTS_ES 30
3258#define FF_PROFILE_DTS_96_24 40
3259#define FF_PROFILE_DTS_HD_HRA 50
3260#define FF_PROFILE_DTS_HD_MA 60
3261#define FF_PROFILE_DTS_EXPRESS 70
3263#define FF_PROFILE_MPEG2_422 0
3264#define FF_PROFILE_MPEG2_HIGH 1
3265#define FF_PROFILE_MPEG2_SS 2
3266#define FF_PROFILE_MPEG2_SNR_SCALABLE 3
3267#define FF_PROFILE_MPEG2_MAIN 4
3268#define FF_PROFILE_MPEG2_SIMPLE 5
3270#define FF_PROFILE_H264_CONSTRAINED (1<<9)
3271#define FF_PROFILE_H264_INTRA (1<<11)
3273#define FF_PROFILE_H264_BASELINE 66
3274#define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
3275#define FF_PROFILE_H264_MAIN 77
3276#define FF_PROFILE_H264_EXTENDED 88
3277#define FF_PROFILE_H264_HIGH 100
3278#define FF_PROFILE_H264_HIGH_10 110
3279#define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
3280#define FF_PROFILE_H264_MULTIVIEW_HIGH 118
3281#define FF_PROFILE_H264_HIGH_422 122
3282#define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
3283#define FF_PROFILE_H264_STEREO_HIGH 128
3284#define FF_PROFILE_H264_HIGH_444 144
3285#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
3286#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
3287#define FF_PROFILE_H264_CAVLC_444 44
3289#define FF_PROFILE_VC1_SIMPLE 0
3290#define FF_PROFILE_VC1_MAIN 1
3291#define FF_PROFILE_VC1_COMPLEX 2
3292#define FF_PROFILE_VC1_ADVANCED 3
3294#define FF_PROFILE_MPEG4_SIMPLE 0
3295#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
3296#define FF_PROFILE_MPEG4_CORE 2
3297#define FF_PROFILE_MPEG4_MAIN 3
3298#define FF_PROFILE_MPEG4_N_BIT 4
3299#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
3300#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
3301#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
3302#define FF_PROFILE_MPEG4_HYBRID 8
3303#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
3304#define FF_PROFILE_MPEG4_CORE_SCALABLE 10
3305#define FF_PROFILE_MPEG4_ADVANCED_CODING 11
3306#define FF_PROFILE_MPEG4_ADVANCED_CORE 12
3307#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
3308#define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
3309#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
3311#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1
3312#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2
3313#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768
3314#define FF_PROFILE_JPEG2000_DCINEMA_2K 3
3315#define FF_PROFILE_JPEG2000_DCINEMA_4K 4
3317#define FF_PROFILE_VP9_0 0
3318#define FF_PROFILE_VP9_1 1
3319#define FF_PROFILE_VP9_2 2
3320#define FF_PROFILE_VP9_3 3
3322#define FF_PROFILE_HEVC_MAIN 1
3323#define FF_PROFILE_HEVC_MAIN_10 2
3324#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
3325#define FF_PROFILE_HEVC_REXT 4
3327#define FF_PROFILE_VVC_MAIN_10 1
3328#define FF_PROFILE_VVC_MAIN_10_444 33
3330#define FF_PROFILE_AV1_MAIN 0
3331#define FF_PROFILE_AV1_HIGH 1
3332#define FF_PROFILE_AV1_PROFESSIONAL 2
3334#define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0
3335#define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1
3336#define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2
3337#define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3
3338#define FF_PROFILE_MJPEG_JPEG_LS 0xf7
3340#define FF_PROFILE_SBC_MSBC 1
3342#define FF_PROFILE_PRORES_PROXY 0
3343#define FF_PROFILE_PRORES_LT 1
3344#define FF_PROFILE_PRORES_STANDARD 2
3345#define FF_PROFILE_PRORES_HQ 3
3346#define FF_PROFILE_PRORES_4444 4
3347#define FF_PROFILE_PRORES_XQ 5
3349#define FF_PROFILE_ARIB_PROFILE_A 0
3350#define FF_PROFILE_ARIB_PROFILE_C 1
3352#define FF_PROFILE_KLVA_SYNC 0
3353#define FF_PROFILE_KLVA_ASYNC 1
3356#define FF_LEVEL_UNKNOWN -99
3385#define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3386#define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3387#define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3388#define FF_SUB_CHARENC_MODE_IGNORE 2
3396#define FF_DEBUG_VIS_MV_P_FOR 0x00000001
3397#define FF_DEBUG_VIS_MV_B_FOR 0x00000002
3398#define FF_DEBUG_VIS_MV_B_BACK 0x00000004
3407#define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
3408#define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
3409#define FF_CODEC_PROPERTY_FILM_GRAIN 0x00000004
3418#define FF_SUB_TEXT_FMT_ASS 0
3441struct MpegEncContext;
3467 void (*
decode_mb)(
struct MpegEncContext *s);
3480#define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
3482#define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3484#define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
3486#define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2)
3498#define AV_SUBTITLE_FLAG_FORCED 0x00000001
3612#define AV_PARSER_PTS_NB 4
3619#define PARSER_FLAG_COMPLETE_FRAMES 0x0001
3620#define PARSER_FLAG_ONCE 0x0002
3622#define PARSER_FLAG_FETCHED_OFFSET 0x0004
3623#define PARSER_FLAG_USE_CODEC_TS 0x1000
3666 const uint8_t **poutbuf,
int *poutbuf_size,
3667 const uint8_t *buf,
int buf_size);
3678 uint8_t **poutbuf,
int *poutbuf_size,
3679 const uint8_t *buf,
int buf_size,
3680 int64_t pts, int64_t dts,
3692 int has_alpha,
int *loss_ptr);
3703 int buf_size,
int align);
3715#define AVFORMAT_AVFORMAT_H
3717#define AVFORMAT_AVIO_H
3719#define AVFORMAT_VERSION_H
3721#define LIBAVFORMAT_VERSION_MAJOR 59
3722#define LIBAVFORMAT_VERSION_MINOR 16
3723#define LIBAVFORMAT_VERSION_MICRO 100
3725#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
3726 LIBAVFORMAT_VERSION_MINOR, \
3727 LIBAVFORMAT_VERSION_MICRO)
3728#define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
3729 LIBAVFORMAT_VERSION_MINOR, \
3730 LIBAVFORMAT_VERSION_MICRO)
3731#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
3733#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
3735#define FF_API_LAVF_PRIV_OPT (LIBAVFORMAT_VERSION_MAJOR < 60)
3736#define FF_API_COMPUTE_PKT_FIELDS2 (LIBAVFORMAT_VERSION_MAJOR < 60)
3737#define FF_API_AVIOCONTEXT_WRITTEN (LIBAVFORMAT_VERSION_MAJOR < 60)
3738#define FF_HLS_TS_OPTIONS (LIBAVFORMAT_VERSION_MAJOR < 60)
3739#define FF_API_AVSTREAM_CLASS (LIBAVFORMAT_VERSION_MAJOR > 59)
3740#define FF_HTTP_CACHE_REDIRECT_DEFAULT (LIBAVFORMAT_VERSION_MAJOR < 60)
3742#define FF_API_R_FRAME_RATE 1
3744#define AVIO_SEEKABLE_NORMAL (1 << 0)
3746#define AVIO_SEEKABLE_TIME (1 << 1)
3816 int64_t (*
seek)(
void *
opaque, int64_t offset,
int whence);
3831 int64_t timestamp,
int flags);
3869 unsigned char *buffer,
3873 int (*read_packet)(
void *opaque, uint8_t *buf,
int buf_size),
3874 int (*write_packet)(
void *opaque, uint8_t *buf,
int buf_size),
3875 int64_t (*seek)(
void *opaque, int64_t offset,
int whence));
3898#define AVSEEK_SIZE 0x10000
3900#define AVSEEK_FORCE 0x20000
3919#define avio_print(s, ...) \
3920 avio_print_string_array(s, (const char*[]){__VA_ARGS__, NULL})
3943#define AVIO_FLAG_READ 1
3944#define AVIO_FLAG_WRITE 2
3945#define AVIO_FLAG_READ_WRITE (AVIO_FLAG_READ|AVIO_FLAG_WRITE)
3947#define AVIO_FLAG_NONBLOCK 8
3949#define AVIO_FLAG_DIRECT 0x8000
3973 int64_t timestamp,
int flags);
3986struct AVDeviceInfoList;
3987struct AVDeviceCapabilitiesQuery;
4002#define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4)
4003#define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1)
4005#define AVPROBE_SCORE_EXTENSION 50
4006#define AVPROBE_SCORE_MIME 75
4007#define AVPROBE_SCORE_MAX 100
4009#define AVPROBE_PADDING_SIZE 32
4011#define AVFMT_NOFILE 0x0001
4012#define AVFMT_NEEDNUMBER 0x0002
4014#define AVFMT_EXPERIMENTAL 0x0004
4015#define AVFMT_SHOW_IDS 0x0008
4016#define AVFMT_GLOBALHEADER 0x0040
4017#define AVFMT_NOTIMESTAMPS 0x0080
4018#define AVFMT_GENERIC_INDEX 0x0100
4019#define AVFMT_TS_DISCONT 0x0200
4020#define AVFMT_VARIABLE_FPS 0x0400
4021#define AVFMT_NODIMENSIONS 0x0800
4022#define AVFMT_NOSTREAMS 0x1000
4023#define AVFMT_NOBINSEARCH 0x2000
4024#define AVFMT_NOGENSEARCH 0x4000
4025#define AVFMT_NO_BYTE_SEEK 0x8000
4026#define AVFMT_ALLOW_FLUSH 0x10000
4027#define AVFMT_TS_NONSTRICT 0x20000
4029#define AVFMT_TS_NEGATIVE 0x40000
4031#define AVFMT_SEEK_TO_PTS 0x4000000
4046 const struct AVCodecTag *
const *
codec_tag;
4060 int flush,
int has_packet);
4065 int64_t *dts, int64_t *wall);
4068 void *data,
size_t data_size);
4094 const struct AVCodecTag *
const *
codec_tag;
4115 int stream_index, int64_t timestamp,
int flags);
4118 int64_t *pos, int64_t pos_limit);
4144#define AVINDEX_KEYFRAME 0x0001
4145#define AVINDEX_DISCARD_FRAME 0x0002
4152#define AV_DISPOSITION_DEFAULT (1 << 0)
4154#define AV_DISPOSITION_DUB (1 << 1)
4156#define AV_DISPOSITION_ORIGINAL (1 << 2)
4158#define AV_DISPOSITION_COMMENT (1 << 3)
4160#define AV_DISPOSITION_LYRICS (1 << 4)
4162#define AV_DISPOSITION_KARAOKE (1 << 5)
4164#define AV_DISPOSITION_FORCED (1 << 6)
4166#define AV_DISPOSITION_HEARING_IMPAIRED (1 << 7)
4168#define AV_DISPOSITION_VISUAL_IMPAIRED (1 << 8)
4170#define AV_DISPOSITION_CLEAN_EFFECTS (1 << 9)
4172#define AV_DISPOSITION_ATTACHED_PIC (1 << 10)
4174#define AV_DISPOSITION_TIMED_THUMBNAILS (1 << 11)
4176#define AV_DISPOSITION_CAPTIONS (1 << 16)
4178#define AV_DISPOSITION_DESCRIPTIONS (1 << 17)
4180#define AV_DISPOSITION_METADATA (1 << 18)
4182#define AV_DISPOSITION_DEPENDENT (1 << 19)
4184#define AV_DISPOSITION_STILL_IMAGE (1 << 20)
4190#define AV_PTS_WRAP_IGNORE 0
4191#define AV_PTS_WRAP_ADD_OFFSET 1
4192#define AV_PTS_WRAP_SUB_OFFSET -1
4227#define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001
4229#define AVSTREAM_EVENT_FLAG_NEW_PACKETS (1 << 1)
4242#define AV_PROGRAM_RUNNING 1
4264#define AVFMTCTX_NOHEADER 0x0001
4266#define AVFMTCTX_UNSEEKABLE 0x0002
4276 void *data,
size_t data_size);
4317#define AVFMT_FLAG_GENPTS 0x0001
4318#define AVFMT_FLAG_IGNIDX 0x0002
4319#define AVFMT_FLAG_NONBLOCK 0x0004
4320#define AVFMT_FLAG_IGNDTS 0x0008
4321#define AVFMT_FLAG_NOFILLIN 0x0010
4322#define AVFMT_FLAG_NOPARSE 0x0020
4323#define AVFMT_FLAG_NOBUFFER 0x0040
4324#define AVFMT_FLAG_CUSTOM_IO 0x0080
4325#define AVFMT_FLAG_DISCARD_CORRUPT 0x0100
4326#define AVFMT_FLAG_FLUSH_PACKETS 0x0200
4328#define AVFMT_FLAG_BITEXACT 0x0400
4329#define AVFMT_FLAG_SORT_DTS 0x10000
4330#define AVFMT_FLAG_PRIV_OPT 0x20000
4331#define AVFMT_FLAG_FAST_SEEK 0x80000
4332#define AVFMT_FLAG_SHORTEST 0x100000
4333#define AVFMT_FLAG_AUTO_BSF 0x200000
4369#define FF_FDEBUG_TS 0x0001
4377#define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001
4382#define AVFMT_AVOID_NEG_TS_AUTO -1
4383#define AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE 1
4384#define AVFMT_AVOID_NEG_TS_MAKE_ZERO 2
4485 uint8_t *data,
size_t size);
4496 const char *format_name,
const char *
filename);
4503 int is_opened,
int *score_max);
4506 int is_opened,
int *score_ret);
4509 const char *
url,
void *logctx,
4510 unsigned int offset,
unsigned int max_probe_size);
4513 const char *
url,
void *logctx,
4514 unsigned int offset,
unsigned int max_probe_size);
4527 int wanted_stream_nb,
4547#define AVSEEK_FLAG_BACKWARD 1
4548#define AVSEEK_FLAG_BYTE 2
4549#define AVSEEK_FLAG_ANY 4
4550#define AVSEEK_FLAG_FRAME 8
4552#define AVSTREAM_INIT_IN_WRITE_HEADER 0
4553#define AVSTREAM_INIT_IN_INIT_OUTPUT 1
4577 const char *mime_type);
4580 const char *
filename,
const char *mime_type,
4584 int64_t *dts, int64_t *wall);
4611 int64_t wanted_timestamp,
4618 char *authorization,
int authorization_size,
4619 char *hostname,
int hostname_size,
4621 char *path,
int path_size,
4629#define AV_FRAME_FILENAME_FLAGS_MULTIPLE 1
4632 const char *path,
int number,
int flags);
4635 const char *path,
int number);
4644 int std_compliance);
4676#define AVUTIL_FIFO_H
4714 uint8_t *ptr = f->
rptr + offs;
4717 else if (ptr < f->buffer)
struct AVDictionary AVDictionary
static ProjectFileIORegistry::AttributeWriterEntry entry
const struct AVOption * option
int(* query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags)
AVClassCategory(* get_category)(void *ctx)
int parent_log_context_offset
int log_level_offset_offset
float rc_max_available_vbv_use
struct AVCodecInternal * internal
enum AVPixelFormat pix_fmt
AVPacketSideData * coded_side_data
int(* get_encode_buffer)(struct AVCodecContext *s, AVPacket *pkt, int flags)
int64_t pts_correction_last_dts
int(* execute)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size)
int64_t pts_correction_num_faulty_dts
uint64_t error[AV_NUM_DATA_POINTERS]
int64_t pts_correction_last_pts
enum AVSampleFormat sample_fmt
enum AVPixelFormat sw_pix_fmt
const AVCodecDescriptor * codec_descriptor
enum AVColorRange color_range
int strict_std_compliance
enum AVAudioServiceType audio_service_type
enum AVColorPrimaries color_primaries
enum AVMediaType codec_type
attribute_deprecated int debug_mv
AVBufferRef * hw_frames_ctx
AVRational sample_aspect_ratio
int bits_per_coded_sample
uint16_t * chroma_intra_matrix
enum AVFieldOrder field_order
attribute_deprecated AVPacket * pkt
enum AVDiscard skip_loop_filter
int64_t pts_correction_num_faulty_pts
int rc_initial_buffer_occupancy
int(* get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags)
uint8_t * subtitle_header
enum AVColorSpace colorspace
struct AVHWAccel * hwaccel
const struct AVCodec * codec
enum AVSampleFormat request_sample_fmt
float temporal_cplx_masking
uint64_t request_channel_layout
attribute_deprecated int thread_safe_callbacks
int discard_damaged_percentage
void(* draw_horiz_band)(struct AVCodecContext *s, const AVFrame *src, int offset[AV_NUM_DATA_POINTERS], int y, int type, int height)
enum AVColorTransferCharacteristic color_trc
float rc_min_vbv_overflow_use
enum AVChromaLocation chroma_sample_location
AVBufferRef * hw_device_ctx
attribute_deprecated int sub_text_format
int(* execute2)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count)
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
float spatial_cplx_masking
enum AVDiscard skip_frame
const struct AVProfile * profiles
const char *const * mime_types
enum AVHWDeviceType device_type
enum AVPixelFormat pix_fmt
int(* update_thread_context_for_user)(struct AVCodecContext *dst, const struct AVCodecContext *src)
int(* receive_frame)(AVCodecContext *avctx, AVFrame *frame)
int(* init)(AVCodecContext *)
const struct AVCodecHWConfigInternal *const * hw_configs
const uint64_t * channel_layouts
const int * supported_samplerates
int(* receive_packet)(AVCodecContext *avctx, AVPacket *avpkt)
int(* encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
const AVRational * supported_framerates
void(* init_static_data)(struct AVCodec *codec)
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
int(* close)(AVCodecContext *)
const char * wrapper_name
const uint32_t * codec_tags
const AVClass * priv_class
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
const AVProfile * profiles
int(* decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
enum AVPixelFormat * pix_fmts
enum AVSampleFormat * sample_fmts
void(* flush)(AVCodecContext *)
const AVCodecDefault * defaults
enum AVColorSpace color_space
enum AVFieldOrder field_order
int bits_per_coded_sample
enum AVMediaType codec_type
AVRational sample_aspect_ratio
enum AVColorPrimaries color_primaries
enum AVColorTransferCharacteristic color_trc
enum AVChromaLocation chroma_location
enum AVColorRange color_range
int64_t cur_frame_end[AV_PARSER_PTS_NB]
int64_t cur_frame_offset[AV_PARSER_PTS_NB]
int64_t cur_frame_dts[AV_PARSER_PTS_NB]
enum AVFieldOrder field_order
const struct AVCodecParser * parser
int64_t cur_frame_pos[AV_PARSER_PTS_NB]
enum AVPictureStructure picture_structure
int output_picture_number
int64_t cur_frame_pts[AV_PARSER_PTS_NB]
int64_t next_frame_offset
int cur_frame_start_index
int(* parser_init)(AVCodecParserContext *s)
int(* parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
void(* parser_close)(AVCodecParserContext *s)
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
int64_t max_interleave_delta
char * protocol_whitelist
enum AVCodecID audio_codec_id
enum AVCodecID data_codec_id
const AVCodec * video_codec
void(* io_close)(struct AVFormatContext *s, AVIOContext *pb)
const struct AVOutputFormat * oformat
const AVCodec * subtitle_codec
attribute_deprecated int max_analyze_duration
int strict_std_compliance
const AVCodec * audio_codec
struct AVOutputFormat * oformat
AVIOInterruptCB interrupt_callback
char * protocol_blacklist
const struct AVInputFormat * iformat
int metadata_header_padding
int(* io_open)(struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **options)
int use_wallclock_as_timestamps
enum AVDurationEstimationMethod duration_estimation_method
int64_t start_time_realtime
unsigned int max_index_size
enum AVCodecID video_codec_id
av_format_control_message control_message_cb
enum AVCodecID subtitle_codec_id
int64_t skip_initial_bytes
const AVCodec * data_codec
unsigned int max_picture_buffer
int skip_estimate_duration_from_pts
int(* io_close2)(struct AVFormatContext *s, AVIOContext *pb)
unsigned int correct_ts_overflow
int64_t best_effort_timestamp
int display_picture_number
AVBufferRef * private_ref
enum AVChromaLocation chroma_location
AVBufferRef ** extended_buf
enum AVColorPrimaries color_primaries
AVRational sample_aspect_ratio
AVBufferRef * buf[AV_NUM_DATA_POINTERS]
enum AVColorRange color_range
AVFrameSideData ** side_data
enum AVColorSpace colorspace
enum AVColorTransferCharacteristic color_trc
int linesize[AV_NUM_DATA_POINTERS]
AVBufferRef * hw_frames_ctx
uint8_t * data[AV_NUM_DATA_POINTERS]
enum AVPictureType pict_type
enum AVFrameSideDataType type
int(* uninit)(AVCodecContext *avctx)
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
int(* decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
enum AVPixelFormat pix_fmt
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
void(* decode_mb)(struct MpegEncContext *s)
int(* init)(AVCodecContext *avctx)
int(* end_frame)(AVCodecContext *avctx)
int(* frame_params)(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
void(* free)(struct AVHWDeviceContext *ctx)
AVHWDeviceInternal * internal
enum AVPixelFormat * valid_hw_formats
enum AVPixelFormat * valid_sw_formats
enum AVPixelFormat format
AVHWDeviceContext * device_ctx
AVHWFramesInternal * internal
enum AVPixelFormat sw_format
void(* free)(struct AVHWFramesContext *ctx)
int64_t(* seek)(void *opaque, int64_t offset, int whence)
unsigned long(* update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size)
unsigned char * buf_ptr_max
int(* write_packet)(void *opaque, uint8_t *buf, int buf_size)
int ignore_boundary_point
const char * protocol_blacklist
attribute_deprecated int64_t written
unsigned char * checksum_ptr
int(* read_packet)(void *opaque, uint8_t *buf, int buf_size)
int64_t(* read_seek)(void *opaque, int stream_index, int64_t timestamp, int flags)
int(* write_data_type)(void *opaque, uint8_t *buf, int buf_size, enum AVIODataMarkerType type, int64_t time)
int(* read_pause)(void *opaque, int pause)
const char * protocol_whitelist
struct URLContext * url_context
int64_t status_change_timestamp
int64_t modification_timestamp
AVPacketSideData * side_data
struct AVPacketList * next
enum AVPacketSideDataType type
unsigned int nb_stream_indexes
int64_t pts_wrap_reference
unsigned int * stream_index
AVRational sample_aspect_ratio
AVPacketSideData * side_data
AVRational avg_frame_rate
AVCodecParameters * codecpar
uint32_t start_display_time
uint32_t end_display_time