Miam-Player  0.8.0
A nice music player
avcodec.h
Go to the documentation of this file.
1 /*
2  * copyright (c) 2001 Fabrice Bellard
3  *
4  * This file is part of FFmpeg.
5  *
6  * FFmpeg is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * FFmpeg is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with FFmpeg; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19  */
20 
21 #ifndef AVCODEC_AVCODEC_H
22 #define AVCODEC_AVCODEC_H
23 
30 #include <errno.h>
31 #include "libavutil/samplefmt.h"
32 #include "libavutil/attributes.h"
33 #include "libavutil/avutil.h"
34 #include "libavutil/buffer.h"
35 #include "libavutil/cpu.h"
37 #include "libavutil/dict.h"
38 #include "libavutil/frame.h"
39 #include "libavutil/log.h"
40 #include "libavutil/pixfmt.h"
41 #include "libavutil/rational.h"
42 
43 #include "version.h"
44 
191 enum AVCodecID {
193 
194  /* video codecs */
197 #if FF_API_XVMC
199 #endif /* FF_API_XVMC */
334 #define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
372 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
391 
414 
415  /* various PCM "codecs" */
448 
451 
452  /* various ADPCM codecs */
484 #if FF_API_VIMA_DECODER
486 #endif
487 
498 
499  /* AMR */
502 
503  /* RealAudio codecs*/
506 
507  /* various DPCM codecs */
512 
514 
515  /* audio codecs */
516  AV_CODEC_ID_MP2 = 0x15000,
546  AV_CODEC_ID_GSM_MS, /* as found in WAV */
548 #if FF_API_VOXWARE
550 #endif
586 
601 
602  /* subtitle codecs */
613 
629 
630  /* other specific kind of codecs (generally used for attachments) */
632  AV_CODEC_ID_TTF = 0x18000,
633 
643 
644 
645  AV_CODEC_ID_PROBE = 0x19000,
646 
653 };
654 
660 typedef struct AVCodecDescriptor {
661  enum AVCodecID id;
668  const char *name;
672  const char *long_name;
676  int props;
682  const char *const *mime_types;
687  const struct AVProfile *profiles;
689 
694 #define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
695 
700 #define AV_CODEC_PROP_LOSSY (1 << 1)
701 
704 #define AV_CODEC_PROP_LOSSLESS (1 << 2)
705 
714 #define AV_CODEC_PROP_REORDER (1 << 3)
715 
719 #define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
720 
724 #define AV_CODEC_PROP_TEXT_SUB (1 << 17)
725 
734 #define AV_INPUT_BUFFER_PADDING_SIZE 32
735 
741 #define AV_INPUT_BUFFER_MIN_SIZE 16384
742 
743 #if FF_API_WITHOUT_PREFIX
744 
747 #define FF_INPUT_BUFFER_PADDING_SIZE 32
748 
752 #define FF_MIN_BUFFER_SIZE 16384
753 #endif /* FF_API_WITHOUT_PREFIX */
754 
760 #if FF_API_MOTION_EST
762  ME_ZERO = 1,
771  ME_ITER=50,
772 };
773 #endif
774 
779  /* We leave some space between them for extensions (drop some
780  * keyframes for intra-only or drop just some bidir frames). */
788 };
789 
801 };
802 
806 typedef struct RcOverride{
809  int qscale; // If this is 0 then quality_factor will be used instead.
811 } RcOverride;
812 
813 #if FF_API_MAX_BFRAMES
814 
817 #define FF_MAX_B_FRAMES 16
818 #endif
819 
820 /* encoding support
821  These flags can be passed in AVCodecContext.flags before initialization.
822  Note: Not everything is supported yet.
823 */
824 
829 #define AV_CODEC_FLAG_UNALIGNED (1 << 0)
830 
833 #define AV_CODEC_FLAG_QSCALE (1 << 1)
834 
837 #define AV_CODEC_FLAG_4MV (1 << 2)
838 
841 #define AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3)
842 
845 #define AV_CODEC_FLAG_QPEL (1 << 4)
846 
849 #define AV_CODEC_FLAG_PASS1 (1 << 9)
850 
853 #define AV_CODEC_FLAG_PASS2 (1 << 10)
854 
857 #define AV_CODEC_FLAG_LOOP_FILTER (1 << 11)
858 
861 #define AV_CODEC_FLAG_GRAY (1 << 13)
862 
865 #define AV_CODEC_FLAG_PSNR (1 << 15)
866 
870 #define AV_CODEC_FLAG_TRUNCATED (1 << 16)
871 
874 #define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)
875 
878 #define AV_CODEC_FLAG_LOW_DELAY (1 << 19)
879 
882 #define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
883 
886 #define AV_CODEC_FLAG_BITEXACT (1 << 23)
887 /* Fx : Flag for H.263+ extra options */
891 #define AV_CODEC_FLAG_AC_PRED (1 << 24)
892 
895 #define AV_CODEC_FLAG_INTERLACED_ME (1 << 29)
896 #define AV_CODEC_FLAG_CLOSED_GOP (1U << 31)
897 
901 #define AV_CODEC_FLAG2_FAST (1 << 0)
902 
905 #define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)
906 
909 #define AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3)
910 
914 #define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13)
915 
920 #define AV_CODEC_FLAG2_CHUNKS (1 << 15)
921 
924 #define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
925 
929 #define AV_CODEC_FLAG2_SHOW_ALL (1 << 22)
930 
933 #define AV_CODEC_FLAG2_EXPORT_MVS (1 << 28)
934 
937 #define AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29)
938 
941 #define AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30)
942 
943 /* Unsupported options :
944  * Syntax Arithmetic coding (SAC)
945  * Reference Picture Selection
946  * Independent Segment Decoding */
947 /* /Fx */
948 /* codec capabilities */
949 
953 #define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
954 
959 #define AV_CODEC_CAP_DR1 (1 << 1)
960 #define AV_CODEC_CAP_TRUNCATED (1 << 3)
961 
984 #define AV_CODEC_CAP_DELAY (1 << 5)
985 
989 #define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
990 
991 #if FF_API_CAP_VDPAU
992 
995 #define AV_CODEC_CAP_HWACCEL_VDPAU (1 << 7)
996 #endif
997 
1009 #define AV_CODEC_CAP_SUBFRAMES (1 << 8)
1010 
1014 #define AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
1015 
1018 #define AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
1019 
1022 #define AV_CODEC_CAP_FRAME_THREADS (1 << 12)
1023 
1026 #define AV_CODEC_CAP_SLICE_THREADS (1 << 13)
1027 
1030 #define AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
1031 
1034 #define AV_CODEC_CAP_AUTO_THREADS (1 << 15)
1035 
1038 #define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
1039 
1048 #define AV_CODEC_CAP_AVOID_PROBING (1 << 17)
1049 
1052 #define AV_CODEC_CAP_INTRA_ONLY 0x40000000
1053 
1056 #define AV_CODEC_CAP_LOSSLESS 0x80000000
1057 
1058 
1059 #if FF_API_WITHOUT_PREFIX
1060 
1064 #define CODEC_FLAG_UNALIGNED AV_CODEC_FLAG_UNALIGNED
1065 #define CODEC_FLAG_QSCALE AV_CODEC_FLAG_QSCALE
1066 #define CODEC_FLAG_4MV AV_CODEC_FLAG_4MV
1067 #define CODEC_FLAG_OUTPUT_CORRUPT AV_CODEC_FLAG_OUTPUT_CORRUPT
1068 #define CODEC_FLAG_QPEL AV_CODEC_FLAG_QPEL
1069 #if FF_API_GMC
1070 
1073 #define CODEC_FLAG_GMC 0x0020
1074 #endif
1075 #if FF_API_MV0
1076 
1080 #define CODEC_FLAG_MV0 0x0040
1081 #endif
1082 #if FF_API_INPUT_PRESERVED
1083 
1087 #define CODEC_FLAG_INPUT_PRESERVED 0x0100
1088 #endif
1089 #define CODEC_FLAG_PASS1 AV_CODEC_FLAG_PASS1
1090 #define CODEC_FLAG_PASS2 AV_CODEC_FLAG_PASS2
1091 #define CODEC_FLAG_GRAY AV_CODEC_FLAG_GRAY
1092 #if FF_API_EMU_EDGE
1093 
1097 #define CODEC_FLAG_EMU_EDGE 0x4000
1098 #endif
1099 #define CODEC_FLAG_PSNR AV_CODEC_FLAG_PSNR
1100 #define CODEC_FLAG_TRUNCATED AV_CODEC_FLAG_TRUNCATED
1101 
1102 #if FF_API_NORMALIZE_AQP
1103 
1107 #define CODEC_FLAG_NORMALIZE_AQP 0x00020000
1108 #endif
1109 #define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT
1110 #define CODEC_FLAG_LOW_DELAY AV_CODEC_FLAG_LOW_DELAY
1111 #define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
1112 #define CODEC_FLAG_BITEXACT AV_CODEC_FLAG_BITEXACT
1113 #define CODEC_FLAG_AC_PRED AV_CODEC_FLAG_AC_PRED
1114 #define CODEC_FLAG_LOOP_FILTER AV_CODEC_FLAG_LOOP_FILTER
1115 #define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME
1116 #define CODEC_FLAG_CLOSED_GOP AV_CODEC_FLAG_CLOSED_GOP
1117 #define CODEC_FLAG2_FAST AV_CODEC_FLAG2_FAST
1118 #define CODEC_FLAG2_NO_OUTPUT AV_CODEC_FLAG2_NO_OUTPUT
1119 #define CODEC_FLAG2_LOCAL_HEADER AV_CODEC_FLAG2_LOCAL_HEADER
1120 #define CODEC_FLAG2_DROP_FRAME_TIMECODE AV_CODEC_FLAG2_DROP_FRAME_TIMECODE
1121 #define CODEC_FLAG2_IGNORE_CROP AV_CODEC_FLAG2_IGNORE_CROP
1122 
1123 #define CODEC_FLAG2_CHUNKS AV_CODEC_FLAG2_CHUNKS
1124 #define CODEC_FLAG2_SHOW_ALL AV_CODEC_FLAG2_SHOW_ALL
1125 #define CODEC_FLAG2_EXPORT_MVS AV_CODEC_FLAG2_EXPORT_MVS
1126 #define CODEC_FLAG2_SKIP_MANUAL AV_CODEC_FLAG2_SKIP_MANUAL
1127 
1128 /* Unsupported options :
1129  * Syntax Arithmetic coding (SAC)
1130  * Reference Picture Selection
1131  * Independent Segment Decoding */
1132 /* /Fx */
1133 /* codec capabilities */
1134 
1135 #define CODEC_CAP_DRAW_HORIZ_BAND AV_CODEC_CAP_DRAW_HORIZ_BAND
1136 
1141 #define CODEC_CAP_DR1 AV_CODEC_CAP_DR1
1142 #define CODEC_CAP_TRUNCATED AV_CODEC_CAP_TRUNCATED
1143 #if FF_API_XVMC
1144 /* Codec can export data for HW decoding. This flag indicates that
1145  * the codec would call get_format() with list that might contain HW accelerated
1146  * pixel formats (XvMC, VDPAU, VAAPI, etc). The application can pick any of them
1147  * including raw image format.
1148  * The application can use the passed context to determine bitstream version,
1149  * chroma format, resolution etc.
1150  */
1151 #define CODEC_CAP_HWACCEL 0x0010
1152 #endif /* FF_API_XVMC */
1153 
1176 #define CODEC_CAP_DELAY AV_CODEC_CAP_DELAY
1177 
1181 #define CODEC_CAP_SMALL_LAST_FRAME AV_CODEC_CAP_SMALL_LAST_FRAME
1182 #if FF_API_CAP_VDPAU
1183 
1186 #define CODEC_CAP_HWACCEL_VDPAU AV_CODEC_CAP_HWACCEL_VDPAU
1187 #endif
1188 
1199 #define CODEC_CAP_SUBFRAMES AV_CODEC_CAP_SUBFRAMES
1200 
1204 #define CODEC_CAP_EXPERIMENTAL AV_CODEC_CAP_EXPERIMENTAL
1205 
1208 #define CODEC_CAP_CHANNEL_CONF AV_CODEC_CAP_CHANNEL_CONF
1209 #if FF_API_NEG_LINESIZES
1210 
1213 #define CODEC_CAP_NEG_LINESIZES 0x0800
1214 #endif
1215 
1218 #define CODEC_CAP_FRAME_THREADS AV_CODEC_CAP_FRAME_THREADS
1219 
1222 #define CODEC_CAP_SLICE_THREADS AV_CODEC_CAP_SLICE_THREADS
1223 
1226 #define CODEC_CAP_PARAM_CHANGE AV_CODEC_CAP_PARAM_CHANGE
1227 
1230 #define CODEC_CAP_AUTO_THREADS AV_CODEC_CAP_AUTO_THREADS
1231 
1234 #define CODEC_CAP_VARIABLE_FRAME_SIZE AV_CODEC_CAP_VARIABLE_FRAME_SIZE
1235 
1238 #define CODEC_CAP_INTRA_ONLY AV_CODEC_CAP_INTRA_ONLY
1239 
1242 #define CODEC_CAP_LOSSLESS AV_CODEC_CAP_LOSSLESS
1243 
1248 #define HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
1249 #endif /* FF_API_WITHOUT_PREFIX */
1250 
1251 #if FF_API_MB_TYPE
1252 //The following defines may change, don't expect compatibility if you use them.
1253 #define MB_TYPE_INTRA4x4 0x0001
1254 #define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
1255 #define MB_TYPE_INTRA_PCM 0x0004 //FIXME H.264-specific
1256 #define MB_TYPE_16x16 0x0008
1257 #define MB_TYPE_16x8 0x0010
1258 #define MB_TYPE_8x16 0x0020
1259 #define MB_TYPE_8x8 0x0040
1260 #define MB_TYPE_INTERLACED 0x0080
1261 #define MB_TYPE_DIRECT2 0x0100 //FIXME
1262 #define MB_TYPE_ACPRED 0x0200
1263 #define MB_TYPE_GMC 0x0400
1264 #define MB_TYPE_SKIP 0x0800
1265 #define MB_TYPE_P0L0 0x1000
1266 #define MB_TYPE_P1L0 0x2000
1267 #define MB_TYPE_P0L1 0x4000
1268 #define MB_TYPE_P1L1 0x8000
1269 #define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
1270 #define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
1271 #define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
1272 #define MB_TYPE_QUANT 0x00010000
1273 #define MB_TYPE_CBP 0x00020000
1274 // Note bits 24-31 are reserved for codec specific use (H.264 ref0, MPEG-1 0mv, ...)
1275 #endif
1276 
1282 typedef struct AVPanScan{
1288  int id;
1289 
1295  int width;
1296  int height;
1297 
1303  int16_t position[3][2];
1304 }AVPanScan;
1305 
1311 typedef struct AVCPBProperties {
1327 
1333 
1341  uint64_t vbv_delay;
1342 } AVCPBProperties;
1343 
1344 #if FF_API_QSCALE_TYPE
1345 #define FF_QSCALE_TYPE_MPEG1 0
1346 #define FF_QSCALE_TYPE_MPEG2 1
1347 #define FF_QSCALE_TYPE_H264 2
1348 #define FF_QSCALE_TYPE_VP56 3
1349 #endif
1350 
1354 #define AV_GET_BUFFER_FLAG_REF (1 << 0)
1355 
1364 
1373 
1390 
1411 
1417 
1426 
1432 
1438 
1450 
1458 
1463 
1474 
1484 
1490 
1501 
1509 
1514 
1520 
1527 
1533 
1540 };
1541 
1542 #define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED
1543 
1544 typedef struct AVPacketSideData {
1545  uint8_t *data;
1546  int size;
1549 
1578 typedef struct AVPacket {
1594  int64_t pts;
1600  int64_t dts;
1601  uint8_t *data;
1602  int size;
1607  int flags;
1614 
1619  int64_t duration;
1620 
1621  int64_t pos;
1622 
1623 #if FF_API_CONVERGENCE_DURATION
1624 
1631 #endif
1632 } AVPacket;
1633 #define AV_PKT_FLAG_KEY 0x0001
1634 #define AV_PKT_FLAG_CORRUPT 0x0002
1635 
1640 #define AV_PKT_FLAG_DISCARD 0x0004
1641 
1647 };
1652 struct AVCodecInternal;
1653 
1657  AV_FIELD_TT, //< Top coded_first, top displayed first
1658  AV_FIELD_BB, //< Bottom coded first, bottom displayed first
1659  AV_FIELD_TB, //< Top coded first, bottom displayed first
1660  AV_FIELD_BT, //< Bottom coded first, top displayed first
1661 };
1662 
1676 typedef struct AVCodecContext {
1683 
1684  enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */
1685  const struct AVCodec *codec;
1686 #if FF_API_CODEC_NAME
1687 
1691  char codec_name[32];
1692 #endif
1693  enum AVCodecID codec_id; /* see AV_CODEC_ID_xxx */
1694 
1708  unsigned int codec_tag;
1709 
1710 #if FF_API_STREAM_CODEC_TAG
1711 
1715  unsigned int stream_codec_tag;
1716 #endif
1717 
1718  void *priv_data;
1719 
1726  struct AVCodecInternal *internal;
1727 
1733  void *opaque;
1734 
1741  int64_t bit_rate;
1742 
1750 
1758 
1764 #define FF_COMPRESSION_DEFAULT -1
1765 
1771  int flags;
1772 
1778  int flags2;
1779 
1791  uint8_t *extradata;
1793 
1814 
1823 
1846  int delay;
1847 
1848 
1849  /* video only */
1863  int width, height;
1864 
1878  int coded_width, coded_height;
1879 
1880 #if FF_API_ASPECT_EXTENDED
1881 #define FF_ASPECT_EXTENDED 15
1882 #endif
1883 
1890 
1904  enum AVPixelFormat pix_fmt;
1905 
1906 #if FF_API_MOTION_EST
1907 
1912 #endif
1913 
1937  void (*draw_horiz_band)(struct AVCodecContext *s,
1938  const AVFrame *src, int offset[AV_NUM_DATA_POINTERS],
1939  int y, int type, int height);
1940 
1954  enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
1955 
1963 
1972 
1973 #if FF_API_RC_STRATEGY
1974 
1976 #define FF_RC_STRATEGY_XVID 1
1977 #endif
1978 
1979 #if FF_API_PRIVATE_OPT
1980 
1983 #endif
1984 
1991 
1999 
2000 #if FF_API_PRIVATE_OPT
2001 
2004 #endif
2005 
2014 
2021 
2028 
2035 
2042 
2048  float p_masking;
2049 
2056 
2063 
2064 #if FF_API_PRIVATE_OPT
2065 
2068 #define FF_PRED_LEFT 0
2069 #define FF_PRED_PLANE 1
2070 #define FF_PRED_MEDIAN 2
2071 #endif
2072 
2079 
2088 
2094  int me_cmp;
2106  int mb_cmp;
2113 #define FF_CMP_SAD 0
2114 #define FF_CMP_SSE 1
2115 #define FF_CMP_SATD 2
2116 #define FF_CMP_DCT 3
2117 #define FF_CMP_PSNR 4
2118 #define FF_CMP_BIT 5
2119 #define FF_CMP_RD 6
2120 #define FF_CMP_ZERO 7
2121 #define FF_CMP_VSAD 8
2122 #define FF_CMP_VSSE 9
2123 #define FF_CMP_NSSE 10
2124 #define FF_CMP_W53 11
2125 #define FF_CMP_W97 12
2126 #define FF_CMP_DCTMAX 13
2127 #define FF_CMP_DCT264 14
2128 #define FF_CMP_MEDIAN_SAD 15
2129 #define FF_CMP_CHROMA 256
2130 
2137 
2144 
2145 #if FF_API_PRIVATE_OPT
2146 
2148  int pre_me;
2149 #endif
2150 
2157 
2164 
2171 
2172 #if FF_API_AFD
2173 
2183 #define FF_DTG_AFD_SAME 8
2184 #define FF_DTG_AFD_4_3 9
2185 #define FF_DTG_AFD_16_9 10
2186 #define FF_DTG_AFD_14_9 11
2187 #define FF_DTG_AFD_4_3_SP_14_9 13
2188 #define FF_DTG_AFD_16_9_SP_14_9 14
2189 #define FF_DTG_AFD_SP_4_3 15
2190 #endif /* FF_API_AFD */
2191 
2200 
2201 #if FF_API_QUANT_BIAS
2202 
2206 #define FF_DEFAULT_QUANT_BIAS 999999
2207 
2212 #endif
2213 
2220 #define SLICE_FLAG_CODED_ORDER 0x0001
2221 #define SLICE_FLAG_ALLOW_FIELD 0x0002
2222 #define SLICE_FLAG_ALLOW_PLANE 0x0004
2223 
2224 #if FF_API_XVMC
2225 
2232 #endif /* FF_API_XVMC */
2233 
2240 #define FF_MB_DECISION_SIMPLE 0
2241 #define FF_MB_DECISION_BITS 1
2242 #define FF_MB_DECISION_RD 2
2243 
2244 
2249  uint16_t *intra_matrix;
2250 
2256  uint16_t *inter_matrix;
2257 
2258 #if FF_API_PRIVATE_OPT
2259 
2262 
2266 #endif
2267 
2268 #if FF_API_MPV_OPT
2269 
2274 
2280 #endif
2281 
2288 
2295 
2302 
2303 #if FF_API_MPV_OPT
2304 
2309 #endif
2310 
2316  int mb_lmin;
2317 
2323  int mb_lmax;
2324 
2325 #if FF_API_PRIVATE_OPT
2326 
2331 #endif
2332 
2338 
2339 #if FF_API_PRIVATE_OPT
2340 
2343 #endif
2344 
2351 
2357  int refs;
2358 
2359 #if FF_API_PRIVATE_OPT
2360 
2363 #endif
2364 
2365 #if FF_API_UNUSED_MEMBERS
2366 
2372 #endif
2373 
2380 
2381 #if FF_API_PRIVATE_OPT
2382 
2385 #endif
2386 
2393 
2400 
2407 
2414 
2421 
2429  int slices;
2430 
2436 
2437  /* audio only */
2439  int channels;
2440 
2447 
2448  /* The following data should not be initialized. */
2459 
2470 
2476 
2482  int cutoff;
2483 
2489  uint64_t channel_layout;
2490 
2497 
2504 
2512 
2593  int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags);
2594 
2609 
2610  /* - encoding parameters */
2611  float qcompress;
2612  float qblur;
2613 
2619  int qmin;
2620 
2626  int qmax;
2627 
2634 
2635 #if FF_API_MPV_OPT
2636 
2640  float rc_qsquish;
2641 
2646 #endif
2647 
2654 
2662 
2663 #if FF_API_MPV_OPT
2664 
2668  const char *rc_eq;
2669 #endif
2670 
2676  int64_t rc_max_rate;
2677 
2683  int64_t rc_min_rate;
2684 
2685 #if FF_API_MPV_OPT
2686 
2691 
2694 #endif
2695 
2702 
2709 
2716 
2717 #if FF_API_CODER_TYPE
2718 #define FF_CODER_TYPE_VLC 0
2719 #define FF_CODER_TYPE_AC 1
2720 #define FF_CODER_TYPE_RAW 2
2721 #define FF_CODER_TYPE_RLE 3
2722 #if FF_API_UNUSED_MEMBERS
2723 #define FF_CODER_TYPE_DEFLATE 4
2724 #endif /* FF_API_UNUSED_MEMBERS */
2725 
2730 #endif /* FF_API_CODER_TYPE */
2731 
2732 #if FF_API_PRIVATE_OPT
2733 
2736 #endif
2737 
2738 #if FF_API_MPV_OPT
2739 
2743  int lmin;
2744 
2749  int lmax;
2750 #endif
2751 
2752 #if FF_API_PRIVATE_OPT
2753 
2756 
2760 
2764 
2768 #endif /* FF_API_PRIVATE_OPT */
2769 
2775  int trellis;
2776 
2777 #if FF_API_PRIVATE_OPT
2778 
2781 
2785 
2789 #endif
2790 
2791 #if FF_API_RTP_CALLBACK
2792 
2795  /* The RTP callback: This function is called */
2796  /* every time the encoder has a packet to send. */
2797  /* It depends on the encoder if the data starts */
2798  /* with a Start Code (it should). H.263 does. */
2799  /* mb_nb contains the number of macroblocks */
2800  /* encoded in the RTP payload. */
2802  void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb);
2803 #endif
2804 
2805 #if FF_API_PRIVATE_OPT
2806 
2808  int rtp_payload_size; /* The size of the RTP payload: the coder will */
2809  /* do its best to deliver a chunk with size */
2810  /* below rtp_payload_size, the chunk will start */
2811  /* with a start code on some codecs like H.263. */
2812  /* This doesn't take account of any particular */
2813  /* headers inside the transmitted RTP payload. */
2814 #endif
2815 
2816 #if FF_API_STAT_BITS
2817  /* statistics, used for 2-pass encoding */
2819  int mv_bits;
2827  int i_count;
2829  int p_count;
2834 
2838 #endif
2839 
2845  char *stats_out;
2846 
2853  char *stats_in;
2854 
2861 #define FF_BUG_AUTODETECT 1
2862 #if FF_API_OLD_MSMPEG4
2863 #define FF_BUG_OLD_MSMPEG4 2
2864 #endif
2865 #define FF_BUG_XVID_ILACE 4
2866 #define FF_BUG_UMP4 8
2867 #define FF_BUG_NO_PADDING 16
2868 #define FF_BUG_AMV 32
2869 #if FF_API_AC_VLC
2870 #define FF_BUG_AC_VLC 0
2871 #endif
2872 #define FF_BUG_QPEL_CHROMA 64
2873 #define FF_BUG_STD_QPEL 128
2874 #define FF_BUG_QPEL_CHROMA2 256
2875 #define FF_BUG_DIRECT_BLOCKSIZE 512
2876 #define FF_BUG_EDGE 1024
2877 #define FF_BUG_HPEL_CHROMA 2048
2878 #define FF_BUG_DC_CLIP 4096
2879 #define FF_BUG_MS 8192
2880 #define FF_BUG_TRUNCATED 16384
2881 #define FF_BUG_IEDGE 32768
2882 
2896 #define FF_COMPLIANCE_VERY_STRICT 2
2897 #define FF_COMPLIANCE_STRICT 1
2898 #define FF_COMPLIANCE_NORMAL 0
2899 #define FF_COMPLIANCE_UNOFFICIAL -1
2900 #define FF_COMPLIANCE_EXPERIMENTAL -2
2901 
2902 
2908 #define FF_EC_GUESS_MVS 1
2909 #define FF_EC_DEBLOCK 2
2910 #define FF_EC_FAVOR_INTER 256
2911 
2917  int debug;
2918 #define FF_DEBUG_PICT_INFO 1
2919 #define FF_DEBUG_RC 2
2920 #define FF_DEBUG_BITSTREAM 4
2921 #define FF_DEBUG_MB_TYPE 8
2922 #define FF_DEBUG_QP 16
2923 #if FF_API_DEBUG_MV
2924 
2927 #define FF_DEBUG_MV 32
2928 #endif
2929 #define FF_DEBUG_DCT_COEFF 0x00000040
2930 #define FF_DEBUG_SKIP 0x00000080
2931 #define FF_DEBUG_STARTCODE 0x00000100
2932 #if FF_API_UNUSED_MEMBERS
2933 #define FF_DEBUG_PTS 0x00000200
2934 #endif /* FF_API_UNUSED_MEMBERS */
2935 #define FF_DEBUG_ER 0x00000400
2936 #define FF_DEBUG_MMCO 0x00000800
2937 #define FF_DEBUG_BUGS 0x00001000
2938 #if FF_API_DEBUG_MV
2939 #define FF_DEBUG_VIS_QP 0x00002000
2940 #define FF_DEBUG_VIS_MB_TYPE 0x00004000
2941 #endif
2942 #define FF_DEBUG_BUFFERS 0x00008000
2943 #define FF_DEBUG_THREADS 0x00010000
2944 #define FF_DEBUG_GREEN_MD 0x00800000
2945 #define FF_DEBUG_NOMC 0x01000000
2946 
2947 #if FF_API_DEBUG_MV
2948 
2955 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 // visualize forward predicted MVs of P-frames
2956 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 // visualize forward predicted MVs of B-frames
2957 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 // visualize backward predicted MVs of B-frames
2958 #endif
2959 
2966 
2973 #define AV_EF_CRCCHECK (1<<0)
2974 #define AV_EF_BITSTREAM (1<<1)
2975 #define AV_EF_BUFFER (1<<2)
2976 #define AV_EF_EXPLODE (1<<3)
2977 
2978 #define AV_EF_IGNORE_ERR (1<<15)
2979 #define AV_EF_CAREFUL (1<<16)
2980 #define AV_EF_COMPLIANT (1<<17)
2981 #define AV_EF_AGGRESSIVE (1<<18)
2982 
2983 
2991 
2998 
3010 
3016  uint64_t error[AV_NUM_DATA_POINTERS];
3017 
3024 #define FF_DCT_AUTO 0
3025 #define FF_DCT_FASTINT 1
3026 #define FF_DCT_INT 2
3027 #define FF_DCT_MMX 3
3028 #define FF_DCT_ALTIVEC 5
3029 #define FF_DCT_FAAN 6
3030 
3037 #define FF_IDCT_AUTO 0
3038 #define FF_IDCT_INT 1
3039 #define FF_IDCT_SIMPLE 2
3040 #define FF_IDCT_SIMPLEMMX 3
3041 #define FF_IDCT_ARM 7
3042 #define FF_IDCT_ALTIVEC 8
3043 #if FF_API_ARCH_SH4
3044 #define FF_IDCT_SH4 9
3045 #endif
3046 #define FF_IDCT_SIMPLEARM 10
3047 #if FF_API_UNUSED_MEMBERS
3048 #define FF_IDCT_IPP 13
3049 #endif /* FF_API_UNUSED_MEMBERS */
3050 #define FF_IDCT_XVID 14
3051 #if FF_API_IDCT_XVIDMMX
3052 #define FF_IDCT_XVIDMMX 14
3053 #endif /* FF_API_IDCT_XVIDMMX */
3054 #define FF_IDCT_SIMPLEARMV5TE 16
3055 #define FF_IDCT_SIMPLEARMV6 17
3056 #if FF_API_ARCH_SPARC
3057 #define FF_IDCT_SIMPLEVIS 18
3058 #endif
3059 #define FF_IDCT_FAAN 20
3060 #define FF_IDCT_SIMPLENEON 22
3061 #if FF_API_ARCH_ALPHA
3062 #define FF_IDCT_SIMPLEALPHA 23
3063 #endif
3064 #define FF_IDCT_SIMPLEAUTO 128
3065 
3072 
3079 
3080 #if FF_API_LOWRES
3081 
3088  int lowres;
3089 #endif
3090 
3091 #if FF_API_CODED_FRAME
3092 
3100 #endif
3101 
3109 
3119 #define FF_THREAD_FRAME 1
3120 #define FF_THREAD_SLICE 2
3121 
3122 
3128 
3138 
3148  int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size);
3149 
3168  int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);
3169 
3176 
3182  int profile;
3183 #define FF_PROFILE_UNKNOWN -99
3184 #define FF_PROFILE_RESERVED -100
3185 
3186 #define FF_PROFILE_AAC_MAIN 0
3187 #define FF_PROFILE_AAC_LOW 1
3188 #define FF_PROFILE_AAC_SSR 2
3189 #define FF_PROFILE_AAC_LTP 3
3190 #define FF_PROFILE_AAC_HE 4
3191 #define FF_PROFILE_AAC_HE_V2 28
3192 #define FF_PROFILE_AAC_LD 22
3193 #define FF_PROFILE_AAC_ELD 38
3194 #define FF_PROFILE_MPEG2_AAC_LOW 128
3195 #define FF_PROFILE_MPEG2_AAC_HE 131
3196 
3197 #define FF_PROFILE_DNXHD 0
3198 #define FF_PROFILE_DNXHR_LB 1
3199 #define FF_PROFILE_DNXHR_SQ 2
3200 #define FF_PROFILE_DNXHR_HQ 3
3201 #define FF_PROFILE_DNXHR_HQX 4
3202 #define FF_PROFILE_DNXHR_444 5
3203 
3204 #define FF_PROFILE_DTS 20
3205 #define FF_PROFILE_DTS_ES 30
3206 #define FF_PROFILE_DTS_96_24 40
3207 #define FF_PROFILE_DTS_HD_HRA 50
3208 #define FF_PROFILE_DTS_HD_MA 60
3209 #define FF_PROFILE_DTS_EXPRESS 70
3210 
3211 #define FF_PROFILE_MPEG2_422 0
3212 #define FF_PROFILE_MPEG2_HIGH 1
3213 #define FF_PROFILE_MPEG2_SS 2
3214 #define FF_PROFILE_MPEG2_SNR_SCALABLE 3
3215 #define FF_PROFILE_MPEG2_MAIN 4
3216 #define FF_PROFILE_MPEG2_SIMPLE 5
3217 
3218 #define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag
3219 #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag
3220 
3221 #define FF_PROFILE_H264_BASELINE 66
3222 #define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
3223 #define FF_PROFILE_H264_MAIN 77
3224 #define FF_PROFILE_H264_EXTENDED 88
3225 #define FF_PROFILE_H264_HIGH 100
3226 #define FF_PROFILE_H264_HIGH_10 110
3227 #define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
3228 #define FF_PROFILE_H264_MULTIVIEW_HIGH 118
3229 #define FF_PROFILE_H264_HIGH_422 122
3230 #define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
3231 #define FF_PROFILE_H264_STEREO_HIGH 128
3232 #define FF_PROFILE_H264_HIGH_444 144
3233 #define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
3234 #define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
3235 #define FF_PROFILE_H264_CAVLC_444 44
3236 
3237 #define FF_PROFILE_VC1_SIMPLE 0
3238 #define FF_PROFILE_VC1_MAIN 1
3239 #define FF_PROFILE_VC1_COMPLEX 2
3240 #define FF_PROFILE_VC1_ADVANCED 3
3241 
3242 #define FF_PROFILE_MPEG4_SIMPLE 0
3243 #define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
3244 #define FF_PROFILE_MPEG4_CORE 2
3245 #define FF_PROFILE_MPEG4_MAIN 3
3246 #define FF_PROFILE_MPEG4_N_BIT 4
3247 #define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
3248 #define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
3249 #define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
3250 #define FF_PROFILE_MPEG4_HYBRID 8
3251 #define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
3252 #define FF_PROFILE_MPEG4_CORE_SCALABLE 10
3253 #define FF_PROFILE_MPEG4_ADVANCED_CODING 11
3254 #define FF_PROFILE_MPEG4_ADVANCED_CORE 12
3255 #define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
3256 #define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
3257 #define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
3258 
3259 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1
3260 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2
3261 #define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768
3262 #define FF_PROFILE_JPEG2000_DCINEMA_2K 3
3263 #define FF_PROFILE_JPEG2000_DCINEMA_4K 4
3264 
3265 #define FF_PROFILE_VP9_0 0
3266 #define FF_PROFILE_VP9_1 1
3267 #define FF_PROFILE_VP9_2 2
3268 #define FF_PROFILE_VP9_3 3
3269 
3270 #define FF_PROFILE_HEVC_MAIN 1
3271 #define FF_PROFILE_HEVC_MAIN_10 2
3272 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
3273 #define FF_PROFILE_HEVC_REXT 4
3274 
3280  int level;
3281 #define FF_LEVEL_UNKNOWN -99
3282 
3289 
3296 
3303 
3314 
3315 #if FF_API_ERROR_RATE
3316 
3322 #endif
3323 
3324 #if FF_API_VBV_DELAY
3325 
3334  uint64_t vbv_delay;
3335 #endif
3336 
3337 #if FF_API_SIDEDATA_ONLY_PKT
3338 
3350 #endif
3351 
3368 
3377 
3384 
3393 
3402 
3403 #if !FF_API_LOWRES
3404 
3411  int lowres;
3412 #endif
3413 
3423 
3430 
3438 #define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3439 #define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3440 #define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3441 
3442 
3456 
3463 
3464 #if !FF_API_DEBUG_MV
3465 
3471  int debug_mv;
3472 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
3473 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
3474 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
3475 #endif
3476 
3484 
3493  uint8_t *dump_separator;
3494 
3502 
3503  /*
3504  * Properties of the stream that gets decoded
3505  * To be accessed through av_codec_get_properties() (NO direct access)
3506  * - encoding: unused
3507  * - decoding: set by libavcodec
3508  */
3509  unsigned properties;
3510 #define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
3511 #define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
3512 
3521 
3544 
3551 #define FF_SUB_TEXT_FMT_ASS 0
3552 #if FF_API_ASS_TIMING
3553 #define FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1
3554 #endif
3555 
3566 
3567 } AVCodecContext;
3568 
3571 
3574 
3575 unsigned av_codec_get_codec_properties(const AVCodecContext *avctx);
3576 
3577 int av_codec_get_lowres(const AVCodecContext *avctx);
3578 void av_codec_set_lowres(AVCodecContext *avctx, int val);
3579 
3580 int av_codec_get_seek_preroll(const AVCodecContext *avctx);
3581 void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
3582 
3583 uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);
3584 void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);
3585 
3589 typedef struct AVProfile {
3590  int profile;
3591  const char *name;
3592 } AVProfile;
3593 
3595 
3596 struct AVSubtitle;
3597 
3601 typedef struct AVCodec {
3608  const char *name;
3613  const char *long_name;
3622  const enum AVPixelFormat *pix_fmts;
3625  const uint64_t *channel_layouts;
3626  uint8_t max_lowres;
3629 
3630  /*****************************************************************
3631  * No fields below this line are part of the public API. They
3632  * may not be used outside of libavcodec and can be changed and
3633  * removed at will.
3634  * New public fields should be added right above.
3635  *****************************************************************
3636  */
3638  struct AVCodec *next;
3663 
3667  void (*init_static_data)(struct AVCodec *codec);
3668 
3670  int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,
3671  const struct AVSubtitle *sub);
3682  int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame,
3683  int *got_packet_ptr);
3684  int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
3685  int (*close)(AVCodecContext *);
3697  int (*send_frame)(AVCodecContext *avctx, const AVFrame *frame);
3698  int (*send_packet)(AVCodecContext *avctx, const AVPacket *avpkt);
3699  int (*receive_frame)(AVCodecContext *avctx, AVFrame *frame);
3700  int (*receive_packet)(AVCodecContext *avctx, AVPacket *avpkt);
3705  void (*flush)(AVCodecContext *);
3711 } AVCodec;
3712 
3713 int av_codec_get_max_lowres(const AVCodec *codec);
3714 
3715 struct MpegEncContext;
3716 
3721 typedef struct AVHWAccel {
3727  const char *name;
3728 
3735 
3742 
3748  enum AVPixelFormat pix_fmt;
3749 
3755 
3756  /*****************************************************************
3757  * No fields below this line are part of the public API. They
3758  * may not be used outside of libavcodec and can be changed and
3759  * removed at will.
3760  * New public fields should be added right above.
3761  *****************************************************************
3762  */
3763  struct AVHWAccel *next;
3764 
3768  int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame);
3769 
3784  int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3785 
3798  int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3799 
3809  int (*end_frame)(AVCodecContext *avctx);
3810 
3819 
3829  void (*decode_mb)(struct MpegEncContext *s);
3830 
3838  int (*init)(AVCodecContext *avctx);
3839 
3846  int (*uninit)(AVCodecContext *avctx);
3847 
3853 } AVHWAccel;
3854 
3863 #define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3864 
3869 #define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
3870 
3875 #if FF_API_AVPICTURE
3876 
3890 typedef struct AVPicture {
3892  uint8_t *data[AV_NUM_DATA_POINTERS];
3894  int linesize[AV_NUM_DATA_POINTERS];
3895 } AVPicture;
3896 
3900 #endif
3901 
3904 
3906 
3912 
3918 };
3919 
3920 #define AV_SUBTITLE_FLAG_FORCED 0x00000001
3921 
3922 typedef struct AVSubtitleRect {
3923  int x;
3924  int y;
3925  int w;
3926  int h;
3928 
3929 #if FF_API_AVPICTURE
3930 
3935 #endif
3936 
3940  uint8_t *data[4];
3941  int linesize[4];
3942 
3944 
3945  char *text;
3946 
3952  char *ass;
3953 
3954  int flags;
3955 } AVSubtitleRect;
3956 
3957 typedef struct AVSubtitle {
3958  uint16_t format; /* 0 = graphics */
3959  uint32_t start_display_time; /* relative to packet pts, in ms */
3960  uint32_t end_display_time; /* relative to packet pts, in ms */
3961  unsigned num_rects;
3963  int64_t pts;
3964 } AVSubtitle;
3965 
3973 typedef struct AVCodecParameters {
3977  enum AVMediaType codec_type;
3981  enum AVCodecID codec_id;
3985  uint32_t codec_tag;
3986 
3995  uint8_t *extradata;
4000 
4005  int format;
4006 
4010  int64_t bit_rate;
4011 
4024 
4037 
4041  int profile;
4042  int level;
4043 
4047  int width;
4048  int height;
4049 
4058 
4062  enum AVFieldOrder field_order;
4063 
4067  enum AVColorRange color_range;
4068  enum AVColorPrimaries color_primaries;
4070  enum AVColorSpace color_space;
4071  enum AVChromaLocation chroma_location;
4072 
4077 
4083  uint64_t channel_layout;
4103 
4123 
4129 AVCodec *av_codec_next(const AVCodec *c);
4130 
4134 unsigned avcodec_version(void);
4135 
4139 const char *avcodec_configuration(void);
4140 
4144 const char *avcodec_license(void);
4145 
4154 void avcodec_register(AVCodec *codec);
4155 
4166 void avcodec_register_all(void);
4167 
4182 
4187 void avcodec_free_context(AVCodecContext **avctx);
4188 
4189 #if FF_API_GET_CONTEXT_DEFAULTS
4190 
4196 #endif
4197 
4204 const AVClass *avcodec_get_class(void);
4205 
4206 #if FF_API_COPY_CONTEXT
4207 
4213 const AVClass *avcodec_get_frame_class(void);
4214 
4222 
4241 int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);
4242 #endif
4243 
4250 
4256 
4264 
4273  const AVCodecContext *codec);
4274 
4284  const AVCodecParameters *par);
4285 
4324 int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
4325 
4339 int avcodec_close(AVCodecContext *avctx);
4340 
4346 void avsubtitle_free(AVSubtitle *sub);
4347 
4368 AVPacket *av_packet_alloc(void);
4369 
4381 
4389 void av_packet_free(AVPacket **pkt);
4390 
4399 void av_init_packet(AVPacket *pkt);
4400 
4409 int av_new_packet(AVPacket *pkt, int size);
4410 
4417 void av_shrink_packet(AVPacket *pkt, int size);
4418 
4425 int av_grow_packet(AVPacket *pkt, int grow_by);
4426 
4440 int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);
4441 
4442 #if FF_API_AVPACKET_OLD_API
4443 
4450 int av_dup_packet(AVPacket *pkt);
4456 int av_copy_packet(AVPacket *dst, const AVPacket *src);
4457 
4463 int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src);
4464 
4473 void av_free_packet(AVPacket *pkt);
4474 #endif
4475 
4484  int size);
4485 
4500  uint8_t *data, size_t size);
4501 
4511  int size);
4512 
4522  int *size);
4523 
4525 
4527 
4529 
4537 uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size);
4546 int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict);
4547 
4548 
4556 
4573 int av_packet_ref(AVPacket *dst, const AVPacket *src);
4574 
4583 void av_packet_unref(AVPacket *pkt);
4584 
4593 void av_packet_move_ref(AVPacket *dst, AVPacket *src);
4594 
4606 int av_packet_copy_props(AVPacket *dst, const AVPacket *src);
4607 
4619 void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst);
4620 
4637 
4645 
4651 int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags);
4652 
4653 #if FF_API_EMU_EDGE
4654 
4665 unsigned avcodec_get_edge_width(void);
4666 #endif
4667 
4675 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
4676 
4684 void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
4685  int linesize_align[AV_NUM_DATA_POINTERS]);
4686 
4696 int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos);
4697 
4707 enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos);
4708 
4763 int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
4764  int *got_frame_ptr, const AVPacket *avpkt);
4765 
4812 int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
4813  int *got_picture_ptr,
4814  const AVPacket *avpkt);
4815 
4844  int *got_sub_ptr,
4845  AVPacket *avpkt);
4846 
4895 int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt);
4896 
4915 int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame);
4916 
4950 int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame);
4951 
4967 int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt);
4968 
4969 
4977  AV_PICTURE_STRUCTURE_TOP_FIELD, //< coded as top field
4978  AV_PICTURE_STRUCTURE_BOTTOM_FIELD, //< coded as bottom field
4979  AV_PICTURE_STRUCTURE_FRAME, //< coded as frame
4980 };
4981 
4982 typedef struct AVCodecParserContext {
4983  void *priv_data;
4985  int64_t frame_offset; /* offset of the current frame */
4986  int64_t cur_offset; /* current offset
4987  (incremented by each av_parser_parse()) */
4988  int64_t next_frame_offset; /* offset of the next frame */
4989  /* video info */
4990  int pict_type; /* XXX: Put it back in AVCodecContext. */
5000  int repeat_pict; /* XXX: Put it back in AVCodecContext. */
5001  int64_t pts; /* pts of the current frame */
5002  int64_t dts; /* dts of the current frame */
5003 
5004  /* private data */
5005  int64_t last_pts;
5006  int64_t last_dts;
5008 
5009 #define AV_PARSER_PTS_NB 4
5011  int64_t cur_frame_offset[AV_PARSER_PTS_NB];
5012  int64_t cur_frame_pts[AV_PARSER_PTS_NB];
5013  int64_t cur_frame_dts[AV_PARSER_PTS_NB];
5014 
5015  int flags;
5016 #define PARSER_FLAG_COMPLETE_FRAMES 0x0001
5017 #define PARSER_FLAG_ONCE 0x0002
5018 #define PARSER_FLAG_FETCHED_OFFSET 0x0004
5020 #define PARSER_FLAG_USE_CODEC_TS 0x1000
5021 
5022  int64_t offset;
5023  int64_t cur_frame_end[AV_PARSER_PTS_NB];
5024 
5032 
5033 #if FF_API_CONVERGENCE_DURATION
5034 
5039 #endif
5040 
5041  // Timestamp generation support:
5052 
5067 
5081 
5087  int64_t cur_frame_pos[AV_PARSER_PTS_NB];
5088 
5092  int64_t pos;
5093 
5097  int64_t last_pos;
5098 
5105 
5106  enum AVFieldOrder field_order;
5107 
5116  enum AVPictureStructure picture_structure;
5117 
5125 
5129  int width;
5130  int height;
5131 
5137 
5146  int format;
5148 
5149 typedef struct AVCodecParser {
5150  int codec_ids[5]; /* several codec IDs are permitted */
5152  int (*parser_init)(AVCodecParserContext *s);
5153  /* This callback never returns an error, a negative value means that
5154  * the frame start was in a previous packet. */
5155  int (*parser_parse)(AVCodecParserContext *s,
5156  AVCodecContext *avctx,
5157  const uint8_t **poutbuf, int *poutbuf_size,
5158  const uint8_t *buf, int buf_size);
5159  void (*parser_close)(AVCodecParserContext *s);
5160  int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size);
5162 } AVCodecParser;
5163 
5165 
5167 AVCodecParserContext *av_parser_init(int codec_id);
5168 
5201  AVCodecContext *avctx,
5202  uint8_t **poutbuf, int *poutbuf_size,
5203  const uint8_t *buf, int buf_size,
5204  int64_t pts, int64_t dts,
5205  int64_t pos);
5206 
5212  AVCodecContext *avctx,
5213  uint8_t **poutbuf, int *poutbuf_size,
5214  const uint8_t *buf, int buf_size, int keyframe);
5216 
5234 
5242 
5284 int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt,
5285  const AVFrame *frame, int *got_packet_ptr);
5286 
5323 int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
5324  const AVFrame *frame, int *got_packet_ptr);
5325 
5326 int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
5327  const AVSubtitle *sub);
5328 
5329 
5334 #if FF_API_AVCODEC_RESAMPLE
5335 
5342 struct ReSampleContext;
5343 struct AVResampleContext;
5344 
5346 
5364 ReSampleContext *av_audio_resample_init(int output_channels, int input_channels,
5365  int output_rate, int input_rate,
5366  enum AVSampleFormat sample_fmt_out,
5367  enum AVSampleFormat sample_fmt_in,
5368  int filter_length, int log2_phase_count,
5369  int linear, double cutoff);
5370 
5372 int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples);
5373 
5382 
5383 
5394 struct AVResampleContext *av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff);
5395 
5406 int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx);
5407 
5408 
5422 void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance);
5424 void av_resample_close(struct AVResampleContext *c);
5425 
5429 #endif
5430 
5431 #if FF_API_AVPICTURE
5432 
5441 int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height);
5442 
5447 void avpicture_free(AVPicture *picture);
5448 
5453 int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
5454  enum AVPixelFormat pix_fmt, int width, int height);
5455 
5460 int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt,
5461  int width, int height,
5462  unsigned char *dest, int dest_size);
5463 
5468 int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
5469 
5474 void av_picture_copy(AVPicture *dst, const AVPicture *src,
5475  enum AVPixelFormat pix_fmt, int width, int height);
5476 
5481 int av_picture_crop(AVPicture *dst, const AVPicture *src,
5482  enum AVPixelFormat pix_fmt, int top_band, int left_band);
5483 
5488 int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt,
5489  int padtop, int padbottom, int padleft, int padright, int *color);
5490 
5494 #endif
5495 
5527 void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift);
5528 
5534 unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt);
5535 
5539 int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt,
5540  int has_alpha);
5541 
5559 enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list,
5560  enum AVPixelFormat src_pix_fmt,
5561  int has_alpha, int *loss_ptr);
5562 
5566 enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,
5567  enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
5568 
5570 enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,
5571  enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
5572 
5573 enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
5574 
5579 #if FF_API_SET_DIMENSIONS
5580 
5584 void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
5585 #endif
5586 
5596 size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag);
5597 
5598 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode);
5599 
5607 const char *av_get_profile_name(const AVCodec *codec, int profile);
5608 
5620 const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);
5621 
5622 int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
5623 int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);
5624 //FIXME func typedef
5625 
5649 int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,
5650  enum AVSampleFormat sample_fmt, const uint8_t *buf,
5651  int buf_size, int align);
5652 
5663 
5670 int av_get_bits_per_sample(enum AVCodecID codec_id);
5671 
5678 enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
5679 
5688 int av_get_exact_bits_per_sample(enum AVCodecID codec_id);
5689 
5698 int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes);
5699 
5704 int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes);
5705 
5706 #if FF_API_OLD_BSF
5708  void *priv_data;
5716  char *args;
5718 #endif
5719 
5721 
5732 typedef struct AVBSFContext {
5737 
5741  const struct AVBitStreamFilter *filter;
5742 
5747  AVBSFInternal *internal;
5748 
5753  void *priv_data;
5754 
5759 
5764 
5770 
5776 } AVBSFContext;
5777 
5778 typedef struct AVBitStreamFilter {
5779  const char *name;
5780 
5786  const enum AVCodecID *codec_ids;
5787 
5798 
5799  /*****************************************************************
5800  * No fields below this line are part of the public API. They
5801  * may not be used outside of libavcodec and can be changed and
5802  * removed at will.
5803  * New public fields should be added right above.
5804  *****************************************************************
5805  */
5806 
5808  int (*init)(AVBSFContext *ctx);
5809  int (*filter)(AVBSFContext *ctx, AVPacket *pkt);
5810  void (*close)(AVBSFContext *ctx);
5812 
5813 #if FF_API_OLD_BSF
5814 
5825 
5838 
5870  AVCodecContext *avctx, const char *args,
5871  uint8_t **poutbuf, int *poutbuf_size,
5872  const uint8_t *buf, int buf_size, int keyframe);
5873 
5882 
5893 #endif
5894 
5899 const AVBitStreamFilter *av_bsf_get_by_name(const char *name);
5900 
5910 const AVBitStreamFilter *av_bsf_next(void **opaque);
5911 
5924 int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx);
5925 
5930 int av_bsf_init(AVBSFContext *ctx);
5931 
5948 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt);
5949 
5975 
5980 void av_bsf_free(AVBSFContext **ctx);
5981 
5988 const AVClass *av_bsf_get_class(void);
5989 
5994 typedef struct AVBSFList AVBSFList;
5995 
6004 
6010 void av_bsf_list_free(AVBSFList **lst);
6011 
6020 int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf);
6021 
6032 int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options);
6049 int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf);
6050 
6064 int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf);
6065 
6074 
6075 /* memory */
6076 
6084 void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size);
6085 
6090 void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size);
6091 
6099 unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
6100 
6101 #if FF_API_MISSING_SAMPLE
6102 
6116 void av_log_missing_feature(void *avc, const char *feature, int want_sample);
6117 
6128 void av_log_ask_for_sample(void *avc, const char *msg, ...) av_printf_format(2, 3);
6129 #endif /* FF_API_MISSING_SAMPLE */
6130 
6134 void av_register_hwaccel(AVHWAccel *hwaccel);
6135 
6141 AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel);
6142 
6143 
6147 enum AVLockOp {
6152 };
6153 
6177 int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
6178 
6182 enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
6183 
6188 const char *avcodec_get_name(enum AVCodecID id);
6189 
6195 
6199 int av_codec_is_encoder(const AVCodec *codec);
6200 
6204 int av_codec_is_decoder(const AVCodec *codec);
6205 
6210 
6219 
6225 
6236 
6241 #endif /* AVCODEC_AVCODEC_H */
Definition: avcodec.h:256
int flags
Definition: avcodec.h:5015
Definition: avcodec.h:500
AVBufferRef * buf
Definition: avcodec.h:1584
Definition: avcodec.h:430
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it ...
Definition: avcodec.h:645
Definition: avcodec.h:387
int active_thread_type
Definition: avcodec.h:3127
int thread_type
Definition: avcodec.h:3118
attribute_deprecated int chromaoffset
Definition: avcodec.h:2362
void av_bsf_free(AVBSFContext **ctx)
attribute_deprecated int p_tex_bits
Definition: avcodec.h:2825
Definition: avcodec.h:574
struct AVBSFContext AVBSFContext
Definition: avcodec.h:383
Definition: avcodec.h:365
Definition: avcodec.h:463
Definition: avcodec.h:545
int has_b_frames
Definition: avcodec.h:1998
discard all frames except keyframes
Definition: avcodec.h:786
AVSideDataParamChangeFlags
Definition: avcodec.h:1642
Definition: avcodec.h:368
Definition: avcodec.h:433
Definition: avcodec.h:192
Definition: avcodec.h:228
struct AVCodecParser AVCodecParser
Definition: avcodec.h:291
Definition: avcodec.h:374
AVPacketSideDataType
Definition: avcodec.h:1362
Definition: avcodec.h:501
Definition: avcodec.h:304
Definition: avcodec.h:1526
int sub_text_format
Definition: avcodec.h:3550
Definition: avcodec.h:296
Definition: avcodec.h:421
Definition: avcodec.h:1513
int avcodec_default_execute2(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
const char *const * mime_types
Definition: avcodec.h:682
int64_t rc_max_rate
Definition: avcodec.h:2676
AVCodec * avcodec_find_encoder(enum AVCodecID id)
Definition: avcodec.h:583
int pre_dia_size
Definition: avcodec.h:2163
int width
Definition: avcodec.h:4047
attribute_deprecated int brd_scale
Definition: avcodec.h:2342
Definition: avcodec.h:533
int64_t bit_rate
Definition: avcodec.h:1741
Definition: avcodec.h:465
int64_t last_pos
Definition: avcodec.h:5097
A dummy id pointing at the start of audio codecs.
Definition: avcodec.h:416
AVBufferRef * hw_frames_ctx
Definition: avcodec.h:3543
Definition: avcodec.h:264
Definition: avcodec.h:626
Definition: avcodec.h:576
Definition: avcodec.h:419
char * stats_in
Definition: avcodec.h:2853
Definition: avcodec.h:611
float p_masking
Definition: avcodec.h:2048
Definition: avcodec.h:642
char * args
Definition: avcodec.h:5716
const char * long_name
Definition: avcodec.h:672
Definition: avcodec.h:446
int av_lockmgr_register(int(*cb)(void **mutex, enum AVLockOp op))
float rc_min_vbv_overflow_use
Definition: avcodec.h:2708
Definition: avcodec.h:542
int64_t dts
Definition: avcodec.h:5002
attribute_deprecated int lmin
Definition: avcodec.h:2743
Unlock the mutex.
Definition: avcodec.h:6150
int(* init_thread_copy)(AVCodecContext *)
Definition: avcodec.h:3648
int(* init)(AVCodecContext *)
Definition: avcodec.h:3669
Definition: avcodec.h:3589
Definition: avcodec.h:258
AVRational framerate
Definition: avcodec.h:3376
Definition: avcodec.h:326
void av_shrink_packet(AVPacket *pkt, int size)
Definition: avcodec.h:353
Definition: avcodec.h:1500
int(* execute2)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count)
Definition: avcodec.h:3168
attribute_deprecated int min_prediction_order
Definition: avcodec.h:2780
enum AVCodecID * codec_ids
Definition: avcodec.h:5786
int pts_dts_delta
Definition: avcodec.h:5080
attribute_deprecated float border_masking
Definition: avcodec.h:2308
Definition: avcodec.h:330
Definition: avcodec.h:624
Dummy codec for streams containing only metadata information.
Definition: avcodec.h:651
Definition: avcodec.h:267
uint8_t * data
Definition: avcodec.h:1601
int w
width of pict, undefined when pict is not set
Definition: avcodec.h:3925
int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt)
attribute_deprecated int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples)
void(* decode_mb)(struct MpegEncContext *s)
Definition: avcodec.h:3829
Definition: avcodec.h:1431
Definition: avcodec.h:280
attribute_deprecated int side_data_only_packets
Definition: avcodec.h:3349
const char * avcodec_configuration(void)
const char * name
short name for the profile
Definition: avcodec.h:3591
int workaround_bugs
Definition: avcodec.h:2860
attribute_deprecated 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)
Definition: avcodec.h:582
int last_predictor_count
Definition: avcodec.h:2143
Definition: avcodec.h:260
Definition: avcodec.h:251
attribute_deprecated int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
int me_pre_cmp
Definition: avcodec.h:2156
struct AVBitStreamFilter * filter
Definition: avcodec.h:5709
Definition: avcodec.h:544
Definition: avcodec.h:476
AVRational time_base_out
Definition: avcodec.h:5775
int log_level_offset
Definition: avcodec.h:1682
Definition: avcodec.h:625
const char * avcodec_license(void)
Definition: avcodec.h:393
enhanced predictive zonal search
Definition: avcodec.h:766
int64_t dts
Definition: avcodec.h:1600
const char * name
Definition: avcodec.h:668
const AVBitStreamFilter * av_bsf_get_by_name(const char *name)
attribute_deprecated int coder_type
Definition: avcodec.h:2729
Definition: avcodec.h:278
Definition: avcodec.h:1457
Definition: avcodec.h:206
attribute_deprecated int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
attribute_deprecated int mpeg_quant
Definition: avcodec.h:2003
Definition: avcodec.h:271
int initial_padding
Definition: avcodec.h:3367
Definition: avcodec.h:528
Definition: avcodec.h:561
attribute_deprecated int rc_qmod_freq
Definition: avcodec.h:2645
attribute_deprecated int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, const AVPacket *avpkt)
enum AVColorRange color_range
Definition: avcodec.h:2413
uint8_t * extradata
Definition: avcodec.h:3995
Definition: avcodec.h:252
Contain timestamp estimated through PCR of program stream.
Definition: avcodec.h:634
Definition: avcodec.h:349
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
int flags2
Definition: avcodec.h:1778
Definition: avcodec.h:620
A dummy ID pointing at the start of various fake codecs.
Definition: avcodec.h:631
int64_t pos
byte position in stream, -1 if unknown
Definition: avcodec.h:1621
Definition: avcodec.h:339
Definition: buffer.h:81
Definition: avcodec.h:411
attribute_deprecated int rc_strategy
Definition: avcodec.h:1975
int priv_data_size
Definition: avcodec.h:5151
Definition: avcodec.h:209
int side_data_elems
Definition: avcodec.h:1613
int block_align
Definition: avcodec.h:2475
size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag)
enum AVAudioServiceType audio_service_type
Definition: avcodec.h:2503
Definition: avcodec.h:217
enum AVDiscard skip_idct
Definition: avcodec.h:3295
discard all non intra frames
Definition: avcodec.h:785
int format
Definition: avcodec.h:5146
discard all
Definition: avcodec.h:787
Definition: avcodec.h:354
Definition: avcodec.h:508
Definition: avcodec.h:345
attribute_deprecated int i_count
Definition: avcodec.h:2827
Definition: avcodec.h:530
uint8_t * dump_separator
Definition: avcodec.h:3493
int slice_flags
Definition: avcodec.h:2219
Definition: avcodec.h:470
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
void avcodec_register_all(void)
Definition: avcodec.h:328
int qmax
Definition: avcodec.h:2626
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
int av_bsf_get_null_filter(AVBSFContext **bsf)
Definition: avcodec.h:454
int priv_data_size
Definition: avcodec.h:3637
enum AVMediaType type
Definition: avcodec.h:662
Definition: avcodec.h:224
Definition: frame.h:184
Definition: avcodec.h:1410
Definition: avcodec.h:615
int bidir_refine
Definition: avcodec.h:2337
attribute_deprecated 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)
Definition: avcodec.h:526
Definition: avcodec.h:549
Definition: avcodec.h:532
Definition: avcodec.h:445
AVCodecParameters * par_out
Definition: avcodec.h:5763
int av_bsf_init(AVBSFContext *ctx)
AVLockOp
Definition: avcodec.h:6147
AVColorTransferCharacteristic
Definition: pixfmt.h:410
Definition: avcodec.h:467
int debug_mv
Definition: avcodec.h:2954
Definition: avcodec.h:288
attribute_deprecated unsigned avcodec_get_edge_width(void)
attribute_deprecated int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated void av_log_missing_feature(void *avc, const char *feature, int want_sample)
int priv_data_size
Definition: avcodec.h:3852
Definition: avcodec.h:541
attribute_deprecated int context_model
Definition: avcodec.h:2735
const AVRational * supported_framerates
array of supported framerates, or NULL if any, array is terminated by {0,0}
Definition: avcodec.h:3621
Definition: avcodec.h:248
Definition: avcodec.h:536
Definition: avcodec.h:377
Definition: avcodec.h:309
Definition: avcodec.h:1539
attribute_deprecated int lmax
Definition: avcodec.h:2749
Definition: avcodec.h:281
Definition: avcodec.h:797
int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
Definition: avcodec.h:554
Definition: avcodec.h:392
int global_quality
Definition: avcodec.h:1757
Definition: avcodec.h:481
Definition: avcodec.h:483
attribute_deprecated int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx)
int av_codec_is_decoder(const AVCodec *codec)
const AVCodecDescriptor * avcodec_descriptor_next(const AVCodecDescriptor *prev)
Definition: avcodec.h:537
void av_bsf_list_free(AVBSFList **lst)
Definition: avcodec.h:562
int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
int delay
Definition: avcodec.h:1846
Definition: avcodec.h:604
const AVClass * avcodec_get_class(void)
Definition: avcodec.h:598
int av_codec_is_encoder(const AVCodec *codec)
size_t size
Definition: mem.h:207
struct AVBitStreamFilterContext * next
Definition: avcodec.h:5711
Definition: avcodec.h:556
Definition: avcodec.h:488
const AVClass * av_class
Definition: avcodec.h:1681
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx)
int max_b_frames
Definition: avcodec.h:1962
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height)
Definition: avcodec.h:243
int trellis
Definition: avcodec.h:2775
void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val)
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
Definition: avcodec.h:791
attribute_deprecated uint64_t vbv_delay
Definition: avcodec.h:3334
Definition: avcodec.h:397
int coded_width
Definition: avcodec.h:5135
void av_packet_free(AVPacket **pkt)
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
Lock the mutex.
Definition: avcodec.h:6149
Definition: avcodec.h:405
int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
Definition: avcodec.h:238
int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int id
Definition: avcodec.h:1288
const AVProfile * profiles
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} ...
Definition: avcodec.h:3628
AVCodecParameters * avcodec_parameters_alloc(void)
char * stats_out
Definition: avcodec.h:2845
Definition: avcodec.h:3922
Definition: avcodec.h:211
int frame_priv_data_size
Definition: avcodec.h:3818
AVColorSpace
Definition: pixfmt.h:436
unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt)
int extradata_size
Definition: avcodec.h:3999
Definition: avcodec.h:313
AVRational sample_aspect_ratio
Definition: avcodec.h:2087
Definition: avcodec.h:444
struct AVCodecContext AVCodecContext
struct AVCodecDefault AVCodecDefault
Definition: avcodec.h:3594
RcOverride * rc_override
Definition: avcodec.h:2661
int height
Definition: avcodec.h:1296
Definition: avcodec.h:461
int fetch_timestamp
Definition: avcodec.h:5007
Definition: avcodec.h:547
Definition: avcodec.h:660
AVRational time_base_in
Definition: avcodec.h:5769
Definition: avcodec.h:1425
const AVCodecDescriptor * codec_descriptor
Definition: avcodec.h:3401
Definition: avcodec.h:3721
Definition: avcodec.h:623
char * codec_whitelist
Definition: avcodec.h:3501
Definition: avcodec.h:318
const char * name
Definition: avcodec.h:3727
int sub_charenc_mode
Definition: avcodec.h:3437
Definition: avcodec.h:518
Definition: avcodec.h:340
int pict_type
Definition: avcodec.h:4990
Definition: avcodec.h:382
const struct AVBitStreamFilter * filter
Definition: avcodec.h:5741
int ticks_per_frame
Definition: avcodec.h:1822
attribute_deprecated int error_rate
Definition: avcodec.h:3321
Definition: avcodec.h:207
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
char * ass
Definition: avcodec.h:3952
Definition: avcodec.h:504
Definition: avcodec.h:449
int channels
Definition: avcodec.h:4087
Definition: avcodec.h:431
int key_frame
Definition: avcodec.h:5031
uint16_t format
Definition: avcodec.h:3958
Definition: avcodec.h:302
uint32_t start_display_time
Definition: avcodec.h:3959
int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)
int refs
Definition: avcodec.h:2357
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Definition: avcodec.h:3798
void av_codec_set_lowres(AVCodecContext *avctx, int val)
Definition: avcodec.h:443
attribute_deprecated void av_resample_close(struct AVResampleContext *c)
Definition: avcodec.h:453
Definition: avcodec.h:218
int avg_bitrate
Definition: avcodec.h:1326
uint8_t * subtitle_header
Definition: avcodec.h:3312
Definition: avcodec.h:317
Definition: avcodec.h:378
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
Definition: avcodec.h:571
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
Definition: avcodec.h:3656
Definition: avcodec.h:474
Definition: avcodec.h:565
Definition: avcodec.h:491
int cur_frame_start_index
Definition: avcodec.h:5010
Definition: avcodec.h:497
Definition: avcodec.h:600
Motion_Est_ID
Definition: avcodec.h:761
Definition: avcodec.h:597
attribute_deprecated int frame_skip_factor
Definition: avcodec.h:2759
Definition: avcodec.h:591
Definition: avcodec.h:388
Definition: avcodec.h:263
int refcounted_frames
Definition: avcodec.h:2608
Definition: avcodec.h:323
int error_concealment
Definition: avcodec.h:2907
Definition: avcodec.h:367
int nb_colors
number of colors in pict, undefined when pict is not set
Definition: avcodec.h:3927
attribute_deprecated int intra_quant_bias
Definition: avcodec.h:2205
float qblur
amount of qscale smoothing over time (0.0-1.0)
Definition: avcodec.h:2612
Definition: avcodec.h:222
AVColorRange
Definition: pixfmt.h:457
Definition: avcodec.h:410
const AVCodecDescriptor * av_codec_get_codec_descriptor(const AVCodecContext *avctx)
const AVClass * avcodec_get_frame_class(void)
Definition: avcodec.h:292
Definition: avcodec.h:509
int mv0_threshold
Definition: avcodec.h:2379
Definition: avcodec.h:204
const AVCodecDefault * defaults
Definition: avcodec.h:3662
Definition: avcodec.h:622
Definition: avcodec.h:4979
uint64_t request_channel_layout
Definition: avcodec.h:2496
AVColorPrimaries
Definition: pixfmt.h:389
attribute_deprecated int frame_skip_cmp
Definition: avcodec.h:2767
int frame_number
Definition: avcodec.h:2469
AVCPBProperties * av_cpb_properties_alloc(size_t *size)
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
Definition: avcodec.h:1954
attribute_deprecated int misc_bits
Definition: avcodec.h:2833
Definition: avcodec.h:283
Definition: avcodec.h:435
int level
Definition: avcodec.h:4042
int nsse_weight
Definition: avcodec.h:3175
Definition: avcodec.h:436
struct AVPacketSideData AVPacketSideData
Definition: avcodec.h:639
Definition: avcodec.h:535
int av_packet_ref(AVPacket *dst, const AVPacket *src)
hexagon based search
Definition: avcodec.h:768
Definition: avcodec.h:336
Definition: avcodec.h:303
Definition: avcodec.h:341
AVCodec * avcodec_find_encoder_by_name(const char *name)
Definition: avcodec.h:221
const char * long_name
Definition: avcodec.h:3613
void * opaque
Definition: avcodec.h:1733
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[AV_NUM_DATA_POINTERS])
attribute_deprecated int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
Definition: avcodec.h:552
Definition: avcodec.h:472
Definition: avcodec.h:1532
uint16_t * av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx)
Definition: avcodec.h:563
float rc_max_available_vbv_use
Definition: avcodec.h:2701
Definition: avcodec.h:496
Definition: avcodec.h:306
attribute_deprecated void avcodec_set_dimensions(AVCodecContext *s, int width, int height)
Definition: avcodec.h:195
Definition: avcodec.h:300
int avcodec_close(AVCodecContext *avctx)
int strict_std_compliance
Definition: avcodec.h:2895
int av_new_packet(AVPacket *pkt, int size)
no search, that is use 0,0 vector whenever one is needed
Definition: avcodec.h:762
Definition: avcodec.h:5707
Definition: avcodec.h:220
const struct AVCodec * codec
Definition: avcodec.h:1685
Definition: avcodec.h:4982
reserved for experiments
Definition: avcodec.h:767
Definition: avcodec.h:205
enum AVChromaLocation chroma_sample_location
Definition: avcodec.h:2420
Definition: avcodec.h:424
Definition: avcodec.h:200
int capabilities
Definition: avcodec.h:3754
Definition: avcodec.h:344
AVCodecID
Definition: avcodec.h:191
int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src)
const char * name
Definition: avcodec.h:5779
Definition: avcodec.h:249
Definition: avcodec.h:273
int av_get_bits_per_sample(enum AVCodecID codec_id)
Definition: avcodec.h:555
Definition: avcodec.h:3903
Definition: avcodec.h:1363
Definition: avcodec.h:558
enum AVColorSpace colorspace
Definition: avcodec.h:2406
const AVBitStreamFilter * av_bsf_next(void **opaque)
Create a mutex.
Definition: avcodec.h:6148
Definition: avcodec.h:525
void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst)
int trailing_padding
Definition: avcodec.h:4117
Definition: avcodec.h:1578
Definition: avcodec.h:369
int dts_sync_point
Definition: avcodec.h:5051
int y
top left corner of pict, undefined when pict is not set
Definition: avcodec.h:3924
attribute_deprecated const char * rc_eq
Definition: avcodec.h:2668
int width
Definition: avcodec.h:1295
Definition: avcodec.h:495
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
Definition: avcodec.h:3768
int rc_initial_buffer_occupancy
Definition: avcodec.h:2715
AVAudioServiceType
Definition: avcodec.h:790
const AVClass * av_class
Definition: avcodec.h:5736
Definition: avcodec.h:511
Definition: avcodec.h:412
discard all bidirectional frames
Definition: avcodec.h:784
Definition: avcodec.h:1389
attribute_deprecated float rc_qmod_amp
Definition: avcodec.h:2643
int64_t last_dts
Definition: avcodec.h:5006
Definition: avcodec.h:319
Definition: avcodec.h:311
Definition: avcodec.h:584
int64_t rc_min_rate
Definition: avcodec.h:2683
Definition: avcodec.h:226
enum AVFieldOrder field_order
Definition: avcodec.h:2435
void av_packet_free_side_data(AVPacket *pkt)
Definition: avcodec.h:413
AVCodec * av_codec_next(const AVCodec *c)
Definition: avcodec.h:333
attribute_deprecated int p_count
Definition: avcodec.h:2829
Definition: avcodec.h:456
attribute_deprecated int av_dup_packet(AVPacket *pkt)
int avcodec_is_open(AVCodecContext *s)
Definition: avcodec.h:4978
struct AVHWAccel * next
Definition: avcodec.h:3763
attribute_deprecated int64_t convergence_duration
Definition: avcodec.h:5038
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Definition: avcodec.h:275
Definition: avcodec.h:520
struct AVDictionary AVDictionary
Definition: dict.h:90
struct AVCodecParserContext AVCodecParserContext
struct AVCodec AVCodec
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition: avcodec.h:517
attribute_deprecated AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
struct AVSubtitle AVSubtitle
Definition: avcodec.h:480
unsigned properties
Definition: avcodec.h:3509
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)
Definition: avcodec.h:212
Definition: avcodec.h:637
Definition: avcodec.h:567
AVPacketSideData * coded_side_data
Definition: avcodec.h:3519
Definition: avcodec.h:477
uint64_t vbv_delay
Definition: avcodec.h:1341
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
Definition: avcodec.h:1282
int max_bitrate
Definition: avcodec.h:1316
Definition: avcodec.h:331
void * priv_data
Definition: avcodec.h:5753
Definition: avcodec.h:276
int(* get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags)
Definition: avcodec.h:2593
int64_t bit_rate
Definition: avcodec.h:4010
Definition: avcodec.h:593
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Definition: avcodec.h:223
int height
Definition: avcodec.h:5130
Definition: avcodec.h:621
AVCodecParser * av_parser_next(const AVCodecParser *c)
int mb_lmin
Definition: avcodec.h:2316
struct AVPicture AVPicture
int err_recognition
Definition: avcodec.h:2965
int debug
Definition: avcodec.h:2917
Definition: avcodec.h:796
int level
Definition: avcodec.h:3280
int me_cmp
Definition: avcodec.h:2094
const struct AVProfile * profiles
Definition: avcodec.h:687
struct AVCPBProperties AVCPBProperties
transformed exhaustive search algorithm
Definition: avcodec.h:770
Definition: avcodec.h:587
void avcodec_parameters_free(AVCodecParameters **par)
int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes)
int64_t pts
Definition: avcodec.h:1594
Definition: avcodec.h:198
Definition: avcodec.h:610
uint8_t max_lowres
maximum value for lowres supported by the decoder, no direct access, use av_codec_get_max_lowres() ...
Definition: avcodec.h:3626
uint32_t codec_tag
Definition: avcodec.h:3985
int64_t pts_correction_num_faulty_dts
Number of incorrect PTS values so far.
Definition: avcodec.h:3420
Definition: avcodec.h:321
Definition: avcodec.h:612
int props
Definition: avcodec.h:676
#define av_printf_format(fmtpos, attrpos)
Definition: attributes.h:159
struct AVBitStreamFilter AVBitStreamFilter
attribute_deprecated int frame_skip_threshold
Definition: avcodec.h:2755
int av_codec_get_lowres(const AVCodecContext *avctx)
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
float temporal_cplx_masking
Definition: avcodec.h:2034
int height
Definition: avcodec.h:1863
Definition: avcodec.h:473
Definition: avcodec.h:492
Definition: avcodec.h:493
Definition: avcodec.h:270
Definition: avcodec.h:632
Definition: avcodec.h:329
Definition: avcodec.h:1311
attribute_deprecated int inter_quant_bias
Definition: avcodec.h:2211
int av_packet_merge_side_data(AVPacket *pkt)
int64_t pts
Definition: avcodec.h:5001
attribute_deprecated int me_penalty_compensation
Definition: avcodec.h:2330
void(* init_static_data)(struct AVCodec *codec)
Definition: avcodec.h:3667
attribute_deprecated int dtg_active_format
Definition: avcodec.h:2182
int frame_size
Definition: avcodec.h:4102
int ildct_cmp
Definition: avcodec.h:2112
int compression_level
Definition: avcodec.h:1763
Definition: avcodec.h:231
int end_frame
Definition: avcodec.h:808
int flags
Definition: avcodec.h:1771
Not part of ABI.
Definition: avcodec.h:800
Definition: avcodec.h:765
Definition: avcodec.h:595
int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf)
Definition: avcodec.h:4977
A bitmap, pict will be set.
Definition: avcodec.h:3905
Definition: avcodec.h:395
attribute_deprecated int header_bits
Definition: avcodec.h:2821
int mb_lmax
Definition: avcodec.h:2323
Definition: avcodec.h:235
Definition: avcodec.h:384
int seek_preroll
Definition: avcodec.h:3462
Definition: avcodec.h:485
Definition: avcodec.h:636
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
Definition: avcodec.h:357
Definition: avcodec.h:282
struct RcOverride RcOverride
Definition: avcodec.h:250
const AVClass * av_bsf_get_class(void)
int max_qdiff
Definition: avcodec.h:2633
Definition: avcodec.h:799
Definition: avcodec.h:322
Definition: avcodec.h:432
enum AVCodecID id
Definition: avcodec.h:661
Definition: avcodec.h:609
uint32_t end_display_time
Definition: avcodec.h:3960
attribute_deprecated int frame_skip_exp
Definition: avcodec.h:2763
attribute_deprecated int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
Definition: avcodec.h:546
Definition: avcodec.h:272
iterative search
Definition: avcodec.h:771
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
int frame_size
Definition: avcodec.h:2458
attribute_deprecated int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
Definition: avcodec.h:286
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
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)
Definition: avcodec.h:1449
int av_bsf_list_append2(AVBSFList *lst, const char *bsf_name, AVDictionary **options)
Definition: avcodec.h:795
int bits_per_raw_sample
Definition: avcodec.h:4036
Definition: avcodec.h:346
Definition: avcodec.h:351
Definition: avcodec.h:641
Definition: avcodec.h:489
Definition: avcodec.h:450
enum AVSampleFormat sample_fmt
sample format
Definition: avcodec.h:2446
attribute_deprecated void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance)
Definition: avcodec.h:362
Definition: avcodec.h:350
Definition: avcodec.h:343
Definition: avcodec.h:406
Definition: avcodec.h:297
attribute_deprecated void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
Definition: avcodec.h:2802
attribute_deprecated void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
int channels
number of audio channels
Definition: avcodec.h:2439
enum AVSampleFormat request_sample_fmt
Definition: avcodec.h:2511
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
Definition: avcodec.h:1659
Definition: avcodec.h:240
Definition: avcodec.h:215
Definition: avcodec.h:599
void av_parser_close(AVCodecParserContext *s)
Definition: avcodec.h:420
attribute_deprecated int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
const int * supported_samplerates
array of supported audio samplerates, or NULL if unknown, array is terminated by 0 ...
Definition: avcodec.h:3623
attribute_deprecated int scenechange_factor
Definition: avcodec.h:2371
float i_quant_factor
Definition: avcodec.h:2013
Definition: avcodec.h:253
Definition: avcodec.h:202
struct AVHWAccel * hwaccel
Definition: avcodec.h:2997
Definition: avcodec.h:439
Definition: avcodec.h:482
Definition: avcodec.h:246
int capabilities
Definition: avcodec.h:3620
Definition: avcodec.h:203
int flags
Definition: avcodec.h:1607
Definition: avcodec.h:201
int slices
Definition: avcodec.h:2429
attribute_deprecated int me_method
Definition: avcodec.h:1911
AVSubtitleRect ** rects
Definition: avcodec.h:3962
Definition: avcodec.h:1645
const AVClass * avcodec_get_subtitle_rect_class(void)
int skip_alpha
Definition: avcodec.h:3455
Definition: avcodec.h:399
int coded_width
Definition: avcodec.h:1878
Definition: avcodec.h:342
int me_range
Definition: avcodec.h:2199
Definition: avcodec.h:529
attribute_deprecated int mv_bits
Definition: avcodec.h:2819
int64_t pts
Same as packet pts, in AV_TIME_BASE.
Definition: avcodec.h:3963
int slice_count
Definition: avcodec.h:2062
Definition: avcodec.h:569
int * slice_offset
Definition: avcodec.h:2078
struct AVBSFInternal AVBSFInternal
Definition: avcodec.h:5720
Definition: log.h:67
uint64_t channel_layout
Definition: avcodec.h:2489
int duration
Definition: avcodec.h:5104
int profile
Definition: avcodec.h:3182
Definition: avcodec.h:403
Definition: avcodec.h:307
Definition: avcodec.h:579
AVPacketSideData * side_data
Definition: avcodec.h:1612
Definition: avcodec.h:523
Definition: avcodec.h:335
int width
Definition: avcodec.h:1863
Definition: avcodec.h:337
Passthrough codec, AVFrames wrapped in AVPacket.
Definition: avcodec.h:652
void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
Definition: avcodec.h:607
Definition: avcodec.h:408
Definition: avcodec.h:360
Definition: avcodec.h:464
Definition: avcodec.h:418
Definition: avcodec.h:522
Definition: avcodec.h:596
Definition: avcodec.h:219
struct AVCodecParser * next
Definition: avcodec.h:5161
preferred ID for MPEG-1/2 video decoding
Definition: avcodec.h:196
Definition: avcodec.h:540
Definition: avcodec.h:314
const AVCodecDescriptor * avcodec_descriptor_get_by_name(const char *name)
Definition: avcodec.h:359
Definition: avcodec.h:1657
Definition: avcodec.h:310
int video_delay
Definition: avcodec.h:4076
const char * avcodec_get_name(enum AVCodecID id)
attribute_deprecated int64_t timecode_frame_start
Definition: avcodec.h:2788
Definition: avcodec.h:614
Definition: avcodec.h:348
attribute_deprecated int i_tex_bits
Definition: avcodec.h:2823
Definition: avcodec.h:287
int av_packet_split_side_data(AVPacket *pkt)
int av_codec_get_max_lowres(const AVCodec *codec)
Definition: avcodec.h:237
Definition: avcodec.h:462
Definition: avcodec.h:239
Definition: avcodec.h:478
void avcodec_flush_buffers(AVCodecContext *avctx)
Definition: avcodec.h:566
AVPacket * av_packet_clone(AVPacket *src)
Definition: avcodec.h:422
attribute_deprecated int scenechange_threshold
Definition: avcodec.h:2261
int thread_count
Definition: avcodec.h:3108
int bits_per_coded_sample
Definition: avcodec.h:3071
Definition: avcodec.h:241
Definition: avcodec.h:649
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 AVBSFList AVBSFList
Definition: avcodec.h:5994
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)
Definition: avcodec.h:355
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
const char * av_get_profile_name(const AVCodec *codec, int profile)
int stream_index
Definition: avcodec.h:1603
Definition: avcodec.h:402
Definition: avcodec.h:236
int height
Definition: avcodec.h:4048
Definition: avcodec.h:764
int me_sub_cmp
Definition: avcodec.h:2100
AVBSFList * av_bsf_list_alloc(void)
int extradata_size
Definition: avcodec.h:1792
Definition: avcodec.h:1372
Definition: avcodec.h:233
char * text
0 terminated plain UTF-8 text
Definition: avcodec.h:3945
Definition: avcodec.h:638
struct AVCodec * next
Definition: avcodec.h:3638
attribute_deprecated void av_log_ask_for_sample(void *avc, const char *msg,...) av_printf_format(2
attribute_deprecated int b_sensitivity
Definition: avcodec.h:2384
AVCodecParserContext * av_parser_init(int codec_id)
Definition: avcodec.h:619
enum AVColorTransferCharacteristic color_trc
Definition: avcodec.h:2399
attribute_deprecated int noise_reduction
Definition: avcodec.h:2265
enum AVDiscard skip_frame
Definition: avcodec.h:3302
attribute_deprecated unsigned int stream_codec_tag
Definition: avcodec.h:1715
Definition: avcodec.h:338
float quality_factor
Definition: avcodec.h:810
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
Definition: avcodec.h:227
Definition: avcodec.h:312
Definition: avcodec.h:409
Definition: avcodec.h:1489
Definition: avcodec.h:455
attribute_deprecated int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt)
AVSampleFormat
Definition: samplefmt.h:58
Definition: avcodec.h:479
void avcodec_free_context(AVCodecContext **avctx)
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
int rc_override_count
Definition: avcodec.h:2660
Definition: avcodec.h:316
Definition: avcodec.h:262
Definition: avcodec.h:575
Definition: avcodec.h:616
float spatial_cplx_masking
Definition: avcodec.h:2041
Definition: avcodec.h:214
int output_picture_number
Definition: avcodec.h:5124
Definition: avcodec.h:1676
int64_t duration
Definition: avcodec.h:1619
unsigned num_rects
Definition: avcodec.h:3961
Definition: avcodec.h:3911
Definition: avcodec.h:234
Definition: avcodec.h:315
AVCodec * avcodec_find_decoder(enum AVCodecID id)
uint8_t * av_packet_pack_dictionary(AVDictionary *dict, int *size)
Definition: avcodec.h:635
void av_packet_unref(AVPacket *pkt)
Definition: avcodec.h:519
Definition: avcodec.h:798
Definition: avcodec.h:404
AVRational pkt_timebase
Definition: avcodec.h:3392
int av_copy_packet(AVPacket *dst, const AVPacket *src)
int trailing_padding
Definition: avcodec.h:3565
void * hwaccel_context
Definition: avcodec.h:3009
Definition: avcodec.h:589
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)
void avsubtitle_free(AVSubtitle *sub)
Definition: avcodec.h:423
Definition: avcodec.h:427
int64_t pts_correction_last_dts
PTS of the last frame.
Definition: avcodec.h:3422
Definition: avcodec.h:605
Definition: avcodec.h:265
int mb_cmp
Definition: avcodec.h:2106
enum AVSampleFormat * sample_fmts
array of supported sample formats, or NULL if unknown, array is terminated by -1
Definition: avcodec.h:3624
Definition: avcodec.h:394
int size
Definition: avcodec.h:1602
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame)
Definition: avcodec.h:592
Definition: avcodec.h:559
Definition: avcodec.h:437
Definition: avcodec.h:1508
int sample_rate
samples per second
Definition: avcodec.h:2438
Definition: avcodec.h:490
Definition: avcodec.h:347
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
attribute_deprecated float rc_buffer_aggressivity
Definition: avcodec.h:2690
Definition: avcodec.h:257
Definition: avcodec.h:3973
Definition: avcodec.h:640
Definition: avcodec.h:290
Definition: avcodec.h:442
int dct_algo
Definition: avcodec.h:3023
int64_t cur_offset
Definition: avcodec.h:4986
Definition: avcodec.h:3957
Definition: avcodec.h:538
int bits_per_raw_sample
Definition: avcodec.h:3078
int skip_bottom
Definition: avcodec.h:2301
Definition: avcodec.h:277
float dark_masking
Definition: avcodec.h:2055
#define AV_NUM_DATA_POINTERS
Definition: frame.h:185
attribute_deprecated int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
AVCodecParserContext * parser
Definition: avcodec.h:5710
int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec)
void av_register_codec_parser(AVCodecParser *parser)
int64_t next_frame_offset
Definition: avcodec.h:4988
AVFieldOrder
Definition: avcodec.h:1654
Definition: avcodec.h:1473
struct AVCodecDescriptor AVCodecDescriptor
int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, uint8_t *data, size_t size)
Definition: avcodec.h:352
Definition: avcodec.h:266
struct AVPacket AVPacket
attribute_deprecated void audio_resample_close(ReSampleContext *s)
Definition: avcodec.h:361
int width
Definition: avcodec.h:5129
attribute_deprecated int max_prediction_order
Definition: avcodec.h:2784
Definition: avcodec.h:364
AVMediaType
Definition: avutil.h:193
discard useless packets like 0 size packets in avi
Definition: avcodec.h:782
Definition: avcodec.h:429
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Definition: avcodec.h:3784
Definition: avcodec.h:356
attribute_deprecated float rc_qsquish
Definition: avcodec.h:2640
Definition: avcodec.h:457
int block_align
Definition: avcodec.h:4098
int64_t pts_correction_last_pts
Number of incorrect DTS values so far.
Definition: avcodec.h:3421
int idct_algo
Definition: avcodec.h:3036
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Definition: avcodec.h:279
Definition: avcodec.h:516
Definition: avcodec.h:590
int skip_top
Definition: avcodec.h:2294
Definition: avcodec.h:557
Definition: avcodec.h:1643
int subtitle_header_size
Definition: avcodec.h:3313
uint8_t * extradata
Definition: avcodec.h:1791
char * sub_charenc
DTS of the last frame.
Definition: avcodec.h:3429
int repeat_pict
Definition: avcodec.h:5000
Definition: avcodec.h:216
Definition: avcodec.h:505
struct AVCodecParameters AVCodecParameters
attribute_deprecated int64_t convergence_duration
Definition: avcodec.h:1630
Definition: avcodec.h:792
#define AV_PARSER_PTS_NB
Definition: avcodec.h:5009
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
struct AVBitStreamFilterContext AVBitStreamFilterContext
Definition: avcodec.h:594
Definition: rational.h:58
Definition: avcodec.h:440
int64_t last_pts
Definition: avcodec.h:5005
Definition: avcodec.h:396
Definition: avcodec.h:379
Definition: avcodec.h:371
AVHWAccel * av_hwaccel_next(const AVHWAccel *hwaccel)
Definition: avcodec.h:325
Definition: avcodec.h:585
Definition: avcodec.h:1656
attribute_deprecated int b_frame_strategy
Definition: avcodec.h:1982
struct AVSubtitleRect AVSubtitleRect
int64_t pts_correction_num_faulty_pts
Definition: avcodec.h:3419
int qmin
Definition: avcodec.h:2619
int qscale
Definition: avcodec.h:809
int seek_preroll
Definition: avcodec.h:4121
Definition: avcodec.h:261
int x
top left corner of pict, undefined when pict is not set
Definition: avcodec.h:3923
Definition: avcodec.h:324
Definition: avcodec.h:568
Definition: avcodec.h:617
enum AVDiscard skip_loop_filter
Definition: avcodec.h:3288
AVCodec * avcodec_find_decoder_by_name(const char *name)
Definition: avcodec.h:1416
Definition: avcodec.h:386
Definition: avcodec.h:284
const char * name
Definition: avcodec.h:3608
Definition: avcodec.h:285
int bit_rate_tolerance
Definition: avcodec.h:1749
Definition: avcodec.h:458
attribute_deprecated int me_threshold
Definition: avcodec.h:2273
Definition: avcodec.h:441
Definition: avcodec.h:1658
#define attribute_deprecated
Definition: attributes.h:98
Definition: avcodec.h:293
Definition: avcodec.h:401
Definition: avcodec.h:255
Definition: avcodec.h:381
Definition: avcodec.h:494
uint16_t * inter_matrix
Definition: avcodec.h:2256
int keyint_min
Definition: avcodec.h:2350
Definition: avcodec.h:438
Definition: avcodec.h:299
Definition: avcodec.h:580
int64_t pos
Definition: avcodec.h:5092
Definition: avcodec.h:389
Definition: avcodec.h:531
Definition: avcodec.h:1660
Definition: avcodec.h:230
Definition: avcodec.h:608
int(* end_frame)(AVCodecContext *avctx)
Definition: avcodec.h:3809
discard all non reference
Definition: avcodec.h:783
Definition: avcodec.h:543
attribute_deprecated struct AVResampleContext * av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff)
Definition: avcodec.h:5149
uint16_t * intra_matrix
Definition: avcodec.h:2249
Definition: avcodec.h:1483
Definition: avcodec.h:5732
attribute_deprecated int skip_count
Definition: avcodec.h:2831
int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf)
Definition: avcodec.h:268
attribute_deprecated int pre_me
Definition: avcodec.h:2148
Definition: avcodec.h:618
Definition: avcodec.h:398
attribute_deprecated int frame_bits
Definition: avcodec.h:2837
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
Free mutex resources.
Definition: avcodec.h:6151
Definition: avcodec.h:428
Definition: avcodec.h:513
attribute_deprecated AVPicture pict
Definition: avcodec.h:3934
AVRational time_base
Definition: avcodec.h:1813
float b_quant_offset
Definition: avcodec.h:1990
attribute_deprecated void void av_register_hwaccel(AVHWAccel *hwaccel)
void * priv_data
Definition: avcodec.h:5708
attribute_deprecated void avpicture_free(AVPicture *picture)
raw UTF-8 text
Definition: avcodec.h:606
enum AVPixelFormat sw_pix_fmt
Definition: avcodec.h:3383
int bits_per_coded_sample
Definition: avcodec.h:4023
Definition: avcodec.h:358
int buffer_size
Definition: avcodec.h:1332
Definition: avcodec.h:471
int av_codec_get_seek_preroll(const AVCodecContext *avctx)
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
Definition: avcodec.h:469
const uint64_t * channel_layouts
array of support channel layouts, or NULL if unknown. array is terminated by 0
Definition: avcodec.h:3625
Definition: avcodec.h:385
int dia_size
Definition: avcodec.h:2136
void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc)
enum AVColorPrimaries color_primaries
Definition: avcodec.h:2392
Definition: avcodec.h:417
Definition: avcodec.h:468
Definition: avcodec.h:327
Definition: avcodec.h:3601
attribute_deprecated AVBitStreamFilter * av_bitstream_filter_next(const AVBitStreamFilter *f)
Definition: avcodec.h:380
int av_grow_packet(AVPacket *pkt, int grow_by)
void av_init_packet(AVPacket *pkt)
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
Definition: avcodec.h:301
unsigned int codec_tag
Definition: avcodec.h:1708
void * priv_data
Definition: avcodec.h:4983
AVPictureStructure
Definition: avcodec.h:4975
attribute_deprecated void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
Definition: avcodec.h:376
Definition: avcodec.h:332
Definition: avcodec.h:1519
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
Definition: avcodec.h:244
Definition: avcodec.h:407
struct AVHWAccel AVHWAccel
Definition: avcodec.h:259
Definition: avcodec.h:627
Definition: avcodec.h:245
AVRational sample_aspect_ratio
Definition: avcodec.h:4057
int coded_height
Definition: avcodec.h:5136
void av_codec_set_seek_preroll(AVCodecContext *avctx, int val)
Definition: avcodec.h:208
attribute_deprecated int prediction_method
Definition: avcodec.h:2067
Definition: avcodec.h:647
int dts_ref_dts_delta
Definition: avcodec.h:5066
Definition: avcodec.h:3917
Definition: avcodec.h:213
Definition: avcodec.h:581
attribute_deprecated int mb_threshold
Definition: avcodec.h:2279
int size
Definition: avcodec.h:1546
int lowres
Definition: avcodec.h:3088
Definition: avcodec.h:232
int h
height of pict, undefined when pict is not set
Definition: avcodec.h:3926
attribute_deprecated int xvmc_acceleration
Definition: avcodec.h:2231
Definition: avcodec.h:373
uneven multi-hexagon search
Definition: avcodec.h:769
as in Berlin toast format
Definition: avcodec.h:534
int me_subpel_quality
Definition: avcodec.h:2170
Definition: avcodec.h:254
Definition: avcodec.h:459
attribute_deprecated int rtp_payload_size
Definition: avcodec.h:2808
int thread_safe_callbacks
Definition: avcodec.h:3137
Definition: avcodec.h:400
Definition: avcodec.h:308
unsigned avcodec_version(void)
AVCodecParameters * par_in
Definition: avcodec.h:5758
AVPacket * av_packet_alloc(void)
int sample_rate
Definition: avcodec.h:4091
Definition: avcodec.h:564
Definition: avcodec.h:247
Definition: avcodec.h:1462
Definition: avcodec.h:577
Definition: avcodec.h:524
int64_t frame_offset
Definition: avcodec.h:4985
unsigned av_codec_get_codec_properties(const AVCodecContext *avctx)
Definition: avcodec.h:1646
Definition: avcodec.h:475
int profile
Definition: avcodec.h:3590
Definition: avcodec.h:570
int flags
Definition: avcodec.h:3954
float i_quant_offset
Definition: avcodec.h:2020
AVDiscard
Definition: avcodec.h:778
attribute_deprecated void av_register_bitstream_filter(AVBitStreamFilter *bsf)
struct AVProfile AVProfile
Definition: avcodec.h:588
Definition: avcodec.h:434
Definition: avcodec.h:269
void avcodec_register(AVCodec *codec)
int64_t offset
byte offset from starting packet start
Definition: avcodec.h:5022
const char * av_packet_side_data_name(enum AVPacketSideDataType type)
int mb_decision
Definition: avcodec.h:2239
attribute_deprecated void av_free_packet(AVPacket *pkt)
Definition: avcodec.h:5778
enum AVPixelFormat * pix_fmts
array of supported pixel formats, or NULL if unknown, array is terminated by -1
Definition: avcodec.h:3622
int min_bitrate
Definition: avcodec.h:1321
AVChromaLocation
Definition: pixfmt.h:479
uint8_t * av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int *size)
Definition: avcodec.h:425
void * priv_data
Definition: avcodec.h:1718
Definition: avcodec.h:1655
Definition: avcodec.h:390
int format
Definition: avcodec.h:4005
Definition: avcodec.h:294
int gop_size
Definition: avcodec.h:1889
Definition: avcodec.h:210
int profile
Definition: avcodec.h:4041
int intra_dc_precision
Definition: avcodec.h:2287
Definition: avcodec.h:573
struct AVCodecParser * parser
Definition: avcodec.h:4984
Definition: avcodec.h:366
uint8_t * av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
int cutoff
Definition: avcodec.h:2482
Definition: avcodec.h:578
Definition: avcodec.h:320
Definition: avcodec.h:553
Definition: avcodec.h:1544
Definition: avcodec.h:806
Definition: avcodec.h:289
uint64_t channel_layout
Definition: avcodec.h:4083
Definition: avcodec.h:560
Definition: avcodec.h:225
int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
Definition: avcodec.h:3670
attribute_deprecated float rc_initial_cplx
Definition: avcodec.h:2693
Definition: avcodec.h:466
attribute_deprecated AVFrame * coded_frame
Definition: avcodec.h:3099
Definition: avcodec.h:4976
Definition: avcodec.h:274
Definition: avcodec.h:229
Definition: avcodec.h:370
AVPixelFormat
Definition: pixfmt.h:60
int priv_data_size
Definition: avcodec.h:5807
TAGLIB_EXPORT ByteVector decode(const ByteVector &input)
Convert the data from unsynchronized data to its original format.
const char * avcodec_profile_name(enum AVCodecID codec_id, int profile)
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
const AVClass * priv_class
AVClass for the private context.
Definition: avcodec.h:3627
Definition: avcodec.h:572
Definition: avcodec.h:242
const AVClass * priv_class
Definition: avcodec.h:5797
int64_t reordered_opaque
Definition: avcodec.h:2990
Definition: avcodec.h:521
struct ReSampleContext ReSampleContext
Definition: avcodec.h:5345
A dummy ID pointing at the start of subtitle codecs.
Definition: avcodec.h:603
Definition: avcodec.h:551
uint8_t * data
Definition: avcodec.h:1545
float b_quant_factor
Definition: avcodec.h:1971
int start_frame
Definition: avcodec.h:807
Definition: avcodec.h:447
float qcompress
amount of qscale change between easy & hard scenes (0.0-1.0)
Definition: avcodec.h:2611
Definition: avcodec.h:510
Definition: avcodec.h:3890
float lumi_masking
Definition: avcodec.h:2027
Definition: avcodec.h:763
uint16_t * chroma_intra_matrix
Definition: avcodec.h:3483
AVSubtitleType
Definition: avcodec.h:3902
int avcodec_default_execute(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf)
discard nothing
Definition: avcodec.h:781
Definition: avcodec.h:375
Definition: avcodec.h:426
Definition: avcodec.h:295
Definition: avcodec.h:363
Definition: avcodec.h:539
int rc_buffer_size
Definition: avcodec.h:2653
Definition: avcodec.h:1437
int caps_internal
Definition: avcodec.h:3710
int initial_padding
Definition: avcodec.h:4110
int nb_coded_side_data
Definition: avcodec.h:3520
Definition: avcodec.h:527
Definition: avcodec.h:298
struct AVPanScan AVPanScan
Definition: avcodec.h:628
Definition: avcodec.h:460
Definition: avcodec.h:305