FFmpeg
|
#include <errno.h>
#include "libavutil/samplefmt.h"
#include "libavutil/attributes.h"
#include "libavutil/avutil.h"
#include "libavutil/buffer.h"
#include "libavutil/cpu.h"
#include "libavutil/channel_layout.h"
#include "libavutil/dict.h"
#include "libavutil/frame.h"
#include "libavutil/hwcontext.h"
#include "libavutil/log.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "bsf.h"
#include "codec.h"
#include "codec_desc.h"
#include "codec_par.h"
#include "codec_id.h"
#include "packet.h"
#include "version.h"
Go to the source code of this file.
Data Structures | |
struct | RcOverride |
struct | AVPanScan |
Pan Scan area. More... | |
struct | AVCPBProperties |
This structure describes the bitrate properties of an encoded bitstream. More... | |
struct | AVProducerReferenceTime |
This structure supplies correlation between a packet timestamp and a wall clock production time. More... | |
struct | AVCodecContext |
main external API structure. More... | |
struct | AVHWAccel |
struct | AVPicture |
Picture data structure. More... | |
struct | AVSubtitleRect |
struct | AVSubtitle |
struct | AVCodecParserContext |
struct | AVCodecParser |
struct | AVBitStreamFilterContext |
Macros | |
#define | AV_INPUT_BUFFER_PADDING_SIZE 64 |
#define | AV_INPUT_BUFFER_MIN_SIZE 16384 |
#define | AV_CODEC_FLAG_UNALIGNED (1 << 0) |
Allow decoders to produce frames with data planes that are not aligned to CPU requirements (e.g. More... | |
#define | AV_CODEC_FLAG_QSCALE (1 << 1) |
Use fixed qscale. More... | |
#define | AV_CODEC_FLAG_4MV (1 << 2) |
4 MV per MB allowed / advanced prediction for H.263. More... | |
#define | AV_CODEC_FLAG_OUTPUT_CORRUPT (1 << 3) |
Output even those frames that might be corrupted. More... | |
#define | AV_CODEC_FLAG_QPEL (1 << 4) |
Use qpel MC. More... | |
#define | AV_CODEC_FLAG_DROPCHANGED (1 << 5) |
Don't output frames whose parameters differ from first decoded frame in stream. More... | |
#define | AV_CODEC_FLAG_PASS1 (1 << 9) |
Use internal 2pass ratecontrol in first pass mode. More... | |
#define | AV_CODEC_FLAG_PASS2 (1 << 10) |
Use internal 2pass ratecontrol in second pass mode. More... | |
#define | AV_CODEC_FLAG_LOOP_FILTER (1 << 11) |
loop filter. More... | |
#define | AV_CODEC_FLAG_GRAY (1 << 13) |
Only decode/encode grayscale. More... | |
#define | AV_CODEC_FLAG_PSNR (1 << 15) |
error[?] variables will be set during encoding. More... | |
#define | AV_CODEC_FLAG_TRUNCATED (1 << 16) |
Input bitstream might be truncated at a random location instead of only at frame boundaries. More... | |
#define | AV_CODEC_FLAG_INTERLACED_DCT (1 << 18) |
Use interlaced DCT. More... | |
#define | AV_CODEC_FLAG_LOW_DELAY (1 << 19) |
Force low delay. More... | |
#define | AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22) |
Place global headers in extradata instead of every keyframe. More... | |
#define | AV_CODEC_FLAG_BITEXACT (1 << 23) |
Use only bitexact stuff (except (I)DCT). More... | |
#define | AV_CODEC_FLAG_AC_PRED (1 << 24) |
H.263 advanced intra coding / MPEG-4 AC prediction. More... | |
#define | AV_CODEC_FLAG_INTERLACED_ME (1 << 29) |
interlaced motion estimation More... | |
#define | AV_CODEC_FLAG_CLOSED_GOP (1U << 31) |
#define | AV_CODEC_FLAG2_FAST (1 << 0) |
Allow non spec compliant speedup tricks. More... | |
#define | AV_CODEC_FLAG2_NO_OUTPUT (1 << 2) |
Skip bitstream encoding. More... | |
#define | AV_CODEC_FLAG2_LOCAL_HEADER (1 << 3) |
Place global headers at every keyframe instead of in extradata. More... | |
#define | AV_CODEC_FLAG2_DROP_FRAME_TIMECODE (1 << 13) |
timecode is in drop frame format. More... | |
#define | AV_CODEC_FLAG2_CHUNKS (1 << 15) |
Input bitstream might be truncated at a packet boundaries instead of only at frame boundaries. More... | |
#define | AV_CODEC_FLAG2_IGNORE_CROP (1 << 16) |
Discard cropping information from SPS. More... | |
#define | AV_CODEC_FLAG2_SHOW_ALL (1 << 22) |
Show all frames before the first keyframe. More... | |
#define | AV_CODEC_FLAG2_EXPORT_MVS (1 << 28) |
Export motion vectors through frame side data. More... | |
#define | AV_CODEC_FLAG2_SKIP_MANUAL (1 << 29) |
Do not skip samples and export skip information as frame side data. More... | |
#define | AV_CODEC_FLAG2_RO_FLUSH_NOOP (1 << 30) |
Do not reset ASS ReadOrder field on flush (subtitles decoding) More... | |
#define | AV_CODEC_EXPORT_DATA_MVS (1 << 0) |
Export motion vectors through frame side data. More... | |
#define | AV_CODEC_EXPORT_DATA_PRFT (1 << 1) |
Export encoder Producer Reference Time through packet side data. More... | |
#define | AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS (1 << 2) |
Decoding only. More... | |
#define | AV_GET_BUFFER_FLAG_REF (1 << 0) |
The decoder will keep a reference to the frame and may reuse it later. More... | |
#define | FF_COMPRESSION_DEFAULT -1 |
#define | FF_PRED_LEFT 0 |
#define | FF_PRED_PLANE 1 |
#define | FF_PRED_MEDIAN 2 |
#define | FF_CMP_SAD 0 |
#define | FF_CMP_SSE 1 |
#define | FF_CMP_SATD 2 |
#define | FF_CMP_DCT 3 |
#define | FF_CMP_PSNR 4 |
#define | FF_CMP_BIT 5 |
#define | FF_CMP_RD 6 |
#define | FF_CMP_ZERO 7 |
#define | FF_CMP_VSAD 8 |
#define | FF_CMP_VSSE 9 |
#define | FF_CMP_NSSE 10 |
#define | FF_CMP_W53 11 |
#define | FF_CMP_W97 12 |
#define | FF_CMP_DCTMAX 13 |
#define | FF_CMP_DCT264 14 |
#define | FF_CMP_MEDIAN_SAD 15 |
#define | FF_CMP_CHROMA 256 |
#define | SLICE_FLAG_CODED_ORDER 0x0001 |
draw_horiz_band() is called in coded order instead of display More... | |
#define | SLICE_FLAG_ALLOW_FIELD 0x0002 |
allow draw_horiz_band() with field slices (MPEG-2 field pics) More... | |
#define | SLICE_FLAG_ALLOW_PLANE 0x0004 |
allow draw_horiz_band() with 1 component at a time (SVQ1) More... | |
#define | FF_MB_DECISION_SIMPLE 0 |
uses mb_cmp More... | |
#define | FF_MB_DECISION_BITS 1 |
chooses the one which needs the fewest bits More... | |
#define | FF_MB_DECISION_RD 2 |
rate distortion More... | |
#define | FF_CODER_TYPE_VLC 0 |
#define | FF_CODER_TYPE_AC 1 |
#define | FF_CODER_TYPE_RAW 2 |
#define | FF_CODER_TYPE_RLE 3 |
#define | FF_BUG_AUTODETECT 1 |
autodetection More... | |
#define | FF_BUG_XVID_ILACE 4 |
#define | FF_BUG_UMP4 8 |
#define | FF_BUG_NO_PADDING 16 |
#define | FF_BUG_AMV 32 |
#define | FF_BUG_QPEL_CHROMA 64 |
#define | FF_BUG_STD_QPEL 128 |
#define | FF_BUG_QPEL_CHROMA2 256 |
#define | FF_BUG_DIRECT_BLOCKSIZE 512 |
#define | FF_BUG_EDGE 1024 |
#define | FF_BUG_HPEL_CHROMA 2048 |
#define | FF_BUG_DC_CLIP 4096 |
#define | FF_BUG_MS 8192 |
Work around various bugs in Microsoft's broken decoders. More... | |
#define | FF_BUG_TRUNCATED 16384 |
#define | FF_BUG_IEDGE 32768 |
#define | FF_COMPLIANCE_VERY_STRICT 2 |
Strictly conform to an older more strict version of the spec or reference software. More... | |
#define | FF_COMPLIANCE_STRICT 1 |
Strictly conform to all the things in the spec no matter what consequences. More... | |
#define | FF_COMPLIANCE_NORMAL 0 |
#define | FF_COMPLIANCE_UNOFFICIAL -1 |
Allow unofficial extensions. More... | |
#define | FF_COMPLIANCE_EXPERIMENTAL -2 |
Allow nonstandardized experimental things. More... | |
#define | FF_EC_GUESS_MVS 1 |
#define | FF_EC_DEBLOCK 2 |
#define | FF_EC_FAVOR_INTER 256 |
#define | FF_DEBUG_PICT_INFO 1 |
#define | FF_DEBUG_RC 2 |
#define | FF_DEBUG_BITSTREAM 4 |
#define | FF_DEBUG_MB_TYPE 8 |
#define | FF_DEBUG_QP 16 |
#define | FF_DEBUG_DCT_COEFF 0x00000040 |
#define | FF_DEBUG_SKIP 0x00000080 |
#define | FF_DEBUG_STARTCODE 0x00000100 |
#define | FF_DEBUG_ER 0x00000400 |
#define | FF_DEBUG_MMCO 0x00000800 |
#define | FF_DEBUG_BUGS 0x00001000 |
#define | FF_DEBUG_BUFFERS 0x00008000 |
#define | FF_DEBUG_THREADS 0x00010000 |
#define | FF_DEBUG_GREEN_MD 0x00800000 |
#define | FF_DEBUG_NOMC 0x01000000 |
#define | AV_EF_CRCCHECK (1<<0) |
Verify checksums embedded in the bitstream (could be of either encoded or decoded data, depending on the codec) and print an error message on mismatch. More... | |
#define | AV_EF_BITSTREAM (1<<1) |
detect bitstream specification deviations More... | |
#define | AV_EF_BUFFER (1<<2) |
detect improper bitstream length More... | |
#define | AV_EF_EXPLODE (1<<3) |
abort decoding on minor error detection More... | |
#define | AV_EF_IGNORE_ERR (1<<15) |
ignore errors and continue More... | |
#define | AV_EF_CAREFUL (1<<16) |
consider things that violate the spec, are fast to calculate and have not been seen in the wild as errors More... | |
#define | AV_EF_COMPLIANT (1<<17) |
consider all spec non compliances as errors More... | |
#define | AV_EF_AGGRESSIVE (1<<18) |
consider things that a sane encoder should not do as an error More... | |
#define | FF_DCT_AUTO 0 |
#define | FF_DCT_FASTINT 1 |
#define | FF_DCT_INT 2 |
#define | FF_DCT_MMX 3 |
#define | FF_DCT_ALTIVEC 5 |
#define | FF_DCT_FAAN 6 |
#define | FF_IDCT_AUTO 0 |
#define | FF_IDCT_INT 1 |
#define | FF_IDCT_SIMPLE 2 |
#define | FF_IDCT_SIMPLEMMX 3 |
#define | FF_IDCT_ARM 7 |
#define | FF_IDCT_ALTIVEC 8 |
#define | FF_IDCT_SIMPLEARM 10 |
#define | FF_IDCT_XVID 14 |
#define | FF_IDCT_SIMPLEARMV5TE 16 |
#define | FF_IDCT_SIMPLEARMV6 17 |
#define | FF_IDCT_FAAN 20 |
#define | FF_IDCT_SIMPLENEON 22 |
#define | FF_IDCT_NONE 24 /* Used by XvMC to extract IDCT coefficients with FF_IDCT_PERM_NONE */ |
#define | FF_IDCT_SIMPLEAUTO 128 |
#define | FF_THREAD_FRAME 1 |
Decode more than one frame at once. More... | |
#define | FF_THREAD_SLICE 2 |
Decode more than one part of a single frame at once. More... | |
#define | FF_PROFILE_UNKNOWN -99 |
#define | FF_PROFILE_RESERVED -100 |
#define | FF_PROFILE_AAC_MAIN 0 |
#define | FF_PROFILE_AAC_LOW 1 |
#define | FF_PROFILE_AAC_SSR 2 |
#define | FF_PROFILE_AAC_LTP 3 |
#define | FF_PROFILE_AAC_HE 4 |
#define | FF_PROFILE_AAC_HE_V2 28 |
#define | FF_PROFILE_AAC_LD 22 |
#define | FF_PROFILE_AAC_ELD 38 |
#define | FF_PROFILE_MPEG2_AAC_LOW 128 |
#define | FF_PROFILE_MPEG2_AAC_HE 131 |
#define | FF_PROFILE_DNXHD 0 |
#define | FF_PROFILE_DNXHR_LB 1 |
#define | FF_PROFILE_DNXHR_SQ 2 |
#define | FF_PROFILE_DNXHR_HQ 3 |
#define | FF_PROFILE_DNXHR_HQX 4 |
#define | FF_PROFILE_DNXHR_444 5 |
#define | FF_PROFILE_DTS 20 |
#define | FF_PROFILE_DTS_ES 30 |
#define | FF_PROFILE_DTS_96_24 40 |
#define | FF_PROFILE_DTS_HD_HRA 50 |
#define | FF_PROFILE_DTS_HD_MA 60 |
#define | FF_PROFILE_DTS_EXPRESS 70 |
#define | FF_PROFILE_MPEG2_422 0 |
#define | FF_PROFILE_MPEG2_HIGH 1 |
#define | FF_PROFILE_MPEG2_SS 2 |
#define | FF_PROFILE_MPEG2_SNR_SCALABLE 3 |
#define | FF_PROFILE_MPEG2_MAIN 4 |
#define | FF_PROFILE_MPEG2_SIMPLE 5 |
#define | FF_PROFILE_H264_CONSTRAINED (1<<9) |
#define | FF_PROFILE_H264_INTRA (1<<11) |
#define | FF_PROFILE_H264_BASELINE 66 |
#define | FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED) |
#define | FF_PROFILE_H264_MAIN 77 |
#define | FF_PROFILE_H264_EXTENDED 88 |
#define | FF_PROFILE_H264_HIGH 100 |
#define | FF_PROFILE_H264_HIGH_10 110 |
#define | FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA) |
#define | FF_PROFILE_H264_MULTIVIEW_HIGH 118 |
#define | FF_PROFILE_H264_HIGH_422 122 |
#define | FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA) |
#define | FF_PROFILE_H264_STEREO_HIGH 128 |
#define | FF_PROFILE_H264_HIGH_444 144 |
#define | FF_PROFILE_H264_HIGH_444_PREDICTIVE 244 |
#define | FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA) |
#define | FF_PROFILE_H264_CAVLC_444 44 |
#define | FF_PROFILE_VC1_SIMPLE 0 |
#define | FF_PROFILE_VC1_MAIN 1 |
#define | FF_PROFILE_VC1_COMPLEX 2 |
#define | FF_PROFILE_VC1_ADVANCED 3 |
#define | FF_PROFILE_MPEG4_SIMPLE 0 |
#define | FF_PROFILE_MPEG4_SIMPLE_SCALABLE 1 |
#define | FF_PROFILE_MPEG4_CORE 2 |
#define | FF_PROFILE_MPEG4_MAIN 3 |
#define | FF_PROFILE_MPEG4_N_BIT 4 |
#define | FF_PROFILE_MPEG4_SCALABLE_TEXTURE 5 |
#define | FF_PROFILE_MPEG4_SIMPLE_FACE_ANIMATION 6 |
#define | FF_PROFILE_MPEG4_BASIC_ANIMATED_TEXTURE 7 |
#define | FF_PROFILE_MPEG4_HYBRID 8 |
#define | FF_PROFILE_MPEG4_ADVANCED_REAL_TIME 9 |
#define | FF_PROFILE_MPEG4_CORE_SCALABLE 10 |
#define | FF_PROFILE_MPEG4_ADVANCED_CODING 11 |
#define | FF_PROFILE_MPEG4_ADVANCED_CORE 12 |
#define | FF_PROFILE_MPEG4_ADVANCED_SCALABLE_TEXTURE 13 |
#define | FF_PROFILE_MPEG4_SIMPLE_STUDIO 14 |
#define | FF_PROFILE_MPEG4_ADVANCED_SIMPLE 15 |
#define | FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_0 1 |
#define | FF_PROFILE_JPEG2000_CSTREAM_RESTRICTION_1 2 |
#define | FF_PROFILE_JPEG2000_CSTREAM_NO_RESTRICTION 32768 |
#define | FF_PROFILE_JPEG2000_DCINEMA_2K 3 |
#define | FF_PROFILE_JPEG2000_DCINEMA_4K 4 |
#define | FF_PROFILE_VP9_0 0 |
#define | FF_PROFILE_VP9_1 1 |
#define | FF_PROFILE_VP9_2 2 |
#define | FF_PROFILE_VP9_3 3 |
#define | FF_PROFILE_HEVC_MAIN 1 |
#define | FF_PROFILE_HEVC_MAIN_10 2 |
#define | FF_PROFILE_HEVC_MAIN_STILL_PICTURE 3 |
#define | FF_PROFILE_HEVC_REXT 4 |
#define | FF_PROFILE_AV1_MAIN 0 |
#define | FF_PROFILE_AV1_HIGH 1 |
#define | FF_PROFILE_AV1_PROFESSIONAL 2 |
#define | FF_PROFILE_MJPEG_HUFFMAN_BASELINE_DCT 0xc0 |
#define | FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1 |
#define | FF_PROFILE_MJPEG_HUFFMAN_PROGRESSIVE_DCT 0xc2 |
#define | FF_PROFILE_MJPEG_HUFFMAN_LOSSLESS 0xc3 |
#define | FF_PROFILE_MJPEG_JPEG_LS 0xf7 |
#define | FF_PROFILE_SBC_MSBC 1 |
#define | FF_PROFILE_PRORES_PROXY 0 |
#define | FF_PROFILE_PRORES_LT 1 |
#define | FF_PROFILE_PRORES_STANDARD 2 |
#define | FF_PROFILE_PRORES_HQ 3 |
#define | FF_PROFILE_PRORES_4444 4 |
#define | FF_PROFILE_PRORES_XQ 5 |
#define | FF_PROFILE_ARIB_PROFILE_A 0 |
#define | FF_PROFILE_ARIB_PROFILE_C 1 |
#define | FF_PROFILE_KLVA_SYNC 0 |
#define | FF_PROFILE_KLVA_ASYNC 1 |
#define | FF_LEVEL_UNKNOWN -99 |
#define | FF_SUB_CHARENC_MODE_DO_NOTHING -1 |
do nothing (demuxer outputs a stream supposed to be already in UTF-8, or the codec is bitmap for instance) More... | |
#define | FF_SUB_CHARENC_MODE_AUTOMATIC 0 |
libavcodec will select the mode itself More... | |
#define | FF_SUB_CHARENC_MODE_PRE_DECODER 1 |
the AVPacket data needs to be recoded to UTF-8 before being fed to the decoder, requires iconv More... | |
#define | FF_SUB_CHARENC_MODE_IGNORE 2 |
neither convert the subtitles, nor check them for valid UTF-8 More... | |
#define | FF_DEBUG_VIS_MV_P_FOR 0x00000001 |
#define | FF_DEBUG_VIS_MV_B_FOR 0x00000002 |
#define | FF_DEBUG_VIS_MV_B_BACK 0x00000004 |
#define | FF_CODEC_PROPERTY_LOSSLESS 0x00000001 |
#define | FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002 |
#define | FF_SUB_TEXT_FMT_ASS 0 |
#define | FF_SUB_TEXT_FMT_ASS_WITH_TIMINGS 1 |
#define | AV_HWACCEL_CODEC_CAP_EXPERIMENTAL 0x0200 |
HWAccel is experimental and is thus avoided in favor of non experimental codecs. More... | |
#define | AV_HWACCEL_FLAG_IGNORE_LEVEL (1 << 0) |
Hardware acceleration should be used for decoding even if the codec level used is unknown or higher than the maximum supported level reported by the hardware driver. More... | |
#define | AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH (1 << 1) |
Hardware acceleration can output YUV pixel formats with a different chroma sampling than 4:2:0 and/or other than 8 bits per component. More... | |
#define | AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH (1 << 2) |
Hardware acceleration should still be attempted for decoding when the codec profile does not match the reported capabilities of the hardware. More... | |
#define | AV_SUBTITLE_FLAG_FORCED 0x00000001 |
#define | AV_PARSER_PTS_NB 4 |
#define | PARSER_FLAG_COMPLETE_FRAMES 0x0001 |
#define | PARSER_FLAG_ONCE 0x0002 |
#define | PARSER_FLAG_FETCHED_OFFSET 0x0004 |
Set if the parser has a valid file offset. More... | |
#define | PARSER_FLAG_USE_CODEC_TS 0x1000 |
Enumerations | |
enum | AVDiscard { AVDISCARD_NONE =-16, AVDISCARD_DEFAULT = 0, AVDISCARD_NONREF = 8, AVDISCARD_BIDIR = 16, AVDISCARD_NONINTRA = 24, AVDISCARD_NONKEY = 32, AVDISCARD_ALL = 48 } |
enum | AVAudioServiceType { AV_AUDIO_SERVICE_TYPE_MAIN = 0, AV_AUDIO_SERVICE_TYPE_EFFECTS = 1, AV_AUDIO_SERVICE_TYPE_VISUALLY_IMPAIRED = 2, AV_AUDIO_SERVICE_TYPE_HEARING_IMPAIRED = 3, AV_AUDIO_SERVICE_TYPE_DIALOGUE = 4, AV_AUDIO_SERVICE_TYPE_COMMENTARY = 5, AV_AUDIO_SERVICE_TYPE_EMERGENCY = 6, AV_AUDIO_SERVICE_TYPE_VOICE_OVER = 7, AV_AUDIO_SERVICE_TYPE_KARAOKE = 8, AV_AUDIO_SERVICE_TYPE_NB } |
enum | AVSubtitleType { SUBTITLE_NONE, SUBTITLE_BITMAP, SUBTITLE_TEXT, SUBTITLE_ASS } |
enum | AVPictureStructure { AV_PICTURE_STRUCTURE_UNKNOWN, AV_PICTURE_STRUCTURE_TOP_FIELD, AV_PICTURE_STRUCTURE_BOTTOM_FIELD, AV_PICTURE_STRUCTURE_FRAME } |
enum | AVLockOp { AV_LOCK_CREATE, AV_LOCK_OBTAIN, AV_LOCK_RELEASE, AV_LOCK_DESTROY } |
Lock operation used by lockmgr. More... | |
Functions | |
attribute_deprecated AVRational | av_codec_get_pkt_timebase (const AVCodecContext *avctx) |
Accessors for some AVCodecContext fields. More... | |
attribute_deprecated void | av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val) |
const attribute_deprecated AVCodecDescriptor * | av_codec_get_codec_descriptor (const AVCodecContext *avctx) |
attribute_deprecated void | av_codec_set_codec_descriptor (AVCodecContext *avctx, const AVCodecDescriptor *desc) |
attribute_deprecated unsigned | av_codec_get_codec_properties (const AVCodecContext *avctx) |
attribute_deprecated int | av_codec_get_lowres (const AVCodecContext *avctx) |
attribute_deprecated void | av_codec_set_lowres (AVCodecContext *avctx, int val) |
attribute_deprecated int | av_codec_get_seek_preroll (const AVCodecContext *avctx) |
attribute_deprecated void | av_codec_set_seek_preroll (AVCodecContext *avctx, int val) |
attribute_deprecated uint16_t * | av_codec_get_chroma_intra_matrix (const AVCodecContext *avctx) |
attribute_deprecated void | av_codec_set_chroma_intra_matrix (AVCodecContext *avctx, uint16_t *val) |
attribute_deprecated int | av_codec_get_max_lowres (const AVCodec *codec) |
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 after c, or NULL if c is the last one. More... | |
unsigned | avcodec_version (void) |
Return the LIBAVCODEC_VERSION_INT constant. More... | |
const char * | avcodec_configuration (void) |
Return the libavcodec build-time configuration. More... | |
const char * | avcodec_license (void) |
Return the libavcodec license. More... | |
attribute_deprecated void | avcodec_register (AVCodec *codec) |
Register the codec codec and initialize libavcodec. More... | |
attribute_deprecated void | avcodec_register_all (void) |
Register all the codecs, parsers and bitstream filters which were enabled at configuration time. More... | |
AVCodecContext * | avcodec_alloc_context3 (const AVCodec *codec) |
Allocate an AVCodecContext and set its fields to default values. More... | |
void | avcodec_free_context (AVCodecContext **avctx) |
Free the codec context and everything associated with it and write NULL to the provided pointer. More... | |
int | avcodec_get_context_defaults3 (AVCodecContext *s, const AVCodec *codec) |
const AVClass * | avcodec_get_class (void) |
Get the AVClass for AVCodecContext. More... | |
const AVClass * | avcodec_get_frame_class (void) |
Get the AVClass for AVFrame. More... | |
const AVClass * | avcodec_get_subtitle_rect_class (void) |
Get the AVClass for AVSubtitleRect. More... | |
attribute_deprecated int | avcodec_copy_context (AVCodecContext *dest, const AVCodecContext *src) |
Copy the settings of the source AVCodecContext into the destination AVCodecContext. More... | |
int | avcodec_parameters_from_context (AVCodecParameters *par, const AVCodecContext *codec) |
Fill the parameters struct based on the values from the supplied codec context. More... | |
int | avcodec_parameters_to_context (AVCodecContext *codec, const AVCodecParameters *par) |
Fill the codec context based on the values from the supplied codec parameters. More... | |
int | avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options) |
Initialize the AVCodecContext to use the given AVCodec. More... | |
int | avcodec_close (AVCodecContext *avctx) |
Close a given AVCodecContext and free all the data associated with it (but not the AVCodecContext itself). More... | |
void | avsubtitle_free (AVSubtitle *sub) |
Free all allocated data in the given subtitle struct. More... | |
int | avcodec_default_get_buffer2 (AVCodecContext *s, AVFrame *frame, int flags) |
The default callback for AVCodecContext.get_buffer2(). More... | |
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 codec if you do not use any horizontal padding. More... | |
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 codec if you also ensure that all line sizes are a multiple of the respective linesize_align[i]. More... | |
int | avcodec_enum_to_chroma_pos (int *xpos, int *ypos, enum AVChromaLocation pos) |
Converts AVChromaLocation to swscale x/y chroma position. More... | |
enum AVChromaLocation | avcodec_chroma_pos_to_enum (int xpos, int ypos) |
Converts swscale x/y chroma position to AVChromaLocation. More... | |
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. More... | |
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. More... | |
int | avcodec_decode_subtitle2 (AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, AVPacket *avpkt) |
Decode a subtitle message. More... | |
int | avcodec_send_packet (AVCodecContext *avctx, const AVPacket *avpkt) |
Supply raw packet data as input to a decoder. More... | |
int | avcodec_receive_frame (AVCodecContext *avctx, AVFrame *frame) |
Return decoded output data from a decoder. More... | |
int | avcodec_send_frame (AVCodecContext *avctx, const AVFrame *frame) |
Supply a raw video or audio frame to the encoder. More... | |
int | avcodec_receive_packet (AVCodecContext *avctx, AVPacket *avpkt) |
Read encoded data from the encoder. More... | |
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. More... | |
const AVCodecParser * | av_parser_iterate (void **opaque) |
Iterate over all registered codec parsers. More... | |
attribute_deprecated AVCodecParser * | av_parser_next (const AVCodecParser *c) |
attribute_deprecated void | av_register_codec_parser (AVCodecParser *parser) |
AVCodecParserContext * | av_parser_init (int codec_id) |
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. More... | |
int | av_parser_change (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int keyframe) |
void | av_parser_close (AVCodecParserContext *s) |
attribute_deprecated int | avcodec_encode_audio2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) |
Encode a frame of audio. More... | |
attribute_deprecated int | avcodec_encode_video2 (AVCodecContext *avctx, AVPacket *avpkt, const AVFrame *frame, int *got_packet_ptr) |
Encode a frame of video. More... | |
int | avcodec_encode_subtitle (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub) |
attribute_deprecated int | avpicture_alloc (AVPicture *picture, enum AVPixelFormat pix_fmt, int width, int height) |
attribute_deprecated void | avpicture_free (AVPicture *picture) |
attribute_deprecated int | avpicture_fill (AVPicture *picture, const uint8_t *ptr, enum AVPixelFormat pix_fmt, int width, int height) |
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 | avpicture_get_size (enum AVPixelFormat pix_fmt, int width, int height) |
attribute_deprecated void | av_picture_copy (AVPicture *dst, const AVPicture *src, 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) |
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 void | avcodec_get_chroma_sub_sample (enum AVPixelFormat pix_fmt, int *h_shift, int *v_shift) |
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. More... | |
int | avcodec_get_pix_fmt_loss (enum AVPixelFormat dst_pix_fmt, enum AVPixelFormat src_pix_fmt, int has_alpha) |
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. More... | |
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) |
enum AVPixelFormat | avcodec_default_get_format (struct AVCodecContext *s, const enum AVPixelFormat *fmt) |
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. More... | |
void | avcodec_string (char *buf, int buf_size, AVCodecContext *enc, int encode) |
const char * | av_get_profile_name (const AVCodec *codec, int profile) |
Return a name for the specified profile, if available. More... | |
const char * | avcodec_profile_name (enum AVCodecID codec_id, int profile) |
Return a name for the specified profile, if available. More... | |
int | avcodec_default_execute (AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2), void *arg, int *ret, int count, int size) |
int | avcodec_default_execute2 (AVCodecContext *c, int(*func)(AVCodecContext *c2, void *arg2, int, int), void *arg, int *ret, int count) |
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. More... | |
void | avcodec_flush_buffers (AVCodecContext *avctx) |
Reset the internal codec state / flush internal buffers. More... | |
int | av_get_bits_per_sample (enum AVCodecID codec_id) |
Return codec bits per sample. More... | |
enum AVCodecID | av_get_pcm_codec (enum AVSampleFormat fmt, int be) |
Return the PCM codec associated with a sample format. More... | |
int | av_get_exact_bits_per_sample (enum AVCodecID codec_id) |
Return codec bits per sample. More... | |
int | av_get_audio_frame_duration (AVCodecContext *avctx, int frame_bytes) |
Return audio frame duration. More... | |
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 instead of an AVCodecContext. More... | |
attribute_deprecated void | av_register_bitstream_filter (AVBitStreamFilter *bsf) |
attribute_deprecated AVBitStreamFilterContext * | av_bitstream_filter_init (const char *name) |
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) |
attribute_deprecated void | av_bitstream_filter_close (AVBitStreamFilterContext *bsf) |
const attribute_deprecated AVBitStreamFilter * | av_bitstream_filter_next (const AVBitStreamFilter *f) |
const attribute_deprecated AVBitStreamFilter * | av_bsf_next (void **opaque) |
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 which will always be 0. More... | |
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. More... | |
unsigned int | av_xiphlacing (unsigned char *s, unsigned int v) |
Encode extradata length to a buffer. More... | |
attribute_deprecated void | av_register_hwaccel (AVHWAccel *hwaccel) |
Register the hardware accelerator hwaccel. More... | |
attribute_deprecated AVHWAccel * | av_hwaccel_next (const AVHWAccel *hwaccel) |
If hwaccel is NULL, returns the first registered hardware accelerator, if hwaccel is non-NULL, returns the next registered hardware accelerator after hwaccel, or NULL if hwaccel is the last one. More... | |
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. More... | |
int | avcodec_is_open (AVCodecContext *s) |
AVCPBProperties * | av_cpb_properties_alloc (size_t *size) |
Allocate a CPB properties structure and initialize its fields to default values. More... | |
Libavcodec external API header
Definition in file avcodec.h.
#define SLICE_FLAG_CODED_ORDER 0x0001 |
draw_horiz_band() is called in coded order instead of display
#define SLICE_FLAG_ALLOW_FIELD 0x0002 |
allow draw_horiz_band() with field slices (MPEG-2 field pics)
#define SLICE_FLAG_ALLOW_PLANE 0x0004 |
allow draw_horiz_band() with 1 component at a time (SVQ1)
#define FF_MB_DECISION_BITS 1 |
#define FF_BUG_MS 8192 |
#define FF_COMPLIANCE_VERY_STRICT 2 |
#define FF_COMPLIANCE_STRICT 1 |
#define FF_COMPLIANCE_UNOFFICIAL -1 |
#define FF_COMPLIANCE_EXPERIMENTAL -2 |
Allow nonstandardized experimental things.
#define AV_EF_CRCCHECK (1<<0) |
#define AV_EF_BITSTREAM (1<<1) |
#define AV_EF_BUFFER (1<<2) |
#define AV_EF_EXPLODE (1<<3) |
#define AV_EF_IGNORE_ERR (1<<15) |
#define AV_EF_CAREFUL (1<<16) |
#define AV_EF_COMPLIANT (1<<17) |
#define AV_EF_AGGRESSIVE (1<<18) |
#define FF_IDCT_NONE 24 /* Used by XvMC to extract IDCT coefficients with FF_IDCT_PERM_NONE */ |
#define FF_THREAD_FRAME 1 |
#define FF_THREAD_SLICE 2 |
#define FF_PROFILE_H264_CONSTRAINED_BASELINE (66|FF_PROFILE_H264_CONSTRAINED) |
#define FF_PROFILE_H264_HIGH_10_INTRA (110|FF_PROFILE_H264_INTRA) |
#define FF_PROFILE_H264_HIGH_422_INTRA (122|FF_PROFILE_H264_INTRA) |
#define FF_PROFILE_H264_HIGH_444_INTRA (244|FF_PROFILE_H264_INTRA) |
#define FF_PROFILE_MJPEG_HUFFMAN_EXTENDED_SEQUENTIAL_DCT 0xc1 |
#define FF_SUB_CHARENC_MODE_DO_NOTHING -1 |
#define FF_SUB_CHARENC_MODE_AUTOMATIC 0 |
#define FF_SUB_CHARENC_MODE_PRE_DECODER 1 |
#define FF_SUB_CHARENC_MODE_IGNORE 2 |
#define PARSER_FLAG_FETCHED_OFFSET 0x0004 |