FFmpeg
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/hwcontext.h"
40 #include "libavutil/log.h"
41 #include "libavutil/pixfmt.h"
42 #include "libavutil/rational.h"
43 
44 #include "version.h"
45 
215 enum AVCodecID {
216  AV_CODEC_ID_NONE,
217 
218  /* video codecs */
219  AV_CODEC_ID_MPEG1VIDEO,
221  AV_CODEC_ID_H261,
222  AV_CODEC_ID_H263,
223  AV_CODEC_ID_RV10,
224  AV_CODEC_ID_RV20,
225  AV_CODEC_ID_MJPEG,
226  AV_CODEC_ID_MJPEGB,
227  AV_CODEC_ID_LJPEG,
228  AV_CODEC_ID_SP5X,
229  AV_CODEC_ID_JPEGLS,
230  AV_CODEC_ID_MPEG4,
231  AV_CODEC_ID_RAWVIDEO,
232  AV_CODEC_ID_MSMPEG4V1,
233  AV_CODEC_ID_MSMPEG4V2,
234  AV_CODEC_ID_MSMPEG4V3,
235  AV_CODEC_ID_WMV1,
236  AV_CODEC_ID_WMV2,
237  AV_CODEC_ID_H263P,
238  AV_CODEC_ID_H263I,
239  AV_CODEC_ID_FLV1,
240  AV_CODEC_ID_SVQ1,
241  AV_CODEC_ID_SVQ3,
242  AV_CODEC_ID_DVVIDEO,
243  AV_CODEC_ID_HUFFYUV,
244  AV_CODEC_ID_CYUV,
245  AV_CODEC_ID_H264,
246  AV_CODEC_ID_INDEO3,
247  AV_CODEC_ID_VP3,
248  AV_CODEC_ID_THEORA,
249  AV_CODEC_ID_ASV1,
250  AV_CODEC_ID_ASV2,
251  AV_CODEC_ID_FFV1,
252  AV_CODEC_ID_4XM,
253  AV_CODEC_ID_VCR1,
254  AV_CODEC_ID_CLJR,
255  AV_CODEC_ID_MDEC,
256  AV_CODEC_ID_ROQ,
257  AV_CODEC_ID_INTERPLAY_VIDEO,
258  AV_CODEC_ID_XAN_WC3,
259  AV_CODEC_ID_XAN_WC4,
260  AV_CODEC_ID_RPZA,
261  AV_CODEC_ID_CINEPAK,
262  AV_CODEC_ID_WS_VQA,
263  AV_CODEC_ID_MSRLE,
264  AV_CODEC_ID_MSVIDEO1,
265  AV_CODEC_ID_IDCIN,
266  AV_CODEC_ID_8BPS,
267  AV_CODEC_ID_SMC,
268  AV_CODEC_ID_FLIC,
269  AV_CODEC_ID_TRUEMOTION1,
270  AV_CODEC_ID_VMDVIDEO,
271  AV_CODEC_ID_MSZH,
272  AV_CODEC_ID_ZLIB,
273  AV_CODEC_ID_QTRLE,
274  AV_CODEC_ID_TSCC,
275  AV_CODEC_ID_ULTI,
276  AV_CODEC_ID_QDRAW,
277  AV_CODEC_ID_VIXL,
278  AV_CODEC_ID_QPEG,
279  AV_CODEC_ID_PNG,
280  AV_CODEC_ID_PPM,
281  AV_CODEC_ID_PBM,
282  AV_CODEC_ID_PGM,
283  AV_CODEC_ID_PGMYUV,
284  AV_CODEC_ID_PAM,
285  AV_CODEC_ID_FFVHUFF,
286  AV_CODEC_ID_RV30,
287  AV_CODEC_ID_RV40,
288  AV_CODEC_ID_VC1,
289  AV_CODEC_ID_WMV3,
290  AV_CODEC_ID_LOCO,
291  AV_CODEC_ID_WNV1,
292  AV_CODEC_ID_AASC,
293  AV_CODEC_ID_INDEO2,
294  AV_CODEC_ID_FRAPS,
295  AV_CODEC_ID_TRUEMOTION2,
296  AV_CODEC_ID_BMP,
297  AV_CODEC_ID_CSCD,
298  AV_CODEC_ID_MMVIDEO,
299  AV_CODEC_ID_ZMBV,
300  AV_CODEC_ID_AVS,
301  AV_CODEC_ID_SMACKVIDEO,
302  AV_CODEC_ID_NUV,
303  AV_CODEC_ID_KMVC,
304  AV_CODEC_ID_FLASHSV,
305  AV_CODEC_ID_CAVS,
306  AV_CODEC_ID_JPEG2000,
307  AV_CODEC_ID_VMNC,
308  AV_CODEC_ID_VP5,
309  AV_CODEC_ID_VP6,
310  AV_CODEC_ID_VP6F,
311  AV_CODEC_ID_TARGA,
312  AV_CODEC_ID_DSICINVIDEO,
313  AV_CODEC_ID_TIERTEXSEQVIDEO,
314  AV_CODEC_ID_TIFF,
315  AV_CODEC_ID_GIF,
316  AV_CODEC_ID_DXA,
317  AV_CODEC_ID_DNXHD,
318  AV_CODEC_ID_THP,
319  AV_CODEC_ID_SGI,
320  AV_CODEC_ID_C93,
321  AV_CODEC_ID_BETHSOFTVID,
322  AV_CODEC_ID_PTX,
323  AV_CODEC_ID_TXD,
324  AV_CODEC_ID_VP6A,
325  AV_CODEC_ID_AMV,
326  AV_CODEC_ID_VB,
327  AV_CODEC_ID_PCX,
328  AV_CODEC_ID_SUNRAST,
329  AV_CODEC_ID_INDEO4,
330  AV_CODEC_ID_INDEO5,
331  AV_CODEC_ID_MIMIC,
332  AV_CODEC_ID_RL2,
333  AV_CODEC_ID_ESCAPE124,
334  AV_CODEC_ID_DIRAC,
335  AV_CODEC_ID_BFI,
336  AV_CODEC_ID_CMV,
337  AV_CODEC_ID_MOTIONPIXELS,
338  AV_CODEC_ID_TGV,
339  AV_CODEC_ID_TGQ,
340  AV_CODEC_ID_TQI,
341  AV_CODEC_ID_AURA,
342  AV_CODEC_ID_AURA2,
343  AV_CODEC_ID_V210X,
344  AV_CODEC_ID_TMV,
345  AV_CODEC_ID_V210,
346  AV_CODEC_ID_DPX,
347  AV_CODEC_ID_MAD,
348  AV_CODEC_ID_FRWU,
349  AV_CODEC_ID_FLASHSV2,
350  AV_CODEC_ID_CDGRAPHICS,
351  AV_CODEC_ID_R210,
352  AV_CODEC_ID_ANM,
353  AV_CODEC_ID_BINKVIDEO,
354  AV_CODEC_ID_IFF_ILBM,
355 #define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
356  AV_CODEC_ID_KGV1,
357  AV_CODEC_ID_YOP,
358  AV_CODEC_ID_VP8,
359  AV_CODEC_ID_PICTOR,
360  AV_CODEC_ID_ANSI,
361  AV_CODEC_ID_A64_MULTI,
362  AV_CODEC_ID_A64_MULTI5,
363  AV_CODEC_ID_R10K,
364  AV_CODEC_ID_MXPEG,
365  AV_CODEC_ID_LAGARITH,
366  AV_CODEC_ID_PRORES,
367  AV_CODEC_ID_JV,
368  AV_CODEC_ID_DFA,
369  AV_CODEC_ID_WMV3IMAGE,
370  AV_CODEC_ID_VC1IMAGE,
371  AV_CODEC_ID_UTVIDEO,
372  AV_CODEC_ID_BMV_VIDEO,
373  AV_CODEC_ID_VBLE,
374  AV_CODEC_ID_DXTORY,
375  AV_CODEC_ID_V410,
376  AV_CODEC_ID_XWD,
377  AV_CODEC_ID_CDXL,
378  AV_CODEC_ID_XBM,
379  AV_CODEC_ID_ZEROCODEC,
380  AV_CODEC_ID_MSS1,
381  AV_CODEC_ID_MSA1,
382  AV_CODEC_ID_TSCC2,
383  AV_CODEC_ID_MTS2,
384  AV_CODEC_ID_CLLC,
385  AV_CODEC_ID_MSS2,
386  AV_CODEC_ID_VP9,
387  AV_CODEC_ID_AIC,
388  AV_CODEC_ID_ESCAPE130,
389  AV_CODEC_ID_G2M,
390  AV_CODEC_ID_WEBP,
391  AV_CODEC_ID_HNM4_VIDEO,
392  AV_CODEC_ID_HEVC,
393 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
394  AV_CODEC_ID_FIC,
395  AV_CODEC_ID_ALIAS_PIX,
396  AV_CODEC_ID_BRENDER_PIX,
397  AV_CODEC_ID_PAF_VIDEO,
398  AV_CODEC_ID_EXR,
399  AV_CODEC_ID_VP7,
400  AV_CODEC_ID_SANM,
401  AV_CODEC_ID_SGIRLE,
402  AV_CODEC_ID_MVC1,
403  AV_CODEC_ID_MVC2,
404  AV_CODEC_ID_HQX,
405  AV_CODEC_ID_TDSC,
406  AV_CODEC_ID_HQ_HQA,
407  AV_CODEC_ID_HAP,
408  AV_CODEC_ID_DDS,
409  AV_CODEC_ID_DXV,
410  AV_CODEC_ID_SCREENPRESSO,
411  AV_CODEC_ID_RSCC,
412 
413  AV_CODEC_ID_Y41P = 0x8000,
414  AV_CODEC_ID_AVRP,
415  AV_CODEC_ID_012V,
416  AV_CODEC_ID_AVUI,
417  AV_CODEC_ID_AYUV,
418  AV_CODEC_ID_TARGA_Y216,
419  AV_CODEC_ID_V308,
420  AV_CODEC_ID_V408,
421  AV_CODEC_ID_YUV4,
422  AV_CODEC_ID_AVRN,
423  AV_CODEC_ID_CPIA,
424  AV_CODEC_ID_XFACE,
425  AV_CODEC_ID_SNOW,
426  AV_CODEC_ID_SMVJPEG,
427  AV_CODEC_ID_APNG,
428  AV_CODEC_ID_DAALA,
429  AV_CODEC_ID_CFHD,
430  AV_CODEC_ID_TRUEMOTION2RT,
431  AV_CODEC_ID_M101,
432  AV_CODEC_ID_MAGICYUV,
433  AV_CODEC_ID_SHEERVIDEO,
434  AV_CODEC_ID_YLC,
435  AV_CODEC_ID_PSD,
436  AV_CODEC_ID_PIXLET,
437  AV_CODEC_ID_SPEEDHQ,
438  AV_CODEC_ID_FMVC,
439  AV_CODEC_ID_SCPR,
440  AV_CODEC_ID_CLEARVIDEO,
441  AV_CODEC_ID_XPM,
442  AV_CODEC_ID_AV1,
443  AV_CODEC_ID_BITPACKED,
444  AV_CODEC_ID_MSCC,
445  AV_CODEC_ID_SRGC,
446  AV_CODEC_ID_SVG,
447  AV_CODEC_ID_GDV,
448  AV_CODEC_ID_FITS,
449 
450  /* various PCM "codecs" */
452  AV_CODEC_ID_PCM_S16LE = 0x10000,
453  AV_CODEC_ID_PCM_S16BE,
454  AV_CODEC_ID_PCM_U16LE,
455  AV_CODEC_ID_PCM_U16BE,
456  AV_CODEC_ID_PCM_S8,
457  AV_CODEC_ID_PCM_U8,
458  AV_CODEC_ID_PCM_MULAW,
459  AV_CODEC_ID_PCM_ALAW,
460  AV_CODEC_ID_PCM_S32LE,
461  AV_CODEC_ID_PCM_S32BE,
462  AV_CODEC_ID_PCM_U32LE,
463  AV_CODEC_ID_PCM_U32BE,
464  AV_CODEC_ID_PCM_S24LE,
465  AV_CODEC_ID_PCM_S24BE,
466  AV_CODEC_ID_PCM_U24LE,
467  AV_CODEC_ID_PCM_U24BE,
468  AV_CODEC_ID_PCM_S24DAUD,
469  AV_CODEC_ID_PCM_ZORK,
470  AV_CODEC_ID_PCM_S16LE_PLANAR,
471  AV_CODEC_ID_PCM_DVD,
472  AV_CODEC_ID_PCM_F32BE,
473  AV_CODEC_ID_PCM_F32LE,
474  AV_CODEC_ID_PCM_F64BE,
475  AV_CODEC_ID_PCM_F64LE,
476  AV_CODEC_ID_PCM_BLURAY,
477  AV_CODEC_ID_PCM_LXF,
478  AV_CODEC_ID_S302M,
479  AV_CODEC_ID_PCM_S8_PLANAR,
480  AV_CODEC_ID_PCM_S24LE_PLANAR,
481  AV_CODEC_ID_PCM_S32LE_PLANAR,
482  AV_CODEC_ID_PCM_S16BE_PLANAR,
483 
484  AV_CODEC_ID_PCM_S64LE = 0x10800,
485  AV_CODEC_ID_PCM_S64BE,
486  AV_CODEC_ID_PCM_F16LE,
487  AV_CODEC_ID_PCM_F24LE,
488 
489  /* various ADPCM codecs */
490  AV_CODEC_ID_ADPCM_IMA_QT = 0x11000,
491  AV_CODEC_ID_ADPCM_IMA_WAV,
492  AV_CODEC_ID_ADPCM_IMA_DK3,
493  AV_CODEC_ID_ADPCM_IMA_DK4,
494  AV_CODEC_ID_ADPCM_IMA_WS,
495  AV_CODEC_ID_ADPCM_IMA_SMJPEG,
496  AV_CODEC_ID_ADPCM_MS,
497  AV_CODEC_ID_ADPCM_4XM,
498  AV_CODEC_ID_ADPCM_XA,
499  AV_CODEC_ID_ADPCM_ADX,
500  AV_CODEC_ID_ADPCM_EA,
501  AV_CODEC_ID_ADPCM_G726,
502  AV_CODEC_ID_ADPCM_CT,
503  AV_CODEC_ID_ADPCM_SWF,
504  AV_CODEC_ID_ADPCM_YAMAHA,
505  AV_CODEC_ID_ADPCM_SBPRO_4,
506  AV_CODEC_ID_ADPCM_SBPRO_3,
507  AV_CODEC_ID_ADPCM_SBPRO_2,
508  AV_CODEC_ID_ADPCM_THP,
509  AV_CODEC_ID_ADPCM_IMA_AMV,
510  AV_CODEC_ID_ADPCM_EA_R1,
511  AV_CODEC_ID_ADPCM_EA_R3,
512  AV_CODEC_ID_ADPCM_EA_R2,
513  AV_CODEC_ID_ADPCM_IMA_EA_SEAD,
514  AV_CODEC_ID_ADPCM_IMA_EA_EACS,
515  AV_CODEC_ID_ADPCM_EA_XAS,
516  AV_CODEC_ID_ADPCM_EA_MAXIS_XA,
517  AV_CODEC_ID_ADPCM_IMA_ISS,
518  AV_CODEC_ID_ADPCM_G722,
519  AV_CODEC_ID_ADPCM_IMA_APC,
520  AV_CODEC_ID_ADPCM_VIMA,
521 
522  AV_CODEC_ID_ADPCM_AFC = 0x11800,
523  AV_CODEC_ID_ADPCM_IMA_OKI,
524  AV_CODEC_ID_ADPCM_DTK,
525  AV_CODEC_ID_ADPCM_IMA_RAD,
526  AV_CODEC_ID_ADPCM_G726LE,
527  AV_CODEC_ID_ADPCM_THP_LE,
528  AV_CODEC_ID_ADPCM_PSX,
529  AV_CODEC_ID_ADPCM_AICA,
530  AV_CODEC_ID_ADPCM_IMA_DAT4,
531  AV_CODEC_ID_ADPCM_MTAF,
532 
533  /* AMR */
534  AV_CODEC_ID_AMR_NB = 0x12000,
535  AV_CODEC_ID_AMR_WB,
536 
537  /* RealAudio codecs*/
538  AV_CODEC_ID_RA_144 = 0x13000,
539  AV_CODEC_ID_RA_288,
540 
541  /* various DPCM codecs */
542  AV_CODEC_ID_ROQ_DPCM = 0x14000,
543  AV_CODEC_ID_INTERPLAY_DPCM,
544  AV_CODEC_ID_XAN_DPCM,
545  AV_CODEC_ID_SOL_DPCM,
546 
547  AV_CODEC_ID_SDX2_DPCM = 0x14800,
548  AV_CODEC_ID_GREMLIN_DPCM,
549 
550  /* audio codecs */
551  AV_CODEC_ID_MP2 = 0x15000,
553  AV_CODEC_ID_AAC,
554  AV_CODEC_ID_AC3,
555  AV_CODEC_ID_DTS,
556  AV_CODEC_ID_VORBIS,
557  AV_CODEC_ID_DVAUDIO,
558  AV_CODEC_ID_WMAV1,
559  AV_CODEC_ID_WMAV2,
560  AV_CODEC_ID_MACE3,
561  AV_CODEC_ID_MACE6,
562  AV_CODEC_ID_VMDAUDIO,
563  AV_CODEC_ID_FLAC,
564  AV_CODEC_ID_MP3ADU,
565  AV_CODEC_ID_MP3ON4,
566  AV_CODEC_ID_SHORTEN,
567  AV_CODEC_ID_ALAC,
568  AV_CODEC_ID_WESTWOOD_SND1,
570  AV_CODEC_ID_QDM2,
571  AV_CODEC_ID_COOK,
572  AV_CODEC_ID_TRUESPEECH,
573  AV_CODEC_ID_TTA,
574  AV_CODEC_ID_SMACKAUDIO,
575  AV_CODEC_ID_QCELP,
576  AV_CODEC_ID_WAVPACK,
577  AV_CODEC_ID_DSICINAUDIO,
578  AV_CODEC_ID_IMC,
579  AV_CODEC_ID_MUSEPACK7,
580  AV_CODEC_ID_MLP,
581  AV_CODEC_ID_GSM_MS, /* as found in WAV */
582  AV_CODEC_ID_ATRAC3,
583  AV_CODEC_ID_APE,
584  AV_CODEC_ID_NELLYMOSER,
585  AV_CODEC_ID_MUSEPACK8,
586  AV_CODEC_ID_SPEEX,
587  AV_CODEC_ID_WMAVOICE,
588  AV_CODEC_ID_WMAPRO,
589  AV_CODEC_ID_WMALOSSLESS,
590  AV_CODEC_ID_ATRAC3P,
591  AV_CODEC_ID_EAC3,
592  AV_CODEC_ID_SIPR,
593  AV_CODEC_ID_MP1,
594  AV_CODEC_ID_TWINVQ,
595  AV_CODEC_ID_TRUEHD,
596  AV_CODEC_ID_MP4ALS,
597  AV_CODEC_ID_ATRAC1,
598  AV_CODEC_ID_BINKAUDIO_RDFT,
599  AV_CODEC_ID_BINKAUDIO_DCT,
600  AV_CODEC_ID_AAC_LATM,
601  AV_CODEC_ID_QDMC,
602  AV_CODEC_ID_CELT,
603  AV_CODEC_ID_G723_1,
604  AV_CODEC_ID_G729,
605  AV_CODEC_ID_8SVX_EXP,
606  AV_CODEC_ID_8SVX_FIB,
607  AV_CODEC_ID_BMV_AUDIO,
608  AV_CODEC_ID_RALF,
609  AV_CODEC_ID_IAC,
610  AV_CODEC_ID_ILBC,
611  AV_CODEC_ID_OPUS,
612  AV_CODEC_ID_COMFORT_NOISE,
613  AV_CODEC_ID_TAK,
614  AV_CODEC_ID_METASOUND,
615  AV_CODEC_ID_PAF_AUDIO,
616  AV_CODEC_ID_ON2AVC,
617  AV_CODEC_ID_DSS_SP,
618  AV_CODEC_ID_CODEC2,
619 
620  AV_CODEC_ID_FFWAVESYNTH = 0x15800,
621  AV_CODEC_ID_SONIC,
622  AV_CODEC_ID_SONIC_LS,
623  AV_CODEC_ID_EVRC,
624  AV_CODEC_ID_SMV,
625  AV_CODEC_ID_DSD_LSBF,
626  AV_CODEC_ID_DSD_MSBF,
627  AV_CODEC_ID_DSD_LSBF_PLANAR,
628  AV_CODEC_ID_DSD_MSBF_PLANAR,
629  AV_CODEC_ID_4GV,
630  AV_CODEC_ID_INTERPLAY_ACM,
631  AV_CODEC_ID_XMA1,
632  AV_CODEC_ID_XMA2,
633  AV_CODEC_ID_DST,
634  AV_CODEC_ID_ATRAC3AL,
635  AV_CODEC_ID_ATRAC3PAL,
636  AV_CODEC_ID_DOLBY_E,
637  AV_CODEC_ID_APTX,
638  AV_CODEC_ID_APTX_HD,
639  AV_CODEC_ID_SBC,
640 
641  /* subtitle codecs */
643  AV_CODEC_ID_DVD_SUBTITLE = 0x17000,
644  AV_CODEC_ID_DVB_SUBTITLE,
646  AV_CODEC_ID_XSUB,
647  AV_CODEC_ID_SSA,
648  AV_CODEC_ID_MOV_TEXT,
649  AV_CODEC_ID_HDMV_PGS_SUBTITLE,
650  AV_CODEC_ID_DVB_TELETEXT,
651  AV_CODEC_ID_SRT,
652 
653  AV_CODEC_ID_MICRODVD = 0x17800,
654  AV_CODEC_ID_EIA_608,
655  AV_CODEC_ID_JACOSUB,
656  AV_CODEC_ID_SAMI,
657  AV_CODEC_ID_REALTEXT,
658  AV_CODEC_ID_STL,
659  AV_CODEC_ID_SUBVIEWER1,
660  AV_CODEC_ID_SUBVIEWER,
661  AV_CODEC_ID_SUBRIP,
662  AV_CODEC_ID_WEBVTT,
663  AV_CODEC_ID_MPL2,
664  AV_CODEC_ID_VPLAYER,
665  AV_CODEC_ID_PJS,
666  AV_CODEC_ID_ASS,
667  AV_CODEC_ID_HDMV_TEXT_SUBTITLE,
668 
669  /* other specific kind of codecs (generally used for attachments) */
671  AV_CODEC_ID_TTF = 0x18000,
672 
674  AV_CODEC_ID_BINTEXT = 0x18800,
675  AV_CODEC_ID_XBIN,
676  AV_CODEC_ID_IDF,
677  AV_CODEC_ID_OTF,
678  AV_CODEC_ID_SMPTE_KLV,
679  AV_CODEC_ID_DVD_NAV,
680  AV_CODEC_ID_TIMED_ID3,
681  AV_CODEC_ID_BIN_DATA,
682 
683 
684  AV_CODEC_ID_PROBE = 0x19000,
685 
692 };
693 
699 typedef struct AVCodecDescriptor {
700  enum AVCodecID id;
701  enum AVMediaType type;
707  const char *name;
711  const char *long_name;
715  int props;
721  const char *const *mime_types;
726  const struct AVProfile *profiles;
728 
733 #define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
734 
739 #define AV_CODEC_PROP_LOSSY (1 << 1)
740 
743 #define AV_CODEC_PROP_LOSSLESS (1 << 2)
744 
753 #define AV_CODEC_PROP_REORDER (1 << 3)
754 
758 #define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
759 
763 #define AV_CODEC_PROP_TEXT_SUB (1 << 17)
764 
773 #define AV_INPUT_BUFFER_PADDING_SIZE 64
774 
780 #define AV_INPUT_BUFFER_MIN_SIZE 16384
781 
786  /* We leave some space between them for extensions (drop some
787  * keyframes for intra-only or drop just some bidir frames). */
795 };
796 
798  AV_AUDIO_SERVICE_TYPE_MAIN = 0,
799  AV_AUDIO_SERVICE_TYPE_EFFECTS = 1,
800  AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2,
801  AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3,
802  AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4,
803  AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5,
804  AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6,
805  AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7,
806  AV_AUDIO_SERVICE_TYPE_KARAOKE = 8,
808 };
809 
813 typedef struct RcOverride{
814  int start_frame;
815  int end_frame;
816  int qscale; // If this is 0 then quality_factor will be used instead.
817  float quality_factor;
818 } RcOverride;
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 
1002 #define AV_CODEC_CAP_SUBFRAMES (1 << 8)
1003 
1007 #define AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
1008 
1011 #define AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
1012 
1015 #define AV_CODEC_CAP_FRAME_THREADS (1 << 12)
1016 
1019 #define AV_CODEC_CAP_SLICE_THREADS (1 << 13)
1020 
1023 #define AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
1024 
1027 #define AV_CODEC_CAP_AUTO_THREADS (1 << 15)
1028 
1031 #define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
1032 
1041 #define AV_CODEC_CAP_AVOID_PROBING (1 << 17)
1042 
1045 #define AV_CODEC_CAP_INTRA_ONLY 0x40000000
1046 
1049 #define AV_CODEC_CAP_LOSSLESS 0x80000000
1050 
1056 #define AV_CODEC_CAP_HARDWARE (1 << 18)
1057 
1063 #define AV_CODEC_CAP_HYBRID (1 << 19)
1064 
1070 typedef struct AVPanScan {
1076  int id;
1077 
1083  int width;
1084  int height;
1085 
1091  int16_t position[3][2];
1092 } AVPanScan;
1093 
1099 typedef struct AVCPBProperties {
1115 
1121 
1129  uint64_t vbv_delay;
1130 } AVCPBProperties;
1131 
1135 #define AV_GET_BUFFER_FLAG_REF (1 << 0)
1136 
1150 
1159 
1176 
1197 
1203 
1212 
1218 
1224 
1236 
1244 
1249 
1260 
1270 
1276 
1287 
1295 
1300 
1306 
1313 
1319 
1326 
1332 
1339 
1346 
1353 
1359 
1369 };
1370 
1371 #define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS //DEPRECATED
1372 
1373 typedef struct AVPacketSideData {
1374  uint8_t *data;
1375  int size;
1376  enum AVPacketSideDataType type;
1378 
1407 typedef struct AVPacket {
1423  int64_t pts;
1429  int64_t dts;
1430  uint8_t *data;
1431  int size;
1432  int stream_index;
1436  int flags;
1442  int side_data_elems;
1443 
1448  int64_t duration;
1449 
1450  int64_t pos;
1451 
1452 #if FF_API_CONVERGENCE_DURATION
1453 
1458  attribute_deprecated
1460 #endif
1461 } AVPacket;
1462 #define AV_PKT_FLAG_KEY 0x0001
1463 #define AV_PKT_FLAG_CORRUPT 0x0002
1464 
1469 #define AV_PKT_FLAG_DISCARD 0x0004
1470 
1476 #define AV_PKT_FLAG_TRUSTED 0x0008
1477 
1481 #define AV_PKT_FLAG_DISPOSABLE 0x0010
1482 
1483 
1484 enum AVSideDataParamChangeFlags {
1485  AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT = 0x0001,
1486  AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT = 0x0002,
1487  AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE = 0x0004,
1488  AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS = 0x0008,
1489 };
1494 struct AVCodecInternal;
1495 
1496 enum AVFieldOrder {
1497  AV_FIELD_UNKNOWN,
1498  AV_FIELD_PROGRESSIVE,
1499  AV_FIELD_TT, //< Top coded_first, top displayed first
1500  AV_FIELD_BB, //< Bottom coded first, bottom displayed first
1501  AV_FIELD_TB, //< Top coded first, bottom displayed first
1502  AV_FIELD_BT, //< Bottom coded first, top displayed first
1503 };
1504 
1518 typedef struct AVCodecContext {
1524  int log_level_offset;
1525 
1526  enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */
1527  const struct AVCodec *codec;
1528  enum AVCodecID codec_id; /* see AV_CODEC_ID_xxx */
1529 
1543  unsigned int codec_tag;
1544 
1545  void *priv_data;
1546 
1553  struct AVCodecInternal *internal;
1554 
1560  void *opaque;
1561 
1568  int64_t bit_rate;
1569 
1577 
1585 
1591 #define FF_COMPRESSION_DEFAULT -1
1592 
1598  int flags;
1599 
1605  int flags2;
1606 
1618  uint8_t *extradata;
1619  int extradata_size;
1620 
1641 
1650 
1673  int delay;
1674 
1675 
1676  /* video only */
1690  int width, height;
1691 
1705  int coded_width, coded_height;
1706 
1713 
1727  enum AVPixelFormat pix_fmt;
1728 
1752  void (*draw_horiz_band)(struct AVCodecContext *s,
1753  const AVFrame *src, int offset[AV_NUM_DATA_POINTERS],
1754  int y, int type, int height);
1755 
1769  enum AVPixelFormat (*get_format)(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
1770 
1778 
1787 
1788 #if FF_API_PRIVATE_OPT
1789 
1790  attribute_deprecated
1792 #endif
1793 
1800 
1808 
1809 #if FF_API_PRIVATE_OPT
1810 
1811  attribute_deprecated
1813 #endif
1814 
1823 
1830 
1837 
1844 
1851 
1857  float p_masking;
1858 
1865 
1872 
1873 #if FF_API_PRIVATE_OPT
1874 
1875  attribute_deprecated
1877 #define FF_PRED_LEFT 0
1878 #define FF_PRED_PLANE 1
1879 #define FF_PRED_MEDIAN 2
1880 #endif
1881 
1888 
1897 
1903  int me_cmp;
1915  int mb_cmp;
1922 #define FF_CMP_SAD 0
1923 #define FF_CMP_SSE 1
1924 #define FF_CMP_SATD 2
1925 #define FF_CMP_DCT 3
1926 #define FF_CMP_PSNR 4
1927 #define FF_CMP_BIT 5
1928 #define FF_CMP_RD 6
1929 #define FF_CMP_ZERO 7
1930 #define FF_CMP_VSAD 8
1931 #define FF_CMP_VSSE 9
1932 #define FF_CMP_NSSE 10
1933 #define FF_CMP_W53 11
1934 #define FF_CMP_W97 12
1935 #define FF_CMP_DCTMAX 13
1936 #define FF_CMP_DCT264 14
1937 #define FF_CMP_MEDIAN_SAD 15
1938 #define FF_CMP_CHROMA 256
1939 
1946 
1953 
1954 #if FF_API_PRIVATE_OPT
1955 
1956  attribute_deprecated
1957  int pre_me;
1958 #endif
1959 
1966 
1973 
1980 
1989 
1996 #define SLICE_FLAG_CODED_ORDER 0x0001
1997 #define SLICE_FLAG_ALLOW_FIELD 0x0002
1998 #define SLICE_FLAG_ALLOW_PLANE 0x0004
1999 
2000 
2006 #define FF_MB_DECISION_SIMPLE 0
2007 #define FF_MB_DECISION_BITS 1
2008 #define FF_MB_DECISION_RD 2
2009 
2010 
2015  uint16_t *intra_matrix;
2016 
2022  uint16_t *inter_matrix;
2023 
2024 #if FF_API_PRIVATE_OPT
2025 
2026  attribute_deprecated
2028 
2030  attribute_deprecated
2032 #endif
2033 
2040 
2047 
2054 
2060  int mb_lmin;
2061 
2067  int mb_lmax;
2068 
2069 #if FF_API_PRIVATE_OPT
2070 
2073  attribute_deprecated
2075 #endif
2076 
2082 
2083 #if FF_API_PRIVATE_OPT
2084 
2085  attribute_deprecated
2087 #endif
2088 
2095 
2101  int refs;
2102 
2103 #if FF_API_PRIVATE_OPT
2104 
2105  attribute_deprecated
2107 #endif
2108 
2115 
2116 #if FF_API_PRIVATE_OPT
2117 
2118  attribute_deprecated
2120 #endif
2121 
2128 
2135 
2142 
2149 
2156 
2164  int slices;
2165 
2170  enum AVFieldOrder field_order;
2171 
2172  /* audio only */
2174  int channels;
2175 
2182 
2183  /* The following data should not be initialized. */
2194 
2205 
2211 
2217  int cutoff;
2218 
2224  uint64_t channel_layout;
2225 
2232 
2239 
2247 
2328  int (*get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags);
2329 
2343  attribute_deprecated
2345 
2346  /* - encoding parameters */
2347  float qcompress;
2348  float qblur;
2349 
2355  int qmin;
2356 
2362  int qmax;
2363 
2370 
2377 
2384  RcOverride *rc_override;
2385 
2391  int64_t rc_max_rate;
2392 
2398  int64_t rc_min_rate;
2399 
2406 
2413 
2420 
2421 #if FF_API_CODER_TYPE
2422 #define FF_CODER_TYPE_VLC 0
2423 #define FF_CODER_TYPE_AC 1
2424 #define FF_CODER_TYPE_RAW 2
2425 #define FF_CODER_TYPE_RLE 3
2426 
2429  attribute_deprecated
2431 #endif /* FF_API_CODER_TYPE */
2432 
2433 #if FF_API_PRIVATE_OPT
2434 
2435  attribute_deprecated
2437 #endif
2438 
2439 #if FF_API_PRIVATE_OPT
2440 
2441  attribute_deprecated
2443 
2445  attribute_deprecated
2447 
2449  attribute_deprecated
2451 
2453  attribute_deprecated
2455 #endif /* FF_API_PRIVATE_OPT */
2456 
2462  int trellis;
2463 
2464 #if FF_API_PRIVATE_OPT
2465 
2466  attribute_deprecated
2468 
2470  attribute_deprecated
2472 
2474  attribute_deprecated
2476 #endif
2477 
2478 #if FF_API_RTP_CALLBACK
2479 
2482  /* The RTP callback: This function is called */
2483  /* every time the encoder has a packet to send. */
2484  /* It depends on the encoder if the data starts */
2485  /* with a Start Code (it should). H.263 does. */
2486  /* mb_nb contains the number of macroblocks */
2487  /* encoded in the RTP payload. */
2488  attribute_deprecated
2489  void (*rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb);
2490 #endif
2491 
2492 #if FF_API_PRIVATE_OPT
2493 
2494  attribute_deprecated
2495  int rtp_payload_size; /* The size of the RTP payload: the coder will */
2496  /* do its best to deliver a chunk with size */
2497  /* below rtp_payload_size, the chunk will start */
2498  /* with a start code on some codecs like H.263. */
2499  /* This doesn't take account of any particular */
2500  /* headers inside the transmitted RTP payload. */
2501 #endif
2502 
2503 #if FF_API_STAT_BITS
2504  /* statistics, used for 2-pass encoding */
2505  attribute_deprecated
2506  int mv_bits;
2507  attribute_deprecated
2508  int header_bits;
2509  attribute_deprecated
2510  int i_tex_bits;
2511  attribute_deprecated
2512  int p_tex_bits;
2513  attribute_deprecated
2514  int i_count;
2515  attribute_deprecated
2516  int p_count;
2517  attribute_deprecated
2518  int skip_count;
2519  attribute_deprecated
2520  int misc_bits;
2521 
2523  attribute_deprecated
2525 #endif
2526 
2532  char *stats_out;
2533 
2540  char *stats_in;
2541 
2548 #define FF_BUG_AUTODETECT 1
2549 #define FF_BUG_XVID_ILACE 4
2550 #define FF_BUG_UMP4 8
2551 #define FF_BUG_NO_PADDING 16
2552 #define FF_BUG_AMV 32
2553 #define FF_BUG_QPEL_CHROMA 64
2554 #define FF_BUG_STD_QPEL 128
2555 #define FF_BUG_QPEL_CHROMA2 256
2556 #define FF_BUG_DIRECT_BLOCKSIZE 512
2557 #define FF_BUG_EDGE 1024
2558 #define FF_BUG_HPEL_CHROMA 2048
2559 #define FF_BUG_DC_CLIP 4096
2560 #define FF_BUG_MS 8192
2561 #define FF_BUG_TRUNCATED 16384
2562 #define FF_BUG_IEDGE 32768
2563 
2577 #define FF_COMPLIANCE_VERY_STRICT 2
2578 #define FF_COMPLIANCE_STRICT 1
2579 #define FF_COMPLIANCE_NORMAL 0
2580 #define FF_COMPLIANCE_UNOFFICIAL -1
2581 #define FF_COMPLIANCE_EXPERIMENTAL -2
2582 
2583 
2589 #define FF_EC_GUESS_MVS 1
2590 #define FF_EC_DEBLOCK 2
2591 #define FF_EC_FAVOR_INTER 256
2592 
2598  int debug;
2599 #define FF_DEBUG_PICT_INFO 1
2600 #define FF_DEBUG_RC 2
2601 #define FF_DEBUG_BITSTREAM 4
2602 #define FF_DEBUG_MB_TYPE 8
2603 #define FF_DEBUG_QP 16
2604 #if FF_API_DEBUG_MV
2605 
2608 #define FF_DEBUG_MV 32
2609 #endif
2610 #define FF_DEBUG_DCT_COEFF 0x00000040
2611 #define FF_DEBUG_SKIP 0x00000080
2612 #define FF_DEBUG_STARTCODE 0x00000100
2613 #define FF_DEBUG_ER 0x00000400
2614 #define FF_DEBUG_MMCO 0x00000800
2615 #define FF_DEBUG_BUGS 0x00001000
2616 #if FF_API_DEBUG_MV
2617 #define FF_DEBUG_VIS_QP 0x00002000
2618 #define FF_DEBUG_VIS_MB_TYPE 0x00004000
2619 #endif
2620 #define FF_DEBUG_BUFFERS 0x00008000
2621 #define FF_DEBUG_THREADS 0x00010000
2622 #define FF_DEBUG_GREEN_MD 0x00800000
2623 #define FF_DEBUG_NOMC 0x01000000
2624 
2625 #if FF_API_DEBUG_MV
2626 
2631  int debug_mv;
2632 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 // visualize forward predicted MVs of P-frames
2633 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 // visualize forward predicted MVs of B-frames
2634 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 // visualize backward predicted MVs of B-frames
2635 #endif
2636 
2643 
2650 #define AV_EF_CRCCHECK (1<<0)
2651 #define AV_EF_BITSTREAM (1<<1)
2652 #define AV_EF_BUFFER (1<<2)
2653 #define AV_EF_EXPLODE (1<<3)
2654 
2655 #define AV_EF_IGNORE_ERR (1<<15)
2656 #define AV_EF_CAREFUL (1<<16)
2657 #define AV_EF_COMPLIANT (1<<17)
2658 #define AV_EF_AGGRESSIVE (1<<18)
2659 
2660 
2668 
2674  const struct AVHWAccel *hwaccel;
2675 
2687 
2693  uint64_t error[AV_NUM_DATA_POINTERS];
2694 
2701 #define FF_DCT_AUTO 0
2702 #define FF_DCT_FASTINT 1
2703 #define FF_DCT_INT 2
2704 #define FF_DCT_MMX 3
2705 #define FF_DCT_ALTIVEC 5
2706 #define FF_DCT_FAAN 6
2707 
2714 #define FF_IDCT_AUTO 0
2715 #define FF_IDCT_INT 1
2716 #define FF_IDCT_SIMPLE 2
2717 #define FF_IDCT_SIMPLEMMX 3
2718 #define FF_IDCT_ARM 7
2719 #define FF_IDCT_ALTIVEC 8
2720 #define FF_IDCT_SIMPLEARM 10
2721 #define FF_IDCT_XVID 14
2722 #define FF_IDCT_SIMPLEARMV5TE 16
2723 #define FF_IDCT_SIMPLEARMV6 17
2724 #define FF_IDCT_FAAN 20
2725 #define FF_IDCT_SIMPLENEON 22
2726 #define FF_IDCT_NONE 24 /* Used by XvMC to extract IDCT coefficients with FF_IDCT_PERM_NONE */
2727 #define FF_IDCT_SIMPLEAUTO 128
2728 
2735 
2742 
2743 #if FF_API_LOWRES
2744 
2749  int lowres;
2750 #endif
2751 
2752 #if FF_API_CODED_FRAME
2753 
2760  attribute_deprecated AVFrame *coded_frame;
2761 #endif
2762 
2770 
2780 #define FF_THREAD_FRAME 1
2781 #define FF_THREAD_SLICE 2
2782 
2783 
2789 
2799 
2809  int (*execute)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size);
2810 
2829  int (*execute2)(struct AVCodecContext *c, int (*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count);
2830 
2837 
2843  int profile;
2844 #define FF_PROFILE_UNKNOWN -99
2845 #define FF_PROFILE_RESERVED -100
2846 
2847 #define FF_PROFILE_AAC_MAIN 0
2848 #define FF_PROFILE_AAC_LOW 1
2849 #define FF_PROFILE_AAC_SSR 2
2850 #define FF_PROFILE_AAC_LTP 3
2851 #define FF_PROFILE_AAC_HE 4
2852 #define FF_PROFILE_AAC_HE_V2 28
2853 #define FF_PROFILE_AAC_LD 22
2854 #define FF_PROFILE_AAC_ELD 38
2855 #define FF_PROFILE_MPEG2_AAC_LOW 128
2856 #define FF_PROFILE_MPEG2_AAC_HE 131
2857 
2858 #define FF_PROFILE_DNXHD 0
2859 #define FF_PROFILE_DNXHR_LB 1
2860 #define FF_PROFILE_DNXHR_SQ 2
2861 #define FF_PROFILE_DNXHR_HQ 3
2862 #define FF_PROFILE_DNXHR_HQX 4
2863 #define FF_PROFILE_DNXHR_444 5
2864 
2865 #define FF_PROFILE_DTS 20
2866 #define FF_PROFILE_DTS_ES 30
2867 #define FF_PROFILE_DTS_96_24 40
2868 #define FF_PROFILE_DTS_HD_HRA 50
2869 #define FF_PROFILE_DTS_HD_MA 60
2870 #define FF_PROFILE_DTS_EXPRESS 70
2871 
2872 #define FF_PROFILE_MPEG2_422 0
2873 #define FF_PROFILE_MPEG2_HIGH 1
2874 #define FF_PROFILE_MPEG2_SS 2
2875 #define FF_PROFILE_MPEG2_SNR_SCALABLE 3
2876 #define FF_PROFILE_MPEG2_MAIN 4
2877 #define FF_PROFILE_MPEG2_SIMPLE 5
2878 
2879 #define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag
2880 #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag
2881 
2882 #define FF_PROFILE_H264_BASELINE 66
2883 #define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
2884 #define FF_PROFILE_H264_MAIN 77
2885 #define FF_PROFILE_H264_EXTENDED 88
2886 #define FF_PROFILE_H264_HIGH 100
2887 #define FF_PROFILE_H264_HIGH_10 110
2888 #define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
2889 #define FF_PROFILE_H264_MULTIVIEW_HIGH 118
2890 #define FF_PROFILE_H264_HIGH_422 122
2891 #define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
2892 #define FF_PROFILE_H264_STEREO_HIGH 128
2893 #define FF_PROFILE_H264_HIGH_444 144
2894 #define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
2895 #define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
2896 #define FF_PROFILE_H264_CAVLC_444 44
2897 
2898 #define FF_PROFILE_VC1_SIMPLE 0
2899 #define FF_PROFILE_VC1_MAIN 1
2900 #define FF_PROFILE_VC1_COMPLEX 2
2901 #define FF_PROFILE_VC1_ADVANCED 3
2902 
2903 #define FF_PROFILE_MPEG4_SIMPLE 0
2904 #define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
2905 #define FF_PROFILE_MPEG4_CORE 2
2906 #define FF_PROFILE_MPEG4_MAIN 3
2907 #define FF_PROFILE_MPEG4_N_BIT 4
2908 #define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
2909 #define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
2910 #define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
2911 #define FF_PROFILE_MPEG4_HYBRID 8
2912 #define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
2913 #define FF_PROFILE_MPEG4_CORE_SCALABLE 10
2914 #define FF_PROFILE_MPEG4_ADVANCED_CODING 11
2915 #define FF_PROFILE_MPEG4_ADVANCED_CORE 12
2916 #define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
2917 #define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
2918 #define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
2919 
2920 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1
2921 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2
2922 #define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768
2923 #define FF_PROFILE_JPEG2000_DCINEMA_2K 3
2924 #define FF_PROFILE_JPEG2000_DCINEMA_4K 4
2925 
2926 #define FF_PROFILE_VP9_0 0
2927 #define FF_PROFILE_VP9_1 1
2928 #define FF_PROFILE_VP9_2 2
2929 #define FF_PROFILE_VP9_3 3
2930 
2931 #define FF_PROFILE_HEVC_MAIN 1
2932 #define FF_PROFILE_HEVC_MAIN_10 2
2933 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
2934 #define FF_PROFILE_HEVC_REXT 4
2935 
2936 #define FF_PROFILE_AV1_MAIN 0
2937 #define FF_PROFILE_AV1_HIGH 1
2938 #define FF_PROFILE_AV1_PROFESSIONAL 2
2939 
2940 #define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0
2941 #define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1
2942 #define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2
2943 #define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3
2944 #define FF_PROFILE_MJPEG_JPEG_LS 0xf7
2945 
2946 #define FF_PROFILE_SBC_MSBC 1
2947 
2953  int level;
2954 #define FF_LEVEL_UNKNOWN -99
2955 
2962 
2969 
2976 
2986  int subtitle_header_size;
2987 
2988 #if FF_API_VBV_DELAY
2989 
2997  attribute_deprecated
2998  uint64_t vbv_delay;
2999 #endif
3000 
3001 #if FF_API_SIDEDATA_ONLY_PKT
3002 
3012  attribute_deprecated
3014 #endif
3015 
3032 
3041 
3048 
3055 
3062 
3063 #if !FF_API_LOWRES
3064 
3069  int lowres;
3070 #endif
3071 
3081 
3088 
3096 #define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3097 #define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3098 #define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3099 #define FF_SUB_CHARENC_MODE_IGNORE 2
3100 
3101 
3114 
3121 
3122 #if !FF_API_DEBUG_MV
3123 
3129 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
3130 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
3131 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
3132 #endif
3133 
3140 
3147  uint8_t *dump_separator;
3148 
3156 
3162  unsigned properties;
3163 #define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
3164 #define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
3165 
3173  int nb_coded_side_data;
3174 
3198 
3205 #define FF_SUB_TEXT_FMT_ASS 0
3206 #if FF_API_ASS_TIMING
3207 #define FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1
3208 #endif
3209 
3220 
3227  int64_t max_pixels;
3228 
3250 
3259 
3286 
3287  /*
3288  * Video decoding only. Sets the number of extra hardware frames which
3289  * the decoder will allocate for use by the caller. This must be set
3290  * before avcodec_open2() is called.
3291  *
3292  * Some hardware decoders require all frames that they will use for
3293  * output to be defined in advance before decoding starts. For such
3294  * decoders, the hardware frame pool must therefore be of a fixed size.
3295  * The extra frames set here are on top of any number that the decoder
3296  * needs internally in order to operate normally (for example, frames
3297  * used as reference pictures).
3298  */
3299  int extra_hw_frames;
3300 } AVCodecContext;
3301 
3302 #if FF_API_CODEC_GET_SET
3303 
3307 attribute_deprecated
3309 attribute_deprecated
3310 void av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val);
3311 
3312 attribute_deprecated
3313 const AVCodecDescriptor *av_codec_get_codec_descriptor(const AVCodecContext *avctx);
3314 attribute_deprecated
3315 void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc);
3316 
3317 attribute_deprecated
3318 unsigned av_codec_get_codec_properties(const AVCodecContext *avctx);
3319 
3320 #if FF_API_LOWRES
3321 attribute_deprecated
3322 int av_codec_get_lowres(const AVCodecContext *avctx);
3323 attribute_deprecated
3324 void av_codec_set_lowres(AVCodecContext *avctx, int val);
3325 #endif
3326 
3327 attribute_deprecated
3328 int av_codec_get_seek_preroll(const AVCodecContext *avctx);
3329 attribute_deprecated
3330 void av_codec_set_seek_preroll(AVCodecContext *avctx, int val);
3331 
3332 attribute_deprecated
3333 uint16_t *av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx);
3334 attribute_deprecated
3335 void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val);
3336 #endif
3337 
3341 typedef struct AVProfile {
3342  int profile;
3343  const char *name;
3344 } AVProfile;
3345 
3346 enum {
3380 };
3381 
3382 typedef struct AVCodecHWConfig {
3386  enum AVPixelFormat pix_fmt;
3391  int methods;
3398  enum AVHWDeviceType device_type;
3399 } AVCodecHWConfig;
3400 
3401 typedef struct AVCodecDefault AVCodecDefault;
3402 
3403 struct AVSubtitle;
3404 
3408 typedef struct AVCodec {
3415  const char *name;
3420  const char *long_name;
3421  enum AVMediaType type;
3422  enum AVCodecID id;
3429  const enum AVPixelFormat *pix_fmts;
3432  const uint64_t *channel_layouts;
3433  uint8_t max_lowres;
3436 
3447  const char *wrapper_name;
3448 
3449  /*****************************************************************
3450  * No fields below this line are part of the public API. They
3451  * may not be used outside of libavcodec and can be changed and
3452  * removed at will.
3453  * New public fields should be added right above.
3454  *****************************************************************
3455  */
3456  int priv_data_size;
3457  struct AVCodec *next;
3482 
3489  void (*init_static_data)(struct AVCodec *codec);
3490 
3491  int (*init)(AVCodecContext *);
3492  int (*encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size,
3493  const struct AVSubtitle *sub);
3504  int (*encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame,
3505  int *got_packet_ptr);
3506  int (*decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt);
3507  int (*close)(AVCodecContext *);
3516  int (*send_frame)(AVCodecContext *avctx, const AVFrame *frame);
3517  int (*receive_packet)(AVCodecContext *avctx, AVPacket *avpkt);
3518 
3524  int (*receive_frame)(AVCodecContext *avctx, AVFrame *frame);
3529  void (*flush)(AVCodecContext *);
3535 
3540  const char *bsfs;
3541 
3550 } AVCodec;
3551 
3552 #if FF_API_CODEC_GET_SET
3553 attribute_deprecated
3554 int av_codec_get_max_lowres(const AVCodec *codec);
3555 #endif
3556 
3557 struct MpegEncContext;
3558 
3566 const AVCodecHWConfig *avcodec_get_hw_config(const AVCodec *codec, int index);
3567 
3576 typedef struct AVHWAccel {
3582  const char *name;
3583 
3589  enum AVMediaType type;
3590 
3596  enum AVCodecID id;
3597 
3603  enum AVPixelFormat pix_fmt;
3604 
3610 
3611  /*****************************************************************
3612  * No fields below this line are part of the public API. They
3613  * may not be used outside of libavcodec and can be changed and
3614  * removed at will.
3615  * New public fields should be added right above.
3616  *****************************************************************
3617  */
3618 
3622  int (*alloc_frame)(AVCodecContext *avctx, AVFrame *frame);
3623 
3638  int (*start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3639 
3652  int (*decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size);
3653 
3666  int (*decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size);
3667 
3677  int (*end_frame)(AVCodecContext *avctx);
3678 
3687 
3697  void (*decode_mb)(struct MpegEncContext *s);
3698 
3706  int (*init)(AVCodecContext *avctx);
3707 
3714  int (*uninit)(AVCodecContext *avctx);
3715 
3721 
3726 
3735  int (*frame_params)(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx);
3736 } AVHWAccel;
3737 
3742 #define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
3743 
3752 #define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3753 
3758 #define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
3759 
3772 #define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2)
3773 
3778 #if FF_API_AVPICTURE
3779 
3793 typedef struct AVPicture {
3794  attribute_deprecated
3795  uint8_t *data[AV_NUM_DATA_POINTERS];
3796  attribute_deprecated
3797  int linesize[AV_NUM_DATA_POINTERS];
3798 } AVPicture;
3799 
3803 #endif
3804 
3806  SUBTITLE_NONE,
3807 
3809 
3815 
3821 };
3822 
3823 #define AV_SUBTITLE_FLAG_FORCED 0x00000001
3824 
3825 typedef struct AVSubtitleRect {
3826  int x;
3827  int y;
3828  int w;
3829  int h;
3831 
3832 #if FF_API_AVPICTURE
3833 
3836  attribute_deprecated
3838 #endif
3839 
3843  uint8_t *data[4];
3844  int linesize[4];
3845 
3846  enum AVSubtitleType type;
3847 
3848  char *text;
3849 
3855  char *ass;
3856 
3857  int flags;
3858 } AVSubtitleRect;
3859 
3860 typedef struct AVSubtitle {
3861  uint16_t format; /* 0 = graphics */
3862  uint32_t start_display_time; /* relative to packet pts, in ms */
3863  uint32_t end_display_time; /* relative to packet pts, in ms */
3864  unsigned num_rects;
3865  AVSubtitleRect **rects;
3866  int64_t pts;
3867 } AVSubtitle;
3868 
3876 typedef struct AVCodecParameters {
3880  enum AVMediaType codec_type;
3884  enum AVCodecID codec_id;
3888  uint32_t codec_tag;
3889 
3898  uint8_t *extradata;
3903 
3908  int format;
3909 
3913  int64_t bit_rate;
3914 
3927 
3940 
3944  int profile;
3945  int level;
3946 
3950  int width;
3951  int height;
3952 
3961 
3965  enum AVFieldOrder field_order;
3966 
3970  enum AVColorRange color_range;
3971  enum AVColorPrimaries color_primaries;
3972  enum AVColorTransferCharacteristic color_trc;
3973  enum AVColorSpace color_space;
3974  enum AVChromaLocation chroma_location;
3975 
3980 
3986  uint64_t channel_layout;
4006 
4026 
4036 const AVCodec *av_codec_iterate(void **opaque);
4037 
4038 #if FF_API_NEXT
4039 
4044 attribute_deprecated
4045 AVCodec *av_codec_next(const AVCodec *c);
4046 #endif
4047 
4051 unsigned avcodec_version(void);
4052 
4056 const char *avcodec_configuration(void);
4057 
4061 const char *avcodec_license(void);
4062 
4063 #if FF_API_NEXT
4064 
4072 attribute_deprecated
4073 void avcodec_register(AVCodec *codec);
4074 
4085 attribute_deprecated
4086 void avcodec_register_all(void);
4087 #endif
4088 
4103 
4108 void avcodec_free_context(AVCodecContext **avctx);
4109 
4110 #if FF_API_GET_CONTEXT_DEFAULTS
4111 
4117 #endif
4118 
4125 const AVClass *avcodec_get_class(void);
4126 
4127 #if FF_API_COPY_CONTEXT
4128 
4134 const AVClass *avcodec_get_frame_class(void);
4135 
4143 
4161 attribute_deprecated
4162 int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);
4163 #endif
4164 
4171 
4177 
4185 
4194  const AVCodecContext *codec);
4195 
4205  const AVCodecParameters *par);
4206 
4245 int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options);
4246 
4260 int avcodec_close(AVCodecContext *avctx);
4261 
4267 void avsubtitle_free(AVSubtitle *sub);
4268 
4289 AVPacket *av_packet_alloc(void);
4290 
4301 AVPacket *av_packet_clone(const AVPacket *src);
4302 
4310 void av_packet_free(AVPacket **pkt);
4311 
4320 void av_init_packet(AVPacket *pkt);
4321 
4330 int av_new_packet(AVPacket *pkt, int size);
4331 
4338 void av_shrink_packet(AVPacket *pkt, int size);
4339 
4346 int av_grow_packet(AVPacket *pkt, int grow_by);
4347 
4361 int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size);
4362 
4363 #if FF_API_AVPACKET_OLD_API
4364 
4370 attribute_deprecated
4371 int av_dup_packet(AVPacket *pkt);
4379 attribute_deprecated
4380 int av_copy_packet(AVPacket *dst, const AVPacket *src);
4381 
4389 attribute_deprecated
4390 int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src);
4391 
4399 attribute_deprecated
4400 void av_free_packet(AVPacket *pkt);
4401 #endif
4402 
4410 uint8_t* av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type,
4411  int size);
4412 
4427  uint8_t *data, size_t size);
4428 
4438  int size);
4439 
4448 uint8_t* av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type,
4449  int *size);
4450 
4451 #if FF_API_MERGE_SD_API
4452 attribute_deprecated
4453 int av_packet_merge_side_data(AVPacket *pkt);
4454 
4455 attribute_deprecated
4456 int av_packet_split_side_data(AVPacket *pkt);
4457 #endif
4458 
4459 const char *av_packet_side_data_name(enum AVPacketSideDataType type);
4460 
4468 uint8_t *av_packet_pack_dictionary(AVDictionary *dict, int *size);
4477 int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict);
4478 
4479 
4487 
4504 int av_packet_ref(AVPacket *dst, const AVPacket *src);
4505 
4514 void av_packet_unref(AVPacket *pkt);
4515 
4524 void av_packet_move_ref(AVPacket *dst, AVPacket *src);
4525 
4537 int av_packet_copy_props(AVPacket *dst, const AVPacket *src);
4538 
4554 
4565 
4577 void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst);
4578 
4595 
4603 
4609 int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags);
4610 
4618 void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height);
4619 
4627 void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
4628  int linesize_align[AV_NUM_DATA_POINTERS]);
4629 
4639 int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos);
4640 
4650 enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos);
4651 
4705 attribute_deprecated
4706 int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
4707  int *got_frame_ptr, const AVPacket *avpkt);
4708 
4754 attribute_deprecated
4755 int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,
4756  int *got_picture_ptr,
4757  const AVPacket *avpkt);
4758 
4787  int *got_sub_ptr,
4788  AVPacket *avpkt);
4789 
4840 int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt);
4841 
4860 int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame);
4861 
4897 int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame);
4898 
4914 int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt);
4915 
5014  AVBufferRef *device_ref,
5015  enum AVPixelFormat hw_pix_fmt,
5016  AVBufferRef **out_frames_ref);
5017 
5018 
5019 
5025 enum AVPictureStructure {
5026  AV_PICTURE_STRUCTURE_UNKNOWN, //< unknown
5027  AV_PICTURE_STRUCTURE_TOP_FIELD, //< coded as top field
5028  AV_PICTURE_STRUCTURE_BOTTOM_FIELD, //< coded as bottom field
5029  AV_PICTURE_STRUCTURE_FRAME, //< coded as frame
5030 };
5031 
5032 typedef struct AVCodecParserContext {
5033  void *priv_data;
5034  struct AVCodecParser *parser;
5035  int64_t frame_offset; /* offset of the current frame */
5036  int64_t cur_offset; /* current offset
5037  (incremented by each av_parser_parse()) */
5038  int64_t next_frame_offset; /* offset of the next frame */
5039  /* video info */
5040  int pict_type; /* XXX: Put it back in AVCodecContext. */
5050  int repeat_pict; /* XXX: Put it back in AVCodecContext. */
5051  int64_t pts; /* pts of the current frame */
5052  int64_t dts; /* dts of the current frame */
5053 
5054  /* private data */
5055  int64_t last_pts;
5056  int64_t last_dts;
5057  int fetch_timestamp;
5058 
5059 #define AV_PARSER_PTS_NB 4
5060  int cur_frame_start_index;
5061  int64_t cur_frame_offset[AV_PARSER_PTS_NB];
5062  int64_t cur_frame_pts[AV_PARSER_PTS_NB];
5063  int64_t cur_frame_dts[AV_PARSER_PTS_NB];
5064 
5065  int flags;
5066 #define PARSER_FLAG_COMPLETE_FRAMES 0x0001
5067 #define PARSER_FLAG_ONCE 0x0002
5068 #define PARSER_FLAG_FETCHED_OFFSET 0x0004
5070 #define PARSER_FLAG_USE_CODEC_TS 0x1000
5071 
5072  int64_t offset;
5073  int64_t cur_frame_end[AV_PARSER_PTS_NB];
5074 
5082 
5083 #if FF_API_CONVERGENCE_DURATION
5084 
5087  attribute_deprecated
5089 #endif
5090 
5091  // Timestamp generation support:
5102 
5117 
5131 
5137  int64_t cur_frame_pos[AV_PARSER_PTS_NB];
5138 
5142  int64_t pos;
5143 
5147  int64_t last_pos;
5148 
5155 
5156  enum AVFieldOrder field_order;
5157 
5166  enum AVPictureStructure picture_structure;
5167 
5175 
5179  int width;
5180  int height;
5181 
5186  int coded_height;
5187 
5196  int format;
5198 
5199 typedef struct AVCodecParser {
5200  int codec_ids[5]; /* several codec IDs are permitted */
5201  int priv_data_size;
5202  int (*parser_init)(AVCodecParserContext *s);
5203  /* This callback never returns an error, a negative value means that
5204  * the frame start was in a previous packet. */
5205  int (*parser_parse)(AVCodecParserContext *s,
5206  AVCodecContext *avctx,
5207  const uint8_t **poutbuf, int *poutbuf_size,
5208  const uint8_t *buf, int buf_size);
5209  void (*parser_close)(AVCodecParserContext *s);
5210  int (*split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size);
5211  struct AVCodecParser *next;
5212 } AVCodecParser;
5213 
5223 const AVCodecParser *av_parser_iterate(void **opaque);
5224 
5225 attribute_deprecated
5226 AVCodecParser *av_parser_next(const AVCodecParser *c);
5227 
5228 attribute_deprecated
5229 void av_register_codec_parser(AVCodecParser *parser);
5230 AVCodecParserContext *av_parser_init(int codec_id);
5231 
5264  AVCodecContext *avctx,
5265  uint8_t **poutbuf, int *poutbuf_size,
5266  const uint8_t *buf, int buf_size,
5267  int64_t pts, int64_t dts,
5268  int64_t pos);
5269 
5275  AVCodecContext *avctx,
5276  uint8_t **poutbuf, int *poutbuf_size,
5277  const uint8_t *buf, int buf_size, int keyframe);
5278 void av_parser_close(AVCodecParserContext *s);
5279 
5297 
5305 
5346 attribute_deprecated
5347 int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt,
5348  const AVFrame *frame, int *got_packet_ptr);
5349 
5385 attribute_deprecated
5386 int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt,
5387  const AVFrame *frame, int *got_packet_ptr);
5388 
5389 int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size,
5390  const AVSubtitle *sub);
5391 
5392 
5397 #if FF_API_AVPICTURE
5398 
5406 attribute_deprecated
5407 int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height);
5408 
5412 attribute_deprecated
5413 void avpicture_free(AVPicture *picture);
5414 
5418 attribute_deprecated
5419 int avpicture_fill(AVPicture *picture, const uint8_t *ptr,
5420  enum AVPixelFormat pix_fmt, int width, int height);
5421 
5425 attribute_deprecated
5426 int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt,
5427  int width, int height,
5428  unsigned char *dest, int dest_size);
5429 
5433 attribute_deprecated
5434 int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height);
5435 
5439 attribute_deprecated
5440 void av_picture_copy(AVPicture *dst, const AVPicture *src,
5441  enum AVPixelFormat pix_fmt, int width, int height);
5442 
5446 attribute_deprecated
5447 int av_picture_crop(AVPicture *dst, const AVPicture *src,
5448  enum AVPixelFormat pix_fmt, int top_band, int left_band);
5449 
5453 attribute_deprecated
5454 int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt,
5455  int padtop, int padbottom, int padleft, int padright, int *color);
5456 
5460 #endif
5461 
5478 #if FF_API_GETCHROMA
5479 
5483 attribute_deprecated
5484 void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift);
5485 #endif
5486 
5492 unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt);
5493 
5497 int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt,
5498  int has_alpha);
5499 
5517 enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list,
5518  enum AVPixelFormat src_pix_fmt,
5519  int has_alpha, int *loss_ptr);
5520 
5524 enum AVPixelFormat avcodec_find_best_pix_fmt_of_2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,
5525  enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
5526 
5527 attribute_deprecated
5528 enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2,
5529  enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr);
5530 
5531 enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat * fmt);
5532 
5537 #if FF_API_TAG_STRING
5538 
5549 attribute_deprecated
5550 size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag);
5551 #endif
5552 
5553 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode);
5554 
5562 const char *av_get_profile_name(const AVCodec *codec, int profile);
5563 
5575 const char *avcodec_profile_name(enum AVCodecID codec_id, int profile);
5576 
5577 int avcodec_default_execute(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2),void *arg, int *ret, int count, int size);
5578 int avcodec_default_execute2(AVCodecContext *c, int (*func)(AVCodecContext *c2, void *arg2, int, int),void *arg, int *ret, int count);
5579 //FIXME func typedef
5580 
5604 int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,
5605  enum AVSampleFormat sample_fmt, const uint8_t *buf,
5606  int buf_size, int align);
5607 
5618 
5625 int av_get_bits_per_sample(enum AVCodecID codec_id);
5626 
5633 enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
5634 
5643 int av_get_exact_bits_per_sample(enum AVCodecID codec_id);
5644 
5653 int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes);
5654 
5659 int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes);
5660 
5661 #if FF_API_OLD_BSF
5663  void *priv_data;
5664  const struct AVBitStreamFilter *filter;
5665  AVCodecParserContext *parser;
5666  struct AVBitStreamFilterContext *next;
5671  char *args;
5673 #endif
5674 
5675 typedef struct AVBSFInternal AVBSFInternal;
5676 
5687 typedef struct AVBSFContext {
5692 
5696  const struct AVBitStreamFilter *filter;
5697 
5702  AVBSFInternal *internal;
5703 
5708  void *priv_data;
5709 
5716 
5722 
5728 
5734 } AVBSFContext;
5735 
5736 typedef struct AVBitStreamFilter {
5737  const char *name;
5738 
5744  const enum AVCodecID *codec_ids;
5745 
5756 
5757  /*****************************************************************
5758  * No fields below this line are part of the public API. They
5759  * may not be used outside of libavcodec and can be changed and
5760  * removed at will.
5761  * New public fields should be added right above.
5762  *****************************************************************
5763  */
5764 
5765  int priv_data_size;
5766  int (*init)(AVBSFContext *ctx);
5767  int (*filter)(AVBSFContext *ctx, AVPacket *pkt);
5768  void (*close)(AVBSFContext *ctx);
5770 
5771 #if FF_API_OLD_BSF
5772 
5776 attribute_deprecated
5783 attribute_deprecated
5790 attribute_deprecated
5792  AVCodecContext *avctx, const char *args,
5793  uint8_t **poutbuf, int *poutbuf_size,
5794  const uint8_t *buf, int buf_size, int keyframe);
5800 attribute_deprecated
5807 attribute_deprecated
5809 #endif
5810 
5815 const AVBitStreamFilter *av_bsf_get_by_name(const char *name);
5816 
5826 const AVBitStreamFilter *av_bsf_iterate(void **opaque);
5827 #if FF_API_NEXT
5828 attribute_deprecated
5829 const AVBitStreamFilter *av_bsf_next(void **opaque);
5830 #endif
5831 
5844 int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx);
5845 
5850 int av_bsf_init(AVBSFContext *ctx);
5851 
5867 int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt);
5868 
5894 
5899 void av_bsf_free(AVBSFContext **ctx);
5900 
5907 const AVClass *av_bsf_get_class(void);
5908 
5913 typedef struct AVBSFList AVBSFList;
5914 
5923 
5929 void av_bsf_list_free(AVBSFList **lst);
5930 
5939 int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf);
5940 
5951 int av_bsf_list_append2(AVBSFList *lst, const char * bsf_name, AVDictionary **options);
5968 int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf);
5969 
5983 int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf);
5984 
5993 
5994 /* memory */
5995 
6003 void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size);
6004 
6009 void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size);
6010 
6018 unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
6019 
6020 #if FF_API_USER_VISIBLE_AVHWACCEL
6021 
6026 attribute_deprecated
6027 void av_register_hwaccel(AVHWAccel *hwaccel);
6028 
6037 attribute_deprecated
6038 AVHWAccel *av_hwaccel_next(const AVHWAccel *hwaccel);
6039 #endif
6040 
6041 #if FF_API_LOCKMGR
6042 
6047 enum AVLockOp {
6052 };
6053 
6080 attribute_deprecated
6081 int av_lockmgr_register(int (*cb)(void **mutex, enum AVLockOp op));
6082 #endif
6083 
6087 enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
6088 
6093 const char *avcodec_get_name(enum AVCodecID id);
6094 
6100 
6104 int av_codec_is_encoder(const AVCodec *codec);
6105 
6109 int av_codec_is_decoder(const AVCodec *codec);
6110 
6115 
6124 
6130 
6141 
6146 #endif /* AVCODEC_AVCODEC_H */
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
callback to negotiate the pixelFormat
Definition: avcodec.h:1769
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it ...
Definition: avcodec.h:684
int caps_internal
Internal hwaccel capabilities.
Definition: avcodec.h:3725
void av_bsf_free(AVBSFContext **ctx)
Free a bitstream filter context and everything associated with it; write NULL into the supplied point...
Definition: bsf.c:35
struct AVBSFContext AVBSFContext
The bitstream filter state.
AVRational framerate
Definition: avcodec.h:3040
discard all frames except keyframes
Definition: avcodec.h:793
const AVCodecDescriptor * codec_descriptor
AVCodecDescriptor.
Definition: avcodec.h:3061
const AVClass * priv_class
A class for the private data, used to declare bitstream filter private AVOptions. ...
Definition: avcodec.h:5755
AVCodecParameters * par_out
Parameters of the output stream.
Definition: avcodec.h:5721
AVPacketSideDataType
Definition: avcodec.h:1143
int64_t pts_correction_num_faulty_dts
Number of incorrect PTS values so far.
Definition: avcodec.h:3078
A list of zero terminated key/value strings.
Definition: avcodec.h:1312
This structure describes decoded (raw) audio or video data.
Definition: frame.h:218
The optional first identifier line of a WebVTT cue.
Definition: avcodec.h:1299
AVCodec * avcodec_find_encoder(enum AVCodecID id)
Find a registered encoder with a matching codec ID.
Definition: allcodecs.c:857
int x
top left corner of pict, undefined when pict is not set
Definition: avcodec.h:3826
int dct_algo
DCT algorithm, see FF_DCT_* below.
Definition: avcodec.h:2700
A dummy id pointing at the start of audio codecs.
Definition: avcodec.h:451
int apply_cropping
Video decoding only.
Definition: avcodec.h:3285
const struct AVCodecHWConfigInternal ** hw_configs
Array of pointers to hardware configurations supported by the codec, or NULL if no hardware supported...
Definition: avcodec.h:3549
int coded_width
Bitstream width / height, may be different from width/height e.g.
Definition: avcodec.h:1705
int capabilities
Hardware accelerated codec capabilities.
Definition: avcodec.h:3609
float qblur
amount of qscale smoothing over time (0.0-1.0)
Definition: avcodec.h:2348
Unlock the mutex.
Definition: avcodec.h:6050
int64_t bit_rate
the average bitrate
Definition: avcodec.h:1568
The codec supports this format by some internal method.
Definition: avcodec.h:3370
int64_t pos
byte position in stream, -1 if unknown
Definition: avcodec.h:1450
void av_shrink_packet(AVPacket *pkt, int size)
Reduce packet size, correctly zeroing padding.
Definition: avpacket.c:101
attribute_deprecated AVCodec * av_codec_next(const AVCodec *c)
If c is NULL, returns the first registered codec, if c is non-NULL, returns the next registered codec...
Definition: allcodecs.c:810
Subtitle event position.
Definition: avcodec.h:1286
int id
id
Definition: avcodec.h:1076
int max_bitrate
Maximum bitrate of the stream, in bits per second.
Definition: avcodec.h:1104
int max_b_frames
maximum number of B-frames between non-B-frames Note: The output will be delayed by max_b_frames+1 re...
Definition: avcodec.h:1777
AVRational sample_aspect_ratio
Video only.
Definition: avcodec.h:3960
int rc_initial_buffer_occupancy
Number of bits which should be loaded into the rc buffer before decoding starts.
Definition: avcodec.h:2419
Dummy codec for streams containing only metadata information.
Definition: avcodec.h:690
int width
Dimensions of the decoded video intended for presentation.
Definition: avcodec.h:5179
int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt)
Read encoded data from the encoder.
Definition: encode.c:420
attribute_deprecated int frame_skip_cmp
Definition: avcodec.h:2454
This side data should be associated with a video stream and contains Stereoscopic 3D information in f...
Definition: avcodec.h:1217
const char * avcodec_configuration(void)
Return the libavcodec build-time configuration.
Definition: utils.c:1402
ATSC A53 Part 4 Closed Captions.
Definition: avcodec.h:1345
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: bitstream_filter.c:97
enum AVColorRange color_range
MPEG vs JPEG YUV range.
Definition: avcodec.h:2148
const struct AVBitStreamFilter * filter
The bitstream filter this context is an instance of.
Definition: avcodec.h:5696
attribute_deprecated int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
Definition: imgconvert.c:107
The bitstream filter state.
Definition: avcodec.h:5687
int nb_colors
number of colors in pict, undefined when pict is not set
Definition: avcodec.h:3830
int mb_lmin
minimum MB Lagrange multiplier
Definition: avcodec.h:2060
const char * avcodec_license(void)
Return the libavcodec license.
Definition: utils.c:1407
const AVBitStreamFilter * av_bsf_get_by_name(const char *name)
Definition: bitstream_filters.c:75
int coded_width
Dimensions of the coded video.
Definition: avcodec.h:5185
This side data contains an integer value representing the stream index of a "fallback" track...
Definition: avcodec.h:1243
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel...
Definition: avcodec.h:1896
Definition: bsf.c:394
attribute_deprecated int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of audio.
Definition: encode.c:118
Convenience header that includes libavutil&#39;s core.
attribute_deprecated int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, const AVPacket *avpkt)
Decode the audio frame of size avpkt->size from avpkt->data into frame.
Definition: decode.c:833
Contain timestamp estimated through PCR of program stream.
Definition: avcodec.h:673
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
Same behaviour av_fast_malloc but the buffer has additional AV_INPUT_BUFFER_PADDING_SIZE at the end w...
Definition: utils.c:70
A dummy ID pointing at the start of various fake codecs.
Definition: avcodec.h:670
char * stats_in
pass2 encoding statistics input buffer Concatenated stuff from stats_out of pass1 should be placed he...
Definition: avcodec.h:2540
int ildct_cmp
interlaced DCT comparison function
Definition: avcodec.h:1921
discard all non intra frames
Definition: avcodec.h:792
int duration
Duration of the current frame.
Definition: avcodec.h:5154
discard all
Definition: avcodec.h:794
attribute_deprecated void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
Definition: imgconvert.c:38
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
Definition: avcodec.h:2741
attribute_deprecated int av_lockmgr_register(int(*cb)(void **mutex, enum AVLockOp op))
Register a user provided lock manager supporting the operations specified by AVLockOp.
Definition: utils.c:1770
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
Converts AVChromaLocation to swscale x/y chroma position.
Definition: utils.c:349
int dts_ref_dts_delta
Offset of the current timestamp against last timestamp sync point in units of AVCodecContext.time_base.
Definition: avcodec.h:5116
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
Decode a subtitle message.
Definition: decode.c:998
const struct AVHWAccel * hwaccel
Hardware accelerator in use.
Definition: avcodec.h:2674
int av_bsf_get_null_filter(AVBSFContext **bsf)
Get null/pass-through bitstream filter.
Definition: bsf.c:544
int trailing_padding
Audio only.
Definition: avcodec.h:4020
void * priv_data
Opaque filter-specific private data.
Definition: avcodec.h:5708
Picture data structure.
Definition: avcodec.h:3793
int profile
profile
Definition: avcodec.h:2843
const AVCodec * av_codec_iterate(void **opaque)
Iterate over all registered codecs.
Definition: allcodecs.c:775
An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of structures with info about macroblo...
Definition: avcodec.h:1196
AVCodec.
Definition: avcodec.h:3408
Definition: vf_paletteuse.c:588
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs...
Definition: avcodec.h:2210
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: imgconvert.c:138
float i_quant_offset
qscale offset between P and I-frames
Definition: avcodec.h:1829
This struct describes the properties of an encoded stream.
Definition: avcodec.h:3876
int av_bsf_init(AVBSFContext *ctx)
Prepare the filter for use, after all the parameters and options have been set.
Definition: bsf.c:134
AVLockOp
Lock operation used by lockmgr.
Definition: avcodec.h:6047
attribute_deprecated AVPicture pict
Definition: avcodec.h:3837
AVColorTransferCharacteristic
Color Transfer Characteristic.
Definition: pixfmt.h:444
int min_bitrate
Minimum bitrate of the stream, in bits per second.
Definition: avcodec.h:1109
char * text
0 terminated plain UTF-8 text
Definition: avcodec.h:3848
attribute_deprecated int frame_skip_exp
Definition: avcodec.h:2450
attribute_deprecated int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
Definition: avpicture.c:57
Macro definitions for various function/variable attributes.
const AVBitStreamFilter * av_bsf_iterate(void **opaque)
Iterate over all registered bitstream filters.
Definition: bitstream_filters.c:58
int frame_size
Audio only.
Definition: avcodec.h:4005
Mastering display metadata (based on SMPTE-2086:2014).
Definition: avcodec.h:1325
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
Definition: avcodec.h:1640
int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
Definition: imgconvert.c:47
int av_codec_is_decoder(const AVCodec *codec)
Definition: utils.c:99
enum AVAudioServiceType audio_service_type
Type of service that the audio stream conveys.
Definition: avcodec.h:2238
const AVCodecDescriptor * avcodec_descriptor_next(const AVCodecDescriptor *prev)
Iterate over all codec descriptors known to libavcodec.
Definition: codec_desc.c:3141
void av_bsf_list_free(AVBSFList **lst)
Free list of bitstream filters.
Definition: bsf.c:404
int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
Fill AVFrame audio data and linesize pointers.
Definition: utils.c:372
enum AVDiscard skip_frame
Skip decoding for selected frames.
Definition: avcodec.h:2975
const AVClass * avcodec_get_class(void)
Get the AVClass for AVCodecContext.
Definition: options.c:294
int av_codec_is_encoder(const AVCodec *codec)
Definition: utils.c:94
uint64_t vbv_delay
The delay between the time the packet this structure is associated with is received and the time when...
Definition: avcodec.h:1129
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx)
Allocate a context for a given bitstream filter.
Definition: bsf.c:81
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height)
Modify width and height values so that they will result in a memory buffer that is acceptable for the...
Definition: utils.c:334
int w
width of pict, undefined when pict is not set
Definition: avcodec.h:3828
float p_masking
p block masking (0-> disabled)
Definition: avcodec.h:1857
attribute_deprecated const AVBitStreamFilter * av_bitstream_filter_next(const AVBitStreamFilter *f)
Definition: bitstream_filter.c:31
Public dictionary API.
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
Retrieve a filtered packet.
Definition: bsf.c:201
attribute_deprecated int side_data_only_packets
Encoding only and set by default.
Definition: avcodec.h:3013
int bit_rate_tolerance
number of bits the bitstream is allowed to diverge from the reference.
Definition: avcodec.h:1576
int mb_lmax
maximum MB Lagrange multiplier
Definition: avcodec.h:2067
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
Definition: avpacket.c:62
enum AVSampleFormat sample_fmt
audio sample format
Definition: avcodec.h:2181
Lock the mutex.
Definition: avcodec.h:6049
Definition: avcodec.h:3382
void * hwaccel_context
Hardware accelerator context.
Definition: avcodec.h:2686
int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
Unpack a dictionary from side_data.
Definition: avpacket.c:517
int width
Video only.
Definition: avcodec.h:3950
int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
Definition: parser.c:274
AVCodecParameters * avcodec_parameters_alloc(void)
Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0).
Definition: utils.c:1982
int me_range
maximum motion estimation search range in subpel units If 0 then no limit.
Definition: avcodec.h:1988
AVColorSpace
YUV colorspace type.
Definition: pixfmt.h:473
unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt)
Return a value representing the fourCC code associated to the pixel format pix_fmt, or 0 if no associated fourCC code can be found.
Definition: raw.c:298
struct AVCodecContext AVCodecContext
main external API structure.
uint16_t * chroma_intra_matrix
custom intra quantization matrix
Definition: avcodec.h:3139
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
Definition: avcodec.h:1448
This side data contains a 3x3 transformation matrix describing an affine transformation that needs to...
Definition: avcodec.h:1211
float b_quant_factor
qscale factor between IP and B-frames If > 0 then the last P-frame quantizer will be used (q= lastp_q...
Definition: avcodec.h:1786
int trailing_padding
Audio only.
Definition: avcodec.h:3219
int pre_dia_size
ME prepass diamond size & shape.
Definition: avcodec.h:1972
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
Initialize a reference-counted packet from av_malloc()ed data.
Definition: avpacket.c:152
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
Definition: avcodec.h:1618
const AVClass * av_class
information on struct for av_log
Definition: avcodec.h:1523
int me_cmp
motion estimation comparison function
Definition: avcodec.h:1903
int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
Definition: utils.c:2078
int initial_padding
Audio only.
Definition: avcodec.h:4013
This side data is encryption initialization data.
Definition: avcodec.h:1352
attribute_deprecated int context_model
Definition: avcodec.h:2436
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
Move every field in src to dst and reset src.
Definition: avpacket.c:647
attribute_deprecated void avcodec_register(AVCodec *codec)
Register the codec codec and initialize libavcodec.
Definition: allcodecs.c:805
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
Definition: avcodec.h:2749
AVColorRange
MPEG vs JPEG YUV range.
Definition: pixfmt.h:496
const AVClass * avcodec_get_frame_class(void)
Get the AVClass for AVFrame.
Definition: options.c:321
int buffer_size
The size of the buffer to which the ratecontrol is applied, in bits.
Definition: avcodec.h:1120
int h
height of pict, undefined when pict is not set
Definition: avcodec.h:3829
Definition: bsf.c:30
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
Definition: avcodec.h:2734
Definition: avcodec.h:5736
float lumi_masking
luminance masking (0-> disabled)
Definition: avcodec.h:1836
char * stats_out
pass1 encoding statistics output buffer
Definition: avcodec.h:2532
AVColorPrimaries
Chromaticity coordinates of the source primaries.
Definition: pixfmt.h:420
AVCPBProperties * av_cpb_properties_alloc(size_t *size)
Allocate a CPB properties structure and initialize its fields to default values.
Definition: utils.c:1922
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
Definition: avcodec.h:2155
attribute_deprecated int frame_skip_threshold
Definition: avcodec.h:2442
uint64_t channel_layout
Audio only.
Definition: avcodec.h:3986
attribute_deprecated void avcodec_register_all(void)
Register all the codecs, parsers and bitstream filters which were enabled at configuration time...
Definition: allcodecs.c:820
Definition: avcodec.h:3860
int av_packet_ref(AVPacket *dst, const AVPacket *src)
Setup a new reference to the data described by a given packet.
Definition: avpacket.c:601
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
Definition: avcodec.h:3913
AVCodec * avcodec_find_encoder_by_name(const char *name)
Find a registered encoder with the specified name.
Definition: allcodecs.c:885
attribute_deprecated int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
Copy packet side data.
Definition: avpacket.c:226
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[AV_NUM_DATA_POINTERS])
Modify width and height values so that they will result in a memory buffer that is acceptable for the...
Definition: utils.c:154
attribute_deprecated int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
Definition: avpicture.c:37
int av_packet_make_writable(AVPacket *pkt)
Create a writable reference for the data described by a given packet, avoiding data copy if possible...
Definition: avpacket.c:673
attribute_deprecated void av_register_hwaccel(AVHWAccel *hwaccel)
Register the hardware accelerator hwaccel.
Definition: utils.c:1764
MPEGTS stream ID, this is required to pass the stream ID information from the demuxer to the correspo...
Definition: avcodec.h:1318
int slice_count
slice count
Definition: avcodec.h:1871
Libavcodec version macros.
int avcodec_close(AVCodecContext *avctx)
Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext its...
Definition: utils.c:1061
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
Definition: avpacket.c:86
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are.
Definition: avcodec.h:3054
const uint64_t * channel_layouts
array of support channel layouts, or NULL if unknown. array is terminated by 0
Definition: avcodec.h:3432
Definition: dict.c:30
const AVCodecDefault * defaults
Private codec-specific defaults.
Definition: avcodec.h:3481
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition: avcodec.h:215
int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src)
Copy the contents of src to dst.
Definition: utils.c:2003
int av_get_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
Definition: utils.c:1495
int has_b_frames
Size of the frame reordering buffer in the decoder.
Definition: avcodec.h:1807
An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE bytes worth of palette...
Definition: avcodec.h:1149
AVPacket * av_packet_clone(const AVPacket *src)
Create a new packet that references the same data as src.
Definition: avpacket.c:634
int64_t pos
Byte position of currently parsed frame in stream.
Definition: avcodec.h:5142
Create a mutex.
Definition: avcodec.h:6048
void av_packet_rescale_ts(AVPacket *pkt, AVRational tb_src, AVRational tb_dst)
Convert valid timing fields (timestamps / durations) in a packet from one timebase to another...
Definition: avpacket.c:694
AVAudioServiceType
Definition: avcodec.h:797
int y
top left corner of pict, undefined when pict is not set
Definition: avcodec.h:3827
discard all bidirectional frames
Definition: avcodec.h:791
An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
Definition: avcodec.h:1175
uint8_t * av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, int *size)
Get side information from packet.
Definition: avpacket.c:350
enum AVCodecID * codec_ids
A list of codec ids supported by the filter, terminated by AV_CODEC_ID_NONE.
Definition: avcodec.h:5744
int me_sub_cmp
subpixel motion estimation comparison function
Definition: avcodec.h:1909
void av_packet_free_side_data(AVPacket *pkt)
Convenience function to free all the side data stored.
Definition: avpacket.c:270
Definition: internal.h:223
attribute_deprecated uint64_t vbv_delay
VBV delay coded in the last frame (in periods of a 27 MHz clock).
Definition: avcodec.h:2998
int qmax
maximum quantizer
Definition: avcodec.h:2362
enum AVSampleFormat request_sample_fmt
desired sample format
Definition: avcodec.h:2246
int skip_alpha
Skip processing alpha if supported by codec.
Definition: avcodec.h:3113
int64_t pts_correction_last_pts
Number of incorrect DTS values so far.
Definition: avcodec.h:3079
int format
Definition: avcodec.h:3908
int active_thread_type
Which multithreading methods are in use by the codec.
Definition: avcodec.h:2788
int methods
Bit set of AV_CODEC_HW_CONFIG_METHOD_* flags, describing the possible setup methods which can be used...
Definition: avcodec.h:3391
attribute_deprecated int av_dup_packet(AVPacket *pkt)
Definition: avpacket.c:251
int avcodec_is_open(AVCodecContext *s)
Definition: utils.c:1861
int error_concealment
error concealment flags
Definition: avcodec.h:2588
int video_delay
Video only.
Definition: avcodec.h:3979
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Return decoded output data from a decoder.
Definition: decode.c:709
int capabilities
Codec capabilities.
Definition: avcodec.h:3427
int initial_padding
Audio only.
Definition: avcodec.h:3031
Definition: hwaccel.h:29
struct AVCodec AVCodec
AVCodec.
preferred ID for decoding MPEG audio layer 1, 2 or 3
Definition: avcodec.h:552
attribute_deprecated AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
Definition: bitstream_filter.c:51
AVBufferRef * buf
A reference to the reference-counted buffer where the packet data is stored.
Definition: avcodec.h:1413
int flags
AV_CODEC_FLAG_*.
Definition: avcodec.h:1598
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)
Find the best pixel format to convert to given a certain source pixel format.
Definition: imgconvert.c:66
AVRational time_base_in
The timebase used for the timestamps of the input packets.
Definition: avcodec.h:5727
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
Get the type of the given codec.
Definition: codec_desc.c:3160
const char * name
Name of the codec implementation.
Definition: avcodec.h:3415
float i_quant_factor
qscale factor between P- and I-frames If > 0 then the last P-frame quantizer will be used (q = lastp_...
Definition: avcodec.h:1822
int width
width and height in 1/16 pel
Definition: avcodec.h:1083
int64_t max_pixels
The number of pixels per image to maximally accept.
Definition: avcodec.h:3227
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Shrink the already allocated side data buffer.
Definition: avpacket.c:542
const struct AVProfile * profiles
If non-NULL, an array of profiles recognized for this codec.
Definition: avcodec.h:726
const char * long_name
A more descriptive name for this codec.
Definition: avcodec.h:711
struct AVPicture AVPicture
Picture data structure.
struct AVCPBProperties AVCPBProperties
This structure describes the bitrate properties of an encoded bitstream.
Definition: avcodec.h:5199
void avcodec_parameters_free(AVCodecParameters **par)
Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied p...
Definition: utils.c:1992
int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes)
This function is the same as av_get_audio_frame_duration(), except it works with AVCodecParameters in...
Definition: utils.c:1709
attribute_deprecated int64_t timecode_frame_start
Definition: avcodec.h:2475
attribute_deprecated int b_sensitivity
Definition: avcodec.h:2119
int priv_data_size
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
Definition: avcodec.h:3720
int flags
A combination of AV_PKT_FLAG values.
Definition: avcodec.h:1436
reference-counted frame API
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
Definition: codec_desc.c:3135
uint64_t channel_layout
Audio channel layout.
Definition: avcodec.h:2224
int extradata_size
Size of the extradata content in bytes.
Definition: avcodec.h:3902
The codec supports this format by some ad-hoc method.
Definition: avcodec.h:3379
int64_t pts
Same as packet pts, in AV_TIME_BASE.
Definition: avcodec.h:3866
int rc_buffer_size
decoder bitstream buffer size
Definition: avcodec.h:2376
attribute_deprecated int av_copy_packet(AVPacket *dst, const AVPacket *src)
Copy packet, including contents.
Definition: avpacket.c:262
int props
Codec properties, a combination of AV_CODEC_PROP_* flags.
Definition: avcodec.h:715
int intra_dc_precision
precision of the intra DC coefficient - 8
Definition: avcodec.h:2039
int64_t rc_min_rate
minimum bitrate
Definition: avcodec.h:2398
Not part of ABI.
Definition: avcodec.h:807
int refs
number of reference frames
Definition: avcodec.h:2101
int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf)
Append bitstream filter to the list of bitstream filters.
Definition: bsf.c:417
int block_align
Audio only.
Definition: avcodec.h:4001
A bitmap, pict will be set.
Definition: avcodec.h:3808
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
Copy only "properties" fields from src to dst.
Definition: avpacket.c:558
int rc_override_count
ratecontrol override, see RcOverride
Definition: avcodec.h:2383
const AVClass * av_bsf_get_class(void)
Get the AVClass for AVBSFContext.
Definition: bsf.c:76
audio channel layout utility functions
enum AVPixelFormat * pix_fmts
array of supported pixel formats, or NULL if unknown, array is terminated by -1
Definition: avcodec.h:3429
int err_recognition
Error recognition; may misdetect some more or less valid parts as errors.
Definition: avcodec.h:2642
const char * name
Name of the hardware accelerated codec.
Definition: avcodec.h:3582
AVPacketSideData * coded_side_data
Additional data associated with the entire coded stream.
Definition: avcodec.h:3172
attribute_deprecated int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
Definition: avpicture.c:44
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
Definition: utils.c:1413
attribute_deprecated int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
Copy the settings of the source AVCodecContext into the destination AVCodecContext.
Definition: options.c:215
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
Definition: options.c:156
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)
Parse a packet.
Definition: parser.c:205
This side data contains quality related information from the encoder.
Definition: avcodec.h:1235
int av_bsf_list_append2(AVBSFList *lst, const char *bsf_name, AVDictionary **options)
Construct new bitstream filter context given it&#39;s name and options and append it to the list of bitst...
Definition: bsf.c:422
int width
picture width / height.
Definition: avcodec.h:1690
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
Definition: avcodec.h:2713
AVBufferRef * hw_frames_ctx
A reference to the AVHWFramesContext describing the input (for encoding) or output (decoding) frames...
Definition: avcodec.h:3197
int64_t offset
byte offset from starting packet start
Definition: avcodec.h:5072
attribute_deprecated void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
Definition: bitstream_filter.c:83
AVRational time_base_out
The timebase used for the timestamps of the output packets.
Definition: avcodec.h:5733
int av_packet_make_refcounted(AVPacket *pkt)
Ensure the data described by a given packet is reference counted.
Definition: avpacket.c:655
attribute_deprecated int noise_reduction
Definition: avcodec.h:2031
This side data should be associated with a video stream and corresponds to the AVSphericalMapping str...
Definition: avcodec.h:1331
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
Submit a packet for filtering.
Definition: bsf.c:175
float rc_max_available_vbv_use
Ratecontrol attempt to use, at maximum, of what can be used without an underflow. ...
Definition: avcodec.h:2405
float rc_min_vbv_overflow_use
Ratecontrol attempt to use, at least, times the amount needed to prevent a vbv overflow.
Definition: avcodec.h:2412
attribute_deprecated int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
Definition: avpicture.c:52
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
Definition: avcodec.h:2127
attribute_deprecated int frame_skip_factor
Definition: avcodec.h:2446
const AVClass * avcodec_get_subtitle_rect_class(void)
Get the AVClass for AVSubtitleRect.
Definition: options.c:346
int level
level
Definition: avcodec.h:2953
const AVClass * av_class
A class for logging and AVOptions.
Definition: avcodec.h:5691
const AVProfile * profiles
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} ...
Definition: avcodec.h:3435
int64_t reordered_opaque
opaque 64-bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque
Definition: avcodec.h:2667
int ticks_per_frame
For some codecs, the time base is closer to the field rate than the frame rate.
Definition: avcodec.h:1649
const char * bsfs
Decoding only, a comma-separated list of bitstream filters to apply to packets before decoding...
Definition: avcodec.h:3540
int skip_top
Number of macroblock rows at the top which are skipped.
Definition: avcodec.h:2046
int mb_decision
macroblock decision mode
Definition: avcodec.h:2005
int last_predictor_count
amount of previous MV predictors (2a+1 x 2a+1 square)
Definition: avcodec.h:1952
int max_qdiff
maximum quantizer difference between frames
Definition: avcodec.h:2369
Passthrough codec, AVFrames wrapped in AVPacket.
Definition: avcodec.h:691
char * sub_charenc
DTS of the last frame.
Definition: avcodec.h:3087
attribute_deprecated int coder_type
Definition: avcodec.h:2430
preferred ID for MPEG-1/2 video decoding
Definition: avcodec.h:220
const AVCodecDescriptor * avcodec_descriptor_get_by_name(const char *name)
Definition: codec_desc.c:3150
Definition: avcodec.h:5032
int64_t last_pos
Previous frame byte position.
Definition: avcodec.h:5147
const char * avcodec_get_name(enum AVCodecID id)
Get the name of a codec.
Definition: utils.c:1127
int thread_count
thread count is used to decide how many independent tasks should be passed to execute() ...
Definition: avcodec.h:2769
int sub_charenc_mode
Subtitles character encoding mode.
Definition: avcodec.h:3095
attribute_deprecated int max_prediction_order
Definition: avcodec.h:2471
Definition: avcodec.h:5662
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal decoder state / flush internal buffers.
Definition: decode.c:1946
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
Definition: avcodec.h:688
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)
Definition: imgconvert.c:54
Content light level (based on CTA-861.3).
Definition: avcodec.h:1338
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
Supply raw packet data as input to a decoder.
Definition: decode.c:642
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
Copy necessary context variables from a previous thread context to the current one.
Definition: avcodec.h:3475
const char * av_get_profile_name(const AVCodec *codec, int profile)
Return a name for the specified profile, if available.
Definition: utils.c:1362
int frame_size
Number of samples per channel in an audio frame.
Definition: avcodec.h:2193
int pts_dts_delta
Presentation delay of current frame in units of AVCodecContext.time_base.
Definition: avcodec.h:5130
int(* execute2)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count)
The codec may call this to execute several independent things.
Definition: avcodec.h:2829
const char * long_name
Descriptive name for the codec, meant to be more human readable than name.
Definition: avcodec.h:3420
This structure describes the bitrate properties of an encoded bitstream.
Definition: avcodec.h:1099
AVBSFList * av_bsf_list_alloc(void)
Allocate empty list of bitstream filters.
Definition: bsf.c:399
The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format that the extradata buffer was...
Definition: avcodec.h:1158
int bidir_refine
Definition: avcodec.h:2081
Definition: avcodec.h:1373
attribute_deprecated AVHWAccel * av_hwaccel_next(const AVHWAccel *hwaccel)
If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL...
Definition: utils.c:1759
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
The default callback for AVCodecContext.get_buffer2().
Definition: decode.c:1629
const char * wrapper_name
Group name of the codec implementation.
Definition: avcodec.h:3447
attribute_deprecated int mpeg_quant
Definition: avcodec.h:1812
const AVRational * supported_framerates
array of supported framerates, or NULL if any, array is terminated by {0,0}
Definition: avcodec.h:3428
A list of zero terminated key/value strings.
Definition: avcodec.h:1275
attribute_deprecated int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt)
Decode the video frame of size avpkt->size from avpkt->data into picture.
Definition: decode.c:826
AVSampleFormat
Audio sample formats.
Definition: samplefmt.h:58
attribute_deprecated int scenechange_threshold
Definition: avcodec.h:2027
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer...
Definition: options.c:171
Definition: internal.h:129
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
Return the PCM codec associated with a sample format.
Definition: utils.c:1473
Definition: avcodec.h:3576
int compression_level
Definition: avcodec.h:1590
int seek_preroll
Number of samples to skip after a discontinuity.
Definition: avcodec.h:3120
attribute_deprecated int prediction_method
Definition: avcodec.h:1876
int sample_rate
samples per second
Definition: avcodec.h:2173
enum AVDiscard skip_idct
Skip IDCT/dequantization for selected frames.
Definition: avcodec.h:2968
attribute_deprecated int b_frame_strategy
Definition: avcodec.h:1791
const AVCodecParser * av_parser_iterate(void **opaque)
Iterate over all registered codec parsers.
Definition: parser.c:103
Plain text, the text field must be set by the decoder and is authoritative.
Definition: avcodec.h:3814
int debug
debug
Definition: avcodec.h:2598
const AVCodecHWConfig * avcodec_get_hw_config(const AVCodec *codec, int index)
Retrieve supported hardware configurations for a codec.
Definition: utils.c:1747
main external API structure.
Definition: avcodec.h:1518
AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
Definition: allcodecs.c:862
uint8_t * av_packet_pack_dictionary(AVDictionary *dict, int *size)
Pack a dictionary for use in side_data.
Definition: avpacket.c:482
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
Definition: avpacket.c:592
int qmin
minimum quantizer
Definition: avcodec.h:2355
void avsubtitle_free(AVSubtitle *sub)
Free all allocated data in the given subtitle struct.
Definition: utils.c:1042
Definition: avcodec.h:813
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> (&#39;D&#39;<<24) + (&#39;C&#39;<<16) + (&#39;B&#39;<<8) + &#39;A&#39;).
Definition: avcodec.h:1543
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame)
Supply a raw video or audio frame to the encoder.
Definition: encode.c:390
float spatial_cplx_masking
spatial complexity masking (0-> disabled)
Definition: avcodec.h:1850
Data found in BlockAdditional element of matroska container.
Definition: avcodec.h:1294
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
Encode extradata length to a buffer.
Definition: utils.c:1726
uint16_t * intra_matrix
custom intra quantization matrix
Definition: avcodec.h:2015
int slice_flags
slice flags
Definition: avcodec.h:1995
Describe the class of an AVClass context structure.
Definition: log.h:67
int(* get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags)
This callback is called at the beginning of each frame to get data buffer(s) for it.
Definition: avcodec.h:2328
enum AVColorSpace colorspace
YUV colorspace type.
Definition: avcodec.h:2141
Rational number (pair of numerator and denominator).
Definition: rational.h:58
attribute_deprecated int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of video.
Definition: encode.c:260
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
Definition: avcodec.h:2134
const char * name
short name for the profile
Definition: avcodec.h:3343
int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec)
Fill the parameters struct based on the values from the supplied codec context.
Definition: utils.c:2021
Recommmends skipping the specified number of samples.
Definition: avcodec.h:1259
struct AVCodecDescriptor AVCodecDescriptor
This struct describes the properties of a single codec described by an AVCodecID. ...
int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, uint8_t *data, size_t size)
Wrap an existing array as a packet side data.
Definition: avpacket.c:295
int sub_text_format
Control the form of AVSubtitle.rects[N]->ass.
Definition: avcodec.h:3204
struct AVPacket AVPacket
This structure stores compressed data.
int(* init_thread_copy)(AVCodecContext *)
If defined, called on thread contexts when they are created.
Definition: avcodec.h:3467
AVMediaType
Definition: avutil.h:199
attribute_deprecated AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
Accessors for some AVCodecContext fields.
discard useless packets like 0 size packets in avi
Definition: avcodec.h:789
refcounted data buffer API
attribute_deprecated int brd_scale
Definition: avcodec.h:2086
char * codec_whitelist
&#39;,&#39; separated list of allowed decoders.
Definition: avcodec.h:3155
const char * name
Name of the codec described by this descriptor.
Definition: avcodec.h:707
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
Definition: utils.c:538
attribute_deprecated int chromaoffset
Definition: avcodec.h:2106
float b_quant_offset
qscale offset between IP and B-frames
Definition: avcodec.h:1799
This side data contains encryption info for how to decrypt the packet.
Definition: avcodec.h:1358
struct AVCodecParameters AVCodecParameters
This struct describes the properties of an encoded stream.
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
Return audio frame duration.
Definition: utils.c:1700
float qcompress
amount of qscale change between easy & hard scenes (0.0-1.0)
Definition: avcodec.h:2347
attribute_deprecated int refcounted_frames
If non-zero, the decoded audio and video frames returned from avcodec_decode_video2() and avcodec_dec...
Definition: avcodec.h:2344
uint16_t * inter_matrix
custom inter quantization matrix
Definition: avcodec.h:2022
attribute_deprecated int64_t convergence_duration
Definition: avcodec.h:5088
int seek_preroll
Audio only.
Definition: avcodec.h:4024
This struct describes the properties of a single codec described by an AVCodecID. ...
Definition: avcodec.h:699
float dark_masking
darkness masking (0-> disabled)
Definition: avcodec.h:1864
int global_quality
Global quality for codecs which cannot change it per frame.
Definition: avcodec.h:1584
int skip_bottom
Number of macroblock rows at the bottom which are skipped.
Definition: avcodec.h:2053
AVCodec * avcodec_find_decoder_by_name(const char *name)
Find a registered decoder with the specified name.
Definition: allcodecs.c:890
This side data should be associated with an audio stream and contains ReplayGain information in form ...
Definition: avcodec.h:1202
int output_picture_number
Picture number incremented in presentation or output order.
Definition: avcodec.h:5174
float temporal_cplx_masking
temporary complexity masking (0-> disabled)
Definition: avcodec.h:1843
int bits_per_raw_sample
This is the number of valid bits in each output sample.
Definition: avcodec.h:3939
Pan Scan area.
Definition: avcodec.h:1070
const AVClass * priv_class
AVClass for the private context.
Definition: avcodec.h:3434
MpegEncContext.
Definition: mpegvideo.h:81
int gop_size
the number of pictures in a group of pictures, or 0 for intra_only
Definition: avcodec.h:1712
int sample_rate
Audio only.
Definition: avcodec.h:3994
uint8_t max_lowres
maximum value for lowres supported by the decoder
Definition: avcodec.h:3433
A reference to a data buffer.
Definition: buffer.h:81
discard all non reference
Definition: avcodec.h:790
An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio s...
Definition: avcodec.h:1269
AVPacketSideData * side_data
Additional packet data that can be provided by the container.
Definition: avcodec.h:1441
attribute_deprecated int64_t convergence_duration
Definition: avcodec.h:1459
int mb_cmp
macroblock comparison function (not supported yet)
Definition: avcodec.h:1915
int av_bsf_list_parse_str(const char *str, AVBSFContext **bsf)
Parse string describing list of bitstream filters and create single AVBSFContext describing the whole...
Definition: bsf.c:506
int avcodec_get_hw_frames_parameters(AVCodecContext *avctx, AVBufferRef *device_ref, enum AVPixelFormat hw_pix_fmt, AVBufferRef **out_frames_ref)
Create and return a AVHWFramesContext with values adequate for hardware decoding. ...
Definition: decode.c:1201
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
Converts swscale x/y chroma position to AVChromaLocation.
Definition: utils.c:361
Free mutex resources.
Definition: avcodec.h:6051
Utilties for rational number calculation.
attribute_deprecated void avpicture_free(AVPicture *picture)
Definition: avpicture.c:70
raw UTF-8 text
Definition: avcodec.h:645
attribute_deprecated int rtp_payload_size
Definition: avcodec.h:2495
int nsse_weight
noise vs.
Definition: avcodec.h:2836
int profile
Codec-specific bitstream restrictions that the stream conforms to.
Definition: avcodec.h:3944
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
Same behaviour av_fast_padded_malloc except that buffer will always be 0-initialized after call...
Definition: utils.c:82
AVProfile.
Definition: avcodec.h:3341
int workaround_bugs
Work around bugs in encoders which sometimes cannot be detected automatically.
Definition: avcodec.h:2547
int av_grow_packet(AVPacket *pkt, int grow_by)
Increase packet size, correctly zeroing padding.
Definition: avpacket.c:109
int caps_internal
Internal codec capabilities.
Definition: avcodec.h:3534
unsigned properties
Properties of the stream that gets decoded.
Definition: avcodec.h:3162
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values.
Definition: avpacket.c:33
enum AVDiscard skip_loop_filter
Skip loop filtering for selected frames.
Definition: avcodec.h:2961
int thread_safe_callbacks
Set by the client if its custom get_buffer() callback can be called synchronously from another thread...
Definition: avcodec.h:2798
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
Definition: options.c:150
attribute_deprecated void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
Definition: avpicture.c:75
int trellis
trellis RD quantization
Definition: avcodec.h:2462
The optional settings (rendering instructions) that immediately follow the timestamp specifier of a W...
Definition: avcodec.h:1305
int slices
Number of slices.
Definition: avcodec.h:2164
int cutoff
Audio cutoff bandwidth (0 means "automatic")
Definition: avcodec.h:2217
attribute_deprecated size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag)
Put a string representing the codec tag codec_tag in buf.
Definition: utils.c:1147
FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
Definition: avcodec.h:686
Formatted text, the ass field must be set by the decoder and is authoritative.
Definition: avcodec.h:3820
pixel format definitions
int dia_size
ME diamond size & shape.
Definition: avcodec.h:1945
uint8_t * dump_separator
dump format separator.
Definition: avcodec.h:3147
attribute_deprecated int frame_bits
Definition: avcodec.h:2524
attribute_deprecated int me_penalty_compensation
Definition: avcodec.h:2074
attribute_deprecated int min_prediction_order
Definition: avcodec.h:2467
as in Berlin toast format
Definition: avcodec.h:569
The codec supports this format via the hw_frames_ctx interface.
Definition: avcodec.h:3363
int avg_bitrate
Average bitrate of the stream, in bits per second.
Definition: avcodec.h:1114
char * args
Internal default arguments, used if NULL is passed to av_bitstream_filter_filter().
Definition: avcodec.h:5671
int channels
number of audio channels
Definition: avcodec.h:2174
int frame_priv_data_size
Size of per-frame hardware accelerator private data.
Definition: avcodec.h:3686
const int * supported_samplerates
array of supported audio samplerates, or NULL if unknown, array is terminated by 0 ...
Definition: avcodec.h:3430
int format
The format of the coded data, corresponds to enum AVPixelFormat for video and for enum AVSampleFormat...
Definition: avcodec.h:5196
unsigned avcodec_version(void)
Return the LIBAVCODEC_VERSION_INT constant.
Definition: utils.c:1390
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
Definition: avpacket.c:51
char * ass
0 terminated ASS/SSA compatible event line.
Definition: avcodec.h:3855
This side data corresponds to the AVCPBProperties struct.
Definition: avcodec.h:1248
attribute_deprecated void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
Definition: avcodec.h:2489
int mv0_threshold
Note: Value depends upon the compare function used for fullpel ME.
Definition: avcodec.h:2114
int flags2
AV_CODEC_FLAG2_*.
Definition: avcodec.h:1605
int bits_per_coded_sample
The number of bits per sample in the codedwords.
Definition: avcodec.h:3926
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
Definition: avcodec.h:3898
AVDiscard
Definition: avcodec.h:785
attribute_deprecated void av_register_bitstream_filter(AVBitStreamFilter *bsf)
Definition: bitstream_filter.c:42
struct AVProfile AVProfile
AVProfile.
int channels
Audio only.
Definition: avcodec.h:3990
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed...
Definition: avcodec.h:1429
int64_t pts_correction_last_dts
PTS of the last frame.
Definition: avcodec.h:3080
int * slice_offset
slice offsets in the frame in bytes
Definition: avcodec.h:1887
int frame_number
Frame counter, set by libavcodec.
Definition: avcodec.h:2204
attribute_deprecated void av_free_packet(AVPacket *pkt)
Free a packet.
Definition: avpacket.c:281
int repeat_pict
This field is used for proper frame duration computation in lavf.
Definition: avcodec.h:5050
int64_t pts_correction_num_faulty_pts
Current statistics for PTS correction.
Definition: avcodec.h:3077
enum AVFieldOrder field_order
Field order.
Definition: avcodec.h:2170
void(* init_static_data)(struct AVCodec *codec)
Initialize codec static data, called from avcodec_register().
Definition: avcodec.h:3489
AVChromaLocation
Location of chroma samples.
Definition: pixfmt.h:518
int hwaccel_flags
Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated decoding (if active)...
Definition: avcodec.h:3258
enum AVSampleFormat * sample_fmts
array of supported sample formats, or NULL if unknown, array is terminated by -1
Definition: avcodec.h:3431
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
Definition: avcodec.h:3888
struct AVPanScan AVPanScan
Pan Scan area.
uint8_t * av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Allocate new information of a packet.
Definition: avpacket.c:329
int debug_mv
debug motion vectors
Definition: avcodec.h:3128
const char *const * mime_types
MIME type(s) associated with the codec.
Definition: avcodec.h:721
AVBufferRef * hw_device_ctx
A reference to the AVHWDeviceContext describing the device which will be used by a hardware encoder/d...
Definition: avcodec.h:3249
uint64_t request_channel_layout
Request decoder to use this channel layout if it can (0 for default)
Definition: avcodec.h:2231
Definition: avcodec.h:3825
int me_pre_cmp
motion estimation prepass comparison function
Definition: avcodec.h:1965
The number of side data types.
Definition: avcodec.h:1368
AVPixelFormat
Pixel format.
Definition: pixfmt.h:60
The codec supports this format via the hw_device_ctx interface.
Definition: avcodec.h:3354
This structure stores compressed data.
Definition: avcodec.h:1407
const char * avcodec_profile_name(enum AVCodecID codec_id, int profile)
Return a name for the specified profile, if available.
Definition: utils.c:1375
AVCodecParameters * par_in
Parameters of the input stream.
Definition: avcodec.h:5715
int key_frame
Set by parser to 1 for key frames and 0 for non-key frames.
Definition: avcodec.h:5081
int delay
Codec delay.
Definition: avcodec.h:1673
int me_subpel_quality
subpel ME quality
Definition: avcodec.h:1979
int strict_std_compliance
strictly follow the standard (MPEG-4, ...).
Definition: avcodec.h:2576
int dts_sync_point
Synchronization point for start of timestamp generation.
Definition: avcodec.h:5101
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
Definition: avcodec.h:1423
enum AVPixelFormat sw_pix_fmt
Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.
Definition: avcodec.h:3047
A dummy ID pointing at the start of subtitle codecs.
Definition: avcodec.h:642
void * opaque
Private data of the user, can be used to carry app specific stuff.
Definition: avcodec.h:1560
int thread_type
Which multithreading methods to use.
Definition: avcodec.h:2779
AVSubtitleType
Definition: avcodec.h:3805
int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf)
Finalize list of bitstream filters.
Definition: bsf.c:451
discard nothing
Definition: avcodec.h:788
int64_t rc_max_rate
maximum bitrate
Definition: avcodec.h:2391
attribute_deprecated int pre_me
Definition: avcodec.h:1957
This side data should be associated with an audio stream and corresponds to enum AVAudioServiceType.
Definition: avcodec.h:1223
uint8_t * subtitle_header
Header containing style information for text subtitles.
Definition: avcodec.h:2985
int keyint_min
minimum GOP size
Definition: avcodec.h:2094