21 #ifndef AVCODEC_AVCODEC_H
22 #define AVCODEC_AVCODEC_H
215 #define AV_INPUT_BUFFER_PADDING_SIZE 64
222 #define AV_INPUT_BUFFER_MIN_SIZE 16384
271 #define AV_CODEC_FLAG_UNALIGNED (1 << 0)
275 #define AV_CODEC_FLAG_QSCALE (1 << 1)
279 #define AV_CODEC_FLAG_4MV (1 << 2)
283 #define AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3)
287 #define AV_CODEC_FLAG_QPEL (1 << 4)
292 #define AV_CODEC_FLAG_DROPCHANGED (1 << 5)
296 #define AV_CODEC_FLAG_PASS1 (1 << 9)
300 #define AV_CODEC_FLAG_PASS2 (1 << 10)
304 #define AV_CODEC_FLAG_LOOP_FILTER (1 << 11)
308 #define AV_CODEC_FLAG_GRAY (1 << 13)
312 #define AV_CODEC_FLAG_PSNR (1 << 15)
317 #define AV_CODEC_FLAG_TRUNCATED (1 << 16)
321 #define AV_CODEC_FLAG_INTERLACED_DCT (1 << 18)
325 #define AV_CODEC_FLAG_LOW_DELAY (1 << 19)
329 #define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
333 #define AV_CODEC_FLAG_BITEXACT (1 << 23)
338 #define AV_CODEC_FLAG_AC_PRED (1 << 24)
342 #define AV_CODEC_FLAG_INTERLACED_ME (1 << 29)
343 #define AV_CODEC_FLAG_CLOSED_GOP (1U << 31)
348 #define AV_CODEC_FLAG2_FAST (1 << 0)
352 #define AV_CODEC_FLAG2_NO_OUTPUT (1 << 2)
356 #define AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3)
361 #define AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13)
367 #define AV_CODEC_FLAG2_CHUNKS (1 << 15)
371 #define AV_CODEC_FLAG2_IGNORE_CROP (1 << 16)
376 #define AV_CODEC_FLAG2_SHOW_ALL (1 << 22)
380 #define AV_CODEC_FLAG2_EXPORT_MVS (1 << 28)
384 #define AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29)
388 #define AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30)
403 #define AV_CODEC_EXPORT_DATA_MVS (1 << 0)
407 #define AV_CODEC_EXPORT_DATA_PRFT (1 << 1)
412 #define AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2)
417 #define AV_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3)
458 #if FF_API_UNSANITIZED_BITRATES
467 #if FF_API_UNSANITIZED_BITRATES
476 #if FF_API_UNSANITIZED_BITRATES
514 #define AV_GET_BUFFER_FLAG_REF (1 << 0)
519 #define AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0)
609 #define FF_COMPRESSION_DEFAULT -1
807 #if FF_API_PRIVATE_OPT
828 #if FF_API_PRIVATE_OPT
892 #if FF_API_PRIVATE_OPT
896 #define FF_PRED_LEFT 0
897 #define FF_PRED_PLANE 1
898 #define FF_PRED_MEDIAN 2
943 #define FF_CMP_SATD 2
945 #define FF_CMP_PSNR 4
948 #define FF_CMP_ZERO 7
949 #define FF_CMP_VSAD 8
950 #define FF_CMP_VSSE 9
951 #define FF_CMP_NSSE 10
952 #define FF_CMP_W53 11
953 #define FF_CMP_W97 12
954 #define FF_CMP_DCTMAX 13
955 #define FF_CMP_DCT264 14
956 #define FF_CMP_MEDIAN_SAD 15
957 #define FF_CMP_CHROMA 256
973 #if FF_API_PRIVATE_OPT
1015 #define SLICE_FLAG_CODED_ORDER 0x0001
1016 #define SLICE_FLAG_ALLOW_FIELD 0x0002
1017 #define SLICE_FLAG_ALLOW_PLANE 0x0004
1025 #define FF_MB_DECISION_SIMPLE 0
1026 #define FF_MB_DECISION_BITS 1
1027 #define FF_MB_DECISION_RD 2
1047 #if FF_API_PRIVATE_OPT
1092 #if FF_API_PRIVATE_OPT
1106 #if FF_API_PRIVATE_OPT
1126 #if FF_API_PRIVATE_OPT
1139 #if FF_API_PRIVATE_OPT
1353 #if FF_API_OLD_ENCDEC
1446 #if FF_API_CODER_TYPE
1447 #define FF_CODER_TYPE_VLC 0
1448 #define FF_CODER_TYPE_AC 1
1449 #define FF_CODER_TYPE_RAW 2
1450 #define FF_CODER_TYPE_RLE 3
1458 #if FF_API_PRIVATE_OPT
1464 #if FF_API_PRIVATE_OPT
1489 #if FF_API_PRIVATE_OPT
1503 #if FF_API_RTP_CALLBACK
1517 #if FF_API_PRIVATE_OPT
1528 #if FF_API_STAT_BITS
1573 #define FF_BUG_AUTODETECT 1
1574 #define FF_BUG_XVID_ILACE 4
1575 #define FF_BUG_UMP4 8
1576 #define FF_BUG_NO_PADDING 16
1577 #define FF_BUG_AMV 32
1578 #define FF_BUG_QPEL_CHROMA 64
1579 #define FF_BUG_STD_QPEL 128
1580 #define FF_BUG_QPEL_CHROMA2 256
1581 #define FF_BUG_DIRECT_BLOCKSIZE 512
1582 #define FF_BUG_EDGE 1024
1583 #define FF_BUG_HPEL_CHROMA 2048
1584 #define FF_BUG_DC_CLIP 4096
1585 #define FF_BUG_MS 8192
1586 #define FF_BUG_TRUNCATED 16384
1587 #define FF_BUG_IEDGE 32768
1602 #define FF_COMPLIANCE_VERY_STRICT 2
1603 #define FF_COMPLIANCE_STRICT 1
1604 #define FF_COMPLIANCE_NORMAL 0
1605 #define FF_COMPLIANCE_UNOFFICIAL -1
1606 #define FF_COMPLIANCE_EXPERIMENTAL -2
1614 #define FF_EC_GUESS_MVS 1
1615 #define FF_EC_DEBLOCK 2
1616 #define FF_EC_FAVOR_INTER 256
1624 #define FF_DEBUG_PICT_INFO 1
1625 #define FF_DEBUG_RC 2
1626 #define FF_DEBUG_BITSTREAM 4
1627 #define FF_DEBUG_MB_TYPE 8
1628 #define FF_DEBUG_QP 16
1629 #define FF_DEBUG_DCT_COEFF 0x00000040
1630 #define FF_DEBUG_SKIP 0x00000080
1631 #define FF_DEBUG_STARTCODE 0x00000100
1632 #define FF_DEBUG_ER 0x00000400
1633 #define FF_DEBUG_MMCO 0x00000800
1634 #define FF_DEBUG_BUGS 0x00001000
1635 #define FF_DEBUG_BUFFERS 0x00008000
1636 #define FF_DEBUG_THREADS 0x00010000
1637 #define FF_DEBUG_GREEN_MD 0x00800000
1638 #define FF_DEBUG_NOMC 0x01000000
1653 #define AV_EF_CRCCHECK (1<<0)
1654 #define AV_EF_BITSTREAM (1<<1)
1655 #define AV_EF_BUFFER (1<<2)
1656 #define AV_EF_EXPLODE (1<<3)
1658 #define AV_EF_IGNORE_ERR (1<<15)
1659 #define AV_EF_CAREFUL (1<<16)
1660 #define AV_EF_COMPLIANT (1<<17)
1661 #define AV_EF_AGGRESSIVE (1<<18)
1707 #define FF_DCT_AUTO 0
1708 #define FF_DCT_FASTINT 1
1709 #define FF_DCT_INT 2
1710 #define FF_DCT_MMX 3
1711 #define FF_DCT_ALTIVEC 5
1712 #define FF_DCT_FAAN 6
1720 #define FF_IDCT_AUTO 0
1721 #define FF_IDCT_INT 1
1722 #define FF_IDCT_SIMPLE 2
1723 #define FF_IDCT_SIMPLEMMX 3
1724 #define FF_IDCT_ARM 7
1725 #define FF_IDCT_ALTIVEC 8
1726 #define FF_IDCT_SIMPLEARM 10
1727 #define FF_IDCT_XVID 14
1728 #define FF_IDCT_SIMPLEARMV5TE 16
1729 #define FF_IDCT_SIMPLEARMV6 17
1730 #define FF_IDCT_FAAN 20
1731 #define FF_IDCT_SIMPLENEON 22
1732 #define FF_IDCT_NONE 24
1733 #define FF_IDCT_SIMPLEAUTO 128
1756 #if FF_API_CODED_FRAME
1784 #define FF_THREAD_FRAME 1
1785 #define FF_THREAD_SLICE 2
1794 #if FF_API_THREAD_SAFE_CALLBACKS
1859 #define FF_PROFILE_UNKNOWN -99
1860 #define FF_PROFILE_RESERVED -100
1862 #define FF_PROFILE_AAC_MAIN 0
1863 #define FF_PROFILE_AAC_LOW 1
1864 #define FF_PROFILE_AAC_SSR 2
1865 #define FF_PROFILE_AAC_LTP 3
1866 #define FF_PROFILE_AAC_HE 4
1867 #define FF_PROFILE_AAC_HE_V2 28
1868 #define FF_PROFILE_AAC_LD 22
1869 #define FF_PROFILE_AAC_ELD 38
1870 #define FF_PROFILE_MPEG2_AAC_LOW 128
1871 #define FF_PROFILE_MPEG2_AAC_HE 131
1873 #define FF_PROFILE_DNXHD 0
1874 #define FF_PROFILE_DNXHR_LB 1
1875 #define FF_PROFILE_DNXHR_SQ 2
1876 #define FF_PROFILE_DNXHR_HQ 3
1877 #define FF_PROFILE_DNXHR_HQX 4
1878 #define FF_PROFILE_DNXHR_444 5
1880 #define FF_PROFILE_DTS 20
1881 #define FF_PROFILE_DTS_ES 30
1882 #define FF_PROFILE_DTS_96_24 40
1883 #define FF_PROFILE_DTS_HD_HRA 50
1884 #define FF_PROFILE_DTS_HD_MA 60
1885 #define FF_PROFILE_DTS_EXPRESS 70
1887 #define FF_PROFILE_MPEG2_422 0
1888 #define FF_PROFILE_MPEG2_HIGH 1
1889 #define FF_PROFILE_MPEG2_SS 2
1890 #define FF_PROFILE_MPEG2_SNR_SCALABLE 3
1891 #define FF_PROFILE_MPEG2_MAIN 4
1892 #define FF_PROFILE_MPEG2_SIMPLE 5
1894 #define FF_PROFILE_H264_CONSTRAINED (1<<9)
1895 #define FF_PROFILE_H264_INTRA (1<<11)
1897 #define FF_PROFILE_H264_BASELINE 66
1898 #define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED)
1899 #define FF_PROFILE_H264_MAIN 77
1900 #define FF_PROFILE_H264_EXTENDED 88
1901 #define FF_PROFILE_H264_HIGH 100
1902 #define FF_PROFILE_H264_HIGH_10 110
1903 #define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA)
1904 #define FF_PROFILE_H264_MULTIVIEW_HIGH 118
1905 #define FF_PROFILE_H264_HIGH_422 122
1906 #define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA)
1907 #define FF_PROFILE_H264_STEREO_HIGH 128
1908 #define FF_PROFILE_H264_HIGH_444 144
1909 #define FF_PROFILE_H264_HIGH_444_PREDICTIVE 244
1910 #define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA)
1911 #define FF_PROFILE_H264_CAVLC_444 44
1913 #define FF_PROFILE_VC1_SIMPLE 0
1914 #define FF_PROFILE_VC1_MAIN 1
1915 #define FF_PROFILE_VC1_COMPLEX 2
1916 #define FF_PROFILE_VC1_ADVANCED 3
1918 #define FF_PROFILE_MPEG4_SIMPLE 0
1919 #define FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1
1920 #define FF_PROFILE_MPEG4_CORE 2
1921 #define FF_PROFILE_MPEG4_MAIN 3
1922 #define FF_PROFILE_MPEG4_N_BIT 4
1923 #define FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5
1924 #define FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6
1925 #define FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7
1926 #define FF_PROFILE_MPEG4_HYBRID 8
1927 #define FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9
1928 #define FF_PROFILE_MPEG4_CORE_SCALABLE 10
1929 #define FF_PROFILE_MPEG4_ADVANCED_CODING 11
1930 #define FF_PROFILE_MPEG4_ADVANCED_CORE 12
1931 #define FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13
1932 #define FF_PROFILE_MPEG4_SIMPLE_STUDIO 14
1933 #define FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15
1935 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1
1936 #define FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2
1937 #define FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768
1938 #define FF_PROFILE_JPEG2000_DCINEMA_2K 3
1939 #define FF_PROFILE_JPEG2000_DCINEMA_4K 4
1941 #define FF_PROFILE_VP9_0 0
1942 #define FF_PROFILE_VP9_1 1
1943 #define FF_PROFILE_VP9_2 2
1944 #define FF_PROFILE_VP9_3 3
1946 #define FF_PROFILE_HEVC_MAIN 1
1947 #define FF_PROFILE_HEVC_MAIN_10 2
1948 #define FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3
1949 #define FF_PROFILE_HEVC_REXT 4
1951 #define FF_PROFILE_VVC_MAIN_10 1
1952 #define FF_PROFILE_VVC_MAIN_10_444 33
1954 #define FF_PROFILE_AV1_MAIN 0
1955 #define FF_PROFILE_AV1_HIGH 1
1956 #define FF_PROFILE_AV1_PROFESSIONAL 2
1958 #define FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0
1959 #define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1
1960 #define FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2
1961 #define FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3
1962 #define FF_PROFILE_MJPEG_JPEG_LS 0xf7
1964 #define FF_PROFILE_SBC_MSBC 1
1966 #define FF_PROFILE_PRORES_PROXY 0
1967 #define FF_PROFILE_PRORES_LT 1
1968 #define FF_PROFILE_PRORES_STANDARD 2
1969 #define FF_PROFILE_PRORES_HQ 3
1970 #define FF_PROFILE_PRORES_4444 4
1971 #define FF_PROFILE_PRORES_XQ 5
1973 #define FF_PROFILE_ARIB_PROFILE_A 0
1974 #define FF_PROFILE_ARIB_PROFILE_C 1
1976 #define FF_PROFILE_KLVA_SYNC 0
1977 #define FF_PROFILE_KLVA_ASYNC 1
1985 #define FF_LEVEL_UNKNOWN -99
2019 #if FF_API_VBV_DELAY
2032 #if FF_API_SIDEDATA_ONLY_PKT
2118 #define FF_SUB_CHARENC_MODE_DO_NOTHING -1
2119 #define FF_SUB_CHARENC_MODE_AUTOMATIC 0
2120 #define FF_SUB_CHARENC_MODE_PRE_DECODER 1
2121 #define FF_SUB_CHARENC_MODE_IGNORE 2
2150 #define FF_DEBUG_VIS_MV_P_FOR 0x00000001
2151 #define FF_DEBUG_VIS_MV_B_FOR 0x00000002
2152 #define FF_DEBUG_VIS_MV_B_BACK 0x00000004
2184 #define FF_CODEC_PROPERTY_LOSSLESS 0x00000001
2185 #define FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002
2226 #define FF_SUB_TEXT_FMT_ASS 0
2227 #if FF_API_ASS_TIMING
2228 #define FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1
2387 #if FF_API_CODEC_GET_SET
2423 #if FF_API_CODEC_GET_SET
2604 #define AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200
2614 #define AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0)
2620 #define AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1)
2634 #define AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2)
2640 #if FF_API_AVPICTURE
2685 #define AV_SUBTITLE_FLAG_FORCED 0x00000001
2694 #if FF_API_AVPICTURE
2791 #if FF_API_GET_CONTEXT_DEFAULTS
2808 #if FF_API_GET_FRAME_CLASS
2824 #if FF_API_COPY_CONTEXT
2992 #if FF_API_OLD_ENCDEC
3048 int *got_frame_ptr,
const AVPacket *avpkt);
3097 int *got_picture_ptr,
3404 #define AV_PARSER_PTS_NB 4
3411 #define PARSER_FLAG_COMPLETE_FRAMES 0x0001
3412 #define PARSER_FLAG_ONCE 0x0002
3414 #define PARSER_FLAG_FETCHED_OFFSET 0x0004
3415 #define PARSER_FLAG_USE_CODEC_TS 0x1000
3428 #if FF_API_CONVERGENCE_DURATION
3552 const uint8_t **poutbuf,
int *poutbuf_size,
3553 const uint8_t *buf,
int buf_size);
3615 uint8_t **poutbuf,
int *poutbuf_size,
3616 const uint8_t *buf,
int buf_size,
3620 #if FF_API_PARSER_CHANGE
3629 uint8_t **poutbuf,
int *poutbuf_size,
3630 const uint8_t *buf,
int buf_size,
int keyframe);
3644 #if FF_API_OLD_ENCDEC
3741 #if FF_API_AVPICTURE
3772 unsigned char *dest,
int dest_size);
3799 int padtop,
int padbottom,
int padleft,
int padright,
int *
color);
3822 #if FF_API_GETCHROMA
3857 int has_alpha,
int *loss_ptr);
3859 #if FF_API_AVCODEC_PIX_FMT
3871 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
3875 enum AVPixelFormat src_pix_fmt,
int has_alpha,
int *loss_ptr);
3884 #if FF_API_TAG_STRING
3953 int buf_size,
int align);
4050 uint8_t **poutbuf,
int *poutbuf_size,
4051 const uint8_t *buf,
int buf_size,
int keyframe);
4099 #if FF_API_USER_VISIBLE_AVHWACCEL
static double val(void *priv, double ch)
Macro definitions for various function/variable attributes.
Convenience header that includes libavutil's core.
refcounted data buffer API
#define flags(name, subs,...)
audio channel layout utility functions
static enum AVPixelFormat pix_fmt
static float sub(float src0, float src1)
static void encode(AVCodecContext *ctx, AVFrame *frame, AVPacket *pkt, FILE *output)
const OptionDef options[]
reference-counted frame API
#define AV_NUM_DATA_POINTERS
int avcodec_parameters_from_context(AVCodecParameters *par, const AVCodecContext *codec)
Fill the parameters struct based on the values from the supplied codec context.
int avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)
Initialize the AVCodecContext to use the given AVCodec.
attribute_deprecated const AVClass * avcodec_get_frame_class(void)
attribute_deprecated void av_codec_set_pkt_timebase(AVCodecContext *avctx, AVRational val)
int avcodec_get_context_defaults3(AVCodecContext *s, const AVCodec *codec)
attribute_deprecated AVRational av_codec_get_pkt_timebase(const AVCodecContext *avctx)
Accessors for some AVCodecContext fields.
attribute_deprecated AVCodec * av_codec_next(const AVCodec *c)
If c is NULL, returns the first registered codec, if c is non-NULL, returns the next registered codec...
const AVClass * avcodec_get_subtitle_rect_class(void)
Get the AVClass for AVSubtitleRect.
attribute_deprecated const AVCodecDescriptor * av_codec_get_codec_descriptor(const AVCodecContext *avctx)
attribute_deprecated void av_codec_set_codec_descriptor(AVCodecContext *avctx, const AVCodecDescriptor *desc)
attribute_deprecated void avcodec_register(AVCodec *codec)
attribute_deprecated void av_codec_set_chroma_intra_matrix(AVCodecContext *avctx, uint16_t *val)
attribute_deprecated int av_codec_get_lowres(const AVCodecContext *avctx)
attribute_deprecated uint16_t * av_codec_get_chroma_intra_matrix(const AVCodecContext *avctx)
void avsubtitle_free(AVSubtitle *sub)
Free all allocated data in the given subtitle struct.
attribute_deprecated void av_codec_set_lowres(AVCodecContext *avctx, int val)
AVCodecID
Identify the syntax and semantics of the bitstream.
const char * avcodec_configuration(void)
Return the libavcodec build-time configuration.
attribute_deprecated unsigned av_codec_get_codec_properties(const AVCodecContext *avctx)
int avcodec_parameters_to_context(AVCodecContext *codec, const AVCodecParameters *par)
Fill the codec context based on the values from the supplied codec parameters.
attribute_deprecated int av_codec_get_seek_preroll(const AVCodecContext *avctx)
attribute_deprecated void av_codec_set_seek_preroll(AVCodecContext *avctx, int val)
unsigned avcodec_version(void)
Return the LIBAVCODEC_VERSION_INT constant.
attribute_deprecated int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src)
Copy the settings of the source AVCodecContext into the destination AVCodecContext.
const char * avcodec_license(void)
Return the libavcodec license.
AVCodecContext * avcodec_alloc_context3(const AVCodec *codec)
Allocate an AVCodecContext and set its fields to default values.
const AVClass * avcodec_get_class(void)
Get the AVClass for AVCodecContext.
attribute_deprecated int av_codec_get_max_lowres(const AVCodec *codec)
attribute_deprecated void avcodec_register_all(void)
int avcodec_close(AVCodecContext *avctx)
Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext its...
void avcodec_free_context(AVCodecContext **avctx)
Free the codec context and everything associated with it and write NULL to the provided pointer.
@ SUBTITLE_BITMAP
A bitmap, pict will be set.
@ SUBTITLE_ASS
Formatted text, the ass field must be set by the decoder and is authoritative.
@ SUBTITLE_TEXT
Plain text, the text field must be set by the decoder and is authoritative.
@ AV_AUDIO_SERVICE_TYPE_VOICE_OVER
@ AV_AUDIO_SERVICE_TYPE_EMERGENCY
@ AV_AUDIO_SERVICE_TYPE_EFFECTS
@ AV_AUDIO_SERVICE_TYPE_MAIN
@ AV_AUDIO_SERVICE_TYPE_DIALOGUE
@ AV_AUDIO_SERVICE_TYPE_KARAOKE
@ AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED
@ AV_AUDIO_SERVICE_TYPE_COMMENTARY
@ AV_AUDIO_SERVICE_TYPE_NB
Not part of ABI.
@ AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED
int avcodec_default_get_buffer2(AVCodecContext *s, AVFrame *frame, int flags)
The default callback for AVCodecContext.get_buffer2().
int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame)
Return decoded output data from a decoder.
int avcodec_enum_to_chroma_pos(int *xpos, int *ypos, enum AVChromaLocation pos)
Converts AVChromaLocation to swscale x/y chroma position.
enum AVChromaLocation avcodec_chroma_pos_to_enum(int xpos, int ypos)
Converts swscale x/y chroma position to AVChromaLocation.
void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height, int linesize_align[AV_NUM_DATA_POINTERS])
Modify width and height values so that they will result in a memory buffer that is acceptable for the...
attribute_deprecated int avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, const AVPacket *avpkt)
Decode the video frame of size avpkt->size from avpkt->data into picture.
int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt)
Decode a subtitle message.
void avcodec_align_dimensions(AVCodecContext *s, int *width, int *height)
Modify width and height values so that they will result in a memory buffer that is acceptable for the...
int avcodec_send_packet(AVCodecContext *avctx, const AVPacket *avpkt)
Supply raw packet data as input to a decoder.
int avcodec_receive_packet(AVCodecContext *avctx, AVPacket *avpkt)
Read encoded data from the encoder.
int avcodec_get_hw_frames_parameters(AVCodecContext *avctx, AVBufferRef *device_ref, enum AVPixelFormat hw_pix_fmt, AVBufferRef **out_frames_ref)
Create and return a AVHWFramesContext with values adequate for hardware decoding.
int avcodec_send_frame(AVCodecContext *avctx, const AVFrame *frame)
Supply a raw video or audio frame to the encoder.
attribute_deprecated int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, const AVPacket *avpkt)
Decode the audio frame of size avpkt->size from avpkt->data into frame.
int avcodec_default_get_encode_buffer(AVCodecContext *s, AVPacket *pkt, int flags)
The default callback for AVCodecContext.get_encode_buffer().
@ AVDISCARD_ALL
discard all
@ AVDISCARD_NONKEY
discard all frames except keyframes
@ AVDISCARD_BIDIR
discard all bidirectional frames
@ AVDISCARD_DEFAULT
discard useless packets like 0 size packets in avi
@ AVDISCARD_NONE
discard nothing
@ AVDISCARD_NONINTRA
discard all non intra frames
@ AVDISCARD_NONREF
discard all non reference
attribute_deprecated int avcodec_encode_video2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of video.
int avcodec_encode_subtitle(AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub)
attribute_deprecated int avcodec_encode_audio2(AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr)
Encode a frame of audio.
attribute_deprecated void avcodec_get_chroma_sub_sample(enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift)
attribute_deprecated int avcodec_get_pix_fmt_loss(enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha)
enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
unsigned int avcodec_pix_fmt_to_codec_tag(enum AVPixelFormat pix_fmt)
Return a value representing the fourCC code associated to the pixel format pix_fmt,...
enum AVPixelFormat avcodec_find_best_pix_fmt_of_list(const enum AVPixelFormat *pix_fmt_list, enum AVPixelFormat src_pix_fmt, int has_alpha, int *loss_ptr)
Find the best pixel format to convert to given a certain source pixel format.
attribute_deprecated enum AVPixelFormat avcodec_find_best_pix_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)
attribute_deprecated AVHWAccel * av_hwaccel_next(const AVHWAccel *hwaccel)
If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL,...
void av_fast_padded_malloc(void *ptr, unsigned int *size, size_t min_size)
Same behaviour av_fast_malloc but the buffer has additional AV_INPUT_BUFFER_PADDING_SIZE at the end w...
int av_get_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
const char * av_get_profile_name(const AVCodec *codec, int profile)
Return a name for the specified profile, if available.
unsigned int av_xiphlacing(unsigned char *s, unsigned int v)
Encode extradata length to a buffer.
int av_get_audio_frame_duration2(AVCodecParameters *par, int frame_bytes)
This function is the same as av_get_audio_frame_duration(), except it works with AVCodecParameters in...
attribute_deprecated void av_bitstream_filter_close(AVBitStreamFilterContext *bsf)
int av_get_audio_frame_duration(AVCodecContext *avctx, int frame_bytes)
Return audio frame duration.
int avcodec_default_execute2(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count)
attribute_deprecated int av_lockmgr_register(int(*cb)(void **mutex, enum AVLockOp op))
Register a user provided lock manager supporting the operations specified by AVLockOp.
attribute_deprecated AVBitStreamFilterContext * av_bitstream_filter_init(const char *name)
int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels, enum AVSampleFormat sample_fmt, const uint8_t *buf, int buf_size, int align)
Fill AVFrame audio data and linesize pointers.
void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode)
attribute_deprecated void av_register_bitstream_filter(AVBitStreamFilter *bsf)
attribute_deprecated void av_register_hwaccel(AVHWAccel *hwaccel)
Register the hardware accelerator hwaccel.
AVLockOp
Lock operation used by lockmgr.
const char * avcodec_profile_name(enum AVCodecID codec_id, int profile)
Return a name for the specified profile, if available.
AVCPBProperties * av_cpb_properties_alloc(size_t *size)
Allocate a CPB properties structure and initialize its fields to default values.
attribute_deprecated int av_bitstream_filter_filter(AVBitStreamFilterContext *bsfc, AVCodecContext *avctx, const char *args, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
int avcodec_is_open(AVCodecContext *s)
int avcodec_default_execute(AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size)
attribute_deprecated const AVBitStreamFilter * av_bitstream_filter_next(const AVBitStreamFilter *f)
int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
Return codec bits per sample.
attribute_deprecated const AVBitStreamFilter * av_bsf_next(void **opaque)
void av_fast_padded_mallocz(void *ptr, unsigned int *size, size_t min_size)
Same behaviour av_fast_padded_malloc except that buffer will always be 0-initialized after call.
void avcodec_flush_buffers(AVCodecContext *avctx)
Reset the internal codec state / flush internal buffers.
attribute_deprecated size_t av_get_codec_tag_string(char *buf, size_t buf_size, unsigned int codec_tag)
Put a string representing the codec tag codec_tag in buf.
enum AVCodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
Return the PCM codec associated with a sample format.
@ AV_LOCK_CREATE
Create a mutex.
@ AV_LOCK_RELEASE
Unlock the mutex.
@ AV_LOCK_DESTROY
Free mutex resources.
@ AV_LOCK_OBTAIN
Lock the mutex.
attribute_deprecated void av_register_codec_parser(AVCodecParser *parser)
AVCodecParserContext * av_parser_init(int codec_id)
void av_parser_close(AVCodecParserContext *s)
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.
const AVCodecParser * av_parser_iterate(void **opaque)
Iterate over all registered codec parsers.
attribute_deprecated int av_parser_change(AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe)
attribute_deprecated AVCodecParser * av_parser_next(const AVCodecParser *c)
@ AV_PICTURE_STRUCTURE_FRAME
@ AV_PICTURE_STRUCTURE_BOTTOM_FIELD
@ AV_PICTURE_STRUCTURE_TOP_FIELD
@ AV_PICTURE_STRUCTURE_UNKNOWN
attribute_deprecated void av_picture_copy(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated void avpicture_free(AVPicture *picture)
attribute_deprecated int avpicture_layout(const AVPicture *src, enum AVPixelFormat pix_fmt, int width, int height, unsigned char *dest, int dest_size)
attribute_deprecated int av_picture_pad(AVPicture *dst, const AVPicture *src, int height, int width, enum AVPixelFormat pix_fmt, int padtop, int padbottom, int padleft, int padright, int *color)
attribute_deprecated int avpicture_fill(AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int avpicture_alloc(AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int avpicture_get_size(enum AVPixelFormat pix_fmt, int width, int height)
attribute_deprecated int av_picture_crop(AVPicture *dst, const AVPicture *src, enum AVPixelFormat pix_fmt, int top_band, int left_band)
AVSampleFormat
Audio sample formats.
static enum AVPixelFormat hw_pix_fmt
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.
int(* func)(AVBPrint *dst, const char *in, const char *arg)
AVChromaLocation
Location of chroma samples.
AVColorRange
Visual content value range.
AVPixelFormat
Pixel format.
AVColorPrimaries
Chromaticity coordinates of the source primaries.
AVColorTransferCharacteristic
Color Transfer Characteristic.
AVColorSpace
YUV colorspace type.
#define attribute_deprecated
Utilties for rational number calculation.
typedef void(RENAME(mix_any_func_type))
const struct AVBitStreamFilter * filter
char * args
Internal default arguments, used if NULL is passed to av_bitstream_filter_filter().
struct AVBitStreamFilterContext * next
AVCodecParserContext * parser
A reference to a data buffer.
This structure describes the bitrate properties of an encoded bitstream.
int avg_bitrate
Average bitrate of the stream, in bits per second.
uint64_t vbv_delay
The delay between the time the packet this structure is associated with is received and the time when...
int min_bitrate
Minimum bitrate of the stream, in bits per second.
int buffer_size
The size of the buffer to which the ratecontrol is applied, in bits.
int max_bitrate
Maximum bitrate of the stream, in bits per second.
Describe the class of an AVClass context structure.
main external API structure.
attribute_deprecated int brd_scale
float rc_max_available_vbv_use
Ratecontrol attempt to use, at maximum, of what can be used without an underflow.
int skip_top
Number of macroblock rows at the top which are skipped.
int trellis
trellis RD quantization
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
attribute_deprecated int pre_me
int64_t pts_correction_last_dts
PTS of the last frame.
int max_qdiff
maximum quantizer difference between frames
uint16_t * chroma_intra_matrix
custom intra quantization matrix
const AVCodecDescriptor * codec_descriptor
AVCodecDescriptor.
int hwaccel_flags
Bit set of AV_HWACCEL_FLAG_* flags, which affect hardware accelerated decoding (if active).
attribute_deprecated int min_prediction_order
int width
picture width / height.
AVPacketSideData * coded_side_data
Additional data associated with the entire coded stream.
int64_t pts_correction_num_faulty_dts
Number of incorrect PTS values so far.
attribute_deprecated int i_count
char * stats_out
pass1 encoding statistics output buffer
int rc_buffer_size
decoder bitstream buffer size
attribute_deprecated int header_bits
int64_t pts_correction_last_pts
Number of incorrect DTS values so far.
attribute_deprecated int refcounted_frames
If non-zero, the decoded audio and video frames returned from avcodec_decode_video2() and avcodec_dec...
int me_cmp
motion estimation comparison function
int flags2
AV_CODEC_FLAG2_*.
enum AVSampleFormat sample_fmt
audio sample format
enum AVPixelFormat sw_pix_fmt
Nominal unaccelerated pixel format, see AV_PIX_FMT_xxx.
int global_quality
Global quality for codecs which cannot change it per frame.
int64_t max_pixels
The number of pixels per image to maximally accept.
attribute_deprecated int coder_type
attribute_deprecated int scenechange_threshold
enum AVColorRange color_range
MPEG vs JPEG YUV range.
char * sub_charenc
DTS of the last frame.
int error_concealment
error concealment flags
int dct_algo
DCT algorithm, see FF_DCT_* below.
unsigned int codec_tag
fourcc (LSB first, so "ABCD" -> ('D'<<24) + ('C'<<16) + ('B'<<8) + 'A').
int slice_flags
slice flags
int strict_std_compliance
strictly follow the standard (MPEG-4, ...).
float b_quant_offset
qscale offset between IP and B-frames
AVRational pkt_timebase
Timebase in which pkt_dts/pts and AVPacket.dts/pts are.
attribute_deprecated int frame_bits
attribute_deprecated int chromaoffset
attribute_deprecated int mv_bits
enum AVPixelFormat(* get_format)(struct AVCodecContext *s, const enum AVPixelFormat *fmt)
callback to negotiate the pixelFormat
enum AVAudioServiceType audio_service_type
Type of service that the audio stream conveys.
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
int me_subpel_quality
subpel ME quality
AVBufferRef * hw_frames_ctx
A reference to the AVHWFramesContext describing the input (for encoding) or output (decoding) frames.
int max_b_frames
maximum number of B-frames between non-B-frames Note: The output will be delayed by max_b_frames+1 re...
int mb_lmax
maximum MB Lagrange multiplier
int qmin
minimum quantizer
int keyint_min
minimum GOP size
enum AVMediaType codec_type
float b_quant_factor
qscale factor between IP and B-frames If > 0 then the last P-frame quantizer will be used (q= lastp_q...
int dia_size
ME diamond size & shape.
attribute_deprecated int debug_mv
int workaround_bugs
Work around bugs in encoders which sometimes cannot be detected automatically.
attribute_deprecated int b_sensitivity
int apply_cropping
Video decoding only.
char * stats_in
pass2 encoding statistics input buffer Concatenated stuff from stats_out of pass1 should be placed he...
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel.
int bits_per_coded_sample
bits per sample/pixel from the demuxer (needed for huffyuv).
int rc_override_count
ratecontrol override, see RcOverride
uint8_t * dump_separator
dump format separator.
attribute_deprecated AVFrame * coded_frame
the picture in the bitstream
int slice_count
slice count
attribute_deprecated int max_prediction_order
int ticks_per_frame
For some codecs, the time base is closer to the field rate than the frame rate.
enum AVFieldOrder field_order
Field order.
uint16_t * inter_matrix
custom inter quantization matrix Must be allocated with the av_malloc() family of functions,...
const struct AVHWAccel * hwaccel
Hardware accelerator in use.
int active_thread_type
Which multithreading methods are in use by the codec.
int(* get_encode_buffer)(struct AVCodecContext *s, AVPacket *pkt, int flags)
This callback is called at the beginning of each packet to get a data buffer for it.
int sub_charenc_mode
Subtitles character encoding mode.
int64_t reordered_opaque
opaque 64-bit number (generally a PTS) that will be reordered and output in AVFrame....
int bit_rate_tolerance
number of bits the bitstream is allowed to diverge from the reference.
int mb_decision
macroblock decision mode
attribute_deprecated int misc_bits
int has_b_frames
Size of the frame reordering buffer in the decoder.
char * codec_whitelist
',' separated list of allowed decoders.
void(* draw_horiz_band)(struct AVCodecContext *s, const AVFrame *src, int offset[AV_NUM_DATA_POINTERS], int y, int type, int height)
If non NULL, 'draw_horiz_band' is called by the libavcodec decoder to draw a horizontal band.
attribute_deprecated int frame_skip_threshold
int64_t bit_rate
the average bitrate
enum AVDiscard skip_loop_filter
Skip loop filtering for selected frames.
int64_t pts_correction_num_faulty_pts
Current statistics for PTS correction.
const struct AVCodec * codec
int rc_initial_buffer_occupancy
Number of bits which should be loaded into the rc buffer before decoding starts.
int thread_type
Which multithreading methods to use.
attribute_deprecated int frame_skip_cmp
int me_sub_cmp
subpixel motion estimation comparison function
attribute_deprecated int p_count
unsigned properties
Properties of the stream that gets decoded.
int last_predictor_count
amount of previous MV predictors (2a+1 x 2a+1 square)
int(* execute)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg), void *arg2, int *ret, int count, int size)
The codec may call this to execute several independent things.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
int idct_algo
IDCT algorithm, see FF_IDCT_* below.
int export_side_data
Bit set of AV_CODEC_EXPORT_DATA_* flags, which affects the kind of metadata exported in frame,...
enum AVColorSpace colorspace
YUV colorspace type.
int sub_text_format
Control the form of AVSubtitle.rects[N]->ass.
enum AVSampleFormat request_sample_fmt
desired sample format
attribute_deprecated int mpeg_quant
int initial_padding
Audio only.
float temporal_cplx_masking
temporary complexity masking (0-> disabled)
int sample_rate
samples per second
const AVClass * av_class
information on struct for av_log
float p_masking
p block masking (0-> disabled)
float dark_masking
darkness masking (0-> disabled)
attribute_deprecated int64_t timecode_frame_start
int mb_cmp
macroblock comparison function (not supported yet)
int gop_size
the number of pictures in a group of pictures, or 0 for intra_only
uint64_t request_channel_layout
Request decoder to use this channel layout if it can (0 for default)
int frame_number
Frame counter, set by libavcodec.
attribute_deprecated int rtp_payload_size
int skip_alpha
Skip processing alpha if supported by codec.
int refs
number of reference frames
int ildct_cmp
interlaced DCT comparison function
attribute_deprecated int thread_safe_callbacks
Set by the client if its custom get_buffer() callback can be called synchronously from another thread...
int mv0_threshold
Note: Value depends upon the compare function used for fullpel ME.
int mb_lmin
minimum MB Lagrange multiplier
int64_t rc_max_rate
maximum bitrate
int discard_damaged_percentage
The percentage of damaged samples to discard a frame.
attribute_deprecated int me_penalty_compensation
int thread_count
thread count is used to decide how many independent tasks should be passed to execute()
void * opaque
Private data of the user, can be used to carry app specific stuff.
int qmax
maximum quantizer
void * hwaccel_context
Hardware accelerator context.
uint16_t * intra_matrix
custom intra quantization matrix Must be allocated with the av_malloc() family of functions,...
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
float rc_min_vbv_overflow_use
Ratecontrol attempt to use, at least, times the amount needed to prevent a vbv overflow.
uint8_t * subtitle_header
Header containing style information for text subtitles.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.
attribute_deprecated int i_tex_bits
int flags
AV_CODEC_FLAG_*.
int seek_preroll
Number of samples to skip after a discontinuity.
attribute_deprecated int frame_skip_exp
uint8_t * extradata
some codecs need / can use extradata like Huffman tables.
int me_pre_cmp
motion estimation prepass comparison function
attribute_deprecated int prediction_method
int channels
number of audio channels
int64_t rc_min_rate
minimum bitrate
int trailing_padding
Audio only.
enum AVDiscard skip_idct
Skip IDCT/dequantization for selected frames.
int intra_dc_precision
precision of the intra DC coefficient - 8
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
int(* execute2)(struct AVCodecContext *c, int(*func)(struct AVCodecContext *c2, void *arg, int jobnr, int threadnr), void *arg2, int *ret, int count)
The codec may call this to execute several independent things.
uint64_t error[AV_NUM_DATA_POINTERS]
error
attribute_deprecated int p_tex_bits
attribute_deprecated int context_model
float qcompress
amount of qscale change between easy & hard scenes (0.0-1.0)
float qblur
amount of qscale smoothing over time (0.0-1.0)
AVBufferRef * hw_device_ctx
A reference to the AVHWDeviceContext describing the device which will be used by a hardware encoder/d...
int me_range
maximum motion estimation search range in subpel units If 0 then no limit.
attribute_deprecated int noise_reduction
attribute_deprecated int side_data_only_packets
Encoding only and set by default.
attribute_deprecated int skip_count
int64_t max_samples
The number of samples per frame to maximally accept.
attribute_deprecated int b_frame_strategy
int pre_dia_size
ME prepass diamond size & shape.
float lumi_masking
luminance masking (0-> disabled)
int cutoff
Audio cutoff bandwidth (0 means "automatic")
int skip_bottom
Number of macroblock rows at the bottom which are skipped.
int coded_width
Bitstream width / height, may be different from width/height e.g.
int block_align
number of bytes per packet if constant and known or 0 Used by some WAV based audio codecs.
attribute_deprecated void(* rtp_callback)(struct AVCodecContext *avctx, void *data, int size, int mb_nb)
attribute_deprecated int frame_skip_factor
attribute_deprecated uint64_t vbv_delay
VBV delay coded in the last frame (in periods of a 27 MHz clock).
uint64_t channel_layout
Audio channel layout.
int frame_size
Number of samples per channel in an audio frame.
int * slice_offset
slice offsets in the frame in bytes
float i_quant_factor
qscale factor between P- and I-frames If > 0 then the last P-frame quantizer will be used (q = lastp_...
int(* get_buffer2)(struct AVCodecContext *s, AVFrame *frame, int flags)
This callback is called at the beginning of each frame to get data buffer(s) for it.
int lowres
low resolution decoding, 1-> 1/2 size, 2->1/4 size
float spatial_cplx_masking
spatial complexity masking (0-> disabled)
enum AVDiscard skip_frame
Skip decoding for selected frames.
int err_recognition
Error recognition; may misdetect some more or less valid parts as errors.
float i_quant_offset
qscale offset between P and I-frames
int slices
Number of slices.
This struct describes the properties of a single codec described by an AVCodecID.
This struct describes the properties of an encoded stream.
int duration
Duration of the current frame.
int dts_ref_dts_delta
Offset of the current timestamp against last timestamp sync point in units of AVCodecContext....
int64_t cur_frame_end[AV_PARSER_PTS_NB]
int width
Dimensions of the decoded video intended for presentation.
enum AVFieldOrder field_order
struct AVCodecParser * parser
int64_t pos
Byte position of currently parsed frame in stream.
int format
The format of the coded data, corresponds to enum AVPixelFormat for video and for enum AVSampleFormat...
int repeat_pict
This field is used for proper frame duration computation in lavf.
enum AVPictureStructure picture_structure
Indicate whether a picture is coded as a frame, top field or bottom field.
int64_t cur_frame_dts[AV_PARSER_PTS_NB]
int64_t cur_frame_pos[AV_PARSER_PTS_NB]
Position of the packet in file.
attribute_deprecated int64_t convergence_duration
int output_picture_number
Picture number incremented in presentation or output order.
int pts_dts_delta
Presentation delay of current frame in units of AVCodecContext.time_base.
int64_t next_frame_offset
int64_t cur_frame_pts[AV_PARSER_PTS_NB]
int64_t cur_frame_offset[AV_PARSER_PTS_NB]
int key_frame
Set by parser to 1 for key frames and 0 for non-key frames.
int cur_frame_start_index
int64_t last_pos
Previous frame byte position.
int coded_width
Dimensions of the coded video.
int64_t offset
byte offset from starting packet start
int dts_sync_point
Synchronization point for start of timestamp generation.
int(* split)(AVCodecContext *avctx, const uint8_t *buf, int buf_size)
void(* parser_close)(AVCodecParserContext *s)
int(* parser_parse)(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
int(* parser_init)(AVCodecParserContext *s)
attribute_deprecated struct AVCodecParser * next
This structure describes decoded (raw) audio or video data.
int priv_data_size
Size of the private data to allocate in AVCodecInternal.hwaccel_priv_data.
int(* alloc_frame)(AVCodecContext *avctx, AVFrame *frame)
Allocate a custom buffer.
int(* uninit)(AVCodecContext *avctx)
Uninitialize the hwaccel private data.
enum AVCodecID id
Codec implemented by the hardware accelerator.
int(* start_frame)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Called at the beginning of each frame or field picture.
void(* decode_mb)(struct MpegEncContext *s)
Called for every Macroblock in a slice.
int(* init)(AVCodecContext *avctx)
Initialize the hwaccel private data.
const char * name
Name of the hardware accelerated codec.
int capabilities
Hardware accelerated codec capabilities.
int(* decode_slice)(AVCodecContext *avctx, const uint8_t *buf, uint32_t buf_size)
Callback for each slice.
int(* frame_params)(AVCodecContext *avctx, AVBufferRef *hw_frames_ctx)
Fill the given hw_frames context with current codec parameters.
int(* decode_params)(AVCodecContext *avctx, int type, const uint8_t *buf, uint32_t buf_size)
Callback for parameter data (SPS/PPS/VPS etc).
enum AVPixelFormat pix_fmt
Supported pixel format.
int caps_internal
Internal hwaccel capabilities.
int(* end_frame)(AVCodecContext *avctx)
Called at the end of each frame or field picture.
int frame_priv_data_size
Size of per-frame hardware accelerator private data.
enum AVMediaType type
Type of codec implemented by the hardware accelerator.
This structure stores compressed data.
int width
width and height in 1/16 pel
int16_t position[3][2]
position of the top left corner in 1/16 pel for up to 3 fields/frames
attribute_deprecated uint8_t * data[AV_NUM_DATA_POINTERS]
pointers to the image data planes
attribute_deprecated int linesize[AV_NUM_DATA_POINTERS]
number of bytes per line
This structure supplies correlation between a packet timestamp and a wall clock production time.
int64_t wallclock
A UTC timestamp, in microseconds, since Unix epoch (e.g, av_gettime()).
Rational number (pair of numerator and denominator).
int x
top left corner of pict, undefined when pict is not set
char * ass
0 terminated ASS/SSA compatible event line.
int w
width of pict, undefined when pict is not set
attribute_deprecated AVPicture pict
int nb_colors
number of colors in pict, undefined when pict is not set
char * text
0 terminated plain UTF-8 text
uint8_t * data[4]
data+linesize for the bitmap of this subtitle.
int y
top left corner of pict, undefined when pict is not set
int h
height of pict, undefined when pict is not set
uint32_t start_display_time
uint32_t end_display_time
int64_t pts
Same as packet pts, in AV_TIME_BASE.
struct AVCodecContext * avctx
static double cb(void *priv, double x, double y)
static const uint8_t offset[127][2]