Audacity 3.2.0
ffmpeg-2.3.6-single-header.h
Go to the documentation of this file.
1// This header was generated from the FFMPEG headers
2#pragma once
3
4#include <errno.h>
5#include <time.h>
6#include <stdint.h>
7#include <stdlib.h>
8#include <limits.h>
9#include <stddef.h>
10#include <math.h>
11#include <stdarg.h>
12#include <inttypes.h>
13#include <stdio.h>
14#include <string.h>
15
16#define AVCODEC_AVCODEC_H
17
18#define AVUTIL_SAMPLEFMT_H
19
20#define AVUTIL_AVUTIL_H
21
22unsigned avutil_version(void);
23
24const char *avutil_configuration(void);
25
26const char *avutil_license(void);
27
36};
37
38const char *av_get_media_type_string(enum AVMediaType media_type);
39
40#define FF_LAMBDA_SHIFT 7
41#define FF_LAMBDA_SCALE (1<<FF_LAMBDA_SHIFT)
42#define FF_QP2LAMBDA 118
43#define FF_LAMBDA_MAX (256*128-1)
44
45#define FF_QUALITY_SCALE FF_LAMBDA_SCALE
46
47#define AV_NOPTS_VALUE ((int64_t)UINT64_C(0x8000000000000000))
48
49#define AV_TIME_BASE 1000000
50
51#define AV_TIME_BASE_Q (AVRational){1, AV_TIME_BASE}
52
62};
63
65
66#define AVUTIL_COMMON_H
67
68#define AVUTIL_ATTRIBUTES_H
69
70# define AV_GCC_VERSION_AT_LEAST(x,y) 0
71
72# define av_always_inline inline
73
74# define av_extern_inline inline
75
76# define av_noinline
77
78# define av_pure
79
80# define av_const
81
82# define av_cold
83
84# define av_flatten
85
86# define attribute_deprecated
87
88# define AV_NOWARN_DEPRECATED(code) code
89
90# define av_unused
91
92# define av_used
93
94# define av_alias
95
96# define av_uninit(x) x
97
98# define av_builtin_constant_p(x) 0
99# define av_printf_format(fmtpos, attrpos)
100
101# define av_noreturn
102
103#define AVUTIL_VERSION_H
104
105#define AVUTIL_MACROS_H
106
107#define AV_STRINGIFY(s) AV_TOSTRING(s)
108#define AV_TOSTRING(s) #s
109
110#define AV_GLUE(a, b) a ## b
111#define AV_JOIN(a, b) AV_GLUE(a, b)
112
113#define AV_PRAGMA(s) _Pragma(#s)
114
115#define AV_VERSION_INT(a, b, c) (a<<16 | b<<8 | c)
116#define AV_VERSION_DOT(a, b, c) a ##.## b ##.## c
117#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
118
119#define LIBAVUTIL_VERSION_MAJOR 52
120#define LIBAVUTIL_VERSION_MINOR 92
121#define LIBAVUTIL_VERSION_MICRO 100
122
123#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
124 LIBAVUTIL_VERSION_MINOR, \
125 LIBAVUTIL_VERSION_MICRO)
126#define LIBAVUTIL_VERSION AV_VERSION(LIBAVUTIL_VERSION_MAJOR, \
127 LIBAVUTIL_VERSION_MINOR, \
128 LIBAVUTIL_VERSION_MICRO)
129#define LIBAVUTIL_BUILD LIBAVUTIL_VERSION_INT
130
131#define LIBAVUTIL_IDENT "Lavu" AV_STRINGIFY(LIBAVUTIL_VERSION)
132
133#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 54)
134#define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 54)
135#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 54)
136#define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 54)
137#define FF_API_CONTEXT_SIZE (LIBAVUTIL_VERSION_MAJOR < 54)
138#define FF_API_PIX_FMT_DESC (LIBAVUTIL_VERSION_MAJOR < 54)
139#define FF_API_AV_REVERSE (LIBAVUTIL_VERSION_MAJOR < 54)
140#define FF_API_AUDIOCONVERT (LIBAVUTIL_VERSION_MAJOR < 54)
141#define FF_API_CPU_FLAG_MMX2 (LIBAVUTIL_VERSION_MAJOR < 54)
142#define FF_API_SAMPLES_UTILS_RETURN_ZERO (LIBAVUTIL_VERSION_MAJOR < 54)
143#define FF_API_LLS_PRIVATE (LIBAVUTIL_VERSION_MAJOR < 54)
144#define FF_API_LLS1 (LIBAVUTIL_VERSION_MAJOR < 54)
145#define FF_API_AVFRAME_LAVC (LIBAVUTIL_VERSION_MAJOR < 54)
146#define FF_API_VDPAU (LIBAVUTIL_VERSION_MAJOR < 54)
147#define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR < 54)
148#define FF_API_OLD_OPENCL (LIBAVUTIL_VERSION_MAJOR < 54)
149#define FF_API_XVMC (LIBAVUTIL_VERSION_MAJOR < 54)
150#define FF_API_INTFLOAT (LIBAVUTIL_VERSION_MAJOR < 54)
151#define FF_API_OPT_TYPE_METADATA (LIBAVUTIL_VERSION_MAJOR < 54)
152#define FF_API_AVFRAME_COLORSPACE (LIBAVUTIL_VERSION_MAJOR >= 52)
153
154#define FF_CONST_AVUTIL53
155
156# define AV_NE(be, le) (le)
157
158#define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
159
160#define ROUNDED_DIV(a,b) (((a)>0 ? (a) + ((b)>>1) : (a) - ((b)>>1))/(b))
161
162#define FF_CEIL_RSHIFT(a,b) (!av_builtin_constant_p(b) ? -((-(a)) >> (b)) \
163 : ((a) + (1<<(b)) - 1) >> (b))
164#define FFUDIV(a,b) (((a)>0 ?(a):(a)-(b)+1) / (b))
165#define FFUMOD(a,b) ((a)-(b)*FFUDIV(a,b))
166#define FFABS(a) ((a) >= 0 ? (a) : (-(a)))
167#define FFSIGN(a) ((a) > 0 ? 1 : -1)
168
169#define FFMAX(a,b) ((a) > (b) ? (a) : (b))
170#define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c)
171#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
172#define FFMIN3(a,b,c) FFMIN(FFMIN(a,b),c)
173
174#define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)
175#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0]))
176#define FFALIGN(x, a) (((x)+(a)-1)&~((a)-1))
177
178extern attribute_deprecated const uint8_t av_reverse[256];
179
180# define av_ceil_log2 av_ceil_log2_c
181# define av_clip av_clip_c
182# define av_clip64 av_clip64_c
183# define av_clip_uint8 av_clip_uint8_c
184# define av_clip_int8 av_clip_int8_c
185# define av_clip_uint16 av_clip_uint16_c
186# define av_clip_int16 av_clip_int16_c
187# define av_clipl_int32 av_clipl_int32_c
188# define av_clip_uintp2 av_clip_uintp2_c
189# define av_sat_add32 av_sat_add32_c
190# define av_sat_dadd32 av_sat_dadd32_c
191# define av_clipf av_clipf_c
192# define av_clipd av_clipd_c
193# define av_popcount av_popcount_c
194# define av_popcount64 av_popcount64_c
195
196av_const int av_log2(unsigned v);
197
198av_const int av_log2_16bit(unsigned v);
199
200static av_always_inline av_const int av_clip_c(int a, int amin, int amax)
201{
202 if (a < amin) return amin;
203 else if (a > amax) return amax;
204 else return a;
205}
206
207static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax)
208{
209 if (a < amin) return amin;
210 else if (a > amax) return amax;
211 else return a;
212}
213
215{
216 if (a&(~0xFF)) return (-a)>>31;
217 else return a;
218}
219
221{
222 if ((a+0x80) & ~0xFF) return (a>>31) ^ 0x7F;
223 else return a;
224}
225
227{
228 if (a&(~0xFFFF)) return (-a)>>31;
229 else return a;
230}
231
233{
234 if ((a+0x8000) & ~0xFFFF) return (a>>31) ^ 0x7FFF;
235 else return a;
236}
237
239{
240 if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (int32_t)((a>>63) ^ 0x7FFFFFFF);
241 else return (int32_t)a;
242}
243
244static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
245{
246 if (a & ~((1<<p) - 1)) return -a >> 31 & ((1<<p) - 1);
247 else return a;
248}
249
250static av_always_inline int av_sat_add32_c(int a, int b)
251{
252 return av_clipl_int32((int64_t)a + b);
253}
254
255static av_always_inline int av_sat_dadd32_c(int a, int b)
256{
257 return av_sat_add32(a, av_sat_add32(b, b));
258}
259
260static av_always_inline av_const float av_clipf_c(float a, float amin, float amax)
261{
262 if (a < amin) return amin;
263 else if (a > amax) return amax;
264 else return a;
265}
266
267static av_always_inline av_const double av_clipd_c(double a, double amin, double amax)
268{
269 if (a < amin) return amin;
270 else if (a > amax) return amax;
271 else return a;
272}
273
275{
276 return av_log2((x - 1) << 1);
277}
278
280{
281 x -= (x >> 1) & 0x55555555;
282 x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
283 x = (x + (x >> 4)) & 0x0F0F0F0F;
284 x += x >> 8;
285 return (x + (x >> 16)) & 0x3F;
286}
287
289{
290 return av_popcount((uint32_t)x) + av_popcount((uint32_t)(x >> 32));
291}
292
293#define MKTAG(a,b,c,d) ((a) | ((b) << 8) | ((c) << 16) | ((unsigned)(d) << 24))
294#define MKBETAG(a,b,c,d) ((d) | ((c) << 8) | ((b) << 16) | ((unsigned)(a) << 24))
295
296#define GET_UTF8(val, GET_BYTE, ERROR)\
297 val= GET_BYTE;\
298 {\
299 uint32_t top = (val & 128) >> 1;\
300 if ((val & 0xc0) == 0x80 || val >= 0xFE)\
301 ERROR\
302 while (val & top) {\
303 int tmp= GET_BYTE - 128;\
304 if(tmp>>6)\
305 ERROR\
306 val= (val<<6) + tmp;\
307 top <<= 5;\
308 }\
309 val &= (top << 1) - 1;\
310 }
311
312#define GET_UTF16(val, GET_16BIT, ERROR)\
313 val = GET_16BIT;\
314 {\
315 unsigned int hi = val - 0xD800;\
316 if (hi < 0x800) {\
317 val = GET_16BIT - 0xDC00;\
318 if (val > 0x3FFU || hi > 0x3FFU)\
319 ERROR\
320 val += (hi<<10) + 0x10000;\
321 }\
322 }\
323
324#define PUT_UTF8(val, tmp, PUT_BYTE)\
325 {\
326 int bytes, shift;\
327 uint32_t in = val;\
328 if (in < 0x80) {\
329 tmp = in;\
330 PUT_BYTE\
331 } else {\
332 bytes = (av_log2(in) + 4) / 5;\
333 shift = (bytes - 1) * 6;\
334 tmp = (256 - (256 >> bytes)) | (in >> shift);\
335 PUT_BYTE\
336 while (shift >= 6) {\
337 shift -= 6;\
338 tmp = 0x80 | ((in >> shift) & 0x3f);\
339 PUT_BYTE\
340 }\
341 }\
342 }
343
344#define PUT_UTF16(val, tmp, PUT_16BIT)\
345 {\
346 uint32_t in = val;\
347 if (in < 0x10000) {\
348 tmp = in;\
349 PUT_16BIT\
350 } else {\
351 tmp = 0xD800 | ((in - 0x10000) >> 10);\
352 PUT_16BIT\
353 tmp = 0xDC00 | ((in - 0x10000) & 0x3FF);\
354 PUT_16BIT\
355 }\
356 }\
357
358#define AVUTIL_MEM_H
359
360#define AVUTIL_ERROR_H
361
362#define AVERROR(e) (e)
363#define AVUNERROR(e) (e)
364
365#define FFERRTAG(a, b, c, d) (-(int)MKTAG(a, b, c, d))
366
367#define AVERROR_BSF_NOT_FOUND FFERRTAG(0xF8,'B','S','F')
368#define AVERROR_BUG FFERRTAG( 'B','U','G','!')
369#define AVERROR_BUFFER_TOO_SMALL FFERRTAG( 'B','U','F','S')
370#define AVERROR_DECODER_NOT_FOUND FFERRTAG(0xF8,'D','E','C')
371#define AVERROR_DEMUXER_NOT_FOUND FFERRTAG(0xF8,'D','E','M')
372#define AVERROR_ENCODER_NOT_FOUND FFERRTAG(0xF8,'E','N','C')
373#define AVERROR_EOF FFERRTAG( 'E','O','F',' ')
374#define AVERROR_EXIT FFERRTAG( 'E','X','I','T')
375#define AVERROR_EXTERNAL FFERRTAG( 'E','X','T',' ')
376#define AVERROR_FILTER_NOT_FOUND FFERRTAG(0xF8,'F','I','L')
377#define AVERROR_INVALIDDATA FFERRTAG( 'I','N','D','A')
378#define AVERROR_MUXER_NOT_FOUND FFERRTAG(0xF8,'M','U','X')
379#define AVERROR_OPTION_NOT_FOUND FFERRTAG(0xF8,'O','P','T')
380#define AVERROR_PATCHWELCOME FFERRTAG( 'P','A','W','E')
381#define AVERROR_PROTOCOL_NOT_FOUND FFERRTAG(0xF8,'P','R','O')
382
383#define AVERROR_STREAM_NOT_FOUND FFERRTAG(0xF8,'S','T','R')
384
385#define AVERROR_BUG2 FFERRTAG( 'B','U','G',' ')
386#define AVERROR_UNKNOWN FFERRTAG( 'U','N','K','N')
387#define AVERROR_EXPERIMENTAL (-0x2bb2afa8)
388
389#define AV_ERROR_MAX_STRING_SIZE 64
390
391int av_strerror(int errnum, char *errbuf, size_t errbuf_size);
392
393static inline char *av_make_error_string(char *errbuf, size_t errbuf_size, int errnum)
394{
395 av_strerror(errnum, errbuf, errbuf_size);
396 return errbuf;
397}
398
399#define av_err2str(errnum) \
400 av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){0}, AV_ERROR_MAX_STRING_SIZE, errnum)
401
402 #define DECLARE_ALIGNED(n,t,v) t v
403 #define DECLARE_ASM_CONST(n,t,v) static const t v
404
405 #define av_malloc_attrib
406
407 #define av_alloc_size(...)
408
410
411av_alloc_size(1, 2) static inline void *av_malloc_array(size_t nmemb, size_t size)
412{
413 if (!size || nmemb >= INT_MAX / size)
414 return NULL;
416}
417
418void *av_realloc(void *ptr, size_t size) av_alloc_size(2);
419
420void *av_realloc_f(void *ptr, size_t nelem, size_t elsize);
421
422int av_reallocp(void *ptr, size_t size);
423
424av_alloc_size(2, 3) void *av_realloc_array(void *ptr, size_t nmemb, size_t size);
425
426av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
427
428void av_free(void *ptr);
429
431
432void *av_calloc(size_t nmemb, size_t size) av_malloc_attrib;
433
434av_alloc_size(1, 2) static inline void *av_mallocz_array(size_t nmemb, size_t size)
435{
436 if (!size || nmemb >= INT_MAX / size)
437 return NULL;
439}
440
441char *av_strdup(const char *s) av_malloc_attrib;
442
443void *av_memdup(const void *p, size_t size);
444
445void av_freep(void *ptr);
446
447void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem);
448
449int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem);
450
451void *av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size,
452 const uint8_t *elem_data);
453
454static inline int av_size_mult(size_t a, size_t b, size_t *r)
455{
456 size_t t = a * b;
457
458 if ((a | b) >= ((size_t)1 << (sizeof(size_t) * 4)) && a && t / a != b)
459 return AVERROR(EINVAL);
460 *r = t;
461 return 0;
462}
463
464void av_max_alloc(size_t max);
465
466void av_memcpy_backptr(uint8_t *dst, int back, int cnt);
467
468void *av_fast_realloc(void *ptr, unsigned int *size, size_t min_size);
469
470void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size);
471
472#define AVUTIL_RATIONAL_H
473
474typedef struct AVRational{
475 int num;
476 int den;
478
479static inline AVRational av_make_q(int num, int den)
480{
481 AVRational r = { num, den };
482 return r;
483}
484
485static inline int av_cmp_q(AVRational a, AVRational b){
486 const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den;
487
488 if(tmp) return (int)((tmp ^ a.den ^ b.den)>>63)|1;
489 else if(b.den && a.den) return 0;
490 else if(a.num && b.num) return (a.num>>31) - (b.num>>31);
491 else return INT_MIN;
492}
493
494static inline double av_q2d(AVRational a){
495 return a.num / (double) a.den;
496}
497
498int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max);
499
501
503
505
507
509{
510 AVRational r = { q.den, q.num };
511 return r;
512}
513
514AVRational av_d2q(double d, int max) av_const;
515
517
519
520#define AVUTIL_MATHEMATICS_H
521
522#define AVUTIL_INTFLOAT_H
523
525 uint32_t i;
526 float f;
527};
528
530 uint64_t i;
531 double f;
532};
533
534static av_always_inline float av_int2float(uint32_t i)
535{
536 union av_intfloat32 v;
537 v.i = i;
538 return v.f;
539}
540
541static av_always_inline uint32_t av_float2int(float f)
542{
543 union av_intfloat32 v;
544 v.f = f;
545 return v.i;
546}
547
548static av_always_inline double av_int2double(uint64_t i)
549{
550 union av_intfloat64 v;
551 v.i = i;
552 return v.f;
553}
554
555static av_always_inline uint64_t av_double2int(double f)
556{
557 union av_intfloat64 v;
558 v.f = f;
559 return v.i;
560}
561
562#define M_E 2.7182818284590452354
563#define M_LN2 0.69314718055994530942
564#define M_LN10 2.30258509299404568402
565#define M_LOG2_10 3.32192809488736234787
566#define M_PHI 1.61803398874989484820
567#define M_PI 3.14159265358979323846
568#define M_PI_2 1.57079632679489661923
569#define M_SQRT1_2 0.70710678118654752440
570#define M_SQRT2 1.41421356237309504880
571#define NAN av_int2float(0x7fc00000)
572#define INFINITY av_int2float(0x7f800000)
573
581};
582
583int64_t av_const av_gcd(int64_t a, int64_t b);
584
585int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
586
587int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
588
589int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
590
591int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq,
592 enum AVRounding) av_const;
593
594int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);
595
596int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
597
598int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb);
599
600int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc);
601
602#define AVUTIL_LOG_H
603
604typedef enum {
624
625struct AVOptionRanges;
626
627typedef struct AVClass {
628
629 const char* class_name;
630
631 const char* (*item_name)(void* ctx);
632
633 const struct AVOption *option;
634
636
638
640
641 void* (*child_next)(void *obj, void *prev);
642
643 const struct AVClass* (*child_class_next)(const struct AVClass *prev);
644
646
648
649 int (*query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags);
651
652#define AV_LOG_QUIET -8
653
654#define AV_LOG_PANIC 0
655
656#define AV_LOG_FATAL 8
657
658#define AV_LOG_ERROR 16
659
660#define AV_LOG_WARNING 24
661
662#define AV_LOG_INFO 32
663
664#define AV_LOG_VERBOSE 40
665
666#define AV_LOG_DEBUG 48
667
668#define AV_LOG_MAX_OFFSET (AV_LOG_DEBUG - AV_LOG_QUIET)
669
670#define AV_LOG_C(x) (x << 8)
671
672void av_log(void *avcl, int level, const char *fmt, ...) av_printf_format(3, 4);
673
674void av_vlog(void *avcl, int level, const char *fmt, va_list vl);
675
677
678void av_log_set_level(int level);
679
680void av_log_set_callback(void (*callback)(void*, int, const char*, va_list));
681
682void av_log_default_callback(void *avcl, int level, const char *fmt,
683 va_list vl);
684
685const char* av_default_item_name(void* ctx);
687
688void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl,
689 char *line, int line_size, int *print_prefix);
690
691# define av_dlog(pctx, ...) do { if (0) av_log(pctx, AV_LOG_DEBUG, __VA_ARGS__); } while (0)
692
693#define AV_LOG_SKIP_REPEATED 1
694
695#define AV_LOG_PRINT_LEVEL 2
696
697void av_log_set_flags(int arg);
699
700#define AVUTIL_PIXFMT_H
701
702#define AVPALETTE_SIZE 1024
703#define AVPALETTE_COUNT 256
704
724#define AV_PIX_FMT_XVMC AV_PIX_FMT_XVMC_MPEG2_IDCT
735
740
753
758
763
767
776
784
798
806
809
828
830
836
841
843
845
856
877
890
892
893#define AVUTIL_OLD_PIX_FMTS_H
894
923
928
941
946
951
955
964
972
986
994
999 PIX_FMT_0RGB=0x123+4,
1005
1022
1024};
1025
1026#define AV_PIX_FMT_Y400A AV_PIX_FMT_GRAY8A
1027#define AV_PIX_FMT_GBR24P AV_PIX_FMT_GBRP
1028
1029# define AV_PIX_FMT_NE(be, le) AV_PIX_FMT_##le
1030
1031#define AV_PIX_FMT_RGB32 AV_PIX_FMT_NE(ARGB, BGRA)
1032#define AV_PIX_FMT_RGB32_1 AV_PIX_FMT_NE(RGBA, ABGR)
1033#define AV_PIX_FMT_BGR32 AV_PIX_FMT_NE(ABGR, RGBA)
1034#define AV_PIX_FMT_BGR32_1 AV_PIX_FMT_NE(BGRA, ARGB)
1035#define AV_PIX_FMT_0RGB32 AV_PIX_FMT_NE(0RGB, BGR0)
1036#define AV_PIX_FMT_0BGR32 AV_PIX_FMT_NE(0BGR, RGB0)
1037
1038#define AV_PIX_FMT_GRAY16 AV_PIX_FMT_NE(GRAY16BE, GRAY16LE)
1039#define AV_PIX_FMT_RGB48 AV_PIX_FMT_NE(RGB48BE, RGB48LE)
1040#define AV_PIX_FMT_RGB565 AV_PIX_FMT_NE(RGB565BE, RGB565LE)
1041#define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
1042#define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
1043#define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
1044#define AV_PIX_FMT_BGR48 AV_PIX_FMT_NE(BGR48BE, BGR48LE)
1045#define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
1046#define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
1047#define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
1048#define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
1049
1050#define AV_PIX_FMT_YUV420P9 AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
1051#define AV_PIX_FMT_YUV422P9 AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
1052#define AV_PIX_FMT_YUV444P9 AV_PIX_FMT_NE(YUV444P9BE , YUV444P9LE)
1053#define AV_PIX_FMT_YUV420P10 AV_PIX_FMT_NE(YUV420P10BE, YUV420P10LE)
1054#define AV_PIX_FMT_YUV422P10 AV_PIX_FMT_NE(YUV422P10BE, YUV422P10LE)
1055#define AV_PIX_FMT_YUV444P10 AV_PIX_FMT_NE(YUV444P10BE, YUV444P10LE)
1056#define AV_PIX_FMT_YUV420P12 AV_PIX_FMT_NE(YUV420P12BE, YUV420P12LE)
1057#define AV_PIX_FMT_YUV422P12 AV_PIX_FMT_NE(YUV422P12BE, YUV422P12LE)
1058#define AV_PIX_FMT_YUV444P12 AV_PIX_FMT_NE(YUV444P12BE, YUV444P12LE)
1059#define AV_PIX_FMT_YUV420P14 AV_PIX_FMT_NE(YUV420P14BE, YUV420P14LE)
1060#define AV_PIX_FMT_YUV422P14 AV_PIX_FMT_NE(YUV422P14BE, YUV422P14LE)
1061#define AV_PIX_FMT_YUV444P14 AV_PIX_FMT_NE(YUV444P14BE, YUV444P14LE)
1062#define AV_PIX_FMT_YUV420P16 AV_PIX_FMT_NE(YUV420P16BE, YUV420P16LE)
1063#define AV_PIX_FMT_YUV422P16 AV_PIX_FMT_NE(YUV422P16BE, YUV422P16LE)
1064#define AV_PIX_FMT_YUV444P16 AV_PIX_FMT_NE(YUV444P16BE, YUV444P16LE)
1065
1066#define AV_PIX_FMT_GBRP9 AV_PIX_FMT_NE(GBRP9BE , GBRP9LE)
1067#define AV_PIX_FMT_GBRP10 AV_PIX_FMT_NE(GBRP10BE, GBRP10LE)
1068#define AV_PIX_FMT_GBRP12 AV_PIX_FMT_NE(GBRP12BE, GBRP12LE)
1069#define AV_PIX_FMT_GBRP14 AV_PIX_FMT_NE(GBRP14BE, GBRP14LE)
1070#define AV_PIX_FMT_GBRP16 AV_PIX_FMT_NE(GBRP16BE, GBRP16LE)
1071#define AV_PIX_FMT_GBRAP16 AV_PIX_FMT_NE(GBRAP16BE, GBRAP16LE)
1072
1073#define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE, BAYER_BGGR16LE)
1074#define AV_PIX_FMT_BAYER_RGGB16 AV_PIX_FMT_NE(BAYER_RGGB16BE, BAYER_RGGB16LE)
1075#define AV_PIX_FMT_BAYER_GBRG16 AV_PIX_FMT_NE(BAYER_GBRG16BE, BAYER_GBRG16LE)
1076#define AV_PIX_FMT_BAYER_GRBG16 AV_PIX_FMT_NE(BAYER_GRBG16BE, BAYER_GRBG16LE)
1077
1078#define AV_PIX_FMT_YUVA420P9 AV_PIX_FMT_NE(YUVA420P9BE , YUVA420P9LE)
1079#define AV_PIX_FMT_YUVA422P9 AV_PIX_FMT_NE(YUVA422P9BE , YUVA422P9LE)
1080#define AV_PIX_FMT_YUVA444P9 AV_PIX_FMT_NE(YUVA444P9BE , YUVA444P9LE)
1081#define AV_PIX_FMT_YUVA420P10 AV_PIX_FMT_NE(YUVA420P10BE, YUVA420P10LE)
1082#define AV_PIX_FMT_YUVA422P10 AV_PIX_FMT_NE(YUVA422P10BE, YUVA422P10LE)
1083#define AV_PIX_FMT_YUVA444P10 AV_PIX_FMT_NE(YUVA444P10BE, YUVA444P10LE)
1084#define AV_PIX_FMT_YUVA420P16 AV_PIX_FMT_NE(YUVA420P16BE, YUVA420P16LE)
1085#define AV_PIX_FMT_YUVA422P16 AV_PIX_FMT_NE(YUVA422P16BE, YUVA422P16LE)
1086#define AV_PIX_FMT_YUVA444P16 AV_PIX_FMT_NE(YUVA444P16BE, YUVA444P16LE)
1087
1088#define AV_PIX_FMT_XYZ12 AV_PIX_FMT_NE(XYZ12BE, XYZ12LE)
1089#define AV_PIX_FMT_NV20 AV_PIX_FMT_NE(NV20BE, NV20LE)
1090
1091#define PixelFormat AVPixelFormat
1092
1093#define PIX_FMT_Y400A AV_PIX_FMT_Y400A
1094#define PIX_FMT_GBR24P AV_PIX_FMT_GBR24P
1095
1096#define PIX_FMT_NE(be, le) AV_PIX_FMT_NE(be, le)
1097
1098#define PIX_FMT_RGB32 AV_PIX_FMT_RGB32
1099#define PIX_FMT_RGB32_1 AV_PIX_FMT_RGB32_1
1100#define PIX_FMT_BGR32 AV_PIX_FMT_BGR32
1101#define PIX_FMT_BGR32_1 AV_PIX_FMT_BGR32_1
1102#define PIX_FMT_0RGB32 AV_PIX_FMT_0RGB32
1103#define PIX_FMT_0BGR32 AV_PIX_FMT_0BGR32
1104
1105#define PIX_FMT_GRAY16 AV_PIX_FMT_GRAY16
1106#define PIX_FMT_RGB48 AV_PIX_FMT_RGB48
1107#define PIX_FMT_RGB565 AV_PIX_FMT_RGB565
1108#define PIX_FMT_RGB555 AV_PIX_FMT_RGB555
1109#define PIX_FMT_RGB444 AV_PIX_FMT_RGB444
1110#define PIX_FMT_BGR48 AV_PIX_FMT_BGR48
1111#define PIX_FMT_BGR565 AV_PIX_FMT_BGR565
1112#define PIX_FMT_BGR555 AV_PIX_FMT_BGR555
1113#define PIX_FMT_BGR444 AV_PIX_FMT_BGR444
1114
1115#define PIX_FMT_YUV420P9 AV_PIX_FMT_YUV420P9
1116#define PIX_FMT_YUV422P9 AV_PIX_FMT_YUV422P9
1117#define PIX_FMT_YUV444P9 AV_PIX_FMT_YUV444P9
1118#define PIX_FMT_YUV420P10 AV_PIX_FMT_YUV420P10
1119#define PIX_FMT_YUV422P10 AV_PIX_FMT_YUV422P10
1120#define PIX_FMT_YUV444P10 AV_PIX_FMT_YUV444P10
1121#define PIX_FMT_YUV420P12 AV_PIX_FMT_YUV420P12
1122#define PIX_FMT_YUV422P12 AV_PIX_FMT_YUV422P12
1123#define PIX_FMT_YUV444P12 AV_PIX_FMT_YUV444P12
1124#define PIX_FMT_YUV420P14 AV_PIX_FMT_YUV420P14
1125#define PIX_FMT_YUV422P14 AV_PIX_FMT_YUV422P14
1126#define PIX_FMT_YUV444P14 AV_PIX_FMT_YUV444P14
1127#define PIX_FMT_YUV420P16 AV_PIX_FMT_YUV420P16
1128#define PIX_FMT_YUV422P16 AV_PIX_FMT_YUV422P16
1129#define PIX_FMT_YUV444P16 AV_PIX_FMT_YUV444P16
1130
1131#define PIX_FMT_RGBA64 AV_PIX_FMT_RGBA64
1132#define PIX_FMT_BGRA64 AV_PIX_FMT_BGRA64
1133#define PIX_FMT_GBRP9 AV_PIX_FMT_GBRP9
1134#define PIX_FMT_GBRP10 AV_PIX_FMT_GBRP10
1135#define PIX_FMT_GBRP12 AV_PIX_FMT_GBRP12
1136#define PIX_FMT_GBRP14 AV_PIX_FMT_GBRP14
1137#define PIX_FMT_GBRP16 AV_PIX_FMT_GBRP16
1138
1150};
1151
1169};
1170
1184};
1185#define AVCOL_SPC_YCGCO AVCOL_SPC_YCOCG
1186
1192};
1193
1203};
1204
1205static inline void *av_x_if_null(const void *p, const void *x)
1206{
1207 return (void *)(intptr_t)(p ? p : x);
1208}
1209
1210unsigned av_int_list_length_for_size(unsigned elsize,
1211 const void *list, uint64_t term) av_pure;
1212
1213#define av_int_list_length(list, term) \
1214 av_int_list_length_for_size(sizeof(*(list)), list, term)
1215
1216FILE *av_fopen_utf8(const char *path, const char *mode);
1217
1219
1227
1233
1236
1237const char *av_get_sample_fmt_name(enum AVSampleFormat sample_fmt);
1238
1240
1241enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar);
1242
1244
1246
1247char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);
1248
1251
1253
1255
1256int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples,
1257 enum AVSampleFormat sample_fmt, int align);
1258
1259int av_samples_fill_arrays(uint8_t **audio_data, int *linesize,
1260 const uint8_t *buf,
1261 int nb_channels, int nb_samples,
1262 enum AVSampleFormat sample_fmt, int align);
1263
1264int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels,
1265 int nb_samples, enum AVSampleFormat sample_fmt, int align);
1266
1267int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels,
1268 int nb_samples, enum AVSampleFormat sample_fmt, int align);
1269
1270int av_samples_copy(uint8_t **dst, uint8_t * const *src, int dst_offset,
1271 int src_offset, int nb_samples, int nb_channels,
1272 enum AVSampleFormat sample_fmt);
1273
1274int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples,
1275 int nb_channels, enum AVSampleFormat sample_fmt);
1276
1277#define AVUTIL_BUFFER_H
1278
1279typedef struct AVBuffer AVBuffer;
1280
1281typedef struct AVBufferRef {
1283
1284 uint8_t *data;
1285
1286 int size;
1288
1290
1292
1293#define AV_BUFFER_FLAG_READONLY (1 << 0)
1294
1296 void (*free)(void *opaque, uint8_t *data),
1297 void *opaque, int flags);
1298
1299void av_buffer_default_free(void *opaque, uint8_t *data);
1300
1302
1304
1306
1308
1310
1312
1314
1316
1318
1320
1322
1323#define AVUTIL_CPU_H
1324
1325#define AV_CPU_FLAG_FORCE 0x80000000
1326
1327#define AV_CPU_FLAG_MMX 0x0001
1328#define AV_CPU_FLAG_MMXEXT 0x0002
1329#define AV_CPU_FLAG_MMX2 0x0002
1330#define AV_CPU_FLAG_3DNOW 0x0004
1331#define AV_CPU_FLAG_SSE 0x0008
1332#define AV_CPU_FLAG_SSE2 0x0010
1333#define AV_CPU_FLAG_SSE2SLOW 0x40000000
1334
1335#define AV_CPU_FLAG_3DNOWEXT 0x0020
1336#define AV_CPU_FLAG_SSE3 0x0040
1337#define AV_CPU_FLAG_SSE3SLOW 0x20000000
1338
1339#define AV_CPU_FLAG_SSSE3 0x0080
1340#define AV_CPU_FLAG_ATOM 0x10000000
1341#define AV_CPU_FLAG_SSE4 0x0100
1342#define AV_CPU_FLAG_SSE42 0x0200
1343#define AV_CPU_FLAG_AVX 0x4000
1344#define AV_CPU_FLAG_XOP 0x0400
1345#define AV_CPU_FLAG_FMA4 0x0800
1346
1347#define AV_CPU_FLAG_CMOV 0x1001000
1348
1349#define AV_CPU_FLAG_AVX2 0x8000
1350#define AV_CPU_FLAG_FMA3 0x10000
1351#define AV_CPU_FLAG_BMI1 0x20000
1352#define AV_CPU_FLAG_BMI2 0x40000
1353
1354#define AV_CPU_FLAG_ALTIVEC 0x0001
1355
1356#define AV_CPU_FLAG_ARMV5TE (1 << 0)
1357#define AV_CPU_FLAG_ARMV6 (1 << 1)
1358#define AV_CPU_FLAG_ARMV6T2 (1 << 2)
1359#define AV_CPU_FLAG_VFP (1 << 3)
1360#define AV_CPU_FLAG_VFPV3 (1 << 4)
1361#define AV_CPU_FLAG_NEON (1 << 5)
1362#define AV_CPU_FLAG_ARMV8 (1 << 6)
1363
1365
1366void av_force_cpu_flags(int flags);
1367
1369
1371int av_parse_cpu_flags(const char *s);
1372
1373int av_parse_cpu_caps(unsigned *flags, const char *s);
1374
1376
1377#define AVUTIL_CHANNEL_LAYOUT_H
1378
1379#define AV_CH_FRONT_LEFT 0x00000001
1380#define AV_CH_FRONT_RIGHT 0x00000002
1381#define AV_CH_FRONT_CENTER 0x00000004
1382#define AV_CH_LOW_FREQUENCY 0x00000008
1383#define AV_CH_BACK_LEFT 0x00000010
1384#define AV_CH_BACK_RIGHT 0x00000020
1385#define AV_CH_FRONT_LEFT_OF_CENTER 0x00000040
1386#define AV_CH_FRONT_RIGHT_OF_CENTER 0x00000080
1387#define AV_CH_BACK_CENTER 0x00000100
1388#define AV_CH_SIDE_LEFT 0x00000200
1389#define AV_CH_SIDE_RIGHT 0x00000400
1390#define AV_CH_TOP_CENTER 0x00000800
1391#define AV_CH_TOP_FRONT_LEFT 0x00001000
1392#define AV_CH_TOP_FRONT_CENTER 0x00002000
1393#define AV_CH_TOP_FRONT_RIGHT 0x00004000
1394#define AV_CH_TOP_BACK_LEFT 0x00008000
1395#define AV_CH_TOP_BACK_CENTER 0x00010000
1396#define AV_CH_TOP_BACK_RIGHT 0x00020000
1397#define AV_CH_STEREO_LEFT 0x20000000
1398#define AV_CH_STEREO_RIGHT 0x40000000
1399#define AV_CH_WIDE_LEFT 0x0000000080000000ULL
1400#define AV_CH_WIDE_RIGHT 0x0000000100000000ULL
1401#define AV_CH_SURROUND_DIRECT_LEFT 0x0000000200000000ULL
1402#define AV_CH_SURROUND_DIRECT_RIGHT 0x0000000400000000ULL
1403#define AV_CH_LOW_FREQUENCY_2 0x0000000800000000ULL
1404
1405#define AV_CH_LAYOUT_NATIVE 0x8000000000000000ULL
1406
1407#define AV_CH_LAYOUT_MONO (AV_CH_FRONT_CENTER)
1408#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)
1409#define AV_CH_LAYOUT_2POINT1 (AV_CH_LAYOUT_STEREO|AV_CH_LOW_FREQUENCY)
1410#define AV_CH_LAYOUT_2_1 (AV_CH_LAYOUT_STEREO|AV_CH_BACK_CENTER)
1411#define AV_CH_LAYOUT_SURROUND (AV_CH_LAYOUT_STEREO|AV_CH_FRONT_CENTER)
1412#define AV_CH_LAYOUT_3POINT1 (AV_CH_LAYOUT_SURROUND|AV_CH_LOW_FREQUENCY)
1413#define AV_CH_LAYOUT_4POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_CENTER)
1414#define AV_CH_LAYOUT_4POINT1 (AV_CH_LAYOUT_4POINT0|AV_CH_LOW_FREQUENCY)
1415#define AV_CH_LAYOUT_2_2 (AV_CH_LAYOUT_STEREO|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
1416#define AV_CH_LAYOUT_QUAD (AV_CH_LAYOUT_STEREO|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
1417#define AV_CH_LAYOUT_5POINT0 (AV_CH_LAYOUT_SURROUND|AV_CH_SIDE_LEFT|AV_CH_SIDE_RIGHT)
1418#define AV_CH_LAYOUT_5POINT1 (AV_CH_LAYOUT_5POINT0|AV_CH_LOW_FREQUENCY)
1419#define AV_CH_LAYOUT_5POINT0_BACK (AV_CH_LAYOUT_SURROUND|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
1420#define AV_CH_LAYOUT_5POINT1_BACK (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_LOW_FREQUENCY)
1421#define AV_CH_LAYOUT_6POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_CENTER)
1422#define AV_CH_LAYOUT_6POINT0_FRONT (AV_CH_LAYOUT_2_2|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
1423#define AV_CH_LAYOUT_HEXAGONAL (AV_CH_LAYOUT_5POINT0_BACK|AV_CH_BACK_CENTER)
1424#define AV_CH_LAYOUT_6POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_CENTER)
1425#define AV_CH_LAYOUT_6POINT1_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_BACK_CENTER)
1426#define AV_CH_LAYOUT_6POINT1_FRONT (AV_CH_LAYOUT_6POINT0_FRONT|AV_CH_LOW_FREQUENCY)
1427#define AV_CH_LAYOUT_7POINT0 (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
1428#define AV_CH_LAYOUT_7POINT0_FRONT (AV_CH_LAYOUT_5POINT0|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
1429#define AV_CH_LAYOUT_7POINT1 (AV_CH_LAYOUT_5POINT1|AV_CH_BACK_LEFT|AV_CH_BACK_RIGHT)
1430#define AV_CH_LAYOUT_7POINT1_WIDE (AV_CH_LAYOUT_5POINT1|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
1431#define AV_CH_LAYOUT_7POINT1_WIDE_BACK (AV_CH_LAYOUT_5POINT1_BACK|AV_CH_FRONT_LEFT_OF_CENTER|AV_CH_FRONT_RIGHT_OF_CENTER)
1432#define AV_CH_LAYOUT_OCTAGONAL (AV_CH_LAYOUT_5POINT0|AV_CH_BACK_LEFT|AV_CH_BACK_CENTER|AV_CH_BACK_RIGHT)
1433#define AV_CH_LAYOUT_STEREO_DOWNMIX (AV_CH_STEREO_LEFT|AV_CH_STEREO_RIGHT)
1434
1445
1446uint64_t av_get_channel_layout(const char *name);
1447
1448void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout);
1449
1450struct AVBPrint;
1451
1452void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout);
1453
1454int av_get_channel_layout_nb_channels(uint64_t channel_layout);
1455
1456int64_t av_get_default_channel_layout(int nb_channels);
1457
1458int av_get_channel_layout_channel_index(uint64_t channel_layout,
1459 uint64_t channel);
1460
1461uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index);
1462
1463const char *av_get_channel_name(uint64_t channel);
1464
1465const char *av_get_channel_description(uint64_t channel);
1466
1467int av_get_standard_channel_layout(unsigned index, uint64_t *layout,
1468 const char **name);
1469
1470#define AVUTIL_DICT_H
1471
1472#define AV_DICT_MATCH_CASE 1
1473#define AV_DICT_IGNORE_SUFFIX 2
1474
1475#define AV_DICT_DONT_STRDUP_KEY 4
1476
1477#define AV_DICT_DONT_STRDUP_VAL 8
1478
1479#define AV_DICT_DONT_OVERWRITE 16
1480#define AV_DICT_APPEND 32
1481
1482typedef struct AVDictionaryEntry {
1483 char *key;
1484 char *value;
1486
1488
1490 const AVDictionaryEntry *prev, int flags);
1491
1493
1494int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags);
1495
1497 const char *key_val_sep, const char *pairs_sep,
1498 int flags);
1499
1501
1503
1504#define AVUTIL_FRAME_H
1505
1507
1509
1511
1513
1515
1517
1519
1521};
1522
1523typedef struct AVFrameSideData {
1525 uint8_t *data;
1526 int size;
1529
1530typedef struct AVFrame {
1531#define AV_NUM_DATA_POINTERS 8
1532
1534
1536
1537 uint8_t **extended_data;
1538
1540
1542
1544
1546
1548
1551
1553
1554 int64_t pts;
1555
1556 int64_t pkt_pts;
1557
1558 int64_t pkt_dts;
1559
1561
1563
1565
1568
1571
1574
1577
1580
1581 int16_t (*motion_val[2])[2];
1582
1584 uint32_t *mb_type;
1585
1588
1590 int8_t *ref_index[2];
1591
1592 void *opaque;
1593
1595
1597 int type;
1598
1600
1602
1604
1606
1609
1612
1614
1616
1621
1623
1625
1627
1629
1631
1633
1636
1637#define AV_FRAME_FLAG_CORRUPT (1 << 0)
1638
1640
1642
1644
1646
1648
1650
1652
1653 int64_t pkt_pos;
1654
1656
1658
1660#define FF_DECODE_ERROR_INVALID_BITSTREAM 1
1661#define FF_DECODE_ERROR_MISSING_REFERENCE 2
1662
1664
1666
1669
1672int64_t av_frame_get_pkt_duration (const AVFrame *frame);
1673void av_frame_set_pkt_duration (AVFrame *frame, int64_t val);
1674int64_t av_frame_get_pkt_pos (const AVFrame *frame);
1675void av_frame_set_pkt_pos (AVFrame *frame, int64_t val);
1677void av_frame_set_channel_layout (AVFrame *frame, int64_t val);
1679void av_frame_set_channels (AVFrame *frame, int val);
1681void av_frame_set_sample_rate (AVFrame *frame, int val);
1687void av_frame_set_pkt_size(AVFrame *frame, int val);
1689int8_t *av_frame_get_qp_table(AVFrame *f, int *stride, int *type);
1690int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type);
1695
1697
1699
1701
1702int av_frame_ref(AVFrame *dst, const AVFrame *src);
1703
1705
1707
1709
1710int av_frame_get_buffer(AVFrame *frame, int align);
1711
1713
1715
1716int av_frame_copy(AVFrame *dst, const AVFrame *src);
1717
1719
1721
1723 enum AVFrameSideDataType type,
1724 int size);
1725
1727 enum AVFrameSideDataType type);
1728
1730
1731#define AVCODEC_VERSION_H
1732
1733#define LIBAVCODEC_VERSION_MAJOR 55
1734#define LIBAVCODEC_VERSION_MINOR 69
1735#define LIBAVCODEC_VERSION_MICRO 100
1736
1737#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
1738 LIBAVCODEC_VERSION_MINOR, \
1739 LIBAVCODEC_VERSION_MICRO)
1740#define LIBAVCODEC_VERSION AV_VERSION(LIBAVCODEC_VERSION_MAJOR, \
1741 LIBAVCODEC_VERSION_MINOR, \
1742 LIBAVCODEC_VERSION_MICRO)
1743#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
1744
1745#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
1746
1747#define FF_API_REQUEST_CHANNELS (LIBAVCODEC_VERSION_MAJOR < 56)
1748#define FF_API_OLD_DECODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
1749#define FF_API_OLD_ENCODE_AUDIO (LIBAVCODEC_VERSION_MAJOR < 56)
1750#define FF_API_OLD_ENCODE_VIDEO (LIBAVCODEC_VERSION_MAJOR < 56)
1751#define FF_API_CODEC_ID (LIBAVCODEC_VERSION_MAJOR < 56)
1752#define FF_API_AUDIO_CONVERT (LIBAVCODEC_VERSION_MAJOR < 56)
1753#define FF_API_AVCODEC_RESAMPLE FF_API_AUDIO_CONVERT
1754#define FF_API_DEINTERLACE (LIBAVCODEC_VERSION_MAJOR < 56)
1755#define FF_API_DESTRUCT_PACKET (LIBAVCODEC_VERSION_MAJOR < 56)
1756#define FF_API_GET_BUFFER (LIBAVCODEC_VERSION_MAJOR < 56)
1757#define FF_API_MISSING_SAMPLE (LIBAVCODEC_VERSION_MAJOR < 56)
1758#define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 56)
1759#define FF_API_CAP_VDPAU (LIBAVCODEC_VERSION_MAJOR < 56)
1760#define FF_API_BUFS_VDPAU (LIBAVCODEC_VERSION_MAJOR < 56)
1761#define FF_API_VOXWARE (LIBAVCODEC_VERSION_MAJOR < 56)
1762#define FF_API_SET_DIMENSIONS (LIBAVCODEC_VERSION_MAJOR < 56)
1763#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 56)
1764#define FF_API_AC_VLC (LIBAVCODEC_VERSION_MAJOR < 56)
1765#define FF_API_OLD_MSMPEG4 (LIBAVCODEC_VERSION_MAJOR < 56)
1766#define FF_API_ASPECT_EXTENDED (LIBAVCODEC_VERSION_MAJOR < 56)
1767#define FF_API_THREAD_OPAQUE (LIBAVCODEC_VERSION_MAJOR < 56)
1768#define FF_API_CODEC_PKT (LIBAVCODEC_VERSION_MAJOR < 56)
1769#define FF_API_ARCH_ALPHA (LIBAVCODEC_VERSION_MAJOR < 56)
1770#define FF_API_ERROR_RATE (LIBAVCODEC_VERSION_MAJOR < 56)
1771#define FF_API_QSCALE_TYPE (LIBAVCODEC_VERSION_MAJOR < 56)
1772#define FF_API_MB_TYPE (LIBAVCODEC_VERSION_MAJOR < 56)
1773#define FF_API_MAX_BFRAMES (LIBAVCODEC_VERSION_MAJOR < 56)
1774#define FF_API_FAST_MALLOC (LIBAVCODEC_VERSION_MAJOR < 56)
1775#define FF_API_NEG_LINESIZES (LIBAVCODEC_VERSION_MAJOR < 56)
1776#define FF_API_EMU_EDGE (LIBAVCODEC_VERSION_MAJOR < 56)
1777#define FF_API_ARCH_SH4 (LIBAVCODEC_VERSION_MAJOR < 56)
1778#define FF_API_ARCH_SPARC (LIBAVCODEC_VERSION_MAJOR < 56)
1779#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 57)
1780#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 57)
1781#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 57)
1782#define FF_API_MV0 (LIBAVCODEC_VERSION_MAJOR < 57)
1783#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 57)
1784
1787
1973
1975 AV_CODEC_ID_Y41P = MKBETAG('Y','4','1','P'),
1976 AV_CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'),
1977 AV_CODEC_ID_EXR = MKBETAG('0','E','X','R'),
1978 AV_CODEC_ID_AVRP = MKBETAG('A','V','R','P'),
1979
1980 AV_CODEC_ID_012V = MKBETAG('0','1','2','V'),
1981 AV_CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'),
1982 AV_CODEC_ID_AVUI = MKBETAG('A','V','U','I'),
1983 AV_CODEC_ID_AYUV = MKBETAG('A','Y','U','V'),
1985 AV_CODEC_ID_V308 = MKBETAG('V','3','0','8'),
1986 AV_CODEC_ID_V408 = MKBETAG('V','4','0','8'),
1987 AV_CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'),
1988 AV_CODEC_ID_SANM = MKBETAG('S','A','N','M'),
1989 AV_CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'),
1990 AV_CODEC_ID_AVRN = MKBETAG('A','V','R','n'),
1991 AV_CODEC_ID_CPIA = MKBETAG('C','P','I','A'),
1992 AV_CODEC_ID_XFACE = MKBETAG('X','F','A','C'),
1993 AV_CODEC_ID_SGIRLE = MKBETAG('S','G','I','R'),
1994 AV_CODEC_ID_MVC1 = MKBETAG('M','V','C','1'),
1995 AV_CODEC_ID_MVC2 = MKBETAG('M','V','C','2'),
1996 AV_CODEC_ID_SNOW = MKBETAG('S','N','O','W'),
1997 AV_CODEC_ID_WEBP = MKBETAG('W','E','B','P'),
1998 AV_CODEC_ID_SMVJPEG = MKBETAG('S','M','V','J'),
1999 AV_CODEC_ID_HEVC = MKBETAG('H','2','6','5'),
2000#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
2001 AV_CODEC_ID_VP7 = MKBETAG('V','P','7','0'),
2002
2037
2070 AV_CODEC_ID_VIMA = MKBETAG('V','I','M','A'),
2071 AV_CODEC_ID_ADPCM_AFC = MKBETAG('A','F','C',' '),
2073 AV_CODEC_ID_ADPCM_DTK = MKBETAG('D','T','K',' '),
2076
2079
2082
2087
2156 AV_CODEC_ID_SONIC = MKBETAG('S','O','N','C'),
2157 AV_CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'),
2158 AV_CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'),
2159 AV_CODEC_ID_OPUS = MKBETAG('O','P','U','S'),
2160 AV_CODEC_ID_TAK = MKBETAG('t','B','a','K'),
2161 AV_CODEC_ID_EVRC = MKBETAG('s','e','v','c'),
2162 AV_CODEC_ID_SMV = MKBETAG('s','s','m','v'),
2163 AV_CODEC_ID_DSD_LSBF = MKBETAG('D','S','D','L'),
2164 AV_CODEC_ID_DSD_MSBF = MKBETAG('D','S','D','M'),
2167
2178 AV_CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'),
2179 AV_CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'),
2180 AV_CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'),
2181 AV_CODEC_ID_SAMI = MKBETAG('S','A','M','I'),
2182 AV_CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'),
2184 AV_CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'),
2185 AV_CODEC_ID_SUBRIP = MKBETAG('S','R','i','p'),
2186 AV_CODEC_ID_WEBVTT = MKBETAG('W','V','T','T'),
2187 AV_CODEC_ID_MPL2 = MKBETAG('M','P','L','2'),
2188 AV_CODEC_ID_VPLAYER = MKBETAG('V','P','l','r'),
2189 AV_CODEC_ID_PJS = MKBETAG('P','h','J','S'),
2190 AV_CODEC_ID_ASS = MKBETAG('A','S','S',' '),
2191
2194 AV_CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'),
2195 AV_CODEC_ID_XBIN = MKBETAG('X','B','I','N'),
2196 AV_CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
2197 AV_CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'),
2198 AV_CODEC_ID_SMPTE_KLV = MKBETAG('K','L','V','A'),
2199 AV_CODEC_ID_DVD_NAV = MKBETAG('D','N','A','V'),
2200 AV_CODEC_ID_TIMED_ID3 = MKBETAG('T','I','D','3'),
2201 AV_CODEC_ID_BIN_DATA = MKBETAG('D','A','T','A'),
2202
2204
2206
2208
2210
2211#define AVCODEC_OLD_CODEC_IDS_H
2212
2214
2382 CODEC_ID_Y41P = MKBETAG('Y','4','1','P'),
2383 CODEC_ID_ESCAPE130 = MKBETAG('E','1','3','0'),
2384 CODEC_ID_EXR = MKBETAG('0','E','X','R'),
2385 CODEC_ID_AVRP = MKBETAG('A','V','R','P'),
2386
2387 CODEC_ID_G2M = MKBETAG( 0 ,'G','2','M'),
2388 CODEC_ID_AVUI = MKBETAG('A','V','U','I'),
2389 CODEC_ID_AYUV = MKBETAG('A','Y','U','V'),
2390 CODEC_ID_V308 = MKBETAG('V','3','0','8'),
2391 CODEC_ID_V408 = MKBETAG('V','4','0','8'),
2392 CODEC_ID_YUV4 = MKBETAG('Y','U','V','4'),
2393 CODEC_ID_SANM = MKBETAG('S','A','N','M'),
2394 CODEC_ID_PAF_VIDEO = MKBETAG('P','A','F','V'),
2396
2426
2457 CODEC_ID_VIMA = MKBETAG('V','I','M','A'),
2458
2461
2464
2469
2470 CODEC_ID_MP2 = 0x15000,
2531 CODEC_ID_FFWAVESYNTH = MKBETAG('F','F','W','S'),
2532 CODEC_ID_SONIC = MKBETAG('S','O','N','C'),
2533 CODEC_ID_SONIC_LS = MKBETAG('S','O','N','L'),
2534 CODEC_ID_PAF_AUDIO = MKBETAG('P','A','F','A'),
2535 CODEC_ID_OPUS = MKBETAG('O','P','U','S'),
2536
2547 CODEC_ID_MICRODVD = MKBETAG('m','D','V','D'),
2548 CODEC_ID_EIA_608 = MKBETAG('c','6','0','8'),
2549 CODEC_ID_JACOSUB = MKBETAG('J','S','U','B'),
2550 CODEC_ID_SAMI = MKBETAG('S','A','M','I'),
2551 CODEC_ID_REALTEXT = MKBETAG('R','T','X','T'),
2552 CODEC_ID_SUBVIEWER = MKBETAG('S','u','b','V'),
2553
2555 CODEC_ID_TTF = 0x18000,
2556 CODEC_ID_BINTEXT = MKBETAG('B','T','X','T'),
2557 CODEC_ID_XBIN = MKBETAG('X','B','I','N'),
2558 CODEC_ID_IDF = MKBETAG( 0 ,'I','D','F'),
2559 CODEC_ID_OTF = MKBETAG( 0 ,'O','T','F'),
2560
2561 CODEC_ID_PROBE = 0x19000,
2562
2564
2566
2568
2569};
2570
2571typedef struct AVCodecDescriptor {
2574
2575 const char *name;
2576
2577 const char *long_name;
2578
2580
2581 const char *const *mime_types;
2583
2584#define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
2585
2586#define AV_CODEC_PROP_LOSSY (1 << 1)
2587
2588#define AV_CODEC_PROP_LOSSLESS (1 << 2)
2589
2590#define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
2591
2592#define AV_CODEC_PROP_TEXT_SUB (1 << 17)
2593
2594#define FF_INPUT_BUFFER_PADDING_SIZE 32
2595
2596#define FF_MIN_BUFFER_SIZE 16384
2597
2609};
2610
2612
2620};
2621
2633};
2634
2635typedef struct RcOverride{
2641
2642#define FF_MAX_B_FRAMES 16
2643
2644#define CODEC_FLAG_UNALIGNED 0x0001
2645#define CODEC_FLAG_QSCALE 0x0002
2646#define CODEC_FLAG_4MV 0x0004
2647#define CODEC_FLAG_OUTPUT_CORRUPT 0x0008
2648#define CODEC_FLAG_QPEL 0x0010
2649
2650#define CODEC_FLAG_GMC 0x0020
2651
2652#define CODEC_FLAG_MV0 0x0040
2653
2654#define CODEC_FLAG_INPUT_PRESERVED 0x0100
2655#define CODEC_FLAG_PASS1 0x0200
2656#define CODEC_FLAG_PASS2 0x0400
2657#define CODEC_FLAG_GRAY 0x2000
2658
2659#define CODEC_FLAG_EMU_EDGE 0x4000
2660#define CODEC_FLAG_PSNR 0x8000
2661#define CODEC_FLAG_TRUNCATED 0x00010000
2662
2663#define CODEC_FLAG_NORMALIZE_AQP 0x00020000
2664#define CODEC_FLAG_INTERLACED_DCT 0x00040000
2665#define CODEC_FLAG_LOW_DELAY 0x00080000
2666#define CODEC_FLAG_GLOBAL_HEADER 0x00400000
2667#define CODEC_FLAG_BITEXACT 0x00800000
2668
2669#define CODEC_FLAG_AC_PRED 0x01000000
2670#define CODEC_FLAG_LOOP_FILTER 0x00000800
2671#define CODEC_FLAG_INTERLACED_ME 0x20000000
2672#define CODEC_FLAG_CLOSED_GOP 0x80000000
2673#define CODEC_FLAG2_FAST 0x00000001
2674#define CODEC_FLAG2_NO_OUTPUT 0x00000004
2675#define CODEC_FLAG2_LOCAL_HEADER 0x00000008
2676#define CODEC_FLAG2_DROP_FRAME_TIMECODE 0x00002000
2677#define CODEC_FLAG2_IGNORE_CROP 0x00010000
2678
2679#define CODEC_FLAG2_CHUNKS 0x00008000
2680#define CODEC_FLAG2_SHOW_ALL 0x00400000
2681
2682#define CODEC_CAP_DRAW_HORIZ_BAND 0x0001
2683
2684#define CODEC_CAP_DR1 0x0002
2685#define CODEC_CAP_TRUNCATED 0x0008
2686
2687#define CODEC_CAP_HWACCEL 0x0010
2688
2689#define CODEC_CAP_DELAY 0x0020
2690
2691#define CODEC_CAP_SMALL_LAST_FRAME 0x0040
2692
2693#define CODEC_CAP_HWACCEL_VDPAU 0x0080
2694
2695#define CODEC_CAP_SUBFRAMES 0x0100
2696
2697#define CODEC_CAP_EXPERIMENTAL 0x0200
2698
2699#define CODEC_CAP_CHANNEL_CONF 0x0400
2700
2701#define CODEC_CAP_NEG_LINESIZES 0x0800
2702
2703#define CODEC_CAP_FRAME_THREADS 0x1000
2704
2705#define CODEC_CAP_SLICE_THREADS 0x2000
2706
2707#define CODEC_CAP_PARAM_CHANGE 0x4000
2708
2709#define CODEC_CAP_AUTO_THREADS 0x8000
2710
2711#define CODEC_CAP_VARIABLE_FRAME_SIZE 0x10000
2712
2713#define CODEC_CAP_INTRA_ONLY 0x40000000
2714
2715#define CODEC_CAP_LOSSLESS 0x80000000
2716
2717#define MB_TYPE_INTRA4x4 0x0001
2718#define MB_TYPE_INTRA16x16 0x0002
2719#define MB_TYPE_INTRA_PCM 0x0004
2720#define MB_TYPE_16x16 0x0008
2721#define MB_TYPE_16x8 0x0010
2722#define MB_TYPE_8x16 0x0020
2723#define MB_TYPE_8x8 0x0040
2724#define MB_TYPE_INTERLACED 0x0080
2725#define MB_TYPE_DIRECT2 0x0100
2726#define MB_TYPE_ACPRED 0x0200
2727#define MB_TYPE_GMC 0x0400
2728#define MB_TYPE_SKIP 0x0800
2729#define MB_TYPE_P0L0 0x1000
2730#define MB_TYPE_P1L0 0x2000
2731#define MB_TYPE_P0L1 0x4000
2732#define MB_TYPE_P1L1 0x8000
2733#define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
2734#define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
2735#define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
2736#define MB_TYPE_QUANT 0x00010000
2737#define MB_TYPE_CBP 0x00020000
2738
2739typedef struct AVPanScan{
2740
2741 int id;
2742
2745
2746 int16_t position[3][2];
2748
2749#define FF_QSCALE_TYPE_MPEG1 0
2750#define FF_QSCALE_TYPE_MPEG2 1
2751#define FF_QSCALE_TYPE_H264 2
2752#define FF_QSCALE_TYPE_VP56 3
2753
2754#define FF_BUFFER_TYPE_INTERNAL 1
2755#define FF_BUFFER_TYPE_USER 2
2756#define FF_BUFFER_TYPE_SHARED 4
2757#define FF_BUFFER_TYPE_COPY 8
2758
2759#define FF_BUFFER_HINTS_VALID 0x01
2760#define FF_BUFFER_HINTS_READABLE 0x02
2761#define FF_BUFFER_HINTS_PRESERVE 0x04
2762#define FF_BUFFER_HINTS_REUSABLE 0x08
2763
2764#define AV_GET_BUFFER_FLAG_REF (1 << 0)
2765
2769
2771
2773
2775
2777
2779
2781
2783
2785
2787
2789
2791
2793};
2794
2795typedef struct AVPacketSideData {
2796 uint8_t *data;
2797 int size;
2800
2801typedef struct AVPacket {
2802
2804
2805 int64_t pts;
2806
2807 int64_t dts;
2808 uint8_t *data;
2809 int size;
2811
2813
2816
2819 void (*destruct)(struct AVPacket *);
2821 void *priv;
2822 int64_t pos;
2823
2826#define AV_PKT_FLAG_KEY 0x0001
2827#define AV_PKT_FLAG_CORRUPT 0x0002
2828
2834};
2835
2836struct AVCodecInternal;
2837
2845};
2846
2847typedef struct AVCodecContext {
2848
2851
2853 const struct AVCodec *codec;
2854
2856 char codec_name[32];
2858
2859 unsigned int codec_tag;
2860
2861 unsigned int stream_codec_tag;
2862
2864
2865 struct AVCodecInternal *internal;
2866
2867 void *opaque;
2868
2870
2872
2874
2876#define FF_COMPRESSION_DEFAULT -1
2877
2879
2881
2882 uint8_t *extradata;
2884
2886
2888
2890
2892
2894
2895#define FF_ASPECT_EXTENDED 15
2896
2898
2900
2902
2904 const AVFrame *src, int offset[AV_NUM_DATA_POINTERS],
2905 int y, int type, int height);
2906
2907 enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
2908
2910
2912
2914#define FF_RC_STRATEGY_XVID 1
2915
2917
2919
2921
2923
2925
2927
2929
2931
2933
2935
2937
2939
2941#define FF_PRED_LEFT 0
2942#define FF_PRED_PLANE 1
2943#define FF_PRED_MEDIAN 2
2944
2946
2948
2950
2952
2954
2956#define FF_CMP_SAD 0
2957#define FF_CMP_SSE 1
2958#define FF_CMP_SATD 2
2959#define FF_CMP_DCT 3
2960#define FF_CMP_PSNR 4
2961#define FF_CMP_BIT 5
2962#define FF_CMP_RD 6
2963#define FF_CMP_ZERO 7
2964#define FF_CMP_VSAD 8
2965#define FF_CMP_VSSE 9
2966#define FF_CMP_NSSE 10
2967#define FF_CMP_W53 11
2968#define FF_CMP_W97 12
2969#define FF_CMP_DCTMAX 13
2970#define FF_CMP_DCT264 14
2971#define FF_CMP_CHROMA 256
2972
2974
2976
2978
2980
2982
2984
2986#define FF_DTG_AFD_SAME 8
2987#define FF_DTG_AFD_4_3 9
2988#define FF_DTG_AFD_16_9 10
2989#define FF_DTG_AFD_14_9 11
2990#define FF_DTG_AFD_4_3_SP_14_9 13
2991#define FF_DTG_AFD_16_9_SP_14_9 14
2992#define FF_DTG_AFD_SP_4_3 15
2993
2995
2997#define FF_DEFAULT_QUANT_BIAS 999999
2998
3000
3002#define SLICE_FLAG_CODED_ORDER 0x0001
3003#define SLICE_FLAG_ALLOW_FIELD 0x0002
3004#define SLICE_FLAG_ALLOW_PLANE 0x0004
3005
3007
3009#define FF_MB_DECISION_SIMPLE 0
3010#define FF_MB_DECISION_BITS 1
3011#define FF_MB_DECISION_RD 2
3012
3013 uint16_t *intra_matrix;
3014
3015 uint16_t *inter_matrix;
3016
3018
3020
3022
3024
3026
3028
3030
3032
3034
3036
3038
3040
3042
3044
3045 int refs;
3046
3048
3050
3052
3054
3056
3058
3060
3062
3064
3066
3068
3071
3073
3075
3077
3079
3081
3083
3085
3087
3089
3091
3093 int (*get_buffer)(struct AVCodecContext *c, AVFrame *pic);
3094
3096 void (*release_buffer)(struct AVCodecContext *c, AVFrame *pic);
3097
3099 int (*reget_buffer)(struct AVCodecContext *c, AVFrame *pic);
3100
3101 int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags);
3102
3104
3106 float qblur;
3107
3108 int qmin;
3109
3110 int qmax;
3111
3113
3115
3118
3120
3123
3124 const char *rc_eq;
3125
3127
3129
3131
3133
3135
3137
3139
3140#define FF_CODER_TYPE_VLC 0
3141#define FF_CODER_TYPE_AC 1
3142#define FF_CODER_TYPE_RAW 2
3143#define FF_CODER_TYPE_RLE 3
3144#define FF_CODER_TYPE_DEFLATE 4
3145
3147
3149
3150 int lmin;
3151
3152 int lmax;
3153
3155
3157
3159
3161
3163
3165
3167
3169
3170 void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb);
3171
3173
3182
3184
3186
3188
3190#define FF_BUG_AUTODETECT 1
3191#define FF_BUG_OLD_MSMPEG4 2
3192#define FF_BUG_XVID_ILACE 4
3193#define FF_BUG_UMP4 8
3194#define FF_BUG_NO_PADDING 16
3195#define FF_BUG_AMV 32
3196#define FF_BUG_AC_VLC 0
3197#define FF_BUG_QPEL_CHROMA 64
3198#define FF_BUG_STD_QPEL 128
3199#define FF_BUG_QPEL_CHROMA2 256
3200#define FF_BUG_DIRECT_BLOCKSIZE 512
3201#define FF_BUG_EDGE 1024
3202#define FF_BUG_HPEL_CHROMA 2048
3203#define FF_BUG_DC_CLIP 4096
3204#define FF_BUG_MS 8192
3205#define FF_BUG_TRUNCATED 16384
3206
3208#define FF_COMPLIANCE_VERY_STRICT 2
3209#define FF_COMPLIANCE_STRICT 1
3210#define FF_COMPLIANCE_NORMAL 0
3211#define FF_COMPLIANCE_UNOFFICIAL -1
3212#define FF_COMPLIANCE_EXPERIMENTAL -2
3213
3215#define FF_EC_GUESS_MVS 1
3216#define FF_EC_DEBLOCK 2
3217#define FF_EC_FAVOR_INTER 256
3218
3220#define FF_DEBUG_PICT_INFO 1
3221#define FF_DEBUG_RC 2
3222#define FF_DEBUG_BITSTREAM 4
3223#define FF_DEBUG_MB_TYPE 8
3224#define FF_DEBUG_QP 16
3225
3226#define FF_DEBUG_MV 32
3227#define FF_DEBUG_DCT_COEFF 0x00000040
3228#define FF_DEBUG_SKIP 0x00000080
3229#define FF_DEBUG_STARTCODE 0x00000100
3230#define FF_DEBUG_PTS 0x00000200
3231#define FF_DEBUG_ER 0x00000400
3232#define FF_DEBUG_MMCO 0x00000800
3233#define FF_DEBUG_BUGS 0x00001000
3234#define FF_DEBUG_VIS_QP 0x00002000
3235#define FF_DEBUG_VIS_MB_TYPE 0x00004000
3236#define FF_DEBUG_BUFFERS 0x00008000
3237#define FF_DEBUG_THREADS 0x00010000
3238#define FF_DEBUG_NOMC 0x01000000
3239
3241#define FF_DEBUG_VIS_MV_P_FOR 0x00000001
3242#define FF_DEBUG_VIS_MV_B_FOR 0x00000002
3243#define FF_DEBUG_VIS_MV_B_BACK 0x00000004
3244
3246
3247#define AV_EF_CRCCHECK (1<<0)
3248#define AV_EF_BITSTREAM (1<<1)
3249#define AV_EF_BUFFER (1<<2)
3250#define AV_EF_EXPLODE (1<<3)
3251
3252#define AV_EF_IGNORE_ERR (1<<15)
3253#define AV_EF_CAREFUL (1<<16)
3254#define AV_EF_COMPLIANT (1<<17)
3255#define AV_EF_AGGRESSIVE (1<<18)
3256
3258
3260
3262
3264
3266#define FF_DCT_AUTO 0
3267#define FF_DCT_FASTINT 1
3268#define FF_DCT_INT 2
3269#define FF_DCT_MMX 3
3270#define FF_DCT_ALTIVEC 5
3271#define FF_DCT_FAAN 6
3272
3274#define FF_IDCT_AUTO 0
3275#define FF_IDCT_INT 1
3276#define FF_IDCT_SIMPLE 2
3277#define FF_IDCT_SIMPLEMMX 3
3278#define FF_IDCT_ARM 7
3279#define FF_IDCT_ALTIVEC 8
3280#define FF_IDCT_SH4 9
3281#define FF_IDCT_SIMPLEARM 10
3282#define FF_IDCT_IPP 13
3283#define FF_IDCT_XVIDMMX 14
3284#define FF_IDCT_SIMPLEARMV5TE 16
3285#define FF_IDCT_SIMPLEARMV6 17
3286#define FF_IDCT_SIMPLEVIS 18
3287#define FF_IDCT_FAAN 20
3288#define FF_IDCT_SIMPLENEON 22
3289#define FF_IDCT_SIMPLEALPHA 23
3290#define FF_IDCT_SIMPLEAUTO 128
3291
3293
3295
3297
3299
3301
3303#define FF_THREAD_FRAME 1
3304#define FF_THREAD_SLICE 2
3305
3307
3309
3310 int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size);
3311
3312 int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);
3313
3316
3318
3320#define FF_PROFILE_UNKNOWN -99
3321#define FF_PROFILE_RESERVED -100
3322
3323#define FF_PROFILE_AAC_MAIN 0
3324#define FF_PROFILE_AAC_LOW 1
3325#define FF_PROFILE_AAC_SSR 2
3326#define FF_PROFILE_AAC_LTP 3
3327#define FF_PROFILE_AAC_HE 4
3328#define FF_PROFILE_AAC_HE_V2 28
3329#define FF_PROFILE_AAC_LD 22
3330#define FF_PROFILE_AAC_ELD 38
3331#define FF_PROFILE_MPEG2_AAC_LOW 128
3332#define FF_PROFILE_MPEG2_AAC_HE 131
3333
3334#define FF_PROFILE_DTS 20
3335#define FF_PROFILE_DTS_ES 30
3336#define FF_PROFILE_DTS_96_24 40
3337#define FF_PROFILE_DTS_HD_HRA 50
3338#define FF_PROFILE_DTS_HD_MA 60
3339
3340#define FF_PROFILE_MPEG2_422 0
3341#define FF_PROFILE_MPEG2_HIGH 1
3342#define FF_PROFILE_MPEG2_SS 2
3343#define FF_PROFILE_MPEG2_SNR_SCALABLE 3
3344#define FF_PROFILE_MPEG2_MAIN 4
3345#define FF_PROFILE_MPEG2_SIMPLE 5
3346
3347#define FF_PROFILE_H264_CONSTRAINED (1<<9)
3348#define FF_PROFILE_H264_INTRA (1<<11)
3349
3350#define FF_PROFILE_H264_BASELINE 66
3351#define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
3352#define FF_PROFILE_H264_MAIN 77
3353#define FF_PROFILE_H264_EXTENDED 88
3354#define FF_PROFILE_H264_HIGH 100
3355#define FF_PROFILE_H264_HIGH_10 110
3356#define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
3357#define FF_PROFILE_H264_HIGH_422 122
3358#define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
3359#define FF_PROFILE_H264_HIGH_444 144
3360#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
3361#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
3362#define FF_PROFILE_H264_CAVLC_444 44
3363
3364#define FF_PROFILE_VC1_SIMPLE 0
3365#define FF_PROFILE_VC1_MAIN 1
3366#define FF_PROFILE_VC1_COMPLEX 2
3367#define FF_PROFILE_VC1_ADVANCED 3
3368
3369#define FF_PROFILE_MPEG4_SIMPLE 0
3370#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
3371#define FF_PROFILE_MPEG4_CORE 2
3372#define FF_PROFILE_MPEG4_MAIN 3
3373#define FF_PROFILE_MPEG4_N_BIT 4
3374#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
3375#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
3376#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
3377#define FF_PROFILE_MPEG4_HYBRID 8
3378#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
3379#define FF_PROFILE_MPEG4_CORE_SCALABLE 10
3380#define FF_PROFILE_MPEG4_ADVANCED_CODING 11
3381#define FF_PROFILE_MPEG4_ADVANCED_CORE 12
3382#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
3383#define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
3384#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
3385
3386#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 0
3387#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 1
3388#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 2
3389#define FF_PROFILE_JPEG2000_DCINEMA_2K 3
3390#define FF_PROFILE_JPEG2000_DCINEMA_4K 4
3391
3392#define FF_PROFILE_HEVC_MAIN 1
3393#define FF_PROFILE_HEVC_MAIN_10 2
3394#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
3395#define FF_PROFILE_HEVC_REXT 4
3396
3398#define FF_LEVEL_UNKNOWN -99
3399
3401
3403
3405
3408
3411
3414
3415 uint64_t vbv_delay;
3416
3418
3420
3422
3427
3429
3431#define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3432#define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3433#define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3434
3436
3438
3441
3444
3447
3450
3453
3456
3457typedef struct AVProfile {
3459 const char *name;
3461
3463
3464struct AVSubtitle;
3465
3466typedef struct AVCodec {
3467
3468 const char *name;
3469
3470 const char *long_name;
3473
3479 const uint64_t *channel_layouts;
3480 uint8_t max_lowres;
3483
3485 struct AVCodec *next;
3486
3488
3490
3492
3493 void (*init_static_data)(struct AVCodec *codec);
3494
3496 int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,
3497 const struct AVSubtitle *sub);
3498
3499 int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame,
3500 int *got_packet_ptr);
3501 int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
3503
3506
3508
3509struct MpegEncContext;
3510
3511typedef struct AVHWAccel {
3512
3513 const char *name;
3514
3516
3518
3520
3522
3524
3525 int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame);
3526
3527 int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3528
3529 int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3530
3532
3534
3535 void (*decode_mb)(struct MpegEncContext *s);
3536
3537 int (*init)(AVCodecContext *avctx);
3538
3539 int (*uninit)(AVCodecContext *avctx);
3540
3543
3544typedef struct AVPicture {
3548
3551
3553
3555
3557};
3558
3559#define AV_SUBTITLE_FLAG_FORCED 0x00000001
3560
3561typedef struct AVSubtitleRect {
3562 int x;
3563 int y;
3564 int w;
3565 int h;
3567
3570
3571 char *text;
3572
3573 char *ass;
3574
3577
3578typedef struct AVSubtitle {
3579 uint16_t format;
3582 unsigned num_rects;
3584 int64_t pts;
3586
3588
3589unsigned avcodec_version(void);
3590
3591const char *avcodec_configuration(void);
3592
3593const char *avcodec_license(void);
3594
3596
3598
3600
3602
3604
3606
3608
3610
3612
3615
3618
3621
3622int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
3623
3625
3627
3630
3632
3634
3636
3637int av_grow_packet(AVPacket *pkt, int grow_by);
3638
3639int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);
3640
3642
3643int av_copy_packet(AVPacket *dst, const AVPacket *src);
3644
3646
3648
3650 int size);
3651
3653 int size);
3654
3656 int *size);
3657
3659
3661
3663
3664int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict);
3665
3667
3668int av_packet_ref(AVPacket *dst, const AVPacket *src);
3669
3671
3673
3675
3677
3679
3681
3685
3687
3690
3691void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
3692
3693void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
3694 int linesize_align[AV_NUM_DATA_POINTERS]);
3695
3696int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos);
3697
3699
3701 int *frame_size_ptr,
3702 AVPacket *avpkt);
3703
3705 int *got_frame_ptr, const AVPacket *avpkt);
3706
3708 int *got_picture_ptr,
3709 const AVPacket *avpkt);
3710
3712 int *got_sub_ptr,
3713 AVPacket *avpkt);
3714
3720};
3721
3722typedef struct AVCodecParserContext {
3726 int64_t cur_offset;
3727
3729
3731
3733 int64_t pts;
3734 int64_t dts;
3735
3736 int64_t last_pts;
3737 int64_t last_dts;
3739
3740#define AV_PARSER_PTS_NB 4
3745
3747#define PARSER_FLAG_COMPLETE_FRAMES 0x0001
3748#define PARSER_FLAG_ONCE 0x0002
3749
3750#define PARSER_FLAG_FETCHED_OFFSET 0x0004
3751#define PARSER_FLAG_USE_CODEC_TS 0x1000
3752
3753 int64_t offset;
3755
3757
3759
3761
3763
3765
3767
3768 int64_t pos;
3769
3770 int64_t last_pos;
3771
3773
3775
3777
3780
3781typedef struct AVCodecParser {
3782 int codec_ids[5];
3786 AVCodecContext *avctx,
3787 const uint8_t **poutbuf, int *poutbuf_size,
3788 const uint8_t *buf, int buf_size);
3790 int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size);
3793
3795
3798
3800 AVCodecContext *avctx,
3801 uint8_t **poutbuf, int *poutbuf_size,
3802 const uint8_t *buf, int buf_size,
3803 int64_t pts, int64_t dts,
3804 int64_t pos);
3805
3807 AVCodecContext *avctx,
3808 uint8_t **poutbuf, int *poutbuf_size,
3809 const uint8_t *buf, int buf_size, int keyframe);
3811
3813
3815
3817 uint8_t *buf, int buf_size,
3818 const short *samples);
3819
3821 const AVFrame *frame, int *got_packet_ptr);
3822
3824int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size,
3825 const AVFrame *pict);
3826
3828 const AVFrame *frame, int *got_packet_ptr);
3829
3830int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
3831 const AVSubtitle *sub);
3832
3833struct ReSampleContext;
3834struct AVResampleContext;
3835
3837
3839ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
3840 int output_rate, int input_rate,
3841 enum AVSampleFormat sample_fmt_out,
3842 enum AVSampleFormat sample_fmt_in,
3843 int filter_length, int log2_phase_count,
3844 int linear, double cutoff);
3845
3847int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);
3848
3851
3853struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff);
3854
3856int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);
3857
3859void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance);
3861void av_resample_close(struct AVResampleContext *c);
3862
3863int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height);
3864
3866
3867int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
3868 enum AVPixelFormat pix_fmt, int width, int height);
3869
3870int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt,
3871 int width, int height,
3872 unsigned char *dest, int dest_size);
3873
3874int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
3875
3878 enum AVPixelFormat pix_fmt, int width, int height);
3879
3881 enum AVPixelFormat pix_fmt, int width, int height);
3882
3884 enum AVPixelFormat pix_fmt, int top_band, int left_band);
3885
3886int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt,
3887 int padtop, int padbottom, int padleft, int padright, int *color);
3888
3889void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift);
3890
3892
3893int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt,
3894 int has_alpha);
3895
3897 enum AVPixelFormat src_pix_fmt,
3898 int has_alpha, int *loss_ptr);
3899
3901 enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
3902
3905 enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
3906
3908
3910void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
3911
3912size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag);
3913
3914void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode);
3915
3916const char *av_get_profile_name(const AVCodec *codec, int profile);
3917
3918int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
3919int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);
3920
3921int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,
3922 enum AVSampleFormat sample_fmt, const uint8_t *buf,
3923 int buf_size, int align);
3924
3926
3928
3930
3932
3933int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes);
3934
3941
3942typedef struct AVBitStreamFilter {
3943 const char *name;
3946 AVCodecContext *avctx, const char *args,
3947 uint8_t **poutbuf, int *poutbuf_size,
3948 const uint8_t *buf, int buf_size, int keyframe);
3952
3954
3956
3958 AVCodecContext *avctx, const char *args,
3959 uint8_t **poutbuf, int *poutbuf_size,
3960 const uint8_t *buf, int buf_size, int keyframe);
3961
3963
3965
3966void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size);
3967
3968void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size);
3969
3970unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
3971
3973void av_log_missing_feature(void *avc, const char *feature, int want_sample);
3974
3976void av_log_ask_for_sample(void *avc, const char *msg, ...) av_printf_format(2, 3);
3977
3979
3981
3987};
3988
3989int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
3990
3992
3993const char *avcodec_get_name(enum AVCodecID id);
3994
3996
3998
4000
4002
4004
4006
4007#define AVFORMAT_AVFORMAT_H
4008
4009#define AVFORMAT_AVIO_H
4010
4011#define AVFORMAT_VERSION_H
4012
4013#define LIBAVFORMAT_VERSION_MAJOR 55
4014#define LIBAVFORMAT_VERSION_MINOR 48
4015#define LIBAVFORMAT_VERSION_MICRO 100
4016
4017#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
4018 LIBAVFORMAT_VERSION_MINOR, \
4019 LIBAVFORMAT_VERSION_MICRO)
4020#define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
4021 LIBAVFORMAT_VERSION_MINOR, \
4022 LIBAVFORMAT_VERSION_MICRO)
4023#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
4024
4025#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
4026
4027#define FF_API_REFERENCE_DTS (LIBAVFORMAT_VERSION_MAJOR < 56)
4028#define FF_API_LAVF_BITEXACT (LIBAVFORMAT_VERSION_MAJOR < 56)
4029#define FF_API_LAVF_FRAC (LIBAVFORMAT_VERSION_MAJOR < 57)
4030#define FF_API_LAVF_CODEC_TB (LIBAVFORMAT_VERSION_MAJOR < 57)
4031
4032#define FF_API_ALLOC_OUTPUT_CONTEXT (LIBAVFORMAT_VERSION_MAJOR < 56)
4033#define FF_API_FORMAT_PARAMETERS (LIBAVFORMAT_VERSION_MAJOR < 56)
4034#define FF_API_NEW_STREAM (LIBAVFORMAT_VERSION_MAJOR < 56)
4035#define FF_API_SET_PTS_INFO (LIBAVFORMAT_VERSION_MAJOR < 56)
4036#define FF_API_CLOSE_INPUT_FILE (LIBAVFORMAT_VERSION_MAJOR < 56)
4037#define FF_API_READ_PACKET (LIBAVFORMAT_VERSION_MAJOR < 56)
4038#define FF_API_ASS_SSA (LIBAVFORMAT_VERSION_MAJOR < 56)
4039#define FF_API_R_FRAME_RATE 1
4040
4041#define AVIO_SEEKABLE_NORMAL 0x0001
4042
4043typedef struct AVIOInterruptCB {
4044 int (*callback)(void*);
4045 void *opaque;
4047
4048typedef struct AVIOContext {
4049
4051 unsigned char *buffer;
4053 unsigned char *buf_ptr;
4054 unsigned char *buf_end;
4055
4056 void *opaque;
4057
4058 int (*read_packet)(void *opaque, uint8_t *buf, int buf_size);
4059 int (*write_packet)(void *opaque, uint8_t *buf, int buf_size);
4060 int64_t (*seek)(void *opaque, int64_t offset, int whence);
4061 int64_t pos;
4066 unsigned long checksum;
4067 unsigned char *checksum_ptr;
4068 unsigned long (*update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size);
4069 int error;
4070
4071 int (*read_pause)(void *opaque, int pause);
4072
4073 int64_t (*read_seek)(void *opaque, int stream_index,
4074 int64_t timestamp, int flags);
4075
4077
4078 int64_t maxsize;
4079
4081
4082 int64_t bytes_read;
4083
4085
4087
4090
4091const char *avio_find_protocol_name(const char *url);
4092
4093int avio_check(const char *url, int flags);
4094
4096 unsigned char *buffer,
4097 int buffer_size,
4098 int write_flag,
4099 void *opaque,
4100 int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
4101 int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
4102 int64_t (*seek)(void *opaque, int64_t offset, int whence));
4103
4104void avio_w8(AVIOContext *s, int b);
4105void avio_write(AVIOContext *s, const unsigned char *buf, int size);
4106void avio_wl64(AVIOContext *s, uint64_t val);
4107void avio_wb64(AVIOContext *s, uint64_t val);
4108void avio_wl32(AVIOContext *s, unsigned int val);
4109void avio_wb32(AVIOContext *s, unsigned int val);
4110void avio_wl24(AVIOContext *s, unsigned int val);
4111void avio_wb24(AVIOContext *s, unsigned int val);
4112void avio_wl16(AVIOContext *s, unsigned int val);
4113void avio_wb16(AVIOContext *s, unsigned int val);
4114
4115int avio_put_str(AVIOContext *s, const char *str);
4116
4117int avio_put_str16le(AVIOContext *s, const char *str);
4118
4119#define AVSEEK_SIZE 0x10000
4120
4121#define AVSEEK_FORCE 0x20000
4122
4123int64_t avio_seek(AVIOContext *s, int64_t offset, int whence);
4124
4125int64_t avio_skip(AVIOContext *s, int64_t offset);
4126
4128{
4129 return avio_seek(s, 0, SEEK_CUR);
4130}
4131
4133
4135
4136int avio_printf(AVIOContext *s, const char *fmt, ...) av_printf_format(2, 3);
4137
4139
4140int avio_read(AVIOContext *s, unsigned char *buf, int size);
4141
4143unsigned int avio_rl16(AVIOContext *s);
4144unsigned int avio_rl24(AVIOContext *s);
4145unsigned int avio_rl32(AVIOContext *s);
4147unsigned int avio_rb16(AVIOContext *s);
4148unsigned int avio_rb24(AVIOContext *s);
4149unsigned int avio_rb32(AVIOContext *s);
4151
4152int avio_get_str(AVIOContext *pb, int maxlen, char *buf, int buflen);
4153
4154int avio_get_str16le(AVIOContext *pb, int maxlen, char *buf, int buflen);
4155int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen);
4156
4157#define AVIO_FLAG_READ 1
4158#define AVIO_FLAG_WRITE 2
4159#define AVIO_FLAG_READ_WRITE (AVIO_FLAG_READ|AVIO_FLAG_WRITE)
4160
4161#define AVIO_FLAG_NONBLOCK 8
4162
4163#define AVIO_FLAG_DIRECT 0x8000
4164
4165int avio_open(AVIOContext **s, const char *url, int flags);
4166
4167int avio_open2(AVIOContext **s, const char *url, int flags,
4168 const AVIOInterruptCB *int_cb, AVDictionary **options);
4169
4171
4173
4175
4176int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer);
4177
4178const char *avio_enum_protocols(void **opaque, int output);
4179
4180int avio_pause(AVIOContext *h, int pause);
4181
4182int64_t avio_seek_time(AVIOContext *h, int stream_index,
4183 int64_t timestamp, int flags);
4184
4185struct AVFormatContext;
4186
4187struct AVDeviceInfoList;
4188struct AVDeviceCapabilitiesQuery;
4189
4191
4193
4194typedef struct AVFrac {
4195 int64_t val, num, den;
4197
4198struct AVCodecTag;
4199
4200typedef struct AVProbeData {
4201 const char *filename;
4202 unsigned char *buf;
4205
4206#define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4)
4207#define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1)
4208
4209#define AVPROBE_SCORE_EXTENSION 50
4210#define AVPROBE_SCORE_MAX 100
4211
4212#define AVPROBE_PADDING_SIZE 32
4213
4214#define AVFMT_NOFILE 0x0001
4215#define AVFMT_NEEDNUMBER 0x0002
4216#define AVFMT_SHOW_IDS 0x0008
4217#define AVFMT_RAWPICTURE 0x0020
4218
4219#define AVFMT_GLOBALHEADER 0x0040
4220#define AVFMT_NOTIMESTAMPS 0x0080
4221#define AVFMT_GENERIC_INDEX 0x0100
4222#define AVFMT_TS_DISCONT 0x0200
4223#define AVFMT_VARIABLE_FPS 0x0400
4224#define AVFMT_NODIMENSIONS 0x0800
4225#define AVFMT_NOSTREAMS 0x1000
4226#define AVFMT_NOBINSEARCH 0x2000
4227#define AVFMT_NOGENSEARCH 0x4000
4228#define AVFMT_NO_BYTE_SEEK 0x8000
4229#define AVFMT_ALLOW_FLUSH 0x10000
4230#define AVFMT_TS_NONSTRICT 0x20000
4231
4232#define AVFMT_TS_NEGATIVE 0x40000
4233
4234#define AVFMT_SEEK_TO_PTS 0x4000000
4235
4236typedef struct AVOutputFormat {
4237 const char *name;
4238
4239 const char *long_name;
4240 const char *mime_type;
4241 const char *extensions;
4242
4246
4248
4249 const struct AVCodecTag * const *codec_tag;
4250
4252
4254
4256
4258
4259 int (*write_packet)(struct AVFormatContext *, AVPacket *pkt);
4261
4263 AVPacket *in, int flush);
4264
4265 int (*query_codec)(enum AVCodecID id, int std_compliance);
4266
4267 void (*get_output_timestamp)(struct AVFormatContext *s, int stream,
4268 int64_t *dts, int64_t *wall);
4269
4270 int (*control_message)(struct AVFormatContext *s, int type,
4271 void *data, size_t data_size);
4272
4273 int (*write_uncoded_frame)(struct AVFormatContext *, int stream_index,
4274 AVFrame **frame, unsigned flags);
4275
4276 int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
4277
4278 int (*create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps);
4279
4280 int (*free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps);
4282
4283typedef struct AVInputFormat {
4284
4285 const char *name;
4286
4287 const char *long_name;
4288
4290
4291 const char *extensions;
4292
4293 const struct AVCodecTag * const *codec_tag;
4294
4296
4298
4300
4302
4304
4306
4307 int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
4308
4309 int (*read_close)(struct AVFormatContext *);
4310
4312 int stream_index, int64_t timestamp, int flags);
4313
4314 int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
4315 int64_t *pos, int64_t pos_limit);
4316
4317 int (*read_play)(struct AVFormatContext *);
4318
4319 int (*read_pause)(struct AVFormatContext *);
4320
4321 int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
4322
4323 int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list);
4324
4325 int (*create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps);
4326
4327 int (*free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps);
4329
4337
4338};
4339
4340typedef struct AVIndexEntry {
4341 int64_t pos;
4342 int64_t timestamp;
4343
4344#define AVINDEX_KEYFRAME 0x0001
4345 int flags:2;
4346 int size:30;
4349
4350#define AV_DISPOSITION_DEFAULT 0x0001
4351#define AV_DISPOSITION_DUB 0x0002
4352#define AV_DISPOSITION_ORIGINAL 0x0004
4353#define AV_DISPOSITION_COMMENT 0x0008
4354#define AV_DISPOSITION_LYRICS 0x0010
4355#define AV_DISPOSITION_KARAOKE 0x0020
4356
4357#define AV_DISPOSITION_FORCED 0x0040
4358#define AV_DISPOSITION_HEARING_IMPAIRED 0x0080
4359#define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100
4360#define AV_DISPOSITION_CLEAN_EFFECTS 0x0200
4361
4362#define AV_DISPOSITION_ATTACHED_PIC 0x0400
4363
4364#define AV_DISPOSITION_CAPTIONS 0x10000
4365#define AV_DISPOSITION_DESCRIPTIONS 0x20000
4366#define AV_DISPOSITION_METADATA 0x40000
4367
4368#define AV_PTS_WRAP_IGNORE 0
4369#define AV_PTS_WRAP_ADD_OFFSET 1
4370#define AV_PTS_WRAP_SUB_OFFSET -1
4371
4372typedef struct AVStream {
4373 int index;
4374
4375 int id;
4376
4379
4381 struct AVFrac pts;
4382
4384
4385 int64_t start_time;
4386
4387 int64_t duration;
4388
4389 int64_t nb_frames;
4390
4392
4394
4396
4398
4400
4402
4404
4406
4407#define MAX_STD_TIMEBASES (60*12+6)
4408 struct {
4409 int64_t last_dts;
4416
4418
4420
4425
4427
4429
4430 int64_t do_not_use;
4431
4432 int64_t first_dts;
4433 int64_t cur_dts;
4436
4437#define MAX_PROBE_PACKETS 2500
4439
4441
4444
4447#define MAX_REORDER_DELAY 16
4449
4451
4454
4456
4458
4461
4463
4465
4467
4469
4471
4473
4475
4477
4480
4484
4486
4488
4492
4494
4495#define AV_PROGRAM_RUNNING 1
4496
4497typedef struct AVProgram {
4498 int id;
4501 unsigned int *stream_index;
4502 unsigned int nb_stream_indexes;
4504
4508
4509 int64_t start_time;
4510 int64_t end_time;
4511
4515
4516#define AVFMTCTX_NOHEADER 0x0001
4517
4518typedef struct AVChapter {
4519 int id;
4521 int64_t start, end;
4524
4525typedef int (*av_format_control_message)(struct AVFormatContext *s, int type,
4526 void *data, size_t data_size);
4527
4533
4535
4536typedef struct AVFormatContext {
4537
4539
4541
4543
4545
4547
4549
4550 unsigned int nb_streams;
4551
4553
4554 char filename[1024];
4555
4556 int64_t start_time;
4557
4558 int64_t duration;
4559
4561
4562 unsigned int packet_size;
4564
4566#define AVFMT_FLAG_GENPTS 0x0001
4567#define AVFMT_FLAG_IGNIDX 0x0002
4568#define AVFMT_FLAG_NONBLOCK 0x0004
4569#define AVFMT_FLAG_IGNDTS 0x0008
4570#define AVFMT_FLAG_NOFILLIN 0x0010
4571#define AVFMT_FLAG_NOPARSE 0x0020
4572#define AVFMT_FLAG_NOBUFFER 0x0040
4573#define AVFMT_FLAG_CUSTOM_IO 0x0080
4574#define AVFMT_FLAG_DISCARD_CORRUPT 0x0100
4575#define AVFMT_FLAG_FLUSH_PACKETS 0x0200
4576
4577#define AVFMT_FLAG_BITEXACT 0x0400
4578#define AVFMT_FLAG_MP4A_LATM 0x8000
4579#define AVFMT_FLAG_SORT_DTS 0x10000
4580#define AVFMT_FLAG_PRIV_OPT 0x20000
4581#define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000
4582
4583 unsigned int probesize;
4584
4587
4588 const uint8_t *key;
4590
4591 unsigned int nb_programs;
4593
4595
4597
4599
4600 unsigned int max_index_size;
4601
4603
4604 unsigned int nb_chapters;
4606
4608
4610
4612
4614
4616
4618#define FF_FDEBUG_TS 0x0001
4619
4621
4623
4625
4627
4629
4631
4633
4635
4637
4639
4641
4643
4645
4647
4649
4651
4654
4655 int64_t data_offset;
4656
4659
4662
4663#define RAW_PACKET_BUFFER_SIZE 2500000
4665
4666 int64_t offset;
4667
4669
4671
4673
4675
4677
4679
4681
4682 void *opaque;
4683
4685
4687
4690
4704
4706
4708
4709typedef struct AVPacketList {
4713
4714unsigned avformat_version(void);
4715
4716const char *avformat_configuration(void);
4717
4718const char *avformat_license(void);
4719
4721
4724
4726
4728
4730
4732
4734
4736
4738
4740
4742 enum AVPacketSideDataType type, int *size);
4743
4745
4748 AVOutputFormat *oformat,
4749 const char *filename);
4750
4752 const char *format_name, const char *filename);
4753
4754AVInputFormat *av_find_input_format(const char *short_name);
4755
4757
4758AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max);
4759
4760AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret);
4761
4763 const char *filename, void *logctx,
4764 unsigned int offset, unsigned int max_probe_size);
4765
4767 const char *filename, void *logctx,
4768 unsigned int offset, unsigned int max_probe_size);
4769
4770int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);
4771
4774
4777
4779
4781
4783 enum AVMediaType type,
4784 int wanted_stream_nb,
4785 int related_stream,
4786 AVCodec **decoder_ret,
4787 int flags);
4788
4791
4793
4794int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
4795 int flags);
4796
4797int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
4798
4800
4802
4805
4807
4810
4812void av_set_pts_info(AVStream *s, int pts_wrap_bits,
4813 unsigned int pts_num, unsigned int pts_den);
4814
4815#define AVSEEK_FLAG_BACKWARD 1
4816#define AVSEEK_FLAG_BYTE 2
4817#define AVSEEK_FLAG_ANY 4
4818#define AVSEEK_FLAG_FRAME 8
4819
4821
4823
4825
4827 AVFrame *frame);
4828
4830 AVFrame *frame);
4831
4833
4835
4836AVOutputFormat *av_guess_format(const char *short_name,
4837 const char *filename,
4838 const char *mime_type);
4839
4840enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
4841 const char *filename, const char *mime_type,
4842 enum AVMediaType type);
4843
4845 int64_t *dts, int64_t *wall);
4846
4847void av_hex_dump(FILE *f, const uint8_t *buf, int size);
4848
4849void av_hex_dump_log(void *avcl, int level, const uint8_t *buf, int size);
4850
4851void av_pkt_dump2(FILE *f, const AVPacket *pkt, int dump_payload, const AVStream *st);
4852
4853void av_pkt_dump_log2(void *avcl, int level, const AVPacket *pkt, int dump_payload,
4854 const AVStream *st);
4855
4856enum AVCodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag);
4857
4858unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum AVCodecID id);
4859
4860int av_codec_get_tag2(const struct AVCodecTag * const *tags, enum AVCodecID id,
4861 unsigned int *tag);
4862
4864
4865int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);
4866
4867int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp,
4868 int size, int distance, int flags);
4869
4870void av_url_split(char *proto, int proto_size,
4871 char *authorization, int authorization_size,
4872 char *hostname, int hostname_size,
4873 int *port_ptr,
4874 char *path, int path_size,
4875 const char *url);
4876
4878 int index,
4879 const char *url,
4880 int is_output);
4881
4882int av_get_frame_filename(char *buf, int buf_size,
4883 const char *path, int number);
4884
4885int av_filename_number_test(const char *filename);
4886
4887int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size);
4888
4889int av_match_ext(const char *filename, const char *extensions);
4890
4891int avformat_query_codec(AVOutputFormat *ofmt, enum AVCodecID codec_id, int std_compliance);
4892
4893const struct AVCodecTag *avformat_get_riff_video_tags(void);
4894
4895const struct AVCodecTag *avformat_get_riff_audio_tags(void);
4896
4897const struct AVCodecTag *avformat_get_mov_video_tags(void);
4898
4899const struct AVCodecTag *avformat_get_mov_audio_tags(void);
4900
4902
4904
4906 const char *spec);
4907
4909
4910#define AVUTIL_FIFO_H
4911
4912typedef struct AVFifoBuffer {
4913 uint8_t *buffer;
4914 uint8_t *rptr, *wptr, *end;
4915 uint32_t rndx, wndx;
4917
4919
4921
4923
4925
4927
4929
4931
4932int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int));
4933
4934int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int));
4935
4936int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size);
4937
4938int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space);
4939
4941
4942static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs)
4943{
4944 uint8_t *ptr = f->rptr + offs;
4945 if (ptr >= f->end)
4946 ptr = f->buffer + (ptr - f->end);
4947 else if (ptr < f->buffer)
4948 ptr = f->end - (f->buffer - ptr);
4949 return ptr;
4950}
4951
#define str(a)
const TranslatableString name
Definition: Distortion.cpp:76
struct AVDictionary AVDictionary
Definition: FFmpegTypes.h:117
struct AVBuffer AVBuffer
Definition: FFmpegTypes.h:179
static const AudacityProject::AttachedObjects::RegisteredFactory key
int id
AVBufferRef * av_buffer_allocz(int size)
int av_get_standard_channel_layout(unsigned index, uint64_t *layout, const char **name)
struct ReSampleContext ReSampleContext
void av_frame_set_decode_error_flags(AVFrame *frame, int val)
int avio_get_str16be(AVIOContext *pb, int maxlen, char *buf, int buflen)
enum AVColorSpace av_frame_get_colorspace(const AVFrame *frame)
void av_fifo_drain(AVFifoBuffer *f, int size)
int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
int av_frame_get_pkt_size(const AVFrame *frame)
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
struct AVIOContext AVIOContext
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
int av_dup_packet(AVPacket *pkt)
int av_buffer_is_writable(const AVBufferRef *buf)
attribute_deprecated void audio_resample_close(ReSampleContext *s)
int av_get_channel_layout_channel_index(uint64_t channel_layout, uint64_t channel)
int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt)
void av_force_cpu_flags(int flags)
int av_get_bits_per_sample(enum AVCodecID codec_id)
int url_feof(AVIOContext *s)
void avio_wl64(AVIOContext *s, uint64_t val)
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
void av_frame_unref(AVFrame *frame)
void av_format_set_opaque(AVFormatContext *s, void *opaque)
int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt)
int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc)
AVCodec * av_format_get_subtitle_codec(const AVFormatContext *s)
void av_free(void *ptr)
void av_freep(void *ptr)
AVFrameSideData * av_frame_get_side_data(const AVFrame *frame, enum AVFrameSideDataType type)
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
void * av_fast_realloc(void *ptr, unsigned int *size, size_t min_size)
int av_append_packet(AVIOContext *s, AVPacket *pkt, int size)
AVRational av_guess_sample_aspect_ratio(AVFormatContext *format, AVStream *stream, AVFrame *frame)
static av_always_inline av_const int av_popcount64_c(uint64_t x)
int av_codec_get_seek_preroll(const AVCodecContext *avctx)
int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options)
av_const int av_log2(unsigned v)
int av_nearer_q(AVRational q, AVRational q1, AVRational q2)
struct AVProgram AVProgram
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
static av_always_inline uint32_t av_float2int(float f)
unsigned int av_codec_get_tag(const struct AVCodecTag *const *tags, enum AVCodecID id)
void av_frame_set_pkt_size(AVFrame *frame, int val)
struct AVPicture AVPicture
AVProgram * av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s)
AVRational av_guess_frame_rate(AVFormatContext *ctx, AVStream *stream, AVFrame *frame)
void av_frame_remove_side_data(AVFrame *frame, enum AVFrameSideDataType type)
void av_buffer_unref(AVBufferRef **buf)
struct AVBufferPool AVBufferPool
void av_log_set_callback(void(*callback)(void *, int, const char *, va_list))
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
uint64_t avio_rb64(AVIOContext *s)
int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b)
struct AVBitStreamFilter AVBitStreamFilter
int av_reallocp(void *ptr, size_t size)
void avio_wl32(AVIOContext *s, unsigned int val)
int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
#define MKTAG(a, b, c, d)
const char * avutil_license(void)
#define MAX_REORDER_DELAY
int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int avio_pause(AVIOContext *h, int pause)
struct AVFrameSideData AVFrameSideData
attribute_deprecated AVStream * av_new_stream(AVFormatContext *s, int id)
void avio_wl16(AVIOContext *s, unsigned int val)
void av_dict_free(AVDictionary **m)
int avio_put_str(AVIOContext *s, const char *str)
int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
void avio_w8(AVIOContext *s, int b)
#define MKBETAG(a, b, c, d)
const char * av_default_item_name(void *ctx)
struct AVPacketSideData AVPacketSideData
attribute_deprecated void void av_register_hwaccel(AVHWAccel *hwaccel)
const char * av_get_media_type_string(enum AVMediaType media_type)
void avio_wb32(AVIOContext *s, unsigned int val)
@ AVCHROMA_LOC_UNSPECIFIED
size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag)
void av_log_set_level(int level)
enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
struct AVFrac AVFrac
AVDictionaryEntry * av_dict_get(FF_CONST_AVUTIL53 AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
const AVClass * avcodec_get_class(void)
static char * av_make_error_string(char *errbuf, size_t errbuf_size, int errnum)
AVHWAccel * av_hwaccel_next(AVHWAccel *hwaccel)
void avio_wb16(AVIOContext *s, unsigned int val)
void av_max_alloc(size_t max)
attribute_deprecated int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVFrame *pict)
#define FF_CONST_AVUTIL53
AVBufferPool * av_buffer_pool_init(int size, AVBufferRef *(*alloc)(int size))
int avformat_network_deinit(void)
const char * avformat_configuration(void)
AVBitStreamFilter * av_bitstream_filter_next(AVBitStreamFilter *f)
struct AVIndexEntry AVIndexEntry
struct AVCodecDefault AVCodecDefault
enum AVCodecID av_codec_get_id(const struct AVCodecTag *const *tags, unsigned int tag)
int av_read_pause(AVFormatContext *s)
attribute_deprecated int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt)
#define av_always_inline
attribute_deprecated void av_resample_close(struct AVResampleContext *c)
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb)
void av_fast_malloc(void *ptr, unsigned int *size, size_t min_size)
struct AVPanScan AVPanScan
AVCodec * avcodec_find_decoder(enum AVCodecID id)
uint8_t * av_packet_pack_dictionary(AVDictionary *dict, int *size)
int av_codec_is_encoder(const AVCodec *codec)
void av_frame_set_sample_rate(AVFrame *frame, int val)
struct AVStream AVStream
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
static av_always_inline float av_int2float(uint32_t i)
AVIOContext * avio_alloc_context(unsigned char *buffer, int buffer_size, int write_flag, void *opaque, int(*read_packet)(void *opaque, uint8_t *buf, int buf_size), int(*write_packet)(void *opaque, uint8_t *buf, int buf_size), int64_t(*seek)(void *opaque, int64_t offset, int whence))
AVRational av_add_q(AVRational b, AVRational c) av_const
int64_t av_frame_get_pkt_pos(const AVFrame *frame)
void av_fifo_reset(AVFifoBuffer *f)
static av_always_inline int av_sat_add32_c(int a, int b)
struct AVSubtitle AVSubtitle
void * av_dynarray2_add(void **tab_ptr, int *nb_ptr, size_t elem_size, const uint8_t *elem_data)
static av_always_inline av_const int8_t av_clip_int8_c(int a)
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
const char * av_get_channel_description(uint64_t channel)
AVCodec * avcodec_find_encoder_by_name(const char *name)
struct AVFifoBuffer AVFifoBuffer
attribute_deprecated void av_set_cpu_flags_mask(int mask)
const AVClass * avcodec_get_subtitle_rect_class(void)
void av_parser_close(AVCodecParserContext *s)
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
AVProgram * av_new_program(AVFormatContext *s, int id)
AVInputFormat * av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret)
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[AV_NUM_DATA_POINTERS])
int avcodec_default_execute2(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
static int av_size_mult(size_t a, size_t b, size_t *r)
int avio_open(AVIOContext **s, const char *url, int flags)
int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt)
int64_t avio_size(AVIOContext *s)
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
void av_buffer_default_free(void *opaque, uint8_t *data)
unsigned int avio_rb16(AVIOContext *s)
void av_dynarray_add(void *tab_ptr, int *nb_ptr, void *elem)
int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
int avio_get_str16le(AVIOContext *pb, int maxlen, char *buf, int buflen)
AVCodec * av_codec_next(const AVCodec *c)
AVCodec * avcodec_find_decoder_by_name(const char *name)
int av_frame_get_sample_rate(const AVFrame *frame)
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
int av_frame_is_writable(AVFrame *frame)
void av_format_set_audio_codec(AVFormatContext *s, AVCodec *c)
int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const
void * av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1)
uint64_t av_get_channel_layout(const char *name)
void av_memcpy_backptr(uint8_t *dst, int back, int cnt)
int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp, int size, int distance, int flags)
attribute_deprecated int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic)
attribute_deprecated void av_set_pts_info(AVStream *s, int pts_wrap_bits, unsigned int pts_num, unsigned int pts_den)
AVRational av_mul_q(AVRational b, AVRational c) av_const
int av_frame_set_qp_table(AVFrame *f, AVBufferRef *buf, int stride, int type)
@ AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT
@ AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT
@ AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE
@ AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS
attribute_deprecated int av_find_stream_info(AVFormatContext *ic)
const char * av_get_colorspace_name(enum AVColorSpace val)
void av_frame_set_colorspace(AVFrame *frame, enum AVColorSpace val)
FILE * av_fopen_utf8(const char *path, const char *mode)
int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space)
attribute_deprecated void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic)
void av_format_set_video_codec(AVFormatContext *s, AVCodec *c)
static av_always_inline av_const int av_clip_c(int a, int amin, int amax)
static uint8_t * av_fifo_peek2(const AVFifoBuffer *f, int offs)
void av_pkt_dump2(FILE *f, const AVPacket *pkt, int dump_payload, const AVStream *st)
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height)
void av_bprint_channel_layout(struct AVBPrint *bp, int nb_channels, uint64_t channel_layout)
attribute_deprecated int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples)
#define av_printf_format(fmtpos, attrpos)
struct RcOverride RcOverride
int av_samples_alloc(uint8_t **audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
attribute_deprecated void avcodec_set_dimensions(AVCodecContext *s, int width, int height)
AVInputFormat * av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max)
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
int av_read_frame(AVFormatContext *s, AVPacket *pkt)
int avio_put_str16le(AVIOContext *s, const char *str)
int avformat_queue_attached_pictures(AVFormatContext *s)
void av_register_bitstream_filter(AVBitStreamFilter *bsf)
struct AVProbeData AVProbeData
#define av_popcount
struct AVClass AVClass
void av_hex_dump_log(void *avcl, int level, const uint8_t *buf, int size)
struct AVCodecParserContext AVCodecParserContext
attribute_deprecated int av_parse_cpu_flags(const char *s)
int av_strerror(int errnum, char *errbuf, size_t errbuf_size)
AVInputFormat * av_iformat_next(AVInputFormat *f)
void * av_realloc_f(void *ptr, size_t nelem, size_t elsize)
void av_log_default_callback(void *avcl, int level, const char *fmt, va_list vl)
void av_packet_free_side_data(AVPacket *pkt)
void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val)
int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size)
const char * avutil_configuration(void)
AVFifoBuffer * av_fifo_alloc(unsigned int size)
int av_write_uncoded_frame_query(AVFormatContext *s, int stream_index)
int av_samples_copy(uint8_t **dst, uint8_t *const *src, int dst_offset, int src_offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt)
int void avio_flush(AVIOContext *s)
void av_fifo_freep(AVFifoBuffer **f)
attribute_deprecated ReSampleContext * av_audio_resample_init(int output_channels, int input_channels, int output_rate, int input_rate, enum AVSampleFormat sample_fmt_out, enum AVSampleFormat sample_fmt_in, int filter_length, int log2_phase_count, int linear, double cutoff)
static av_always_inline int64_t avio_tell(AVIOContext *s)
void av_url_split(char *proto, int proto_size, char *authorization, int authorization_size, char *hostname, int hostname_size, int *port_ptr, char *path, int path_size, const char *url)
void av_packet_unref(AVPacket *pkt)
int av_find_nearest_q_idx(AVRational q, const AVRational *q_list)
enum AVSampleFormat av_get_sample_fmt(const char *name)
int av_get_output_timestamp(struct AVFormatContext *s, int stream, int64_t *dts, int64_t *wall)
attribute_deprecated int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic)
char * av_strdup(const char *s) av_malloc_attrib
int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
int av_samples_fill_arrays(uint8_t **audio_data, int *linesize, const uint8_t *buf, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int64_t pts, int64_t dts, int64_t pos)
int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size)
int av_frame_get_buffer(AVFrame *frame, int align)
void av_frame_set_pkt_pos(AVFrame *frame, int64_t val)
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
void void av_vlog(void *avcl, int level, const char *fmt, va_list vl)
int av_codec_is_decoder(const AVCodec *codec)
int avformat_alloc_output_context2(AVFormatContext **ctx, AVOutputFormat *oformat, const char *format_name, const char *filename)
struct AVRational AVRational
int av_samples_set_silence(uint8_t **audio_data, int offset, int nb_samples, int nb_channels, enum AVSampleFormat sample_fmt)
const AVCodecDescriptor * av_codec_get_codec_descriptor(const AVCodecContext *avctx)
void av_frame_move_ref(AVFrame *dst, AVFrame *src)
static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
attribute_deprecated int av_demuxer_open(AVFormatContext *ic)
AVCodecParserContext * av_parser_init(int codec_id)
unsigned int avio_rl16(AVIOContext *s)
static av_always_inline av_const int av_popcount_c(uint32_t x)
int av_read_play(AVFormatContext *s)
struct AVDictionaryEntry AVDictionaryEntry
int av_grow_packet(AVPacket *pkt, int grow_by)
attribute_deprecated void av_destruct_packet(AVPacket *pkt)
static AVRational av_make_q(int num, int den)
enum AVSampleFormat av_get_packed_sample_fmt(enum AVSampleFormat sample_fmt)
unsigned av_int_list_length_for_size(unsigned elsize, const void *list, uint64_t term) av_pure
int avformat_write_header(AVFormatContext *s, AVDictionary **options)
int avio_printf(AVIOContext *s, const char *fmt,...) av_printf_format(2
AVClassCategory av_default_get_category(void *ptr)
#define MAX_STD_TIMEBASES
struct AVBufferRef AVBufferRef
int av_buffer_get_ref_count(const AVBufferRef *buf)
void av_codec_set_seek_preroll(AVCodecContext *avctx, int val)
void av_buffer_pool_uninit(AVBufferPool **pool)
struct AVFormatInternal AVFormatInternal
@ AVFMT_DURATION_FROM_BITRATE
@ AVFMT_DURATION_FROM_STREAM
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
static av_always_inline av_const float av_clipf_c(float a, float amin, float amax)
AVRational av_stream_get_r_frame_rate(const AVStream *s)
AVRational av_d2q(double d, int max) av_const
int avformat_match_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)
int av_write_trailer(AVFormatContext *s)
int av_packet_split_side_data(AVPacket *pkt)
int(* av_format_control_message)(struct AVFormatContext *s, int type, void *data, size_t data_size)
void avio_wb24(AVIOContext *s, unsigned int val)
AVDictionary ** avpriv_frame_get_metadatap(AVFrame *frame)
uint8_t * av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int *size)
int av_match_ext(const char *filename, const char *extensions)
void av_register_codec_parser(AVCodecParser *parser)
enum AVColorRange av_frame_get_color_range(const AVFrame *frame)
enum AVSampleFormat av_get_planar_sample_fmt(enum AVSampleFormat sample_fmt)
int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, const AVPacket *avpkt)
int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
int avformat_network_init(void)
#define av_clipl_int32
int av_parse_cpu_caps(unsigned *flags, const char *s)
void av_frame_set_color_range(AVFrame *frame, enum AVColorRange val)
const char * avio_enum_protocols(void **opaque, int output)
static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p)
int av_log_get_flags(void)
void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
#define av_sat_add32
int64_t av_frame_get_pkt_duration(const AVFrame *frame)
struct AVCodec AVCodec
void avcodec_register(AVCodec *codec)
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
int av_frame_ref(AVFrame *dst, const AVFrame *src)
struct AVFormatContext AVFormatContext
AVFifoBuffer * av_fifo_alloc_array(size_t nmemb, size_t size)
void av_register_input_format(AVInputFormat *format)
void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
av_const int av_log2_16bit(unsigned v)
struct AVIOInterruptCB AVIOInterruptCB
const struct AVCodecTag * avformat_get_mov_audio_tags(void)
void av_frame_set_best_effort_timestamp(AVFrame *frame, int64_t val)
const struct AVCodecTag * avformat_get_riff_audio_tags(void)
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
attribute_deprecated void av_log_missing_feature(void *avc, const char *feature, int want_sample)
enum AVSampleFormat av_get_alt_sample_fmt(enum AVSampleFormat sample_fmt, int planar)
int av_dynarray_add_nofree(void *tab_ptr, int *nb_ptr, void *elem)
int avio_close_dyn_buf(AVIOContext *s, uint8_t **pbuffer)
int avcodec_is_open(AVCodecContext *s)
AVOutputFormat * av_oformat_next(AVOutputFormat *f)
attribute_deprecated void av_log_ask_for_sample(void *avc, const char *msg,...) av_printf_format(2
int av_get_frame_filename(char *buf, int buf_size, const char *path, int number)
void av_register_all(void)
int av_copy_packet(AVPacket *dst, const AVPacket *src)
AVBufferRef * av_frame_get_plane_buffer(AVFrame *frame, int plane)
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
static double av_q2d(AVRational a)
int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
int64_t av_const av_gcd(int64_t a, int64_t b)
struct AVPacket AVPacket
uint16_t * av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx)
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
const struct AVCodecTag * avformat_get_mov_video_tags(void)
void av_frame_free(AVFrame **frame)
attribute_deprecated void avcodec_get_frame_defaults(AVFrame *frame)
AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
void av_get_channel_layout_string(char *buf, int buf_size, int nb_channels, uint64_t channel_layout)
int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt)
static av_always_inline av_const double av_clipd_c(double a, double amin, double amax)
@ AV_PKT_DATA_STRINGS_METADATA
@ AV_PKT_DATA_SKIP_SAMPLES
@ AV_PKT_DATA_H263_MB_INFO
@ AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL
@ AV_PKT_DATA_WEBVTT_SETTINGS
@ AV_PKT_DATA_METADATA_UPDATE
@ AV_PKT_DATA_SUBTITLE_POSITION
@ AV_PKT_DATA_DISPLAYMATRIX
@ AV_PKT_DATA_NEW_EXTRADATA
@ AV_PKT_DATA_PARAM_CHANGE
@ AV_PKT_DATA_WEBVTT_IDENTIFIER
@ AVMEDIA_TYPE_ATTACHMENT
@ AVMEDIA_TYPE_SUBTITLE
@ AVMEDIA_TYPE_UNKNOWN
void avio_wb64(AVIOContext *s, uint64_t val)
@ AV_PIX_FMT_BAYER_GBRG8
@ AV_PIX_FMT_YUV444P16BE
@ AV_PIX_FMT_BGRA64BE_LIBAV
@ AV_PIX_FMT_YUV420P16BE
@ AV_PIX_FMT_YUVA420P9BE
@ AV_PIX_FMT_YUV420P14LE
@ AV_PIX_FMT_RGBA64LE_LIBAV
@ AV_PIX_FMT_YUVA444P9LE
@ AV_PIX_FMT_YUVA444P10LE
@ AV_PIX_FMT_YUV444P14BE
@ AV_PIX_FMT_YUVA420P10BE
@ AV_PIX_FMT_BAYER_GRBG16LE
@ PIX_FMT_XVMC_MPEG2_IDCT
@ AV_PIX_FMT_VDPAU_MPEG1
@ AV_PIX_FMT_YUVA422P9LE
@ AV_PIX_FMT_VDPAU_MPEG4
@ AV_PIX_FMT_XVMC_MPEG2_MC
@ AV_PIX_FMT_YUVA420P10LE
@ AV_PIX_FMT_YUVA444P_LIBAV
@ AV_PIX_FMT_YUVA422P_LIBAV
@ AV_PIX_FMT_YUV422P10BE
@ AV_PIX_FMT_YUVA422P10LE
@ AV_PIX_FMT_YUV420P10LE
@ AV_PIX_FMT_YUV422P16LE
@ AV_PIX_FMT_YUV420P14BE
@ AV_PIX_FMT_YUV444P14LE
@ AV_PIX_FMT_BAYER_RGGB16LE
@ AV_PIX_FMT_YUVA444P9BE
@ AV_PIX_FMT_YUV422P12LE
@ AV_PIX_FMT_YUV444P10BE
@ AV_PIX_FMT_YUVA420P9LE
@ AV_PIX_FMT_BAYER_GRBG8
@ AV_PIX_FMT_YUVA444P16LE
@ AV_PIX_FMT_YUVA422P10BE
@ AV_PIX_FMT_YUVA422P16BE
@ AV_PIX_FMT_RGBA64BE_LIBAV
@ AV_PIX_FMT_BAYER_BGGR16BE
@ AV_PIX_FMT_VDPAU_MPEG2
@ AV_PIX_FMT_YUVA420P16LE
@ AV_PIX_FMT_BGRA64LE_LIBAV
@ AV_PIX_FMT_YUVA420P16BE
@ AV_PIX_FMT_YUV420P12LE
@ AV_PIX_FMT_BAYER_RGGB16BE
@ AV_PIX_FMT_YUV422P10LE
@ AV_PIX_FMT_BAYER_GRBG16BE
@ AV_PIX_FMT_YUV420P12BE
@ AV_PIX_FMT_YUV422P16BE
@ AV_PIX_FMT_BAYER_GBRG16LE
@ AV_PIX_FMT_XVMC_MPEG2_IDCT
@ AV_PIX_FMT_YUV422P14LE
@ AV_PIX_FMT_BAYER_BGGR16LE
@ AV_PIX_FMT_YUV420P10BE
@ AV_PIX_FMT_YUVA444P10BE
@ AV_PIX_FMT_YUV444P16LE
@ AV_PIX_FMT_YUV422P14BE
@ AV_PIX_FMT_BAYER_GBRG16BE
@ AV_PIX_FMT_YUV444P12BE
@ AV_PIX_FMT_YUVA444P16BE
@ AV_PIX_FMT_YUVA422P16LE
@ AV_PIX_FMT_BAYER_RGGB8
@ AV_PIX_FMT_YUVA422P9BE
@ AV_PIX_FMT_YUV444P10LE
@ AV_PIX_FMT_YUV422P12BE
@ AV_PIX_FMT_BAYER_BGGR8
@ AV_PIX_FMT_YUV420P16LE
@ AV_PIX_FMT_YUV444P12LE
unsigned avutil_version(void)
const char * avformat_license(void)
int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt, int padtop, int padbottom, int padleft, int padright, int *color)
unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt)
int av_buffer_make_writable(AVBufferRef **buf)
int avcodec_default_execute(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
int av_get_packet(AVIOContext *s, AVPacket *pkt, int size)
enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
#define av_const
struct AVBitStreamFilterContext AVBitStreamFilterContext
AVCodecParser * av_parser_next(AVCodecParser *c)
void avio_wl24(AVIOContext *s, unsigned int val)
const char * av_get_channel_name(uint64_t channel)
int64_t avio_skip(AVIOContext *s, int64_t offset)
int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size)
struct AVCodecDescriptor AVCodecDescriptor
void avsubtitle_free(AVSubtitle *sub)
int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
void av_format_inject_global_side_data(AVFormatContext *s)
void * av_memdup(const void *p, size_t size)
int avio_check(const char *url, int flags)
static int av_cmp_q(AVRational a, AVRational b)
static av_always_inline av_const int64_t av_clip64_c(int64_t a, int64_t amin, int64_t amax)
void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
void * av_buffer_get_opaque(const AVBufferRef *buf)
#define attribute_deprecated
int av_find_best_stream(AVFormatContext *ic, enum AVMediaType type, int wanted_stream_nb, int related_stream, AVCodec **decoder_ret, int flags)
int av_samples_get_buffer_size(int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
void av_stream_set_r_frame_rate(AVStream *s, AVRational r)
int av_write_frame(AVFormatContext *s, AVPacket *pkt)
attribute_deprecated void av_close_input_file(AVFormatContext *s)
attribute_deprecated AVFrame * avcodec_alloc_frame(void)
int av_write_uncoded_frame(AVFormatContext *s, int stream_index, AVFrame *frame)
void av_pkt_dump_log2(void *avcl, int level, const AVPacket *pkt, int dump_payload, const AVStream *st)
const char * avcodec_get_name(enum AVCodecID id)
struct AVInputFormat AVInputFormat
@ AV_PICTURE_STRUCTURE_FRAME
@ AV_PICTURE_STRUCTURE_BOTTOM_FIELD
@ AV_PICTURE_STRUCTURE_TOP_FIELD
@ AV_PICTURE_STRUCTURE_UNKNOWN
attribute_deprecated unsigned avcodec_get_edge_width(void)
int av_find_default_stream_index(AVFormatContext *s)
@ AV_CODEC_ID_FIRST_SUBTITLE
@ AV_CODEC_ID_HDMV_PGS_SUBTITLE
@ AV_CODEC_ID_DVB_SUBTITLE
@ AV_CODEC_ID_ADPCM_IMA_WS
@ AV_CODEC_ID_PCM_S16BE_PLANAR
@ AV_CODEC_ID_ADPCM_IMA_OKI
@ AV_CODEC_ID_ADPCM_IMA_EA_EACS
@ AV_CODEC_ID_MOTIONPIXELS
@ AV_CODEC_ID_ESCAPE130_DEPRECATED
@ AV_CODEC_ID_PCM_S32LE_PLANAR
@ AV_CODEC_ID_DVD_SUBTITLE
@ CODEC_ID_MPEG2VIDEO_XVMC
@ AV_CODEC_ID_ADPCM_SBPRO_2
@ AV_CODEC_ID_DSD_MSBF_PLANAR
@ AV_CODEC_ID_PCM_S24LE_PLANAR_DEPRECATED
@ AV_CODEC_ID_ADPCM_IMA_EA_SEAD
@ AV_CODEC_ID_PCM_S32LE_PLANAR_DEPRECATED
@ AV_CODEC_ID_ADPCM_VIMA_DEPRECATED
@ AV_CODEC_ID_DSD_LSBF_PLANAR
@ AV_CODEC_ID_PCM_S24LE_PLANAR
@ AV_CODEC_ID_INTERPLAY_DPCM
@ AV_CODEC_ID_ADPCM_YAMAHA
@ AV_CODEC_ID_FIRST_UNKNOWN
@ AV_CODEC_ID_ADPCM_SBPRO_3
@ AV_CODEC_ID_PAF_AUDIO_DEPRECATED
@ AV_CODEC_ID_ADPCM_G726LE
@ AV_CODEC_ID_ADPCM_IMA_ISS
@ AV_CODEC_ID_WEBP_DEPRECATED
@ AV_CODEC_ID_WESTWOOD_SND1
@ AV_CODEC_ID_BINKAUDIO_DCT
@ AV_CODEC_ID_EXR_DEPRECATED
@ AV_CODEC_ID_INTERPLAY_VIDEO
@ AV_CODEC_ID_ADPCM_SBPRO_4
@ AV_CODEC_ID_SANM_DEPRECATED
@ AV_CODEC_ID_ADPCM_EA_MAXIS_XA
@ CODEC_ID_HDMV_PGS_SUBTITLE
@ AV_CODEC_ID_MPEG2VIDEO_XVMC
@ AV_CODEC_ID_VP7_DEPRECATED
@ CODEC_ID_INTERPLAY_VIDEO
@ AV_CODEC_ID_ADPCM_IMA_APC
@ AV_CODEC_ID_COMFORT_NOISE
@ AV_CODEC_ID_TIERTEXSEQVIDEO
@ AV_CODEC_ID_ADPCM_IMA_AMV
@ AV_CODEC_ID_ADPCM_EA_XAS
@ CODEC_ID_ADPCM_IMA_SMJPEG
@ AV_CODEC_ID_OPUS_DEPRECATED
@ AV_CODEC_ID_IFF_BYTERUN1
@ AV_CODEC_ID_MVC1_DEPRECATED
@ AV_CODEC_ID_BRENDER_PIX_DEPRECATED
@ AV_CODEC_ID_ADPCM_IMA_DK4
@ AV_CODEC_ID_ADPCM_IMA_DK3
@ AV_CODEC_ID_ADPCM_IMA_QT
@ CODEC_ID_PCM_S16LE_PLANAR
@ AV_CODEC_ID_HEVC_DEPRECATED
@ CODEC_ID_ADPCM_IMA_EA_SEAD
@ AV_CODEC_ID_ADPCM_IMA_SMJPEG
@ AV_CODEC_ID_TAK_DEPRECATED
@ AV_CODEC_ID_G2M_DEPRECATED
@ CODEC_ID_ADPCM_EA_MAXIS_XA
@ AV_CODEC_ID_DVB_TELETEXT
@ AV_CODEC_ID_ADPCM_IMA_WAV
@ AV_CODEC_ID_BINKAUDIO_RDFT
@ AV_CODEC_ID_PCM_S16LE_PLANAR
@ CODEC_ID_ADPCM_IMA_EA_EACS
@ AV_CODEC_ID_MPEG4SYSTEMS
@ AV_CODEC_ID_ADPCM_IMA_RAD
@ AV_CODEC_ID_SGIRLE_DEPRECATED
@ CODEC_ID_TIERTEXSEQVIDEO
@ AV_CODEC_ID_PAF_VIDEO_DEPRECATED
@ AV_CODEC_ID_PCM_S8_PLANAR
@ AV_CODEC_ID_MVC2_DEPRECATED
static av_always_inline av_const int16_t av_clip_int16_c(int a)
static void * av_x_if_null(const void *p, const void *x)
AVFormatContext * avformat_alloc_context(void)
attribute_deprecated AVFormatContext * avformat_alloc_output_context(const char *format, AVOutputFormat *oformat, const char *filename)
#define AV_PARSER_PTS_NB
attribute_deprecated int av_read_packet(AVFormatContext *s, AVPacket *pkt)
int av_fifo_space(FF_CONST_AVUTIL53 AVFifoBuffer *f)
AVBufferRef * av_buffer_alloc(int size)
void av_hex_dump(FILE *f, const uint8_t *buf, int size)
static av_always_inline AVRational av_inv_q(AVRational q)
int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void(*func)(void *, void *, int))
int av_fifo_size(FF_CONST_AVUTIL53 AVFifoBuffer *f)
AVRational av_get_time_base_q(void)
AVBufferRef * av_buffer_ref(AVBufferRef *buf)
attribute_deprecated const uint8_t av_reverse[256]
int av_frame_copy_props(AVFrame *dst, const AVFrame *src)
struct AVChapter AVChapter
void * av_malloc(size_t size) av_malloc_attrib av_alloc_size(1)
int avio_read(AVIOContext *s, unsigned char *buf, int size)
AVBufferRef * av_buffer_pool_get(AVBufferPool *pool)
void av_format_set_control_message_cb(AVFormatContext *s, av_format_control_message callback)
unsigned int avio_rl32(AVIOContext *s)
AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
void av_log(void *avcl, int level, const char *fmt,...) av_printf_format(3
@ AV_MATRIX_ENCODING_DPLIIX
@ AV_MATRIX_ENCODING_DOLBY
@ AV_MATRIX_ENCODING_DPLII
@ AV_MATRIX_ENCODING_DPLIIZ
@ AV_MATRIX_ENCODING_DOLBYEX
@ AV_MATRIX_ENCODING_DOLBYHEADPHONE
AVInputFormat * av_find_input_format(const char *short_name)
attribute_deprecated struct AVResampleContext * av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff)
int av_codec_get_tag2(const struct AVCodecTag *const *tags, enum AVCodecID id, unsigned int *tag)
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
int avio_get_str(AVIOContext *pb, int maxlen, char *buf, int buflen)
void av_register_output_format(AVOutputFormat *format)
const char * avcodec_license(void)
AVCodec * av_format_get_audio_codec(const AVFormatContext *s)
int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq, enum AVRounding) av_const
AVFrameSideData * av_frame_new_side_data(AVFrame *frame, enum AVFrameSideDataType type, int size)
int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
int av_filename_number_test(const char *filename)
int av_frame_get_channels(const AVFrame *frame)
void avformat_free_context(AVFormatContext *s)
const AVClass * avcodec_get_frame_class(void)
unsigned int avio_rl24(AVIOContext *s)
void av_fifo_free(AVFifoBuffer *f)
int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags)
AVCodec * av_format_get_video_codec(const AVFormatContext *s)
attribute_deprecated int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, AVPacket *avpkt)
AVOutputFormat * av_guess_format(const char *short_name, const char *filename, const char *mime_type)
AVRational av_sub_q(AVRational b, AVRational c) av_const
enum AVDurationEstimationMethod av_fmt_ctx_get_duration_estimation_method(const AVFormatContext *ctx)
int av_frame_get_decode_error_flags(const AVFrame *frame)
AVFrame * av_frame_alloc(void)
int av_buffer_realloc(AVBufferRef **buf, int size)
int av_get_channel_layout_nb_channels(uint64_t channel_layout)
uint8_t * av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
void av_init_packet(AVPacket *pkt)
struct AVCodecContext AVCodecContext
int av_dict_parse_string(AVDictionary **pm, const char *str, const char *key_val_sep, const char *pairs_sep, int flags)
void av_dict_copy(AVDictionary **dst, FF_CONST_AVUTIL53 AVDictionary *src, int flags)
int64_t av_get_default_channel_layout(int nb_channels)
int64_t av_frame_get_best_effort_timestamp(const AVFrame *frame)
char av_get_picture_type_char(enum AVPictureType pict_type)
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
attribute_deprecated void avcodec_free_frame(AVFrame **frame)
void * av_realloc(void *ptr, size_t size) av_alloc_size(2)
void av_frame_set_metadata(AVFrame *frame, AVDictionary *val)
void av_shrink_packet(AVPacket *pkt, int size)
attribute_deprecated int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx)
const AVCodecDescriptor * avcodec_descriptor_next(const AVCodecDescriptor *prev)
int64_t av_frame_get_channel_layout(const AVFrame *frame)
char * av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt)
void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc)
int av_dict_count(const AVDictionary *m)
int av_format_get_probe_score(const AVFormatContext *s)
AVBufferRef * av_buffer_create(uint8_t *data, int size, void(*free)(void *opaque, uint8_t *data), void *opaque, int flags)
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
#define av_malloc_attrib
struct AVCodecParser AVCodecParser
const AVCodecDescriptor * avcodec_descriptor_get_by_name(const char *name)
int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const
void av_frame_set_channel_layout(AVFrame *frame, int64_t val)
int avio_close(AVIOContext *s)
#define av_alloc_size(...)
av_format_control_message av_format_get_control_message_cb(const AVFormatContext *s)
static av_always_inline av_const int av_ceil_log2_c(int x)
int avformat_query_codec(AVOutputFormat *ofmt, enum AVCodecID codec_id, int std_compliance)
AVDictionary * av_frame_get_metadata(const AVFrame *frame)
int av_packet_ref(AVPacket *dst, const AVPacket *src)
int avio_open_dyn_buf(AVIOContext **s)
AVFrame * av_frame_clone(const AVFrame *src)
struct AVFrame AVFrame
int64_t avio_seek_time(AVIOContext *h, int stream_index, int64_t timestamp, int flags)
const char * av_get_sample_fmt_name(enum AVSampleFormat sample_fmt)
#define av_pure
struct AVProfile AVProfile
@ AV_AUDIO_SERVICE_TYPE_VOICE_OVER
@ AV_AUDIO_SERVICE_TYPE_EMERGENCY
@ AV_AUDIO_SERVICE_TYPE_EFFECTS
@ AV_AUDIO_SERVICE_TYPE_MAIN
@ AV_AUDIO_SERVICE_TYPE_DIALOGUE
@ AV_AUDIO_SERVICE_TYPE_KARAOKE
@ AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED
@ AV_AUDIO_SERVICE_TYPE_COMMENTARY
@ AV_AUDIO_SERVICE_TYPE_NB
@ AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED
struct AVHWAccel AVHWAccel
int av_frame_make_writable(AVFrame *frame)
#define AV_NUM_DATA_POINTERS
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
int avio_open2(AVIOContext **s, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options)
struct AVCodecParserContext * av_stream_get_parser(const AVStream *s)
int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
uint8_t * av_stream_get_side_data(AVStream *stream, enum AVPacketSideDataType type, int *size)
attribute_deprecated void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance)
unsigned avcodec_version(void)
int av_new_packet(AVPacket *pkt, int size)
@ AV_FRAME_DATA_DISPLAYMATRIX
@ AV_FRAME_DATA_REPLAYGAIN
@ AV_FRAME_DATA_DOWNMIX_INFO
@ AV_FRAME_DATA_MATRIXENCODING
int avio_closep(AVIOContext **s)
int av_lockmgr_register(int(*cb)(void **mutex, enum AVLockOp op))
void av_format_set_metadata_header_padding(AVFormatContext *s, int c)
static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a)
AVCodec * avcodec_find_encoder(enum AVCodecID id)
void av_dump_format(AVFormatContext *ic, int index, const char *url, int is_output)
int av_packet_merge_side_data(AVPacket *pkt)
struct AVPacketList AVPacketList
static av_always_inline uint64_t av_double2int(double f)
void av_frame_set_channels(AVFrame *frame, int val)
#define AVERROR(e)
int av_codec_get_lowres(const AVCodecContext *avctx)
void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst)
unsigned int avio_rb24(AVIOContext *s)
void av_free_packet(AVPacket *pkt)
@ AV_PICTURE_TYPE_NONE
int av_format_get_metadata_header_padding(const AVFormatContext *s)
void avformat_close_input(AVFormatContext **s)
enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type)
int av_log_get_level(void)
int av_samples_alloc_array_and_samples(uint8_t ***audio_data, int *linesize, int nb_channels, int nb_samples, enum AVSampleFormat sample_fmt, int align)
int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int(*func)(void *, void *, int))
void * av_format_get_opaque(const AVFormatContext *s)
int64_t av_stream_get_end_pts(const AVStream *st)
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
@ AV_CLASS_CATEGORY_INPUT
@ AV_CLASS_CATEGORY_MUXER
@ AV_CLASS_CATEGORY_SWSCALER
@ AV_CLASS_CATEGORY_BITSTREAM_FILTER
@ AV_CLASS_CATEGORY_DEVICE_OUTPUT
@ AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT
@ AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT
@ AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT
@ AV_CLASS_CATEGORY_FILTER
@ AV_CLASS_CATEGORY_DEMUXER
@ AV_CLASS_CATEGORY_OUTPUT
@ AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT
@ AV_CLASS_CATEGORY_DEVICE_INPUT
@ AV_CLASS_CATEGORY_SWRESAMPLER
@ AV_CLASS_CATEGORY_ENCODER
@ AV_CLASS_CATEGORY_DECODER
void av_frame_set_pkt_duration(AVFrame *frame, int64_t val)
struct AVSubtitleRect AVSubtitleRect
int av_frame_copy(AVFrame *dst, const AVFrame *src)
void av_log_format_line(void *ptr, int level, const char *fmt, va_list vl, char *line, int line_size, int *print_prefix)
const AVClass * avformat_get_class(void)
int8_t * av_frame_get_qp_table(AVFrame *f, int *stride, int *type)
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const
const char * avcodec_configuration(void)
unsigned int avio_rb32(AVIOContext *s)
int avio_r8(AVIOContext *s)
int attribute_deprecated avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples)
void avcodec_register_all(void)
static av_always_inline int av_sat_dadd32_c(int a, int b)
int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod)
unsigned avformat_version(void)
struct AVOutputFormat AVOutputFormat
void * av_calloc(size_t nmemb, size_t size) av_malloc_attrib
static av_always_inline double av_int2double(uint64_t i)
uint64_t av_channel_layout_extract_channel(uint64_t channel_layout, int index)
void avpicture_free(AVPicture *picture)
void av_codec_set_lowres(AVCodecContext *avctx, int val)
int avcodec_close(AVCodecContext *avctx)
int av_fifo_realloc2(AVFifoBuffer *f, unsigned int size)
const char * avio_find_protocol_name(const char *url)
void avcodec_flush_buffers(AVCodecContext *avctx)
uint64_t avio_rl64(AVIOContext *s)
int av_get_cpu_flags(void)
void av_format_set_subtitle_codec(AVFormatContext *s, AVCodec *c)
void av_log_set_flags(int arg)
AVInputFormat * av_probe_input_format(AVProbeData *pd, int is_opened)
void avcodec_free_context(AVCodecContext **avctx)
const struct AVCodecTag * avformat_get_riff_video_tags(void)
int av_cpu_count(void)
const char * av_get_profile_name(const AVCodec *codec, int profile)
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
attribute_deprecated enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
@ AVSTREAM_PARSE_TIMESTAMPS
@ AVSTREAM_PARSE_FULL_ONCE
attribute_deprecated int avpicture_deinterlace(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
int av_codec_get_max_lowres(const AVCodec *codec)
int av_interleaved_write_uncoded_frame(AVFormatContext *s, int stream_index, AVFrame *frame)
AVRational av_div_q(AVRational b, AVRational c) av_const
int av_reallocp_array(void *ptr, size_t nmemb, size_t size)
void attribute_deprecated void * av_mallocz_array(size_t nmemb, size_t size) av_malloc_attrib av_alloc_size(1
const TranslatableString desc
Definition: ExportPCM.cpp:51
void free(void *ptr)
Definition: VectorOps.h:34
struct AVBitStreamFilterContext * next
struct AVBitStreamFilter * filter
struct AVBitStreamFilter * next
void(* close)(AVBitStreamFilterContext *bsfc)
int(* filter)(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
AVDictionary * metadata
const struct AVOption * option
int(* query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags)
AVClassCategory category
AVClassCategory(* get_category)(void *ctx)
const char * class_name
struct AVCodecInternal * internal
enum AVPixelFormat pix_fmt
int(* execute)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size)
uint64_t error[AV_NUM_DATA_POINTERS]
enum AVSampleFormat sample_fmt
const AVCodecDescriptor * codec_descriptor
enum AVColorRange color_range
attribute_deprecated int xvmc_acceleration
enum AVAudioServiceType audio_service_type
enum AVColorPrimaries color_primaries
attribute_deprecated int request_channels
enum AVFieldOrder field_order
attribute_deprecated AVPacket * pkt
int(* get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags)
enum AVColorSpace colorspace
struct AVHWAccel * hwaccel
const struct AVCodec * codec
enum AVSampleFormat request_sample_fmt
void(* draw_horiz_band)(struct AVCodecContext *s, const AVFrame *src, int offset[AV_NUM_DATA_POINTERS], int y, int type, int height)
void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
enum AVColorTransferCharacteristic color_trc
attribute_deprecated int(* get_buffer)(struct AVCodecContext *c, AVFrame *pic)
attribute_deprecated int(* reget_buffer)(struct AVCodecContext *c, AVFrame *pic)
enum AVChromaLocation chroma_sample_location
attribute_deprecated void(* release_buffer)(struct AVCodecContext *c, AVFrame *pic)
attribute_deprecated char codec_name[32]
int(* execute2)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count)
attribute_deprecated int error_rate
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
attribute_deprecated void * thread_opaque
const char *const * mime_types
const char * long_name
int(* init)(AVCodecContext *)
const uint64_t * channel_layouts
const int * supported_samplerates
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 *)
enum AVMediaType type
int(* init_thread_copy)(AVCodecContext *)
const AVClass * priv_class
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
struct AVCodec * next
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
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]
int64_t cur_frame_pos[AV_PARSER_PTS_NB]
enum AVPictureStructure picture_structure
int64_t cur_frame_pts[AV_PARSER_PTS_NB]
struct AVCodecParser * parser
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)
struct AVCodecParser * next
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
char * key
char * value
AVFormatInternal * internal
attribute_deprecated int max_analyze_duration
struct AVOutputFormat * oformat
AVIOInterruptCB interrupt_callback
struct AVInputFormat * iformat
struct AVPacketList * parse_queue_end
struct AVPacketList * packet_buffer_end
struct AVPacketList * raw_packet_buffer_end
struct AVPacketList * raw_packet_buffer
enum AVDurationEstimationMethod duration_estimation_method
av_format_control_message control_message_cb
struct AVPacketList * parse_queue
struct AVPacketList * packet_buffer
attribute_deprecated int8_t * qscale_table
enum AVChromaLocation chroma_location
attribute_deprecated int buffer_hints
attribute_deprecated uint32_t * mb_type
attribute_deprecated int reference
AVBufferRef ** extended_buf
attribute_deprecated struct AVCodecContext * owner
attribute_deprecated uint8_t * base[AV_NUM_DATA_POINTERS]
attribute_deprecated struct AVPanScan * pan_scan
enum AVColorPrimaries color_primaries
uint64_t error[AV_NUM_DATA_POINTERS]
AVRational sample_aspect_ratio
attribute_deprecated void * hwaccel_picture_private
attribute_deprecated uint8_t * mbskip_table
AVDictionary * metadata
AVBufferRef * buf[AV_NUM_DATA_POINTERS]
enum AVColorRange color_range
int16_t(*[2] motion_val)[2]
AVFrameSideData ** side_data
attribute_deprecated short * dct_coeff
enum AVColorSpace colorspace
enum AVColorTransferCharacteristic color_trc
int linesize[AV_NUM_DATA_POINTERS]
attribute_deprecated int qstride
attribute_deprecated int8_t * ref_index[2]
AVBufferRef * qp_table_buf
attribute_deprecated void * thread_opaque
uint8_t * data[AV_NUM_DATA_POINTERS]
attribute_deprecated int type
enum AVPictureType pict_type
attribute_deprecated int qscale_type
enum AVFrameSideDataType type
int(* uninit)(AVCodecContext *avctx)
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
struct AVHWAccel * next
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)
enum AVMediaType type
int64_t(* seek)(void *opaque, int64_t offset, int whence)
unsigned long(* update_checksum)(unsigned long checksum, const uint8_t *buf, unsigned int size)
int(* write_packet)(void *opaque, uint8_t *buf, int buf_size)
const AVClass * av_class
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(* read_pause)(void *opaque, int pause)
int size
int flags
int64_t pos
int min_distance
int64_t timestamp
int(* read_probe)(AVProbeData *)
int64_t(* read_timestamp)(struct AVFormatContext *s, int stream_index, int64_t *pos, int64_t pos_limit)
const struct AVCodecTag *const * codec_tag
int(* free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
int(* get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list)
int(* read_packet)(struct AVFormatContext *, AVPacket *pkt)
int(* read_pause)(struct AVFormatContext *)
int(* read_header)(struct AVFormatContext *)
struct AVInputFormat * next
int(* read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags)
int(* read_seek)(struct AVFormatContext *, int stream_index, int64_t timestamp, int flags)
int(* read_close)(struct AVFormatContext *)
int(* create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
int(* read_play)(struct AVFormatContext *)
int(* create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
const struct AVCodecTag *const * codec_tag
struct AVOutputFormat * next
int(* query_codec)(enum AVCodecID id, int std_compliance)
int(* get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list)
int(* write_packet)(struct AVFormatContext *, AVPacket *pkt)
void(* get_output_timestamp)(struct AVFormatContext *s, int stream, int64_t *dts, int64_t *wall)
int(* interleave_packet)(struct AVFormatContext *, AVPacket *out, AVPacket *in, int flush)
int(* write_uncoded_frame)(struct AVFormatContext *, int stream_index, AVFrame **frame, unsigned flags)
int(* control_message)(struct AVFormatContext *s, int type, void *data, size_t data_size)
int(* free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps)
int(* write_header)(struct AVFormatContext *)
int(* write_trailer)(struct AVFormatContext *)
attribute_deprecated void(* destruct)(struct AVPacket *)
AVPacketSideData * side_data
attribute_deprecated void * priv
struct AVPacketList * next
enum AVPacketSideDataType type
int linesize[AV_NUM_DATA_POINTERS]
uint8_t * data[AV_NUM_DATA_POINTERS]
unsigned int nb_stream_indexes
unsigned int * stream_index
enum AVDiscard discard
AVDictionary * metadata
attribute_deprecated struct AVFrac pts
unsigned int index_entries_allocated_size
AVDictionary * metadata
AVRational sample_aspect_ratio
enum AVDiscard discard
double(* duration_error)[2][MAX_STD_TIMEBASES]
int64_t interleaver_chunk_duration
AVIndexEntry * index_entries
int64_t codec_info_duration_fields
int64_t pts_buffer[MAX_REORDER_DELAY+1]
AVPacketSideData * side_data
struct AVCodecParserContext * parser
int64_t pts_reorder_error[MAX_REORDER_DELAY+1]
struct AVStream::@150 * info
uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1]
struct AVPacketList * last_in_packet_buffer
AVCodecContext * codec
enum AVStreamParseType need_parsing
AVSubtitleRect ** rects
enum AVSubtitleType type