21 #ifndef AVCODEC_AVCODEC_H
22 #define AVCODEC_AVCODEC_H
109 AV_CODEC_ID_MPEG2VIDEO_XVMC,
320 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
584 #define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
590 #define AV_CODEC_PROP_LOSSY (1 << 1)
594 #define AV_CODEC_PROP_LOSSLESS (1 << 2)
604 #define AV_CODEC_PROP_REORDER (1 << 3)
609 #define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
614 #define AV_CODEC_PROP_TEXT_SUB (1 << 17)
624 #define FF_INPUT_BUFFER_PADDING_SIZE 32
631 #define FF_MIN_BUFFER_SIZE 16384
689 #if FF_API_MAX_BFRAMES
693 #define FF_MAX_B_FRAMES 16
705 #define CODEC_FLAG_UNALIGNED 0x0001
706 #define CODEC_FLAG_QSCALE 0x0002
707 #define CODEC_FLAG_4MV 0x0004
708 #define CODEC_FLAG_OUTPUT_CORRUPT 0x0008
709 #define CODEC_FLAG_QPEL 0x0010
714 #define CODEC_FLAG_GMC 0x0020
721 #define CODEC_FLAG_MV0 0x0040
723 #if FF_API_INPUT_PRESERVED
728 #define CODEC_FLAG_INPUT_PRESERVED 0x0100
730 #define CODEC_FLAG_PASS1 0x0200
731 #define CODEC_FLAG_PASS2 0x0400
732 #define CODEC_FLAG_GRAY 0x2000
738 #define CODEC_FLAG_EMU_EDGE 0x4000
740 #define CODEC_FLAG_PSNR 0x8000
741 #define CODEC_FLAG_TRUNCATED 0x00010000
743 #if FF_API_NORMALIZE_AQP
748 #define CODEC_FLAG_NORMALIZE_AQP 0x00020000
750 #define CODEC_FLAG_INTERLACED_DCT 0x00040000
751 #define CODEC_FLAG_LOW_DELAY 0x00080000
752 #define CODEC_FLAG_GLOBAL_HEADER 0x00400000
753 #define CODEC_FLAG_BITEXACT 0x00800000
755 #define CODEC_FLAG_AC_PRED 0x01000000
756 #define CODEC_FLAG_LOOP_FILTER 0x00000800
757 #define CODEC_FLAG_INTERLACED_ME 0x20000000
758 #define CODEC_FLAG_CLOSED_GOP 0x80000000
759 #define CODEC_FLAG2_FAST 0x00000001
760 #define CODEC_FLAG2_NO_OUTPUT 0x00000004
761 #define CODEC_FLAG2_LOCAL_HEADER 0x00000008
762 #define CODEC_FLAG2_DROP_FRAME_TIMECODE 0x00002000
763 #define CODEC_FLAG2_IGNORE_CROP 0x00010000
765 #define CODEC_FLAG2_CHUNKS 0x00008000
766 #define CODEC_FLAG2_SHOW_ALL 0x00400000
767 #define CODEC_FLAG2_EXPORT_MVS 0x10000000
768 #define CODEC_FLAG2_SKIP_MANUAL 0x20000000
777 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001
783 #define CODEC_CAP_DR1 0x0002
784 #define CODEC_CAP_TRUNCATED 0x0008
793 #define CODEC_CAP_HWACCEL 0x0010
818 #define CODEC_CAP_DELAY 0x0020
823 #define CODEC_CAP_SMALL_LAST_FRAME 0x0040
828 #define CODEC_CAP_HWACCEL_VDPAU 0x0080
841 #define CODEC_CAP_SUBFRAMES 0x0100
846 #define CODEC_CAP_EXPERIMENTAL 0x0200
850 #define CODEC_CAP_CHANNEL_CONF 0x0400
851 #if FF_API_NEG_LINESIZES
855 #define CODEC_CAP_NEG_LINESIZES 0x0800
860 #define CODEC_CAP_FRAME_THREADS 0x1000
864 #define CODEC_CAP_SLICE_THREADS 0x2000
868 #define CODEC_CAP_PARAM_CHANGE 0x4000
872 #define CODEC_CAP_AUTO_THREADS 0x8000
876 #define CODEC_CAP_VARIABLE_FRAME_SIZE 0x10000
880 #define CODEC_CAP_INTRA_ONLY 0x40000000
884 #define CODEC_CAP_LOSSLESS 0x80000000
888 #define MB_TYPE_INTRA4x4 0x0001
889 #define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
890 #define MB_TYPE_INTRA_PCM 0x0004 //FIXME H.264-specific
891 #define MB_TYPE_16x16 0x0008
892 #define MB_TYPE_16x8 0x0010
893 #define MB_TYPE_8x16 0x0020
894 #define MB_TYPE_8x8 0x0040
895 #define MB_TYPE_INTERLACED 0x0080
896 #define MB_TYPE_DIRECT2 0x0100 //FIXME
897 #define MB_TYPE_ACPRED 0x0200
898 #define MB_TYPE_GMC 0x0400
899 #define MB_TYPE_SKIP 0x0800
900 #define MB_TYPE_P0L0 0x1000
901 #define MB_TYPE_P1L0 0x2000
902 #define MB_TYPE_P0L1 0x4000
903 #define MB_TYPE_P1L1 0x8000
904 #define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
905 #define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
906 #define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
907 #define MB_TYPE_QUANT 0x00010000
908 #define MB_TYPE_CBP 0x00020000
941 #if FF_API_QSCALE_TYPE
942 #define FF_QSCALE_TYPE_MPEG1 0
943 #define FF_QSCALE_TYPE_MPEG2 1
944 #define FF_QSCALE_TYPE_H264 2
945 #define FF_QSCALE_TYPE_VP56 3
948 #if FF_API_GET_BUFFER
949 #define FF_BUFFER_TYPE_INTERNAL 1
950 #define FF_BUFFER_TYPE_USER 2
951 #define FF_BUFFER_TYPE_SHARED 4
952 #define FF_BUFFER_TYPE_COPY 8
954 #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore).
955 #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer.
956 #define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
957 #define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
963 #define AV_GET_BUFFER_FLAG_REF (1 << 0)
1169 #if FF_API_DESTRUCT_PACKET
1196 #define AV_PKT_FLAG_KEY 0x0001
1197 #define AV_PKT_FLAG_CORRUPT 0x0002
1209 struct AVCodecInternal;
1239 #if FF_API_CODEC_NAME
1279 struct AVCodecInternal *
internal;
1316 #define FF_COMPRESSION_DEFAULT -1
1414 #if FF_API_ASPECT_EXTENDED
1415 #define FF_ASPECT_EXTENDED 15
1468 int y,
int type,
int height);
1504 #define FF_RC_STRATEGY_XVID 1
1593 #define FF_PRED_LEFT 0
1594 #define FF_PRED_PLANE 1
1595 #define FF_PRED_MEDIAN 2
1637 #define FF_CMP_SAD 0
1638 #define FF_CMP_SSE 1
1639 #define FF_CMP_SATD 2
1640 #define FF_CMP_DCT 3
1641 #define FF_CMP_PSNR 4
1642 #define FF_CMP_BIT 5
1644 #define FF_CMP_ZERO 7
1645 #define FF_CMP_VSAD 8
1646 #define FF_CMP_VSSE 9
1647 #define FF_CMP_NSSE 10
1648 #define FF_CMP_W53 11
1649 #define FF_CMP_W97 12
1650 #define FF_CMP_DCTMAX 13
1651 #define FF_CMP_DCT264 14
1652 #define FF_CMP_CHROMA 256
1707 #define FF_DTG_AFD_SAME 8
1708 #define FF_DTG_AFD_4_3 9
1709 #define FF_DTG_AFD_16_9 10
1710 #define FF_DTG_AFD_14_9 11
1711 #define FF_DTG_AFD_4_3_SP_14_9 13
1712 #define FF_DTG_AFD_16_9_SP_14_9 14
1713 #define FF_DTG_AFD_SP_4_3 15
1731 #define FF_DEFAULT_QUANT_BIAS 999999
1746 #define SLICE_FLAG_CODED_ORDER 0x0001
1747 #define SLICE_FLAG_ALLOW_FIELD 0x0002
1748 #define SLICE_FLAG_ALLOW_PLANE 0x0004
1766 #define FF_MB_DECISION_SIMPLE 0
1767 #define FF_MB_DECISION_BITS 1
1768 #define FF_MB_DECISION_RD 2
1898 #if FF_API_UNUSED_MEMBERS
2019 #if FF_API_REQUEST_CHANNELS
2058 #if FF_API_GET_BUFFER
2356 #define FF_CODER_TYPE_VLC 0
2357 #define FF_CODER_TYPE_AC 1
2358 #define FF_CODER_TYPE_RAW 2
2359 #define FF_CODER_TYPE_RLE 3
2360 #if FF_API_UNUSED_MEMBERS
2361 #define FF_CODER_TYPE_DEFLATE 4
2498 #define FF_BUG_AUTODETECT 1
2499 #if FF_API_OLD_MSMPEG4
2500 #define FF_BUG_OLD_MSMPEG4 2
2502 #define FF_BUG_XVID_ILACE 4
2503 #define FF_BUG_UMP4 8
2504 #define FF_BUG_NO_PADDING 16
2505 #define FF_BUG_AMV 32
2507 #define FF_BUG_AC_VLC 0
2509 #define FF_BUG_QPEL_CHROMA 64
2510 #define FF_BUG_STD_QPEL 128
2511 #define FF_BUG_QPEL_CHROMA2 256
2512 #define FF_BUG_DIRECT_BLOCKSIZE 512
2513 #define FF_BUG_EDGE 1024
2514 #define FF_BUG_HPEL_CHROMA 2048
2515 #define FF_BUG_DC_CLIP 4096
2516 #define FF_BUG_MS 8192
2517 #define FF_BUG_TRUNCATED 16384
2532 #define FF_COMPLIANCE_VERY_STRICT 2
2533 #define FF_COMPLIANCE_STRICT 1
2534 #define FF_COMPLIANCE_NORMAL 0
2535 #define FF_COMPLIANCE_UNOFFICIAL -1
2536 #define FF_COMPLIANCE_EXPERIMENTAL -2
2544 #define FF_EC_GUESS_MVS 1
2545 #define FF_EC_DEBLOCK 2
2546 #define FF_EC_FAVOR_INTER 256
2554 #define FF_DEBUG_PICT_INFO 1
2555 #define FF_DEBUG_RC 2
2556 #define FF_DEBUG_BITSTREAM 4
2557 #define FF_DEBUG_MB_TYPE 8
2558 #define FF_DEBUG_QP 16
2563 #define FF_DEBUG_MV 32
2565 #define FF_DEBUG_DCT_COEFF 0x00000040
2566 #define FF_DEBUG_SKIP 0x00000080
2567 #define FF_DEBUG_STARTCODE 0x00000100
2568 #if FF_API_UNUSED_MEMBERS
2569 #define FF_DEBUG_PTS 0x00000200
2571 #define FF_DEBUG_ER 0x00000400
2572 #define FF_DEBUG_MMCO 0x00000800
2573 #define FF_DEBUG_BUGS 0x00001000
2575 #define FF_DEBUG_VIS_QP 0x00002000
2576 #define FF_DEBUG_VIS_MB_TYPE 0x00004000
2578 #define FF_DEBUG_BUFFERS 0x00008000
2579 #define FF_DEBUG_THREADS 0x00010000
2580 #define FF_DEBUG_NOMC 0x01000000
2590 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
2591 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
2592 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
2608 #define AV_EF_CRCCHECK (1<<0)
2609 #define AV_EF_BITSTREAM (1<<1)
2610 #define AV_EF_BUFFER (1<<2)
2611 #define AV_EF_EXPLODE (1<<3)
2613 #define AV_EF_IGNORE_ERR (1<<15)
2614 #define AV_EF_CAREFUL (1<<16)
2615 #define AV_EF_COMPLIANT (1<<17)
2616 #define AV_EF_AGGRESSIVE (1<<18)
2659 #define FF_DCT_AUTO 0
2660 #define FF_DCT_FASTINT 1
2661 #if FF_API_UNUSED_MEMBERS
2662 #define FF_DCT_INT 2
2664 #define FF_DCT_MMX 3
2665 #define FF_DCT_ALTIVEC 5
2666 #define FF_DCT_FAAN 6
2674 #define FF_IDCT_AUTO 0
2675 #define FF_IDCT_INT 1
2676 #define FF_IDCT_SIMPLE 2
2677 #define FF_IDCT_SIMPLEMMX 3
2678 #define FF_IDCT_ARM 7
2679 #define FF_IDCT_ALTIVEC 8
2681 #define FF_IDCT_SH4 9
2683 #define FF_IDCT_SIMPLEARM 10
2684 #if FF_API_UNUSED_MEMBERS
2685 #define FF_IDCT_IPP 13
2687 #define FF_IDCT_XVID 14
2688 #if FF_API_IDCT_XVIDMMX
2689 #define FF_IDCT_XVIDMMX 14
2691 #define FF_IDCT_SIMPLEARMV5TE 16
2692 #define FF_IDCT_SIMPLEARMV6 17
2693 #if FF_API_ARCH_SPARC
2694 #define FF_IDCT_SIMPLEVIS 18
2696 #define FF_IDCT_FAAN 20
2697 #define FF_IDCT_SIMPLENEON 22
2698 #if FF_API_ARCH_ALPHA
2699 #define FF_IDCT_SIMPLEALPHA 23
2701 #define FF_IDCT_SIMPLEAUTO 128
2752 #define FF_THREAD_FRAME 1
2753 #define FF_THREAD_SLICE 2
2803 #if FF_API_THREAD_OPAQUE
2824 #define FF_PROFILE_UNKNOWN -99
2825 #define FF_PROFILE_RESERVED -100
2827 #define FF_PROFILE_AAC_MAIN 0
2828 #define FF_PROFILE_AAC_LOW 1
2829 #define FF_PROFILE_AAC_SSR 2
2830 #define FF_PROFILE_AAC_LTP 3
2831 #define FF_PROFILE_AAC_HE 4
2832 #define FF_PROFILE_AAC_HE_V2 28
2833 #define FF_PROFILE_AAC_LD 22
2834 #define FF_PROFILE_AAC_ELD 38
2835 #define FF_PROFILE_MPEG2_AAC_LOW 128
2836 #define FF_PROFILE_MPEG2_AAC_HE 131
2838 #define FF_PROFILE_DTS 20
2839 #define FF_PROFILE_DTS_ES 30
2840 #define FF_PROFILE_DTS_96_24 40
2841 #define FF_PROFILE_DTS_HD_HRA 50
2842 #define FF_PROFILE_DTS_HD_MA 60
2844 #define FF_PROFILE_MPEG2_422 0
2845 #define FF_PROFILE_MPEG2_HIGH 1
2846 #define FF_PROFILE_MPEG2_SS 2
2847 #define FF_PROFILE_MPEG2_SNR_SCALABLE 3
2848 #define FF_PROFILE_MPEG2_MAIN 4
2849 #define FF_PROFILE_MPEG2_SIMPLE 5
2851 #define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag
2852 #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag
2854 #define FF_PROFILE_H264_BASELINE 66
2855 #define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
2856 #define FF_PROFILE_H264_MAIN 77
2857 #define FF_PROFILE_H264_EXTENDED 88
2858 #define FF_PROFILE_H264_HIGH 100
2859 #define FF_PROFILE_H264_HIGH_10 110
2860 #define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
2861 #define FF_PROFILE_H264_HIGH_422 122
2862 #define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
2863 #define FF_PROFILE_H264_HIGH_444 144
2864 #define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
2865 #define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
2866 #define FF_PROFILE_H264_CAVLC_444 44
2868 #define FF_PROFILE_VC1_SIMPLE 0
2869 #define FF_PROFILE_VC1_MAIN 1
2870 #define FF_PROFILE_VC1_COMPLEX 2
2871 #define FF_PROFILE_VC1_ADVANCED 3
2873 #define FF_PROFILE_MPEG4_SIMPLE 0
2874 #define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
2875 #define FF_PROFILE_MPEG4_CORE 2
2876 #define FF_PROFILE_MPEG4_MAIN 3
2877 #define FF_PROFILE_MPEG4_N_BIT 4
2878 #define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
2879 #define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
2880 #define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
2881 #define FF_PROFILE_MPEG4_HYBRID 8
2882 #define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
2883 #define FF_PROFILE_MPEG4_CORE_SCALABLE 10
2884 #define FF_PROFILE_MPEG4_ADVANCED_CODING 11
2885 #define FF_PROFILE_MPEG4_ADVANCED_CORE 12
2886 #define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
2887 #define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
2888 #define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
2890 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 0
2891 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 1
2892 #define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 2
2893 #define FF_PROFILE_JPEG2000_DCINEMA_2K 3
2894 #define FF_PROFILE_JPEG2000_DCINEMA_4K 4
2897 #define FF_PROFILE_HEVC_MAIN 1
2898 #define FF_PROFILE_HEVC_MAIN_10 2
2899 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
2900 #define FF_PROFILE_HEVC_REXT 4
2908 #define FF_LEVEL_UNKNOWN -99
2942 #if FF_API_ERROR_RATE
2951 #if FF_API_CODEC_PKT
3060 #define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3061 #define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3062 #define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3086 #if !FF_API_DEBUG_MV
3094 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
3095 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
3096 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
3240 int *got_packet_ptr);
3252 struct MpegEncContext;
3397 #define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3443 #define AV_SUBTITLE_FLAG_FORCED 0x00000001
3594 #if FF_API_AVFRAME_LAVC
3599 AVFrame *avcodec_alloc_frame(
void);
3692 #if FF_API_DESTRUCT_PACKET
3933 #if FF_API_GET_BUFFER
4002 #if FF_API_OLD_DECODE_AUDIO
4058 int *frame_size_ptr,
4111 int *got_frame_ptr,
const AVPacket *avpkt);
4154 int *got_picture_ptr,
4224 #define AV_PARSER_PTS_NB 4
4231 #define PARSER_FLAG_COMPLETE_FRAMES 0x0001
4232 #define PARSER_FLAG_ONCE 0x0002
4234 #define PARSER_FLAG_FETCHED_OFFSET 0x0004
4235 #define PARSER_FLAG_USE_CODEC_TS 0x1000
4359 const uint8_t **poutbuf,
int *poutbuf_size,
4360 const uint8_t *buf,
int buf_size);
4401 uint8_t **poutbuf,
int *poutbuf_size,
4402 const uint8_t *buf,
int buf_size,
4403 int64_t pts, int64_t dts,
4412 uint8_t **poutbuf,
int *poutbuf_size,
4413 const uint8_t *buf,
int buf_size,
int keyframe);
4442 #if FF_API_OLD_ENCODE_AUDIO
4468 uint8_t *buf,
int buf_size,
4469 const short *samples);
4514 #if FF_API_OLD_ENCODE_VIDEO
4579 #if FF_API_AVCODEC_RESAMPLE
4588 struct AVResampleContext;
4610 int output_rate,
int input_rate,
4613 int filter_length,
int log2_phase_count,
4614 int linear,
double cutoff);
4639 struct AVResampleContext *
av_resample_init(
int out_rate,
int in_rate,
int filter_length,
int log2_phase_count,
int linear,
double cutoff);
4651 int av_resample(
struct AVResampleContext *c,
short *dst,
short *src,
int *consumed,
int src_size,
int dst_size,
int update_ctx);
4751 int width,
int height,
4752 unsigned char *dest,
int dest_size);
4768 #if FF_API_DEINTERLACE
4794 int padtop,
int padbottom,
int padleft,
int padright,
int *color);
4865 int has_alpha,
int *loss_ptr);
4871 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
4874 #if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
4877 int has_alpha,
int *loss_ptr);
4880 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
4890 #if FF_API_SET_DIMENSIONS
4949 int buf_size,
int align);
5012 uint8_t **poutbuf,
int *poutbuf_size,
5013 const uint8_t *buf,
int buf_size,
int keyframe);
5071 uint8_t **poutbuf,
int *poutbuf_size,
5072 const uint8_t *buf,
int buf_size,
int keyframe);
5116 unsigned int av_xiphlacing(
unsigned char *s,
unsigned int v);
5118 #if FF_API_MISSING_SAMPLE
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
callback to negotiate the pixelFormat
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it ...
const struct AVCodec * codec
discard all frames except keyframes
AVSideDataParamChangeFlags
unsigned int stream_codec_tag
fourcc from the AVI stream header (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A')...
const AVCodecDescriptor * codec_descriptor
AVCodecDescriptor Code outside libavcodec should access this field using: av_codec_{get,set}_codec_descriptor(avctx)
#define AV_NUM_DATA_POINTERS
int64_t pts_correction_num_faulty_dts
Number of incorrect PTS values so far.
A list of zero terminated key/value strings.
int linesize[AV_NUM_DATA_POINTERS]
number of bytes per line
void av_free_packet(AVPacket *pkt)
Free a packet.
This structure describes decoded (raw) audio or video data.
The optional first identifier line of a WebVTT cue.
int avcodec_default_execute2(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
AVCodec * avcodec_find_encoder(enum AVCodecID id)
Find a registered encoder with a matching codec ID.
int x
top left corner of pict, undefined when pict is not set
int mpeg_quant
0-> h263 quant 1-> mpeg quant
int dct_algo
DCT algorithm, see FF_DCT_* below.
A dummy id pointing at the start of audio codecs.
attribute_deprecated int avpicture_deinterlace(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
deinterlace - if not supported return -1
uint64_t error[AV_NUM_DATA_POINTERS]
error
int coded_width
Bitstream width / height, may be different from width/height e.g.
int capabilities
Hardware accelerated codec capabilities.
void(* parser_close)(AVCodecParserContext *s)
int av_lockmgr_register(int(*cb)(void **mutex, enum AVLockOp op))
Register a user provided lock manager supporting the operations specified by AVLockOp.
float qblur
amount of qscale smoothing over time (0.0-1.0)
attribute_deprecated int rc_qmod_freq
int64_t pos
byte position in stream, -1 if unknown
void av_shrink_packet(AVPacket *pkt, int size)
Reduce packet size, correctly zeroing padding.
attribute_deprecated int request_channels
Decoder should decode to this many channels if it can (0 for default)
int64_t next_frame_offset
AVFrame * coded_frame
the picture in the bitstream
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 rc_initial_buffer_occupancy
Number of bits which should be loaded into the rc buffer before decoding starts.
Dummy codec for streams containing only metadata information.
attribute_deprecated int audio_resample(ReSampleContext *s, short *output, short *input, int nb_samples)
This side data should be associated with a video stream and contains Stereoscopic 3D information in f...
const char * avcodec_configuration(void)
Return the libavcodec build-time configuration.
enum AVColorRange color_range
MPEG vs JPEG YUV range.
enum AVFieldOrder field_order
void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
struct AVBitStreamFilter * next
int nb_colors
number of colors in pict, undefined when pict is not set
attribute_deprecated int lmax
int mb_lmin
minimum MB lagrange multipler
const char * avcodec_license(void)
Return the libavcodec license.
enhanced predictive zonal search
enum AVPixelFormat pix_fmt
Supported pixel format.
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 av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
Crop image top and left side.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
Copy pixel data from an AVPicture into a buffer.
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
Same behaviour av_fast_malloc but the buffer has additional FF_INPUT_BUFFER_PADDING_SIZE at the end w...
enum AVMediaType type
Type of codec implemented by the hardware accelerator.
A dummy ID pointing at the start of various fake codecs.
char * stats_in
pass2 encoding statistics input buffer Concatenated stuff from stats_out of pass1 should be placed he...
int ildct_cmp
interlaced DCT comparison function
attribute_deprecated void * thread_opaque
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.
discard all non intra frames
int duration
Duration of the current frame.
int intra_quant_bias
intra quantizer bias
int64_t cur_frame_pos[AV_PARSER_PTS_NB]
Position of the packet in file.
int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of audio.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
Converts AVChromaLocation to swscale x/y chroma position.
void avcodec_register_all(void)
Register all the codecs, parsers and bitstream filters which were enabled at configuration time...
int dts_ref_dts_delta
Offset of the current timestamp against last timestamp sync point in units of AVCodecContext.time_base.
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
Decode a subtitle message.
attribute_deprecated void avcodec_default_release_buffer(AVCodecContext *s, AVFrame *pic)
int av_dup_packet(AVPacket *pkt)
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
Allocate a custom buffer.
int frame_skip_cmp
frame skip comparison function
An AV_PKT_DATA_H263_MB_INFO side data packet contains a number of structures with info about macroblo...
int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
Copy the settings of the source AVCodecContext into the destination AVCodecContext.
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs...
float i_quant_offset
qscale offset between P and I-frames
int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
Setup the picture fields based on the specified image parameters and the provided image data buffer...
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...
AVLockOp
Lock operation used by lockmgr.
AVColorTransferCharacteristic
Color Transfer Characteristic.
uint64_t vbv_delay
VBV delay coded in the last frame (in periods of a 27 MHz clock).
char * text
0 terminated plain UTF-8 text
attribute_deprecated unsigned avcodec_get_edge_width(void)
Return the amount of padding in pixels which the get_buffer callback must provide around the edge of ...
int scenechange_threshold
scene change detection threshold 0 is default, larger means fewer detected scene changes.
Macro definitions for various function/variable attributes.
attribute_deprecated void av_log_missing_feature(void *avc, const char *feature, int want_sample)
Log a generic warning message about a missing feature.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
attribute_deprecated int av_resample(struct AVResampleContext *c, short *dst, short *src, int *consumed, int src_size, int dst_size, int update_ctx)
Resample an array of samples using a previously configured context.
int av_codec_is_decoder(const AVCodec *codec)
int(* uninit)(AVCodecContext *avctx)
Uninitialize the hwaccel private data.
enum AVAudioServiceType audio_service_type
Type of service that the audio stream conveys.
const AVCodecDescriptor * avcodec_descriptor_next(const AVCodecDescriptor *prev)
Iterate over all codec descriptors known to libavcodec.
void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
Copy image src to dst.
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.
enum AVDiscard skip_frame
Skip decoding for selected frames.
const AVClass * avcodec_get_class(void)
Get the AVClass for AVCodecContext.
int av_codec_is_encoder(const AVCodec *codec)
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 w
width of pict, undefined when pict is not set
struct AVHWAccel * hwaccel
Hardware accelerator in use.
float p_masking
p block masking (0-> disabled)
void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val)
int context_model
context model
AVCodecParserContext * parser
attribute_deprecated char codec_name[32]
int bit_rate_tolerance
number of bits the bitstream is allowed to diverge from the reference.
int mb_lmax
maximum MB lagrange multipler
enum AVPictureStructure picture_structure
Indicate whether a picture is coded as a frame, top field or bottom field.
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
attribute_deprecated float rc_buffer_aggressivity
attribute_deprecated const char * rc_eq
enum AVSampleFormat sample_fmt
audio sample format
void * hwaccel_context
Hardware accelerator context.
int av_packet_unpack_dictionary(const uint8_t *data, int size, AVDictionary **dict)
Unpack a dictionary from side_data.
int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int me_range
maximum motion estimation search range in subpel units If 0 then no limit.
uint8_t * data[AV_NUM_DATA_POINTERS]
pointers to the image data planes
AVColorSpace
YUV colorspace type.
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.
struct AVCodecDefault AVCodecDefault
uint16_t * chroma_intra_matrix
custom intra quantization matrix Code outside libavcodec should access this field using av_codec_g/se...
This side data contains a 3x3 transformation matrix describing an affine transformation that needs to...
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 pre_dia_size
ME prepass diamond size & shape.
int av_packet_from_data(AVPacket *pkt, uint8_t *data, int size)
Initialize a reference-counted packet from av_malloc()ed data.
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
const AVClass * av_class
information on struct for av_log
int me_cmp
motion estimation comparison function
int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of video.
struct AVCodecParser * next
int rc_strategy
obsolete FIXME remove
void av_codec_set_lowres(AVCodecContext *avctx, int val)
attribute_deprecated void av_resample_close(struct AVResampleContext *c)
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
Move every field in src to dst and reset src.
attribute_deprecated void(* destruct)(struct AVPacket *)
Motion_Est_ID
motion estimation type.
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
AVColorRange
MPEG vs JPEG YUV range.
const AVCodecDescriptor * av_codec_get_codec_descriptor(const AVCodecContext *avctx)
int(* init)(AVCodecContext *avctx)
Initialize the hwaccel private data.
const AVClass * avcodec_get_frame_class(void)
Get the AVClass for AVFrame.
int h
height of pict, undefined when pict is not set
void avpicture_free(AVPicture *picture)
Free a picture previously allocated by avpicture_alloc().
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
float lumi_masking
luminance masking (0-> disabled)
char * stats_out
pass1 encoding statistics output buffer
AVColorPrimaries
Chromaticity coordinates of the source primaries.
int duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
struct AVBitStreamFilterContext * next
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
int av_packet_ref(AVPacket *dst, const AVPacket *src)
Setup a new reference to the data described by a given packet.
AVCodec * avcodec_find_encoder_by_name(const char *name)
Find a registered encoder with the specified name.
int chromaoffset
chroma qp offset from luma
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...
int slice_count
slice count
uint16_t * av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx)
attribute_deprecated void avcodec_set_dimensions(AVCodecContext *s, int width, int height)
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...
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are.
no search, that is use 0,0 vector whenever one is needed
const uint64_t * channel_layouts
array of support channel layouts, or NULL if unknown. array is terminated by 0
const AVCodecDefault * defaults
Private codec-specific defaults.
AVCodecID
Identify the syntax and semantics of the bitstream.
int av_get_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
int has_b_frames
Size of the frame reordering buffer in the decoder.
int64_t pos
Byte position of currently parsed frame in stream.
attribute_deprecated float rc_initial_cplx
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.
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...
struct AVCodecParser * parser
int y
top left corner of pict, undefined when pict is not set
discard all bidirectional frames
An AV_PKT_DATA_PARAM_CHANGE side data packet is laid out as follows:
int frame_skip_threshold
frame skip threshold
int me_sub_cmp
subpixel motion estimation comparison function
void av_packet_free_side_data(AVPacket *pkt)
Convenience function to free all the side data stored.
int qmax
maximum quantizer
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...
enum AVSampleFormat request_sample_fmt
desired sample format
int skip_alpha
Skip processing alpha if supported by codec.
int64_t pts_correction_last_pts
Number of incorrect DTS values so far.
int active_thread_type
Which multithreading methods are in use by the codec.
int avcodec_is_open(AVCodecContext *s)
int error_concealment
error concealment flags
int64_t convergence_duration
Time difference in AVStream->time_base units from the pts of this packet to the point at which the ou...
int capabilities
Codec capabilities.
int initial_padding
Audio only.
struct AVDictionary AVDictionary
void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
Release bitstream filter context.
preferred ID for decoding MPEG audio layer 1, 2 or 3
AVBufferRef * buf
A reference to the reference-counted buffer where the packet data is stored.
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.
int rc_max_rate
maximum bitrate
enum AVPacketSideDataType type
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id)
Get the type of the given codec.
const char * name
Name of the codec implementation.
int64_t cur_frame_dts[AV_PARSER_PTS_NB]
float i_quant_factor
qscale factor between P and I-frames If > 0 then the last p frame quantizer will be used (q= lastp_q*...
int width
width and height in 1/16 pel
int av_packet_shrink_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Shrink the already allocated side data buffer.
const char * long_name
A more descriptive name for this codec.
int(* parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
AVCodecParser * av_parser_next(const AVCodecParser *c)
transformed exhaustive search algorithm
#define av_printf_format(fmtpos, attrpos)
int priv_data_size
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
int flags
A combination of AV_PKT_FLAG values.
int av_codec_get_lowres(const AVCodecContext *avctx)
reference-counted frame API
const AVCodecDescriptor * avcodec_descriptor_get(enum AVCodecID id)
uint64_t channel_layout
Audio channel layout.
uint32_t end_display_time
int64_t pts
Same as packet pts, in AV_TIME_BASE.
int rc_buffer_size
decoder bitstream buffer size
int av_packet_merge_side_data(AVPacket *pkt)
int props
Codec properties, a combination of AV_CODEC_PROP_* flags.
int intra_dc_precision
precision of the intra DC coefficient - 8
int me_penalty_compensation
AVBitStreamFilter * av_bitstream_filter_next(const AVBitStreamFilter *f)
If f is NULL, return the first registered bitstream filter, if f is non-NULL, return the next registe...
int refs
number of reference frames
attribute_deprecated int scenechange_factor
Multiplied by qscale for each frame and added to scene_change_score.
A bitmap, pict will be set.
int av_packet_copy_props(AVPacket *dst, const AVPacket *src)
Copy only "properties" fields from src to dst.
int rc_override_count
ratecontrol override, see RcOverride
int bit_rate
the average bitrate
audio channel layout utility functions
int64_t timecode_frame_start
GOP timecode frame start number.
enum AVPixelFormat * pix_fmts
array of supported pixel formats, or NULL if unknown, array is terminated by -1
attribute_deprecated int avcodec_decode_audio3(AVCodecContext *avctx, int16_t *samples, int *frame_size_ptr, AVPacket *avpkt)
Wrapper function which calls avcodec_decode_audio4.
int err_recognition
Error recognition; may misdetect some more or less valid parts as errors.
AVPicture pict
data+linesize for the bitmap of this subtitle.
const char * name
Name of the hardware accelerated codec.
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
void(* close)(AVBitStreamFilterContext *bsfc)
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
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.
attribute_deprecated void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance)
Compensate samplerate/timestamp drift.
int width
picture width / height.
AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
Create and initialize a bitstream filter context given a bitstream filter name.
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
int64_t offset
byte offset from starting packet start
float rc_max_available_vbv_use
Ratecontrol attempt to use, at maximum, of what can be used without an underflow. ...
float rc_min_vbv_overflow_use
Ratecontrol attempt to use, at least, times the amount needed to prevent a vbv overflow.
int64_t convergence_duration
Time difference in stream time base units from the pts of this packet to the point at which the outpu...
void av_parser_close(AVCodecParserContext *s)
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
void av_register_bitstream_filter(AVBitStreamFilter *bsf)
Register a bitstream filter.
int side_data_only_packets
Encoding only.
const AVClass * avcodec_get_subtitle_rect_class(void)
Get the AVClass for AVSubtitleRect.
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.
attribute_deprecated void(* release_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called to release buffers which were allocated with get_buffer.
const AVProfile * profiles
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} ...
attribute_deprecated int(* get_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called at the beginning of each frame to get a buffer for it.
int64_t reordered_opaque
opaque 64bit number (generally a PTS) that will be reordered and output in AVFrame.reordered_opaque
int refcounted_frames
If non-zero, the decoded audio and video frames returned from avcodec_decode_video2() and avcodec_dec...
int ticks_per_frame
For some codecs, the time base is closer to the field rate than the frame rate.
int skip_top
Number of macroblock rows at the top which are skipped.
int mb_decision
macroblock decision mode
int last_predictor_count
amount of previous MV predictors (2a+1 x 2a+1 square)
int max_qdiff
maximum quantizer difference between frames
attribute_deprecated int mb_threshold
attribute_deprecated float rc_qsquish
int64_t cur_frame_end[AV_PARSER_PTS_NB]
void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
Utility function to access log2_chroma_w log2_chroma_h from the pixel format AVPixFmtDescriptor.
char * sub_charenc
DTS of the last frame.
int64_t cur_frame_pts[AV_PARSER_PTS_NB]
preferred ID for MPEG-1/2 video decoding
const AVCodecDescriptor * avcodec_descriptor_get_by_name(const char *name)
int(* filter)(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int64_t last_pos
Previous frame byte position.
const char * avcodec_get_name(enum AVCodecID id)
Get the name of a codec.
int thread_count
thread count is used to decide how many independent tasks should be passed to execute() ...
int sub_charenc_mode
Subtitles character encoding mode.
int av_packet_split_side_data(AVPacket *pkt)
int av_codec_get_max_lowres(const AVCodec *codec)
int inter_quant_bias
inter quantizer bias
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal decoder state / flush internal buffers.
FAKE codec to indicate a MPEG-4 Systems stream (only used by libavformat)
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)
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)
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
Copy necessary context variables from a previous thread context to the current one.
int frame_skip_factor
frame skip factor
const char * av_get_profile_name(const AVCodec *codec, int profile)
Return a name for the specified profile, if available.
int frame_size
Number of samples per channel in an audio frame.
int pts_dts_delta
Presentation delay of current frame in units of AVCodecContext.time_base.
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.
attribute_deprecated void av_destruct_packet(AVPacket *pkt)
Default packet destructor.
const char * long_name
Descriptive name for the codec, meant to be more human readable than name.
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)
Filter bitstream.
attribute_deprecated void av_log_ask_for_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message asking for a sample.
AVCodecParserContext * av_parser_init(int codec_id)
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
The default callback for AVCodecContext.get_buffer2().
void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
enum AVMediaType codec_type
const AVRational * supported_framerates
array of supported framerates, or NULL if any, array is terminated by {0,0}
A list of zero terminated key/value strings.
attribute_deprecated int avcodec_default_reget_buffer(AVCodecContext *s, AVFrame *pic)
AVSampleFormat
Audio sample formats.
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer...
int(* end_frame)(AVCodecContext *avctx)
Called at the end of each frame or field picture.
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
Return the PCM codec associated with a sample format.
int seek_preroll
Number of samples to skip after a discontinuity.
int sample_rate
samples per second
enum AVDiscard skip_idct
Skip IDCT/dequantization for selected frames.
int frame_bits
number of bits used for the previously encoded frame
attribute_deprecated AVPacket * pkt
Plain text, the text field must be set by the decoder and is authoritative.
main external API structure.
AVCodec * avcodec_find_decoder(enum AVCodecID id)
Find a registered decoder with a matching codec ID.
uint8_t * av_packet_pack_dictionary(AVDictionary *dict, int *size)
Pack a dictionary for use in side_data.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
int av_copy_packet(AVPacket *dst, const AVPacket *src)
Copy packet, including contents.
int pre_me
prepass for motion estimation
int qmin
minimum quantizer
int cur_frame_start_index
attribute_deprecated ReSampleContext * av_audio_resample_init(int output_channels, int input_channels, int output_rate, int input_rate, enum AVSampleFormat sample_fmt_out, enum AVSampleFormat sample_fmt_in, int filter_length, int log2_phase_count, int linear, double cutoff)
Initialize audio resampling context.
void avsubtitle_free(AVSubtitle *sub)
Free all allocated data in the given subtitle struct.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
float spatial_cplx_masking
spatial complexity masking (0-> disabled)
Data found in BlockAdditional element of matroska container.
attribute_deprecated int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVFrame *pict)
int(* close)(AVCodecContext *)
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
Encode extradata length to a buffer.
struct AVBitStreamFilter * filter
uint16_t * intra_matrix
custom intra quantization matrix
int slice_flags
slice flags
Describe the class of an AVClass context structure.
int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
Allocate memory for the pixels of a picture and setup the AVPicture fields for it.
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.
enum AVColorSpace colorspace
YUV colorspace type.
rational number numerator/denominator
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
const char * name
short name for the profile
void av_register_codec_parser(AVCodecParser *parser)
Recommmends skipping the specified number of samples.
int(* init_thread_copy)(AVCodecContext *)
If defined, called on thread contexts when they are created.
attribute_deprecated void audio_resample_close(ReSampleContext *s)
Free resample context.
discard useless packets like 0 size packets in avi
refcounted data buffer API
char * codec_whitelist
',' separated list of allowed decoders.
const char * name
Name of the codec described by this descriptor.
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
float b_quant_offset
qscale offset between IP and B-frames
attribute_deprecated void * priv
int frame_skip_exp
frame skip exponent
attribute_deprecated int dtg_active_format
DTG active format information (additional aspect ratio information only used in DVB MPEG-2 transport ...
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
Return audio frame duration.
float qcompress
amount of qscale change between easy & hard scenes (0.0-1.0)
attribute_deprecated int me_threshold
uint16_t * inter_matrix
custom inter quantization matrix
int(* parser_init)(AVCodecParserContext *s)
AVHWAccel * av_hwaccel_next(const AVHWAccel *hwaccel)
If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL...
This struct describes the properties of a single codec described by an AVCodecID. ...
float dark_masking
darkness masking (0-> disabled)
int global_quality
Global quality for codecs which cannot change it per frame.
int skip_bottom
Number of macroblock rows at the bottom which are skipped.
int attribute_deprecated avcodec_encode_audio(AVCodecContext *avctx, uint8_t *buf, int buf_size, const short *samples)
Encode an audio frame from samples into buf.
AVCodec * avcodec_find_decoder_by_name(const char *name)
Find a registered decoder with the specified name.
This side data should be associated with an audio stream and contains ReplayGain information in form ...
int output_picture_number
Picture number incremented in presentation or output order.
float temporal_cplx_masking
temporary complexity masking (0-> disabled)
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Callback for each slice.
const AVClass * priv_class
AVClass for the private context.
#define attribute_deprecated
int noise_reduction
noise reduction strength
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Called at the beginning of each frame or field picture.
int gop_size
the number of pictures in a group of pictures, or 0 for intra_only
uint8_t max_lowres
maximum value for lowres supported by the decoder, no direct access, use av_codec_get_max_lowres() ...
A reference to a data buffer.
discard all non reference
attribute_deprecated struct AVResampleContext * av_resample_init(int out_rate, int in_rate, int filter_length, int log2_phase_count, int linear, double cutoff)
Initialize an audio resampler.
An AV_PKT_DATA_JP_DUALMONO side data packet indicates that the packet may contain "dual mono" audio s...
AVPacketSideData * side_data
Additional packet data that can be provided by the container.
int mb_cmp
macroblock comparison function (not supported yet)
attribute_deprecated int(* reget_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called at the beginning of a frame to get cr buffer for it.
int(* decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
Converts swscale x/y chroma position to AVChromaLocation.
AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
attribute_deprecated void void av_register_hwaccel(AVHWAccel *hwaccel)
Register the hardware accelerator hwaccel.
void(* flush)(AVCodecContext *)
Flush buffers.
int(* init)(AVCodecContext *)
attribute_deprecated float border_masking
uint32_t start_display_time
int av_codec_get_seek_preroll(const AVCodecContext *avctx)
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...
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc)
int prediction_method
prediction method (needed for huffyuv)
int workaround_bugs
Work around bugs in encoders which sometimes cannot be detected automatically.
enum AVCodecID id
Codec implemented by the hardware accelerator.
int64_t cur_frame_offset[AV_PARSER_PTS_NB]
int av_grow_packet(AVPacket *pkt, int grow_by)
Increase packet size, correctly zeroing padding.
void av_init_packet(AVPacket *pkt)
Initialize optional fields of a packet with default values.
enum AVDiscard skip_loop_filter
Skip loop filtering for selected frames.
int thread_safe_callbacks
Set by the client if its custom get_buffer() callback can be called synchronously from another thread...
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
Set the fields of the given AVCodecContext to default values corresponding to the given codec (defaul...
attribute_deprecated float rc_qmod_amp
int trellis
trellis RD quantization
The optional settings (rendering instructions) that immediately follow the timestamp specifier of a W...
#define MKBETAG(a, b, c, d)
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
int slices
Number of slices.
ASS as defined in Matroska.
int16_t position[3][2]
position of the top left corner in 1/16 pel for up to 3 fields/frames
int cutoff
Audio cutoff bandwidth (0 means "automatic")
void av_codec_set_seek_preroll(AVCodecContext *avctx, int val)
FAKE codec to indicate a raw MPEG-2 TS stream (only used by libavformat)
Formatted text, the ass field must be set by the decoder and is authoritative.
int dia_size
ME diamond size & shape.
int b_sensitivity
Adjust sensitivity of b_frame_strategy 1.
uint8_t * dump_separator
dump format separator.
int(* encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode data to an AVPacket.
uneven multi-hexagon search
as in Berlin toast format
int channels
number of audio channels
int frame_priv_data_size
Size of per-frame hardware accelerator private data.
const int * supported_samplerates
array of supported audio samplerates, or NULL if unknown, array is terminated by 0 ...
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)
Pad image.
int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
Calculate the size in bytes that a picture of the given width and height would occupy if stored in th...
unsigned avcodec_version(void)
Return the LIBAVCODEC_VERSION_INT constant.
char * ass
0 terminated ASS/SSA compatible event line.
attribute_deprecated int error_rate
int mv0_threshold
Note: Value depends upon the compare function used for fullpel ME.
int64_t dts
Decompression timestamp in AVStream->time_base units; the time at which the packet is decompressed...
void avcodec_register(AVCodec *codec)
Register the codec codec and initialize libavcodec.
int64_t pts_correction_last_dts
PTS of the last frame.
int * slice_offset
slice offsets in the frame in bytes
int frame_number
Frame counter, set by libavcodec.
int repeat_pict
This field is used for proper frame duration computation in lavf.
int64_t pts_correction_num_faulty_pts
Current statistics for PTS correction.
enum AVFieldOrder field_order
Field order.
void(* decode_mb)(struct MpegEncContext *s)
Called for every Macroblock in a slice.
void(* init_static_data)(struct AVCodec *codec)
Initialize codec static data, called from avcodec_register().
AVChromaLocation
Location of chroma samples.
uint8_t * av_packet_get_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int *size)
Get side information from packet.
enum AVSampleFormat * sample_fmts
array of supported sample formats, or NULL if unknown, array is terminated by -1
attribute_deprecated int lmin
int me_method
Motion estimation algorithm used for video coding.
uint8_t * av_packet_new_side_data(AVPacket *pkt, enum AVPacketSideDataType type, int size)
Allocate new information of a packet.
int debug_mv
debug Code outside libavcodec should access this field using AVOptions
const char *const * mime_types
MIME type(s) associated with the codec.
int rc_min_rate
minimum bitrate
int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
Copy packet side data.
uint64_t request_channel_layout
Request decoder to use this channel layout if it can (0 for default)
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 me_pre_cmp
motion estimation prepass comparison function
AVPixelFormat
Pixel format.
This structure stores compressed data.
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
int key_frame
Set by parser to 1 for key frames and 0 for non-key frames.
int me_subpel_quality
subpel ME quality
int strict_std_compliance
strictly follow the standard (MPEG4, ...).
int dts_sync_point
Synchronization point for start of timestamp generation.
int64_t pts
Presentation timestamp in AVStream->time_base units; the time at which the decompressed packet will b...
struct ReSampleContext ReSampleContext
A dummy ID pointing at the start of subtitle codecs.
void * opaque
Private data of the user, can be used to carry app specific stuff.
int thread_type
Which multithreading methods to use.
int avcodec_default_execute(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
uint8_t * subtitle_header
Header containing style information for text subtitles.
int keyint_min
minimum GOP size
attribute_deprecated int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic)