21#ifndef AVCODEC_AVCODEC_H
22#define AVCODEC_AVCODEC_H
355#define AV_CODEC_ID_IFF_BYTERUN1 AV_CODEC_ID_IFF_ILBM
393#define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
750#define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
756#define AV_CODEC_PROP_LOSSY (1 << 1)
760#define AV_CODEC_PROP_LOSSLESS (1 << 2)
770#define AV_CODEC_PROP_REORDER (1 << 3)
775#define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
780#define AV_CODEC_PROP_TEXT_SUB (1 << 17)
790#define AV_INPUT_BUFFER_PADDING_SIZE 64
797#define AV_INPUT_BUFFER_MIN_SIZE 16384
846#define AV_CODEC_FLAG_UNALIGNED (1 << 0)
850#define AV_CODEC_FLAG_QSCALE (1 << 1)
854#define AV_CODEC_FLAG_4MV (1 << 2)
858#define AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3)
862#define AV_CODEC_FLAG_QPEL (1 << 4)
867#define AV_CODEC_FLAG_DROPCHANGED (1 << 5)
871#define AV_CODEC_FLAG_PASS1 (1 << 9)
875#define AV_CODEC_FLAG_PASS2 (1 << 10)
879#define AV_CODEC_FLAG_LOOP_FILTER (1 << 11)
883#define AV_CODEC_FLAG_GRAY (1 << 13)
887#define AV_CODEC_FLAG_PSNR (1 << 15)
892#define AV_CODEC_FLAG_TRUNCATED (1 << 16)
896#define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)
900#define AV_CODEC_FLAG_LOW_DELAY (1 << 19)
904#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
908#define AV_CODEC_FLAG_BITEXACT (1 << 23)
913#define AV_CODEC_FLAG_AC_PRED (1 << 24)
917#define AV_CODEC_FLAG_INTERLACED_ME (1 << 29)
918#define AV_CODEC_FLAG_CLOSED_GOP (1U << 31)
923#define AV_CODEC_FLAG2_FAST (1 << 0)
927#define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)
931#define AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3)
936#define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13)
942#define AV_CODEC_FLAG2_CHUNKS (1 << 15)
946#define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
951#define AV_CODEC_FLAG2_SHOW_ALL (1 << 22)
955#define AV_CODEC_FLAG2_EXPORT_MVS (1 << 28)
959#define AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29)
963#define AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30)
975#define AV_CODEC_CAP_DRAW_HORIZ_BAND (1 << 0)
981#define AV_CODEC_CAP_DR1 (1 << 1)
982#define AV_CODEC_CAP_TRUNCATED (1 << 3)
1006#define AV_CODEC_CAP_DELAY (1 << 5)
1011#define AV_CODEC_CAP_SMALL_LAST_FRAME (1 << 6)
1024#define AV_CODEC_CAP_SUBFRAMES (1 << 8)
1029#define AV_CODEC_CAP_EXPERIMENTAL (1 << 9)
1033#define AV_CODEC_CAP_CHANNEL_CONF (1 << 10)
1037#define AV_CODEC_CAP_FRAME_THREADS (1 << 12)
1041#define AV_CODEC_CAP_SLICE_THREADS (1 << 13)
1045#define AV_CODEC_CAP_PARAM_CHANGE (1 << 14)
1049#define AV_CODEC_CAP_AUTO_THREADS (1 << 15)
1053#define AV_CODEC_CAP_VARIABLE_FRAME_SIZE (1 << 16)
1063#define AV_CODEC_CAP_AVOID_PROBING (1 << 17)
1067#define AV_CODEC_CAP_INTRA_ONLY 0x40000000
1071#define AV_CODEC_CAP_LOSSLESS 0x80000000
1078#define AV_CODEC_CAP_HARDWARE (1 << 18)
1085#define AV_CODEC_CAP_HYBRID (1 << 19)
1092#define AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE (1 << 20)
1133#if FF_API_UNSANITIZED_BITRATES
1142#if FF_API_UNSANITIZED_BITRATES
1151#if FF_API_UNSANITIZED_BITRATES
1176#define AV_GET_BUFFER_FLAG_REF (1 << 0)
1418#define AV_PKT_DATA_QUALITY_FACTOR AV_PKT_DATA_QUALITY_STATS
1499#if FF_API_CONVERGENCE_DURATION
1509#define AV_PKT_FLAG_KEY 0x0001
1510#define AV_PKT_FLAG_CORRUPT 0x0002
1516#define AV_PKT_FLAG_DISCARD 0x0004
1523#define AV_PKT_FLAG_TRUSTED 0x0008
1528#define AV_PKT_FLAG_DISPOSABLE 0x0010
1541struct AVCodecInternal;
1638#define FF_COMPRESSION_DEFAULT -1
1802 int y,
int type,
int height);
1836#if FF_API_PRIVATE_OPT
1857#if FF_API_PRIVATE_OPT
1921#if FF_API_PRIVATE_OPT
1925#define FF_PRED_LEFT 0
1926#define FF_PRED_PLANE 1
1927#define FF_PRED_MEDIAN 2
1972#define FF_CMP_SATD 2
1974#define FF_CMP_PSNR 4
1977#define FF_CMP_ZERO 7
1978#define FF_CMP_VSAD 8
1979#define FF_CMP_VSSE 9
1980#define FF_CMP_NSSE 10
1981#define FF_CMP_W53 11
1982#define FF_CMP_W97 12
1983#define FF_CMP_DCTMAX 13
1984#define FF_CMP_DCT264 14
1985#define FF_CMP_MEDIAN_SAD 15
1986#define FF_CMP_CHROMA 256
2002#if FF_API_PRIVATE_OPT
2044#define SLICE_FLAG_CODED_ORDER 0x0001
2045#define SLICE_FLAG_ALLOW_FIELD 0x0002
2046#define SLICE_FLAG_ALLOW_PLANE 0x0004
2054#define FF_MB_DECISION_SIMPLE 0
2055#define FF_MB_DECISION_BITS 1
2056#define FF_MB_DECISION_RD 2
2076#if FF_API_PRIVATE_OPT
2121#if FF_API_PRIVATE_OPT
2135#if FF_API_PRIVATE_OPT
2155#if FF_API_PRIVATE_OPT
2168#if FF_API_PRIVATE_OPT
2473#if FF_API_CODER_TYPE
2474#define FF_CODER_TYPE_VLC 0
2475#define FF_CODER_TYPE_AC 1
2476#define FF_CODER_TYPE_RAW 2
2477#define FF_CODER_TYPE_RLE 3
2485#if FF_API_PRIVATE_OPT
2491#if FF_API_PRIVATE_OPT
2516#if FF_API_PRIVATE_OPT
2530#if FF_API_RTP_CALLBACK
2544#if FF_API_PRIVATE_OPT
2600#define FF_BUG_AUTODETECT 1
2601#define FF_BUG_XVID_ILACE 4
2602#define FF_BUG_UMP4 8
2603#define FF_BUG_NO_PADDING 16
2604#define FF_BUG_AMV 32
2605#define FF_BUG_QPEL_CHROMA 64
2606#define FF_BUG_STD_QPEL 128
2607#define FF_BUG_QPEL_CHROMA2 256
2608#define FF_BUG_DIRECT_BLOCKSIZE 512
2609#define FF_BUG_EDGE 1024
2610#define FF_BUG_HPEL_CHROMA 2048
2611#define FF_BUG_DC_CLIP 4096
2612#define FF_BUG_MS 8192
2613#define FF_BUG_TRUNCATED 16384
2614#define FF_BUG_IEDGE 32768
2629#define FF_COMPLIANCE_VERY_STRICT 2
2630#define FF_COMPLIANCE_STRICT 1
2631#define FF_COMPLIANCE_NORMAL 0
2632#define FF_COMPLIANCE_UNOFFICIAL -1
2633#define FF_COMPLIANCE_EXPERIMENTAL -2
2641#define FF_EC_GUESS_MVS 1
2642#define FF_EC_DEBLOCK 2
2643#define FF_EC_FAVOR_INTER 256
2651#define FF_DEBUG_PICT_INFO 1
2652#define FF_DEBUG_RC 2
2653#define FF_DEBUG_BITSTREAM 4
2654#define FF_DEBUG_MB_TYPE 8
2655#define FF_DEBUG_QP 16
2660#define FF_DEBUG_MV 32
2662#define FF_DEBUG_DCT_COEFF 0x00000040
2663#define FF_DEBUG_SKIP 0x00000080
2664#define FF_DEBUG_STARTCODE 0x00000100
2665#define FF_DEBUG_ER 0x00000400
2666#define FF_DEBUG_MMCO 0x00000800
2667#define FF_DEBUG_BUGS 0x00001000
2669#define FF_DEBUG_VIS_QP 0x00002000
2670#define FF_DEBUG_VIS_MB_TYPE 0x00004000
2672#define FF_DEBUG_BUFFERS 0x00008000
2673#define FF_DEBUG_THREADS 0x00010000
2674#define FF_DEBUG_GREEN_MD 0x00800000
2675#define FF_DEBUG_NOMC 0x01000000
2684#define FF_DEBUG_VIS_MV_P_FOR 0x00000001
2685#define FF_DEBUG_VIS_MV_B_FOR 0x00000002
2686#define FF_DEBUG_VIS_MV_B_BACK 0x00000004
2702#define AV_EF_CRCCHECK (1<<0)
2703#define AV_EF_BITSTREAM (1<<1)
2704#define AV_EF_BUFFER (1<<2)
2705#define AV_EF_EXPLODE (1<<3)
2707#define AV_EF_IGNORE_ERR (1<<15)
2708#define AV_EF_CAREFUL (1<<16)
2709#define AV_EF_COMPLIANT (1<<17)
2710#define AV_EF_AGGRESSIVE (1<<18)
2756#define FF_DCT_AUTO 0
2757#define FF_DCT_FASTINT 1
2760#define FF_DCT_ALTIVEC 5
2761#define FF_DCT_FAAN 6
2769#define FF_IDCT_AUTO 0
2770#define FF_IDCT_INT 1
2771#define FF_IDCT_SIMPLE 2
2772#define FF_IDCT_SIMPLEMMX 3
2773#define FF_IDCT_ARM 7
2774#define FF_IDCT_ALTIVEC 8
2775#define FF_IDCT_SIMPLEARM 10
2776#define FF_IDCT_XVID 14
2777#define FF_IDCT_SIMPLEARMV5TE 16
2778#define FF_IDCT_SIMPLEARMV6 17
2779#define FF_IDCT_FAAN 20
2780#define FF_IDCT_SIMPLENEON 22
2781#define FF_IDCT_NONE 24
2782#define FF_IDCT_SIMPLEAUTO 128
2807#if FF_API_CODED_FRAME
2835#define FF_THREAD_FRAME 1
2836#define FF_THREAD_SLICE 2
2899#define FF_PROFILE_UNKNOWN -99
2900#define FF_PROFILE_RESERVED -100
2902#define FF_PROFILE_AAC_MAIN 0
2903#define FF_PROFILE_AAC_LOW 1
2904#define FF_PROFILE_AAC_SSR 2
2905#define FF_PROFILE_AAC_LTP 3
2906#define FF_PROFILE_AAC_HE 4
2907#define FF_PROFILE_AAC_HE_V2 28
2908#define FF_PROFILE_AAC_LD 22
2909#define FF_PROFILE_AAC_ELD 38
2910#define FF_PROFILE_MPEG2_AAC_LOW 128
2911#define FF_PROFILE_MPEG2_AAC_HE 131
2913#define FF_PROFILE_DNXHD 0
2914#define FF_PROFILE_DNXHR_LB 1
2915#define FF_PROFILE_DNXHR_SQ 2
2916#define FF_PROFILE_DNXHR_HQ 3
2917#define FF_PROFILE_DNXHR_HQX 4
2918#define FF_PROFILE_DNXHR_444 5
2920#define FF_PROFILE_DTS 20
2921#define FF_PROFILE_DTS_ES 30
2922#define FF_PROFILE_DTS_96_24 40
2923#define FF_PROFILE_DTS_HD_HRA 50
2924#define FF_PROFILE_DTS_HD_MA 60
2925#define FF_PROFILE_DTS_EXPRESS 70
2927#define FF_PROFILE_MPEG2_422 0
2928#define FF_PROFILE_MPEG2_HIGH 1
2929#define FF_PROFILE_MPEG2_SS 2
2930#define FF_PROFILE_MPEG2_SNR_SCALABLE 3
2931#define FF_PROFILE_MPEG2_MAIN 4
2932#define FF_PROFILE_MPEG2_SIMPLE 5
2934#define FF_PROFILE_H264_CONSTRAINED (1<<9)
2935#define FF_PROFILE_H264_INTRA (1<<11)
2937#define FF_PROFILE_H264_BASELINE 66
2938#define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
2939#define FF_PROFILE_H264_MAIN 77
2940#define FF_PROFILE_H264_EXTENDED 88
2941#define FF_PROFILE_H264_HIGH 100
2942#define FF_PROFILE_H264_HIGH_10 110
2943#define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
2944#define FF_PROFILE_H264_MULTIVIEW_HIGH 118
2945#define FF_PROFILE_H264_HIGH_422 122
2946#define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
2947#define FF_PROFILE_H264_STEREO_HIGH 128
2948#define FF_PROFILE_H264_HIGH_444 144
2949#define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
2950#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
2951#define FF_PROFILE_H264_CAVLC_444 44
2953#define FF_PROFILE_VC1_SIMPLE 0
2954#define FF_PROFILE_VC1_MAIN 1
2955#define FF_PROFILE_VC1_COMPLEX 2
2956#define FF_PROFILE_VC1_ADVANCED 3
2958#define FF_PROFILE_MPEG4_SIMPLE 0
2959#define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
2960#define FF_PROFILE_MPEG4_CORE 2
2961#define FF_PROFILE_MPEG4_MAIN 3
2962#define FF_PROFILE_MPEG4_N_BIT 4
2963#define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
2964#define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
2965#define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
2966#define FF_PROFILE_MPEG4_HYBRID 8
2967#define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
2968#define FF_PROFILE_MPEG4_CORE_SCALABLE 10
2969#define FF_PROFILE_MPEG4_ADVANCED_CODING 11
2970#define FF_PROFILE_MPEG4_ADVANCED_CORE 12
2971#define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
2972#define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
2973#define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
2975#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1
2976#define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2
2977#define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768
2978#define FF_PROFILE_JPEG2000_DCINEMA_2K 3
2979#define FF_PROFILE_JPEG2000_DCINEMA_4K 4
2981#define FF_PROFILE_VP9_0 0
2982#define FF_PROFILE_VP9_1 1
2983#define FF_PROFILE_VP9_2 2
2984#define FF_PROFILE_VP9_3 3
2986#define FF_PROFILE_HEVC_MAIN 1
2987#define FF_PROFILE_HEVC_MAIN_10 2
2988#define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
2989#define FF_PROFILE_HEVC_REXT 4
2991#define FF_PROFILE_AV1_MAIN 0
2992#define FF_PROFILE_AV1_HIGH 1
2993#define FF_PROFILE_AV1_PROFESSIONAL 2
2995#define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0
2996#define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1
2997#define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2
2998#define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3
2999#define FF_PROFILE_MJPEG_JPEG_LS 0xf7
3001#define FF_PROFILE_SBC_MSBC 1
3003#define FF_PROFILE_PRORES_PROXY 0
3004#define FF_PROFILE_PRORES_LT 1
3005#define FF_PROFILE_PRORES_STANDARD 2
3006#define FF_PROFILE_PRORES_HQ 3
3007#define FF_PROFILE_PRORES_4444 4
3008#define FF_PROFILE_PRORES_XQ 5
3010#define FF_PROFILE_ARIB_PROFILE_A 0
3011#define FF_PROFILE_ARIB_PROFILE_C 1
3019#define FF_LEVEL_UNKNOWN -99
3066#if FF_API_SIDEDATA_ONLY_PKT
3161#define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3162#define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3163#define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3164#define FF_SUB_CHARENC_MODE_IGNORE 2
3194#define FF_DEBUG_VIS_MV_P_FOR 0x00000001
3195#define FF_DEBUG_VIS_MV_B_FOR 0x00000002
3196#define FF_DEBUG_VIS_MV_B_BACK 0x00000004
3228#define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
3229#define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
3270#define FF_SUB_TEXT_FMT_ASS 0
3271#if FF_API_ASS_TIMING
3272#define FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1
3375#if FF_API_CODEC_GET_SET
3578 int *got_packet_ptr);
3625#if FF_API_CODEC_GET_SET
3630struct MpegEncContext;
3815#define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
3825#define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3831#define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
3845#define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2)
3896#define AV_SUBTITLE_FLAG_FORCED 0x00000001
4183#if FF_API_GET_CONTEXT_DEFAULTS
4200#if FF_API_COPY_CONTEXT
4436#if FF_API_AVPACKET_OLD_API
4500 uint8_t *data,
size_t size);
4524#if FF_API_MERGE_SD_API
4780 int *got_frame_ptr,
const AVPacket *avpkt);
4829 int *got_picture_ptr,
5135#define AV_PARSER_PTS_NB 4
5142#define PARSER_FLAG_COMPLETE_FRAMES 0x0001
5143#define PARSER_FLAG_ONCE 0x0002
5145#define PARSER_FLAG_FETCHED_OFFSET 0x0004
5146#define PARSER_FLAG_USE_CODEC_TS 0x1000
5159#if FF_API_CONVERGENCE_DURATION
5283 const uint8_t **poutbuf,
int *poutbuf_size,
5284 const uint8_t *buf,
int buf_size);
5341 uint8_t **poutbuf,
int *poutbuf_size,
5342 const uint8_t *buf,
int buf_size,
5343 int64_t
pts, int64_t dts,
5352 uint8_t **poutbuf,
int *poutbuf_size,
5353 const uint8_t *buf,
int buf_size,
int keyframe);
5504 unsigned char *dest,
int dest_size);
5531 int padtop,
int padbottom,
int padleft,
int padright,
int *color);
5595 int has_alpha,
int *loss_ptr);
5601 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
5605 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
5613#if FF_API_TAG_STRING
5682 int buf_size,
int align);
5870 uint8_t **poutbuf,
int *poutbuf_size,
5871 const uint8_t *buf,
int buf_size,
int keyframe);
6102#if FF_API_USER_VISIBLE_AVHWACCEL
Macro definitions for various function/variable attributes.
#define attribute_deprecated
Convenience header that includes libavutil's core.
refcounted data buffer API
audio channel layout utility functions
static enum AVPixelFormat pix_fmt
static void encode(AVCodecContext *ctx, AVFrame *frame, AVPacket *pkt, FILE *output)
reference-counted frame API
#define AV_NUM_DATA_POINTERS
int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec)
Fill the parameters struct based on the values from the supplied codec context.
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
attribute_deprecated void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
const AVClass * avcodec_get_class(void)
Get the AVClass for AVCodecContext.
struct AVCodecDefault AVCodecDefault
const AVClass * avcodec_get_subtitle_rect_class(void)
Get the AVClass for AVSubtitleRect.
attribute_deprecated uint16_t * av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx)
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
attribute_deprecated AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
Accessors for some AVCodecContext fields.
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...
AVCodecParameters * avcodec_parameters_alloc(void)
Allocate a new AVCodecParameters and set its fields to default values (unknown/invalid/0).
attribute_deprecated void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc)
int avcodec_parameters_copy(AVCodecParameters *dst, const AVCodecParameters *src)
Copy the contents of src to dst.
attribute_deprecated void avcodec_register(AVCodec *codec)
Register the codec codec and initialize libavcodec.
attribute_deprecated void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val)
void avcodec_parameters_free(AVCodecParameters **par)
Free an AVCodecParameters instance and everything associated with it and write NULL to the supplied p...
attribute_deprecated int av_codec_get_lowres(const AVCodecContext *avctx)
void avsubtitle_free(AVSubtitle *sub)
Free all allocated data in the given subtitle struct.
attribute_deprecated void av_codec_set_lowres(AVCodecContext *avctx, int val)
AVCodecID
Identify the syntax and semantics of the bitstream.
attribute_deprecated const AVCodecDescriptor * av_codec_get_codec_descriptor(const AVCodecContext *avctx)
const AVCodecHWConfig * avcodec_get_hw_config(const AVCodec *codec, int index)
Retrieve supported hardware configurations for a codec.
attribute_deprecated unsigned av_codec_get_codec_properties(const AVCodecContext *avctx)
const char * avcodec_license(void)
Return the libavcodec license.
const AVClass * avcodec_get_frame_class(void)
Get the AVClass for AVFrame.
int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
attribute_deprecated int av_codec_get_seek_preroll(const AVCodecContext *avctx)
attribute_deprecated void av_codec_set_seek_preroll(AVCodecContext *avctx, int val)
unsigned avcodec_version(void)
Return the LIBAVCODEC_VERSION_INT constant.
attribute_deprecated int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
Copy the settings of the source AVCodecContext into the destination AVCodecContext.
const AVCodec * av_codec_iterate(void **opaque)
Iterate over all registered codecs.
attribute_deprecated int av_codec_get_max_lowres(const AVCodec *codec)
const char * avcodec_configuration(void)
Return the libavcodec build-time configuration.
attribute_deprecated void avcodec_register_all(void)
Register all the codecs, parsers and bitstream filters which were enabled at configuration time.
int avcodec_close(AVCodecContext *avctx)
Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext its...
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer.
@ SUBTITLE_BITMAP
A bitmap, pict will be set.
@ SUBTITLE_ASS
Formatted text, the ass field must be set by the decoder and is authoritative.
@ SUBTITLE_TEXT
Plain text, the text field must be set by the decoder and is authoritative.
@ AV_CODEC_ID_FIRST_SUBTITLE
A dummy ID pointing at the start of subtitle codecs.
@ AV_CODEC_ID_MPEG2TS
FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
@ AV_CODEC_ID_INTERPLAY_ACM
@ AV_CODEC_ID_TRUEMOTION2RT
@ AV_CODEC_ID_BETHSOFTVID
@ AV_CODEC_ID_HDMV_PGS_SUBTITLE
@ AV_CODEC_ID_DVB_SUBTITLE
@ AV_CODEC_ID_ADPCM_IMA_WS
@ AV_CODEC_ID_PCM_S16BE_PLANAR
@ AV_CODEC_ID_ADPCM_EA_R1
@ AV_CODEC_ID_ADPCM_IMA_OKI
@ AV_CODEC_ID_ADPCM_IMA_EA_EACS
@ AV_CODEC_ID_MOTIONPIXELS
@ AV_CODEC_ID_DSICINVIDEO
@ AV_CODEC_ID_PCM_S32LE_PLANAR
@ AV_CODEC_ID_FFWAVESYNTH
@ AV_CODEC_ID_GSM
as in Berlin toast format
@ AV_CODEC_ID_DVD_SUBTITLE
@ AV_CODEC_ID_PROBE
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
@ AV_CODEC_ID_ADPCM_SBPRO_2
@ AV_CODEC_ID_DSD_MSBF_PLANAR
@ AV_CODEC_ID_TEXT
raw UTF-8 text
@ AV_CODEC_ID_WRAPPED_AVFRAME
Passthrough codec, AVFrames wrapped in AVPacket.
@ AV_CODEC_ID_ADPCM_IMA_EA_SEAD
@ AV_CODEC_ID_DSD_LSBF_PLANAR
@ AV_CODEC_ID_PCM_S24LE_PLANAR
@ AV_CODEC_ID_HDMV_TEXT_SUBTITLE
@ AV_CODEC_ID_INTERPLAY_DPCM
@ AV_CODEC_ID_PCM_S24DAUD
@ AV_CODEC_ID_ADPCM_YAMAHA
@ AV_CODEC_ID_FIRST_UNKNOWN
A dummy ID pointing at the start of various fake codecs.
@ AV_CODEC_ID_ADPCM_SBPRO_3
@ AV_CODEC_ID_SCTE_35
Contain timestamp estimated through PCR of program stream.
@ AV_CODEC_ID_ADPCM_EA_R2
@ AV_CODEC_ID_ADPCM_G726LE
@ AV_CODEC_ID_ADPCM_IMA_ISS
@ AV_CODEC_ID_WESTWOOD_SND1
@ AV_CODEC_ID_BINKAUDIO_DCT
@ AV_CODEC_ID_INTERPLAY_VIDEO
@ AV_CODEC_ID_ADPCM_SBPRO_4
@ AV_CODEC_ID_ADPCM_EA_MAXIS_XA
@ AV_CODEC_ID_DSICINAUDIO
@ AV_CODEC_ID_ADPCM_IMA_APC
@ AV_CODEC_ID_WMALOSSLESS
@ AV_CODEC_ID_COMFORT_NOISE
@ AV_CODEC_ID_ARIB_CAPTION
@ AV_CODEC_ID_TIERTEXSEQVIDEO
@ AV_CODEC_ID_ADPCM_IMA_AMV
@ AV_CODEC_ID_ADPCM_EA_XAS
@ AV_CODEC_ID_TRUEMOTION1
@ AV_CODEC_ID_BRENDER_PIX
@ AV_CODEC_ID_ADPCM_IMA_DK4
@ AV_CODEC_ID_ADPCM_IMA_DK3
@ AV_CODEC_ID_ADPCM_IMA_DAT4
@ AV_CODEC_ID_ADPCM_IMA_QT
@ AV_CODEC_ID_FFMETADATA
Dummy codec for streams containing only metadata information.
@ AV_CODEC_ID_ADPCM_IMA_SMJPEG
@ AV_CODEC_ID_FIRST_AUDIO
A dummy id pointing at the start of audio codecs.
@ AV_CODEC_ID_TRUEMOTION2
@ AV_CODEC_ID_SCREENPRESSO
@ AV_CODEC_ID_DVB_TELETEXT
@ AV_CODEC_ID_GREMLIN_DPCM
@ AV_CODEC_ID_ADPCM_IMA_WAV
@ AV_CODEC_ID_ADPCM_THP_LE
@ AV_CODEC_ID_BINKAUDIO_RDFT
@ AV_CODEC_ID_PCM_S16LE_PLANAR
@ AV_CODEC_ID_MPEG4SYSTEMS
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
@ AV_CODEC_ID_ADPCM_EA_R3
@ AV_CODEC_ID_ADPCM_IMA_RAD
@ AV_CODEC_ID_MP3
preferred ID for decoding MPEG audio layer 1, 2 or 3
@ AV_CODEC_ID_MPEG2VIDEO
preferred ID for MPEG-1/2 video decoding
@ AV_CODEC_ID_PCM_S8_PLANAR
@ AV_CODEC_HW_CONFIG_METHOD_AD_HOC
The codec supports this format by some ad-hoc method.
@ AV_CODEC_HW_CONFIG_METHOD_HW_FRAMES_CTX
The codec supports this format via the hw_frames_ctx interface.
@ AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
The codec supports this format via the hw_device_ctx interface.
@ AV_CODEC_HW_CONFIG_METHOD_INTERNAL
The codec supports this format by some internal method.
@ AV_AUDIO_SERVICE_TYPE_VOICE_OVER
@ AV_AUDIO_SERVICE_TYPE_EMERGENCY
@ AV_AUDIO_SERVICE_TYPE_EFFECTS
@ AV_AUDIO_SERVICE_TYPE_MAIN
@ AV_AUDIO_SERVICE_TYPE_DIALOGUE
@ AV_AUDIO_SERVICE_TYPE_KARAOKE
@ AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED
@ AV_AUDIO_SERVICE_TYPE_COMMENTARY
@ AV_AUDIO_SERVICE_TYPE_NB
Not part of ABI.
@ AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
The default callback for AVCodecContext.get_buffer2().
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Return decoded output data from a decoder.
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
Converts AVChromaLocation to swscale x/y chroma position.
AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
Converts swscale x/y chroma position to AVChromaLocation.
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...
AVCodec * avcodec_find_decoder_by_name(const char *name)
Find a registered decoder with the specified name.
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.
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
Decode a subtitle message.
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...
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
Supply raw packet data as input to a decoder.
int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt)
Read encoded data from the encoder.
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.
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame)
Supply a raw video or audio frame to the encoder.
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.
@ AVDISCARD_ALL
discard all
@ AVDISCARD_NONKEY
discard all frames except keyframes
@ AVDISCARD_BIDIR
discard all bidirectional frames
@ AVDISCARD_DEFAULT
discard useless packets like 0 size packets in avi
@ AVDISCARD_NONE
discard nothing
@ AVDISCARD_NONINTRA
discard all non intra frames
@ AVDISCARD_NONREF
discard all non reference
attribute_deprecated int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of video.
AVCodec * avcodec_find_encoder_by_name(const char *name)
Find a registered encoder with the specified name.
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
AVCodec * avcodec_find_encoder(enum AVCodecID id)
Find a registered encoder with a matching codec ID.
attribute_deprecated int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of audio.
attribute_deprecated void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
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)
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
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,...
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.
attribute_deprecated enum AVPixelFormat avcodec_find_best_pix_fmt2(enum AVPixelFormat dst_pix_fmt1, enum AVPixelFormat dst_pix_fmt2, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
attribute_deprecated AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
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...
int av_get_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
void av_bsf_free(AVBSFContext **ctx)
Free a bitstream filter context and everything associated with it; write NULL into the supplied point...
void av_bsf_list_free(AVBSFList **lst)
Free list of bitstream filters.
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
Encode extradata length to a buffer.
const AVBitStreamFilter * av_bsf_iterate(void **opaque)
Iterate over all registered bitstream filters.
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...
int av_bsf_init(AVBSFContext *ctx)
Prepare the filter for use, after all the parameters and options have been set.
attribute_deprecated void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
int av_codec_is_encoder(const AVCodec *codec)
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
Return audio frame duration.
int avcodec_default_execute2(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
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.
int av_bsf_list_append(AVBSFList *lst, AVBSFContext *bsf)
Append bitstream filter to the list of bitstream filters.
attribute_deprecated AVHWAccel * av_hwaccel_next(const AVHWAccel *hwaccel)
If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL,...
const char * avcodec_profile_name(enum AVCodecID codec_id, int profile)
Return a name for the specified profile, if available.
attribute_deprecated const AVBitStreamFilter * av_bsf_next(void **opaque)
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.
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
attribute_deprecated void av_register_bitstream_filter(AVBitStreamFilter *bsf)
int av_codec_is_decoder(const AVCodec *codec)
void av_bsf_flush(AVBSFContext *ctx)
Reset the internal bitstream filter state / flush internal buffers.
const AVClass * av_bsf_get_class(void)
Get the AVClass for AVBSFContext.
attribute_deprecated void av_register_hwaccel(AVHWAccel *hwaccel)
Register the hardware accelerator hwaccel.
AVLockOp
Lock operation used by lockmgr.
int av_bsf_alloc(const AVBitStreamFilter *filter, AVBSFContext **ctx)
Allocate a context for a given bitstream filter.
int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt)
Retrieve a filtered packet.
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)
struct AVBSFInternal AVBSFInternal
int avcodec_is_open(AVCodecContext *s)
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
Get the type of the given codec.
attribute_deprecated const AVBitStreamFilter * av_bitstream_filter_next(const AVBitStreamFilter *f)
int avcodec_default_execute(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
int av_bsf_list_finalize(AVBSFList **lst, AVBSFContext **bsf)
Finalize list of bitstream filters.
const char * avcodec_get_name(enum AVCodecID id)
Get the name of a codec.
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
Submit a packet for filtering.
AVCPBProperties * av_cpb_properties_alloc(size_t *size)
Allocate a CPB properties structure and initialize its fields to default values.
AVBSFList * av_bsf_list_alloc(void)
Allocate empty list of bitstream filters.
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...
const AVCodecDescriptor * avcodec_descriptor_next(const AVCodecDescriptor *prev)
Iterate over all codec descriptors known to libavcodec.
struct AVBSFList AVBSFList
Structure for chain/list of bitstream filters.
const AVCodecDescriptor * avcodec_descriptor_get_by_name(const char *name)
int av_bsf_get_null_filter(AVBSFContext **bsf)
Get null/pass-through bitstream filter.
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
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.
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal decoder state / flush internal buffers.
const AVBitStreamFilter * av_bsf_get_by_name(const char *name)
int av_bsf_list_append2(AVBSFList *lst, const char *bsf_name, AVDictionary **options)
Construct new bitstream filter context given it's name and options and append it to the list of bitst...
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.
const char * av_get_profile_name(const AVCodec *codec, int profile)
Return a name for the specified profile, if available.
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
Return the PCM codec associated with a sample format.
@ AV_LOCK_CREATE
Create a mutex.
@ AV_LOCK_RELEASE
Unlock the mutex.
@ AV_LOCK_DESTROY
Free mutex resources.
@ AV_LOCK_OBTAIN
Lock the mutex.
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
Unpack a dictionary from side_data.
attribute_deprecated int av_dup_packet(AVPacket *pkt)
uint8_t * av_packet_pack_dictionary(AVDictionary *dict, int *size)
Pack a dictionary for use in side_data.
const char * av_packet_side_data_name(enum AVPacketSideDataType type)
AVSideDataParamChangeFlags
void av_packet_free_side_data(AVPacket *pkt)
Convenience function to free all the side data stored.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
attribute_deprecated int av_packet_split_side_data(AVPacket *pkt)
int av_grow_packet(AVPacket *pkt, int grow_by)
Increase packet size, correctly zeroing padding.
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
Initialize a reference-counted packet from av_malloc()ed data.
attribute_deprecated int av_packet_merge_side_data(AVPacket *pkt)
AVPacket * av_packet_clone(const AVPacket *src)
Create a new packet that references the same data as src.
int av_packet_make_refcounted(AVPacket *pkt)
Ensure the data described by a given packet is reference counted.
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.
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
Move every field in src to dst and reset src.
attribute_deprecated int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
Copy packet side data.
int av_packet_make_writable(AVPacket *pkt)
Create a writable reference for the data described by a given packet, avoiding data copy if possible.
uint8_t * av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Allocate new information of a packet.
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values.
attribute_deprecated int av_copy_packet(AVPacket *dst, const AVPacket *src)
Copy packet, including contents.
void av_shrink_packet(AVPacket *pkt, int size)
Reduce packet size, correctly zeroing padding.
uint8_t * av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, int *size)
Get side information from packet.
attribute_deprecated void av_free_packet(AVPacket *pkt)
Free a packet.
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
int av_packet_ref(AVPacket *dst, const AVPacket *src)
Setup a new reference to the data described by a given packet.
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
Copy only "properties" fields from src to dst.
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
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.
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Shrink the already allocated side data buffer.
@ AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_COUNT
@ AV_SIDE_DATA_PARAM_CHANGE_CHANNEL_LAYOUT
@ AV_SIDE_DATA_PARAM_CHANGE_SAMPLE_RATE
@ AV_SIDE_DATA_PARAM_CHANGE_DIMENSIONS
@ AV_PKT_DATA_JP_DUALMONO
An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio s...
@ AV_PKT_DATA_STRINGS_METADATA
A list of zero terminated key/value strings.
@ AV_PKT_DATA_SKIP_SAMPLES
Recommmends skipping the specified number of samples.
@ AV_PKT_DATA_MPEGTS_STREAM_ID
MPEGTS stream ID as uint8_t, this is required to pass the stream ID information from the demuxer to t...
@ AV_PKT_DATA_H263_MB_INFO
An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of structures with info about macroblo...
@ AV_PKT_DATA_MASTERING_DISPLAY_METADATA
Mastering display metadata (based on SMPTE-2086:2014).
@ AV_PKT_DATA_AUDIO_SERVICE_TYPE
This side data should be associated with an audio stream and corresponds to enum AVAudioServiceType.
@ AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL
Data found in BlockAdditional element of matroska container.
@ AV_PKT_DATA_A53_CC
ATSC A53 Part 4 Closed Captions.
@ AV_PKT_DATA_SPHERICAL
This side data should be associated with a video stream and corresponds to the AVSphericalMapping str...
@ AV_PKT_DATA_QUALITY_STATS
This side data contains quality related information from the encoder.
@ AV_PKT_DATA_WEBVTT_SETTINGS
The optional settings (rendering instructions) that immediately follow the timestamp specifier of a W...
@ AV_PKT_DATA_METADATA_UPDATE
A list of zero terminated key/value strings.
@ AV_PKT_DATA_SUBTITLE_POSITION
Subtitle event position.
@ AV_PKT_DATA_PALETTE
An AV_PKT_DATA_PALETTE side data packet contains exactly AVPALETTE_SIZE bytes worth of palette.
@ AV_PKT_DATA_ENCRYPTION_INFO
This side data contains encryption info for how to decrypt the packet.
@ AV_PKT_DATA_DISPLAYMATRIX
This side data contains a 3x3 transformation matrix describing an affine transformation that needs to...
@ AV_PKT_DATA_AFD
Active Format Description data consisting of a single byte as specified in ETSI TS 101 154 using AVAc...
@ AV_PKT_DATA_ENCRYPTION_INIT_INFO
This side data is encryption initialization data.
@ AV_PKT_DATA_CPB_PROPERTIES
This side data corresponds to the AVCPBProperties struct.
@ AV_PKT_DATA_NEW_EXTRADATA
The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format that the extradata buffer was...
@ AV_PKT_DATA_NB
The number of side data types.
@ AV_PKT_DATA_PARAM_CHANGE
An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
@ AV_PKT_DATA_STEREO3D
This side data should be associated with a video stream and contains Stereoscopic 3D information in f...
@ AV_PKT_DATA_WEBVTT_IDENTIFIER
The optional first identifier line of a WebVTT cue.
@ AV_PKT_DATA_CONTENT_LIGHT_LEVEL
Content light level (based on CTA-861.3).
@ AV_PKT_DATA_FALLBACK_TRACK
This side data contains an integer value representing the stream index of a "fallback" track.
@ AV_PKT_DATA_REPLAYGAIN
This side data should be associated with an audio stream and contains ReplayGain information in form ...
attribute_deprecated void av_register_codec_parser(AVCodecParser *parser)
void av_parser_close(AVCodecParserContext *s)
int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
attribute_deprecated AVCodecParser * av_parser_next(const AVCodecParser *c)
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.
AVCodecParserContext * av_parser_init(int codec_id)
const AVCodecParser * av_parser_iterate(void **opaque)
Iterate over all registered codec parsers.
@ AV_PICTURE_STRUCTURE_FRAME
@ AV_PICTURE_STRUCTURE_BOTTOM_FIELD
@ AV_PICTURE_STRUCTURE_TOP_FIELD
@ AV_PICTURE_STRUCTURE_UNKNOWN
attribute_deprecated void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated void avpicture_free(AVPicture *picture)
attribute_deprecated int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
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)
attribute_deprecated int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
struct AVDictionary AVDictionary
AVSampleFormat
Audio sample formats.
static enum AVPixelFormat hw_pix_fmt
AVChromaLocation
Location of chroma samples.
AVColorRange
MPEG vs JPEG YUV range.
AVPixelFormat
Pixel format.
AVColorPrimaries
Chromaticity coordinates of the source primaries.
AVColorTransferCharacteristic
Color Transfer Characteristic.
AVColorSpace
YUV colorspace type.
Utilties for rational number calculation.
The bitstream filter state.
AVBSFInternal * internal
Opaque libavcodec internal data.
AVRational time_base_out
The timebase used for the timestamps of the output packets.
void * priv_data
Opaque filter-specific private data.
AVCodecParameters * par_in
Parameters of the input stream.
const AVClass * av_class
A class for logging and AVOptions.
AVCodecParameters * par_out
Parameters of the output stream.
AVRational time_base_in
The timebase used for the timestamps of the input packets.
const struct AVBitStreamFilter * filter
The bitstream filter this context is an instance of.
const struct AVBitStreamFilter * filter
char * args
Internal default arguments, used if NULL is passed to av_bitstream_filter_filter().
struct AVBitStreamFilterContext * next
AVCodecParserContext * parser
void(* flush)(AVBSFContext *ctx)
int(* filter)(AVBSFContext *ctx, AVPacket *pkt)
const AVClass * priv_class
A class for the private data, used to declare bitstream filter private AVOptions.
enum AVCodecID * codec_ids
A list of codec ids supported by the filter, terminated by AV_CODEC_ID_NONE.
int(* init)(AVBSFContext *ctx)
void(* close)(AVBSFContext *ctx)
A reference to a data buffer.
This structure describes the bitrate properties of an encoded bitstream.
int avg_bitrate
Average bitrate of the stream, in bits per second.
uint64_t vbv_delay
The delay between the time the packet this structure is associated with is received and the time when...
int min_bitrate
Minimum bitrate of the stream, in bits per second.
int buffer_size
The size of the buffer to which the ratecontrol is applied, in bits.
int max_bitrate
Maximum bitrate of the stream, in bits per second.
Describe the class of an AVClass context structure.
main external API structure.
attribute_deprecated int brd_scale
float rc_max_available_vbv_use
Ratecontrol attempt to use, at maximum, of what can be used without an underflow.
int skip_top
Number of macroblock rows at the top which are skipped.
int trellis
trellis RD quantization
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
attribute_deprecated int pre_me
int64_t pts_correction_last_dts
PTS of the last frame.
int max_qdiff
maximum quantizer difference between frames
uint16_t * chroma_intra_matrix
custom intra quantization matrix
const AVCodecDescriptor * codec_descriptor
AVCodecDescriptor.
int hwaccel_flags
Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated decoding (if active).
attribute_deprecated int min_prediction_order
int width
picture width / height.
AVPacketSideData * coded_side_data
Additional data associated with the entire coded stream.
int64_t pts_correction_num_faulty_dts
Number of incorrect PTS values so far.
attribute_deprecated int i_count
char * stats_out
pass1 encoding statistics output buffer
int rc_buffer_size
decoder bitstream buffer size
attribute_deprecated int header_bits
int64_t pts_correction_last_pts
Number of incorrect DTS values so far.
attribute_deprecated int refcounted_frames
If non-zero, the decoded audio and video frames returned from avcodec_decode_video2() and avcodec_dec...
int me_cmp
motion estimation comparison function
int flags2
AV_CODEC_FLAG2_*.
enum AVSampleFormat sample_fmt
audio sample format
enum AVPixelFormat sw_pix_fmt
Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.
int global_quality
Global quality for codecs which cannot change it per frame.
int64_t max_pixels
The number of pixels per image to maximally accept.
attribute_deprecated int coder_type
attribute_deprecated int scenechange_threshold
enum AVColorRange color_range
MPEG vs JPEG YUV range.
char * sub_charenc
DTS of the last frame.
int error_concealment
error concealment flags
int dct_algo
DCT algorithm, see FF_DCT_* below.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
int slice_flags
slice flags
int strict_std_compliance
strictly follow the standard (MPEG-4, ...).
float b_quant_offset
qscale offset between IP and B-frames
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are.
attribute_deprecated int frame_bits
attribute_deprecated int chromaoffset
attribute_deprecated int mv_bits
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
callback to negotiate the pixelFormat
enum AVAudioServiceType audio_service_type
Type of service that the audio stream conveys.
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
int me_subpel_quality
subpel ME quality
AVBufferRef * hw_frames_ctx
A reference to the AVHWFramesContext describing the input (for encoding) or output (decoding) frames.
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...
int mb_lmax
maximum MB Lagrange multiplier
int qmin
minimum quantizer
int keyint_min
minimum GOP size
enum AVMediaType codec_type
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...
int dia_size
ME diamond size & shape.
int workaround_bugs
Work around bugs in encoders which sometimes cannot be detected automatically.
attribute_deprecated int b_sensitivity
int apply_cropping
Video decoding only.
char * stats_in
pass2 encoding statistics input buffer Concatenated stuff from stats_out of pass1 should be placed he...
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel.
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
int rc_override_count
ratecontrol override, see RcOverride
uint8_t * dump_separator
dump format separator.
attribute_deprecated AVFrame * coded_frame
the picture in the bitstream
int slice_count
slice count
attribute_deprecated int max_prediction_order
int thread_safe_callbacks
Set by the client if its custom get_buffer() callback can be called synchronously from another thread...
int ticks_per_frame
For some codecs, the time base is closer to the field rate than the frame rate.
enum AVFieldOrder field_order
Field order.
uint16_t * inter_matrix
custom inter quantization matrix Must be allocated with the av_malloc() family of functions,...
const struct AVHWAccel * hwaccel
Hardware accelerator in use.
int active_thread_type
Which multithreading methods are in use by the codec.
int sub_charenc_mode
Subtitles character encoding mode.
int64_t reordered_opaque
opaque 64-bit number (generally a PTS) that will be reordered and output in AVFrame....
int bit_rate_tolerance
number of bits the bitstream is allowed to diverge from the reference.
int mb_decision
macroblock decision mode
attribute_deprecated int misc_bits
int has_b_frames
Size of the frame reordering buffer in the decoder.
char * codec_whitelist
',' separated list of allowed decoders.
void(* draw_horiz_band)(struct AVCodecContext *s, const AVFrame *src, int offset[AV_NUM_DATA_POINTERS], int y, int type, int height)
If non NULL, 'draw_horiz_band' is called by the libavcodec decoder to draw a horizontal band.
attribute_deprecated int frame_skip_threshold
int64_t bit_rate
the average bitrate
enum AVDiscard skip_loop_filter
Skip loop filtering for selected frames.
int64_t pts_correction_num_faulty_pts
Current statistics for PTS correction.
const struct AVCodec * codec
int rc_initial_buffer_occupancy
Number of bits which should be loaded into the rc buffer before decoding starts.
int thread_type
Which multithreading methods to use.
attribute_deprecated int frame_skip_cmp
int me_sub_cmp
subpixel motion estimation comparison function
attribute_deprecated int p_count
unsigned properties
Properties of the stream that gets decoded.
int last_predictor_count
amount of previous MV predictors (2a+1 x 2a+1 square)
int(* execute)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size)
The codec may call this to execute several independent things.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
enum AVColorSpace colorspace
YUV colorspace type.
int sub_text_format
Control the form of AVSubtitle.rects[N]->ass.
enum AVSampleFormat request_sample_fmt
desired sample format
attribute_deprecated int mpeg_quant
int initial_padding
Audio only.
float temporal_cplx_masking
temporary complexity masking (0-> disabled)
int sample_rate
samples per second
const AVClass * av_class
information on struct for av_log
float p_masking
p block masking (0-> disabled)
float dark_masking
darkness masking (0-> disabled)
attribute_deprecated int64_t timecode_frame_start
int mb_cmp
macroblock comparison function (not supported yet)
int gop_size
the number of pictures in a group of pictures, or 0 for intra_only
uint64_t request_channel_layout
Request decoder to use this channel layout if it can (0 for default)
int frame_number
Frame counter, set by libavcodec.
attribute_deprecated int rtp_payload_size
int skip_alpha
Skip processing alpha if supported by codec.
int refs
number of reference frames
int ildct_cmp
interlaced DCT comparison function
int mv0_threshold
Note: Value depends upon the compare function used for fullpel ME.
int mb_lmin
minimum MB Lagrange multiplier
int64_t rc_max_rate
maximum bitrate
int discard_damaged_percentage
The percentage of damaged samples to discard a frame.
attribute_deprecated int me_penalty_compensation
int thread_count
thread count is used to decide how many independent tasks should be passed to execute()
void * opaque
Private data of the user, can be used to carry app specific stuff.
int qmax
maximum quantizer
void * hwaccel_context
Hardware accelerator context.
uint16_t * intra_matrix
custom intra quantization matrix Must be allocated with the av_malloc() family of functions,...
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
float rc_min_vbv_overflow_use
Ratecontrol attempt to use, at least, times the amount needed to prevent a vbv overflow.
uint8_t * subtitle_header
Header containing style information for text subtitles.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.
attribute_deprecated int i_tex_bits
int flags
AV_CODEC_FLAG_*.
int seek_preroll
Number of samples to skip after a discontinuity.
attribute_deprecated int frame_skip_exp
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
int me_pre_cmp
motion estimation prepass comparison function
attribute_deprecated int prediction_method
int channels
number of audio channels
int64_t rc_min_rate
minimum bitrate
int trailing_padding
Audio only.
enum AVDiscard skip_idct
Skip IDCT/dequantization for selected frames.
int intra_dc_precision
precision of the intra DC coefficient - 8
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
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.
uint64_t error[AV_NUM_DATA_POINTERS]
error
attribute_deprecated int p_tex_bits
attribute_deprecated int context_model
float qcompress
amount of qscale change between easy & hard scenes (0.0-1.0)
float qblur
amount of qscale smoothing over time (0.0-1.0)
AVBufferRef * hw_device_ctx
A reference to the AVHWDeviceContext describing the device which will be used by a hardware encoder/d...
int me_range
maximum motion estimation search range in subpel units If 0 then no limit.
attribute_deprecated int noise_reduction
attribute_deprecated int side_data_only_packets
Encoding only and set by default.
attribute_deprecated int skip_count
int debug_mv
debug motion vectors
attribute_deprecated int b_frame_strategy
int pre_dia_size
ME prepass diamond size & shape.
float lumi_masking
luminance masking (0-> disabled)
int cutoff
Audio cutoff bandwidth (0 means "automatic")
int skip_bottom
Number of macroblock rows at the bottom which are skipped.
int coded_width
Bitstream width / height, may be different from width/height e.g.
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs.
attribute_deprecated void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
attribute_deprecated int frame_skip_factor
attribute_deprecated uint64_t vbv_delay
VBV delay coded in the last frame (in periods of a 27 MHz clock).
uint64_t channel_layout
Audio channel layout.
int frame_size
Number of samples per channel in an audio frame.
int * slice_offset
slice offsets in the frame in bytes
float i_quant_factor
qscale factor between P- and I-frames If > 0 then the last P-frame quantizer will be used (q = lastp_...
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.
struct AVCodecInternal * internal
Private context used for internal data.
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
float spatial_cplx_masking
spatial complexity masking (0-> disabled)
enum AVDiscard skip_frame
Skip decoding for selected frames.
int err_recognition
Error recognition; may misdetect some more or less valid parts as errors.
float i_quant_offset
qscale offset between P and I-frames
int slices
Number of slices.
This struct describes the properties of a single codec described by an AVCodecID.
const char *const * mime_types
MIME type(s) associated with the codec.
const char * long_name
A more descriptive name for this codec.
const struct AVProfile * profiles
If non-NULL, an array of profiles recognized for this codec.
const char * name
Name of the codec described by this descriptor.
int props
Codec properties, a combination of AV_CODEC_PROP_* flags.
enum AVHWDeviceType device_type
The device type associated with the configuration.
int methods
Bit set of AV_CODEC_HW_CONFIG_METHOD_* flags, describing the possible setup methods which can be used...
enum AVPixelFormat pix_fmt
A hardware pixel format which the codec can use.
This struct describes the properties of an encoded stream.
enum AVColorSpace color_space
int extradata_size
Size of the extradata content in bytes.
int frame_size
Audio only.
enum AVFieldOrder field_order
Video only.
uint64_t channel_layout
Audio only.
int bits_per_coded_sample
The number of bits per sample in the codedwords.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
int seek_preroll
Audio only.
enum AVMediaType codec_type
General type of the encoded data.
int trailing_padding
Audio only.
int profile
Codec-specific bitstream restrictions that the stream conforms to.
int block_align
Audio only.
int bits_per_raw_sample
This is the number of valid bits in each output sample.
AVRational sample_aspect_ratio
Video only.
int video_delay
Video only.
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
enum AVColorPrimaries color_primaries
int sample_rate
Audio only.
enum AVColorTransferCharacteristic color_trc
int initial_padding
Audio only.
enum AVChromaLocation chroma_location
enum AVColorRange color_range
Video only.
int duration
Duration of the current frame.
int dts_ref_dts_delta
Offset of the current timestamp against last timestamp sync point in units of AVCodecContext....
int64_t cur_frame_end[AV_PARSER_PTS_NB]
int width
Dimensions of the decoded video intended for presentation.
enum AVFieldOrder field_order
struct AVCodecParser * parser
int64_t pos
Byte position of currently parsed frame in stream.
int format
The format of the coded data, corresponds to enum AVPixelFormat for video and for enum AVSampleFormat...
int repeat_pict
This field is used for proper frame duration computation in lavf.
enum AVPictureStructure picture_structure
Indicate whether a picture is coded as a frame, top field or bottom field.
int64_t cur_frame_dts[AV_PARSER_PTS_NB]
int64_t cur_frame_pos[AV_PARSER_PTS_NB]
Position of the packet in file.
attribute_deprecated int64_t convergence_duration
int output_picture_number
Picture number incremented in presentation or output order.
int pts_dts_delta
Presentation delay of current frame in units of AVCodecContext.time_base.
int64_t next_frame_offset
int64_t cur_frame_pts[AV_PARSER_PTS_NB]
int64_t cur_frame_offset[AV_PARSER_PTS_NB]
int key_frame
Set by parser to 1 for key frames and 0 for non-key frames.
int cur_frame_start_index
int64_t last_pos
Previous frame byte position.
int coded_width
Dimensions of the coded video.
int64_t offset
byte offset from starting packet start
int dts_sync_point
Synchronization point for start of timestamp generation.
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
void(* parser_close)(AVCodecParserContext *s)
int(* parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
int(* parser_init)(AVCodecParserContext *s)
struct AVCodecParser * next
int(* send_frame)(AVCodecContext *avctx, const AVFrame *frame)
Encode API with decoupled packet/frame dataflow.
const AVCodecDefault * defaults
Private codec-specific defaults.
int(* receive_packet)(AVCodecContext *avctx, AVPacket *avpkt)
const uint64_t * channel_layouts
array of support channel layouts, or NULL if unknown. array is terminated by 0
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
Copy necessary context variables from a previous thread context to the current one.
int(* decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
int caps_internal
Internal codec capabilities.
int(* receive_frame)(AVCodecContext *avctx, AVFrame *frame)
Decode API with decoupled packet/frame dataflow.
const char * bsfs
Decoding only, a comma-separated list of bitstream filters to apply to packets before decoding.
void(* init_static_data)(struct AVCodec *codec)
Initialize codec static data, called from avcodec_register().
const AVClass * priv_class
AVClass for the private context.
const AVRational * supported_framerates
array of supported framerates, or NULL if any, array is terminated by {0,0}
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
void(* flush)(AVCodecContext *)
Flush buffers.
int(* init)(AVCodecContext *)
int(* close)(AVCodecContext *)
int(* init_thread_copy)(AVCodecContext *)
If defined, called on thread contexts when they are created.
const struct AVCodecHWConfigInternal ** hw_configs
Array of pointers to hardware configurations supported by the codec, or NULL if no hardware supported...
enum AVSampleFormat * sample_fmts
array of supported sample formats, or NULL if unknown, array is terminated by -1
enum AVPixelFormat * pix_fmts
array of supported pixel formats, or NULL if unknown, array is terminated by -1
int(* encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode data to an AVPacket.
const AVProfile * profiles
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN}
const char * long_name
Descriptive name for the codec, meant to be more human readable than name.
const char * wrapper_name
Group name of the codec implementation.
const char * name
Name of the codec implementation.
const int * supported_samplerates
array of supported audio samplerates, or NULL if unknown, array is terminated by 0
int capabilities
Codec capabilities.
uint8_t max_lowres
maximum value for lowres supported by the decoder
This structure describes decoded (raw) audio or video data.
int priv_data_size
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
Allocate a custom buffer.
int(* uninit)(AVCodecContext *avctx)
Uninitialize the hwaccel private data.
enum AVCodecID id
Codec implemented by the hardware accelerator.
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Called at the beginning of each frame or field picture.
void(* decode_mb)(struct MpegEncContext *s)
Called for every Macroblock in a slice.
int(* init)(AVCodecContext *avctx)
Initialize the hwaccel private data.
const char * name
Name of the hardware accelerated codec.
int capabilities
Hardware accelerated codec capabilities.
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Callback for each slice.
int(* frame_params)(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
Fill the given hw_frames context with current codec parameters.
int(* decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)
Callback for parameter data (SPS/PPS/VPS etc).
enum AVPixelFormat pix_fmt
Supported pixel format.
int caps_internal
Internal hwaccel capabilities.
int(* end_frame)(AVCodecContext *avctx)
Called at the end of each frame or field picture.
int frame_priv_data_size
Size of per-frame hardware accelerator private data.
enum AVMediaType type
Type of codec implemented by the hardware accelerator.
enum AVPacketSideDataType type
This structure stores compressed data.
attribute_deprecated int64_t convergence_duration
AVBufferRef * buf
A reference to the reference-counted buffer where the packet data is stored.
int flags
A combination of AV_PKT_FLAG values.
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed.
int64_t pos
byte position in stream, -1 if unknown
AVPacketSideData * side_data
Additional packet data that can be provided by the container.
int width
width and height in 1/16 pel
int16_t position[3][2]
position of the top left corner in 1/16 pel for up to 3 fields/frames
attribute_deprecated uint8_t * data[AV_NUM_DATA_POINTERS]
pointers to the image data planes
attribute_deprecated int linesize[AV_NUM_DATA_POINTERS]
number of bytes per line
const char * name
short name for the profile
Rational number (pair of numerator and denominator).
int x
top left corner of pict, undefined when pict is not set
char * ass
0 terminated ASS/SSA compatible event line.
int w
width of pict, undefined when pict is not set
attribute_deprecated AVPicture pict
int nb_colors
number of colors in pict, undefined when pict is not set
char * text
0 terminated plain UTF-8 text
uint8_t * data[4]
data+linesize for the bitmap of this subtitle.
int y
top left corner of pict, undefined when pict is not set
int h
height of pict, undefined when pict is not set
uint32_t start_display_time
uint32_t end_display_time
int64_t pts
Same as packet pts, in AV_TIME_BASE.