| FFmpeg
    | 
#include "libavutil/samplefmt.h"#include "libavutil/attributes.h"#include "libavutil/avutil.h"#include "libavutil/buffer.h"#include "libavutil/channel_layout.h"#include "libavutil/dict.h"#include "libavutil/frame.h"#include "libavutil/log.h"#include "libavutil/pixfmt.h"#include "libavutil/rational.h"#include "codec.h"#include "codec_id.h"#include "defs.h"#include "packet.h"#include "version_major.h"Go to the source code of this file.
| Data Structures | |
| struct | RcOverride | 
| struct | AVCodecContext | 
| main external API structure.  More... | |
| struct | AVHWAccel | 
| struct | AVSubtitleRect | 
| struct | AVSubtitle | 
| struct | AVCodecParserContext | 
| struct | AVCodecParser | 
| Macros | |
| #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_RECON_FRAME (1 << 6) | 
| Request the encoder to output reconstructed frames, i.e. frames that would be produced by decoding the encoded bitstream.  More... | |
| #define | AV_CODEC_FLAG_COPY_OPAQUE (1 << 7) | 
| #define | AV_CODEC_FLAG_FRAME_DURATION (1 << 8) | 
| Signal to the encoder that the values of AVFrame.duration are valid and should be used (typically for transferring them to output packets).  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_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_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_FLAG2_ICC_PROFILES (1U << 31) | 
| Generate/parse ICC profiles on encode/decode, as appropriate for the type of file.  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_CODEC_EXPORT_DATA_FILM_GRAIN (1 << 3) | 
| Decoding only.  More... | |
| #define | AV_CODEC_EXPORT_DATA_ENHANCEMENTS (1 << 4) | 
| 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 | AV_GET_ENCODE_BUFFER_FLAG_REF (1 << 0) | 
| The encoder will keep a reference to the packet and may reuse it later.  More... | |
| #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_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 | 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_COMPRESSION_DEFAULT -1 | 
| #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_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 | 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_DCT_NEON 7 | 
| #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_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_CODEC_PROPERTY_LOSSLESS 0x00000001 | 
| #define | FF_CODEC_PROPERTY_CLOSED_CAPTIONS 0x00000002 | 
| #define | FF_CODEC_PROPERTY_FILM_GRAIN 0x00000004 | 
| #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 | 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_HWACCEL_FLAG_UNSAFE_OUTPUT (1 << 3) | 
| Some hardware decoders (namely nvdec) can either output direct decoder surfaces, or make an on-device copy and return said copy.  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 | 
| Functions | |
| 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... | |
| 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... | |
| const AVClass * | avcodec_get_class (void) | 
| Get the AVClass for AVCodecContext.  More... | |
| const AVClass * | avcodec_get_subtitle_rect_class (void) | 
| Get the AVClass for AVSubtitleRect.  More... | |
| int | avcodec_parameters_from_context (struct 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 struct 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... | |
| 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... | |
| int | avcodec_default_get_encode_buffer (AVCodecContext *s, AVPacket *pkt, int flags) | 
| The default callback for AVCodecContext.get_encode_buffer().  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_decode_subtitle2 (AVCodecContext *avctx, AVSubtitle *sub, int *got_sub_ptr, const 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 or encoder (when the AV_CODEC_FLAG_RECON_FRAME flag is used).  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... | |
| int | avcodec_get_supported_config (const AVCodecContext *avctx, const AVCodec *codec, enum AVCodecConfig config, unsigned flags, const void **out_configs, int *out_num_configs) | 
| Retrieve a list of all supported values for a given configuration type.  More... | |
| const AVCodecParser * | av_parser_iterate (void **opaque) | 
| Iterate over all registered codec parsers.  More... | |
| 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... | |
| void | av_parser_close (AVCodecParserContext *s) | 
| int | avcodec_encode_subtitle (AVCodecContext *avctx, uint8_t *buf, int buf_size, const AVSubtitle *sub) | 
| 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... | |
| 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_default_get_format (struct AVCodecContext *s, const enum AVPixelFormat *fmt) | 
| void | avcodec_string (char *buf, int buf_size, AVCodecContext *enc, int encode) | 
| 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_audio_frame_duration (AVCodecContext *avctx, int frame_bytes) | 
| Return audio frame duration.  More... | |
| 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... | |
| int | avcodec_is_open (AVCodecContext *s) | 
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_THREAD_FRAME 1 | 
| #define FF_THREAD_SLICE 2 | 
| #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 | 
 1.8.17
 1.8.17