21 #ifndef AVCODEC_AVCODEC_H
22 #define AVCODEC_AVCODEC_H
109 AV_CODEC_ID_MPEG2VIDEO_XVMC,
323 #define AV_CODEC_ID_H265 AV_CODEC_ID_HEVC
396 #if FF_API_VIMA_DECODER
590 #define AV_CODEC_PROP_INTRA_ONLY (1 << 0)
596 #define AV_CODEC_PROP_LOSSY (1 << 1)
600 #define AV_CODEC_PROP_LOSSLESS (1 << 2)
610 #define AV_CODEC_PROP_REORDER (1 << 3)
615 #define AV_CODEC_PROP_BITMAP_SUB (1 << 16)
620 #define AV_CODEC_PROP_TEXT_SUB (1 << 17)
630 #define FF_INPUT_BUFFER_PADDING_SIZE 32
637 #define FF_MIN_BUFFER_SIZE 16384
695 #if FF_API_MAX_BFRAMES
699 #define FF_MAX_B_FRAMES 16
711 #define CODEC_FLAG_UNALIGNED 0x0001
712 #define CODEC_FLAG_QSCALE 0x0002
713 #define CODEC_FLAG_4MV 0x0004
714 #define CODEC_FLAG_OUTPUT_CORRUPT 0x0008
715 #define CODEC_FLAG_QPEL 0x0010
720 #define CODEC_FLAG_GMC 0x0020
727 #define CODEC_FLAG_MV0 0x0040
729 #if FF_API_INPUT_PRESERVED
734 #define CODEC_FLAG_INPUT_PRESERVED 0x0100
736 #define CODEC_FLAG_PASS1 0x0200
737 #define CODEC_FLAG_PASS2 0x0400
738 #define CODEC_FLAG_GRAY 0x2000
744 #define CODEC_FLAG_EMU_EDGE 0x4000
746 #define CODEC_FLAG_PSNR 0x8000
747 #define CODEC_FLAG_TRUNCATED 0x00010000
749 #if FF_API_NORMALIZE_AQP
754 #define CODEC_FLAG_NORMALIZE_AQP 0x00020000
756 #define CODEC_FLAG_INTERLACED_DCT 0x00040000
757 #define CODEC_FLAG_LOW_DELAY 0x00080000
758 #define CODEC_FLAG_GLOBAL_HEADER 0x00400000
759 #define CODEC_FLAG_BITEXACT 0x00800000
761 #define CODEC_FLAG_AC_PRED 0x01000000
762 #define CODEC_FLAG_LOOP_FILTER 0x00000800
763 #define CODEC_FLAG_INTERLACED_ME 0x20000000
764 #define CODEC_FLAG_CLOSED_GOP 0x80000000
765 #define CODEC_FLAG2_FAST 0x00000001
766 #define CODEC_FLAG2_NO_OUTPUT 0x00000004
767 #define CODEC_FLAG2_LOCAL_HEADER 0x00000008
768 #define CODEC_FLAG2_DROP_FRAME_TIMECODE 0x00002000
769 #define CODEC_FLAG2_IGNORE_CROP 0x00010000
771 #define CODEC_FLAG2_CHUNKS 0x00008000
772 #define CODEC_FLAG2_SHOW_ALL 0x00400000
773 #define CODEC_FLAG2_EXPORT_MVS 0x10000000
774 #define CODEC_FLAG2_SKIP_MANUAL 0x20000000
783 #define CODEC_CAP_DRAW_HORIZ_BAND 0x0001
789 #define CODEC_CAP_DR1 0x0002
790 #define CODEC_CAP_TRUNCATED 0x0008
799 #define CODEC_CAP_HWACCEL 0x0010
824 #define CODEC_CAP_DELAY 0x0020
829 #define CODEC_CAP_SMALL_LAST_FRAME 0x0040
834 #define CODEC_CAP_HWACCEL_VDPAU 0x0080
847 #define CODEC_CAP_SUBFRAMES 0x0100
852 #define CODEC_CAP_EXPERIMENTAL 0x0200
856 #define CODEC_CAP_CHANNEL_CONF 0x0400
857 #if FF_API_NEG_LINESIZES
861 #define CODEC_CAP_NEG_LINESIZES 0x0800
866 #define CODEC_CAP_FRAME_THREADS 0x1000
870 #define CODEC_CAP_SLICE_THREADS 0x2000
874 #define CODEC_CAP_PARAM_CHANGE 0x4000
878 #define CODEC_CAP_AUTO_THREADS 0x8000
882 #define CODEC_CAP_VARIABLE_FRAME_SIZE 0x10000
886 #define CODEC_CAP_INTRA_ONLY 0x40000000
890 #define CODEC_CAP_LOSSLESS 0x80000000
894 #define MB_TYPE_INTRA4x4 0x0001
895 #define MB_TYPE_INTRA16x16 0x0002 //FIXME H.264-specific
896 #define MB_TYPE_INTRA_PCM 0x0004 //FIXME H.264-specific
897 #define MB_TYPE_16x16 0x0008
898 #define MB_TYPE_16x8 0x0010
899 #define MB_TYPE_8x16 0x0020
900 #define MB_TYPE_8x8 0x0040
901 #define MB_TYPE_INTERLACED 0x0080
902 #define MB_TYPE_DIRECT2 0x0100 //FIXME
903 #define MB_TYPE_ACPRED 0x0200
904 #define MB_TYPE_GMC 0x0400
905 #define MB_TYPE_SKIP 0x0800
906 #define MB_TYPE_P0L0 0x1000
907 #define MB_TYPE_P1L0 0x2000
908 #define MB_TYPE_P0L1 0x4000
909 #define MB_TYPE_P1L1 0x8000
910 #define MB_TYPE_L0 (MB_TYPE_P0L0 | MB_TYPE_P1L0)
911 #define MB_TYPE_L1 (MB_TYPE_P0L1 | MB_TYPE_P1L1)
912 #define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
913 #define MB_TYPE_QUANT 0x00010000
914 #define MB_TYPE_CBP 0x00020000
947 #if FF_API_QSCALE_TYPE
948 #define FF_QSCALE_TYPE_MPEG1 0
949 #define FF_QSCALE_TYPE_MPEG2 1
950 #define FF_QSCALE_TYPE_H264 2
951 #define FF_QSCALE_TYPE_VP56 3
954 #if FF_API_GET_BUFFER
955 #define FF_BUFFER_TYPE_INTERNAL 1
956 #define FF_BUFFER_TYPE_USER 2
957 #define FF_BUFFER_TYPE_SHARED 4
958 #define FF_BUFFER_TYPE_COPY 8
960 #define FF_BUFFER_HINTS_VALID 0x01 // Buffer hints value is meaningful (if 0 ignore).
961 #define FF_BUFFER_HINTS_READABLE 0x02 // Codec will read from buffer.
962 #define FF_BUFFER_HINTS_PRESERVE 0x04 // User must not alter buffer content.
963 #define FF_BUFFER_HINTS_REUSABLE 0x08 // Codec will reuse the buffer (update).
969 #define AV_GET_BUFFER_FLAG_REF (1 << 0)
1181 #if FF_API_DESTRUCT_PACKET
1208 #define AV_PKT_FLAG_KEY 0x0001
1209 #define AV_PKT_FLAG_CORRUPT 0x0002
1251 #if FF_API_CODEC_NAME
1275 #if FF_API_STREAM_CODEC_TAG
1328 #define FF_COMPRESSION_DEFAULT -1
1426 #if FF_API_ASPECT_EXTENDED
1427 #define FF_ASPECT_EXTENDED 15
1516 #define FF_RC_STRATEGY_XVID 1
1605 #define FF_PRED_LEFT 0
1606 #define FF_PRED_PLANE 1
1607 #define FF_PRED_MEDIAN 2
1649 #define FF_CMP_SAD 0
1650 #define FF_CMP_SSE 1
1651 #define FF_CMP_SATD 2
1652 #define FF_CMP_DCT 3
1653 #define FF_CMP_PSNR 4
1654 #define FF_CMP_BIT 5
1656 #define FF_CMP_ZERO 7
1657 #define FF_CMP_VSAD 8
1658 #define FF_CMP_VSSE 9
1659 #define FF_CMP_NSSE 10
1660 #define FF_CMP_W53 11
1661 #define FF_CMP_W97 12
1662 #define FF_CMP_DCTMAX 13
1663 #define FF_CMP_DCT264 14
1664 #define FF_CMP_CHROMA 256
1719 #define FF_DTG_AFD_SAME 8
1720 #define FF_DTG_AFD_4_3 9
1721 #define FF_DTG_AFD_16_9 10
1722 #define FF_DTG_AFD_14_9 11
1723 #define FF_DTG_AFD_4_3_SP_14_9 13
1724 #define FF_DTG_AFD_16_9_SP_14_9 14
1725 #define FF_DTG_AFD_SP_4_3 15
1743 #define FF_DEFAULT_QUANT_BIAS 999999
1758 #define SLICE_FLAG_CODED_ORDER 0x0001
1759 #define SLICE_FLAG_ALLOW_FIELD 0x0002
1760 #define SLICE_FLAG_ALLOW_PLANE 0x0004
1778 #define FF_MB_DECISION_SIMPLE 0
1779 #define FF_MB_DECISION_BITS 1
1780 #define FF_MB_DECISION_RD 2
1910 #if FF_API_UNUSED_MEMBERS
2031 #if FF_API_REQUEST_CHANNELS
2070 #if FF_API_GET_BUFFER
2368 #define FF_CODER_TYPE_VLC 0
2369 #define FF_CODER_TYPE_AC 1
2370 #define FF_CODER_TYPE_RAW 2
2371 #define FF_CODER_TYPE_RLE 3
2372 #if FF_API_UNUSED_MEMBERS
2373 #define FF_CODER_TYPE_DEFLATE 4
2510 #define FF_BUG_AUTODETECT 1
2511 #if FF_API_OLD_MSMPEG4
2512 #define FF_BUG_OLD_MSMPEG4 2
2514 #define FF_BUG_XVID_ILACE 4
2515 #define FF_BUG_UMP4 8
2516 #define FF_BUG_NO_PADDING 16
2517 #define FF_BUG_AMV 32
2519 #define FF_BUG_AC_VLC 0
2521 #define FF_BUG_QPEL_CHROMA 64
2522 #define FF_BUG_STD_QPEL 128
2523 #define FF_BUG_QPEL_CHROMA2 256
2524 #define FF_BUG_DIRECT_BLOCKSIZE 512
2525 #define FF_BUG_EDGE 1024
2526 #define FF_BUG_HPEL_CHROMA 2048
2527 #define FF_BUG_DC_CLIP 4096
2528 #define FF_BUG_MS 8192
2529 #define FF_BUG_TRUNCATED 16384
2544 #define FF_COMPLIANCE_VERY_STRICT 2
2545 #define FF_COMPLIANCE_STRICT 1
2546 #define FF_COMPLIANCE_NORMAL 0
2547 #define FF_COMPLIANCE_UNOFFICIAL -1
2548 #define FF_COMPLIANCE_EXPERIMENTAL -2
2556 #define FF_EC_GUESS_MVS 1
2557 #define FF_EC_DEBLOCK 2
2558 #define FF_EC_FAVOR_INTER 256
2566 #define FF_DEBUG_PICT_INFO 1
2567 #define FF_DEBUG_RC 2
2568 #define FF_DEBUG_BITSTREAM 4
2569 #define FF_DEBUG_MB_TYPE 8
2570 #define FF_DEBUG_QP 16
2575 #define FF_DEBUG_MV 32
2577 #define FF_DEBUG_DCT_COEFF 0x00000040
2578 #define FF_DEBUG_SKIP 0x00000080
2579 #define FF_DEBUG_STARTCODE 0x00000100
2580 #if FF_API_UNUSED_MEMBERS
2581 #define FF_DEBUG_PTS 0x00000200
2583 #define FF_DEBUG_ER 0x00000400
2584 #define FF_DEBUG_MMCO 0x00000800
2585 #define FF_DEBUG_BUGS 0x00001000
2587 #define FF_DEBUG_VIS_QP 0x00002000
2588 #define FF_DEBUG_VIS_MB_TYPE 0x00004000
2590 #define FF_DEBUG_BUFFERS 0x00008000
2591 #define FF_DEBUG_THREADS 0x00010000
2592 #define FF_DEBUG_NOMC 0x01000000
2602 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
2603 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
2604 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
2620 #define AV_EF_CRCCHECK (1<<0)
2621 #define AV_EF_BITSTREAM (1<<1)
2622 #define AV_EF_BUFFER (1<<2)
2623 #define AV_EF_EXPLODE (1<<3)
2625 #define AV_EF_IGNORE_ERR (1<<15)
2626 #define AV_EF_CAREFUL (1<<16)
2627 #define AV_EF_COMPLIANT (1<<17)
2628 #define AV_EF_AGGRESSIVE (1<<18)
2671 #define FF_DCT_AUTO 0
2672 #define FF_DCT_FASTINT 1
2673 #if FF_API_UNUSED_MEMBERS
2674 #define FF_DCT_INT 2
2676 #define FF_DCT_MMX 3
2677 #define FF_DCT_ALTIVEC 5
2678 #define FF_DCT_FAAN 6
2686 #define FF_IDCT_AUTO 0
2687 #define FF_IDCT_INT 1
2688 #define FF_IDCT_SIMPLE 2
2689 #define FF_IDCT_SIMPLEMMX 3
2690 #define FF_IDCT_ARM 7
2691 #define FF_IDCT_ALTIVEC 8
2693 #define FF_IDCT_SH4 9
2695 #define FF_IDCT_SIMPLEARM 10
2696 #if FF_API_UNUSED_MEMBERS
2697 #define FF_IDCT_IPP 13
2699 #define FF_IDCT_XVID 14
2700 #if FF_API_IDCT_XVIDMMX
2701 #define FF_IDCT_XVIDMMX 14
2703 #define FF_IDCT_SIMPLEARMV5TE 16
2704 #define FF_IDCT_SIMPLEARMV6 17
2705 #if FF_API_ARCH_SPARC
2706 #define FF_IDCT_SIMPLEVIS 18
2708 #define FF_IDCT_FAAN 20
2709 #define FF_IDCT_SIMPLENEON 22
2710 #if FF_API_ARCH_ALPHA
2711 #define FF_IDCT_SIMPLEALPHA 23
2713 #define FF_IDCT_SIMPLEAUTO 128
2764 #define FF_THREAD_FRAME 1
2765 #define FF_THREAD_SLICE 2
2815 #if FF_API_THREAD_OPAQUE
2836 #define FF_PROFILE_UNKNOWN -99
2837 #define FF_PROFILE_RESERVED -100
2839 #define FF_PROFILE_AAC_MAIN 0
2840 #define FF_PROFILE_AAC_LOW 1
2841 #define FF_PROFILE_AAC_SSR 2
2842 #define FF_PROFILE_AAC_LTP 3
2843 #define FF_PROFILE_AAC_HE 4
2844 #define FF_PROFILE_AAC_HE_V2 28
2845 #define FF_PROFILE_AAC_LD 22
2846 #define FF_PROFILE_AAC_ELD 38
2847 #define FF_PROFILE_MPEG2_AAC_LOW 128
2848 #define FF_PROFILE_MPEG2_AAC_HE 131
2850 #define FF_PROFILE_DTS 20
2851 #define FF_PROFILE_DTS_ES 30
2852 #define FF_PROFILE_DTS_96_24 40
2853 #define FF_PROFILE_DTS_HD_HRA 50
2854 #define FF_PROFILE_DTS_HD_MA 60
2855 #define FF_PROFILE_DTS_EXPRESS 70
2857 #define FF_PROFILE_MPEG2_422 0
2858 #define FF_PROFILE_MPEG2_HIGH 1
2859 #define FF_PROFILE_MPEG2_SS 2
2860 #define FF_PROFILE_MPEG2_SNR_SCALABLE 3
2861 #define FF_PROFILE_MPEG2_MAIN 4
2862 #define FF_PROFILE_MPEG2_SIMPLE 5
2864 #define FF_PROFILE_H264_CONSTRAINED (1<<9) // 8+1; constraint_set1_flag
2865 #define FF_PROFILE_H264_INTRA (1<<11) // 8+3; constraint_set3_flag
2867 #define FF_PROFILE_H264_BASELINE 66
2868 #define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
2869 #define FF_PROFILE_H264_MAIN 77
2870 #define FF_PROFILE_H264_EXTENDED 88
2871 #define FF_PROFILE_H264_HIGH 100
2872 #define FF_PROFILE_H264_HIGH_10 110
2873 #define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
2874 #define FF_PROFILE_H264_HIGH_422 122
2875 #define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
2876 #define FF_PROFILE_H264_HIGH_444 144
2877 #define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
2878 #define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
2879 #define FF_PROFILE_H264_CAVLC_444 44
2881 #define FF_PROFILE_VC1_SIMPLE 0
2882 #define FF_PROFILE_VC1_MAIN 1
2883 #define FF_PROFILE_VC1_COMPLEX 2
2884 #define FF_PROFILE_VC1_ADVANCED 3
2886 #define FF_PROFILE_MPEG4_SIMPLE 0
2887 #define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
2888 #define FF_PROFILE_MPEG4_CORE 2
2889 #define FF_PROFILE_MPEG4_MAIN 3
2890 #define FF_PROFILE_MPEG4_N_BIT 4
2891 #define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
2892 #define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
2893 #define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
2894 #define FF_PROFILE_MPEG4_HYBRID 8
2895 #define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
2896 #define FF_PROFILE_MPEG4_CORE_SCALABLE 10
2897 #define FF_PROFILE_MPEG4_ADVANCED_CODING 11
2898 #define FF_PROFILE_MPEG4_ADVANCED_CORE 12
2899 #define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
2900 #define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
2901 #define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
2903 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 0
2904 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 1
2905 #define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 2
2906 #define FF_PROFILE_JPEG2000_DCINEMA_2K 3
2907 #define FF_PROFILE_JPEG2000_DCINEMA_4K 4
2910 #define FF_PROFILE_HEVC_MAIN 1
2911 #define FF_PROFILE_HEVC_MAIN_10 2
2912 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
2913 #define FF_PROFILE_HEVC_REXT 4
2915 #define FF_PROFILE_VP9_0 0
2916 #define FF_PROFILE_VP9_1 1
2917 #define FF_PROFILE_VP9_2 2
2918 #define FF_PROFILE_VP9_3 3
2926 #define FF_LEVEL_UNKNOWN -99
2960 #if FF_API_ERROR_RATE
2969 #if FF_API_CODEC_PKT
3085 #define FF_SUB_CHARENC_MODE_DO_NOTHING -1
3086 #define FF_SUB_CHARENC_MODE_AUTOMATIC 0
3087 #define FF_SUB_CHARENC_MODE_PRE_DECODER 1
3111 #if !FF_API_DEBUG_MV
3119 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
3120 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
3121 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
3265 int *got_packet_ptr);
3427 #define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
3433 #define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
3479 #define AV_SUBTITLE_FLAG_FORCED 0x00000001
3630 #if FF_API_AVFRAME_LAVC
3635 AVFrame *avcodec_alloc_frame(
void);
3731 #if FF_API_DESTRUCT_PACKET
3974 #if FF_API_GET_BUFFER
4043 #if FF_API_OLD_DECODE_AUDIO
4099 int *frame_size_ptr,
4155 int *got_frame_ptr,
const AVPacket *avpkt);
4201 int *got_picture_ptr,
4274 #define AV_PARSER_PTS_NB 4
4281 #define PARSER_FLAG_COMPLETE_FRAMES 0x0001
4282 #define PARSER_FLAG_ONCE 0x0002
4284 #define PARSER_FLAG_FETCHED_OFFSET 0x0004
4285 #define PARSER_FLAG_USE_CODEC_TS 0x1000
4433 const uint8_t **poutbuf,
int *poutbuf_size,
4475 uint8_t **poutbuf,
int *poutbuf_size,
4477 int64_t
pts, int64_t dts,
4486 uint8_t **poutbuf,
int *poutbuf_size,
4487 const uint8_t *
buf,
int buf_size,
int keyframe);
4516 #if FF_API_OLD_ENCODE_AUDIO
4543 const short *samples);
4588 #if FF_API_OLD_ENCODE_VIDEO
4653 #if FF_API_AVCODEC_RESAMPLE
4684 int output_rate,
int input_rate,
4687 int filter_length,
int log2_phase_count,
4688 int linear,
double cutoff);
4826 unsigned char *dest,
int dest_size);
4842 #if FF_API_DEINTERLACE
4868 int padtop,
int padbottom,
int padleft,
int padright,
int *
color);
4939 int has_alpha,
int *loss_ptr);
4945 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
4948 #if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
4951 int has_alpha,
int *loss_ptr);
4954 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
4964 #if FF_API_SET_DIMENSIONS
5023 int buf_size,
int align);
5086 uint8_t **poutbuf,
int *poutbuf_size,
5087 const uint8_t *
buf,
int buf_size,
int keyframe);
5145 uint8_t **poutbuf,
int *poutbuf_size,
5146 const uint8_t *
buf,
int buf_size,
int keyframe);
5192 #if FF_API_MISSING_SAMPLE
codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it ...
int(* parser_init)(AVCodecParserContext *s)
const struct AVCodec * codec
const char const char void * val
discard all frames except keyframes
AVSideDataParamChangeFlags
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Called at the beginning of each frame or field picture.
const AVCodecDescriptor * codec_descriptor
AVCodecDescriptor Code outside libavcodec should access this field using: av_codec_{get,set}_codec_descriptor(avctx)
static enum AVPixelFormat pix_fmt
#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(* init)(AVCodecContext *avctx)
Initialize the hwaccel private data.
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
ptrdiff_t const GLvoid * data
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(* flush)(AVCodecContext *)
Flush buffers.
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.
int width
Dimensions of the decoded video intended for presentation.
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.
attribute_deprecated unsigned int stream_codec_tag
enum AVFieldOrder field_order
void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
struct AVBitStreamFilter * next
void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
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
int coded_width
Dimensions of the coded video.
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.
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.
int(* decode)(AVCodecContext *, void *outdata, int *outdata_size, AVPacket *avpkt)
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)
attribute_deprecated int(* get_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called at the beginning of each frame to get a buffer for it.
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...
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).
attribute_deprecated void(* release_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called to release buffers which were allocated with get_buffer.
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)
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(* init_thread_copy)(AVCodecContext *)
If defined, called on thread contexts when they are created.
static double cb(void *priv, double x, double y)
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.
attribute_deprecated void(* destruct)(struct AVPacket *)
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.
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.
void(* decode_mb)(struct MpegEncContext *s)
Called for every Macroblock in a slice.
Motion_Est_ID
motion estimation type.
attribute_deprecated int(* reget_buffer)(struct AVCodecContext *c, AVFrame *pic)
Called at the beginning of a frame to get cr buffer for it.
int(* parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
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)
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.
const OptionDef options[]
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(* close)(AVCodecContext *)
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.
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.
AVCodecParser * av_parser_next(const AVCodecParser *c)
static const uint8_t offset[127][2]
transformed exhaustive search algorithm
int compensation_distance
#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
int(* encode_sub)(AVCodecContext *, uint8_t *buf, int buf_size, const struct AVSubtitle *sub)
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
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...
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.
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.
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
Allocate a custom buffer.
attribute_deprecated void av_resample_compensate(struct AVResampleContext *c, int sample_delta, int compensation_distance)
Compensate samplerate/timestamp drift.
int width
picture width / height.
void(* parser_close)(AVCodecParserContext *s)
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.
typedef void(APIENTRY *FF_PFNGLACTIVETEXTUREPROC)(GLenum texture)
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.
const AVProfile * profiles
array of recognized profiles, or NULL if unknown, array is terminated by {FF_PROFILE_UNKNOWN} ...
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]
static pthread_mutex_t * mutex
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)
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)
const AVS_VideoInfo int align
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 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.
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().
enum AVMediaType codec_type
void(* init_static_data)(struct AVCodec *codec)
Initialize codec static data, called from avcodec_register().
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...
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)
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
BYTE int const BYTE int int int height
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.
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
callback to negotiate the pixelFormat
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.
attribute_deprecated void audio_resample_close(ReSampleContext *s)
Free resample context.
int(* func)(AVBPrint *dst, const char *in, const char *arg)
discard useless packets like 0 size packets in avi
refcounted data buffer API
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.
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
void(* close)(AVBitStreamFilterContext *bsfc)
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.
static int64_t pts
Global timestamp for the audio frames.
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)
const AVClass * priv_class
AVClass for the private context.
#define attribute_deprecated
int noise_reduction
noise reduction strength
int(* filter)(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
struct AVCodecContext * avctx
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
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
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)
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
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.
int(* uninit)(AVCodecContext *avctx)
Uninitialize the hwaccel private data.
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...
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.
int caps_internal
Internal codec capabilities.
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")
int(* update_thread_context)(AVCodecContext *dst, const AVCodecContext *src)
Copy necessary context variables from a previous thread context to the current one.
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(* 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.
uneven multi-hexagon search
as in Berlin toast format
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.
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 format
The format of the coded data, corresponds to enum AVPixelFormat for video and for enum AVSampleFormat...
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.
const char * av_packet_side_data_name(enum AVPacketSideDataType type)
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.
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
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Callback for each slice.
const char *const * mime_types
MIME type(s) associated with the codec.
int rc_min_rate
minimum bitrate
int(* init)(AVCodecContext *)
int av_copy_packet_side_data(AVPacket *dst, const AVPacket *src)
Copy packet side data.
int(* end_frame)(AVCodecContext *avctx)
Called at the end of each frame or field picture.
uint64_t request_channel_layout
Request decoder to use this channel layout if it can (0 for default)
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(* encode2)(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode data to an AVPacket.
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...
enum AVPixelFormat sw_pix_fmt
Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.
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)
This side data should be associated with an audio stream and corresponds to enum AVAudioServiceType.
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)