FFmpeg
Data Structures | Enumerations | Functions
Frame parsing

Data Structures

struct  AVCodecParserContext
 
struct  AVCodecParser
 

Enumerations

enum  AVPictureStructure { AV_PICTURE_STRUCTURE_UNKNOWN, AV_PICTURE_STRUCTURE_TOP_FIELD, AV_PICTURE_STRUCTURE_BOTTOM_FIELD, AV_PICTURE_STRUCTURE_FRAME }
 

Functions

const AVCodecParserav_parser_iterate (void **opaque)
 Iterate over all registered codec parsers. More...
 
attribute_deprecated AVCodecParserav_parser_next (const AVCodecParser *c)
 
attribute_deprecated void av_register_codec_parser (AVCodecParser *parser)
 
AVCodecParserContextav_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...
 
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)
 
void av_parser_close (AVCodecParserContext *s)
 

Detailed Description

Enumeration Type Documentation

◆ AVPictureStructure

Enumerator
AV_PICTURE_STRUCTURE_UNKNOWN 
AV_PICTURE_STRUCTURE_TOP_FIELD 
AV_PICTURE_STRUCTURE_BOTTOM_FIELD 
AV_PICTURE_STRUCTURE_FRAME 

Definition at line 3370 of file avcodec.h.

Function Documentation

◆ av_parser_iterate()

const AVCodecParser* av_parser_iterate ( void **  opaque)

Iterate over all registered codec parsers.

Parameters
opaquea pointer where libavcodec will store the iteration state. Must point to NULL to start the iteration.
Returns
the next registered codec parser or NULL when the iteration is finished

Definition at line 113 of file parsers.c.

Referenced by av_parser_init().

◆ av_parser_next()

attribute_deprecated AVCodecParser* av_parser_next ( const AVCodecParser c)

Definition at line 96 of file parsers.c.

◆ av_register_codec_parser()

attribute_deprecated void av_register_codec_parser ( AVCodecParser parser)

Definition at line 106 of file parsers.c.

◆ av_parser_init()

AVCodecParserContext* av_parser_init ( int  codec_id)

◆ av_parser_parse2()

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.

Parameters
sparser context.
avctxcodec context.
poutbufset to pointer to parsed buffer or NULL if not yet finished.
poutbuf_sizeset to size of parsed buffer or zero if not yet finished.
bufinput buffer.
buf_sizebuffer size in bytes without the padding. I.e. the full buffer size is assumed to be buf_size + AV_INPUT_BUFFER_PADDING_SIZE. To signal EOF, this should be 0 (so that the last frame can be output).
ptsinput presentation timestamp.
dtsinput decoding timestamp.
posinput byte position in stream.
Returns
the number of bytes of the input bitstream used.

Example:

while(in_len){
in_data, in_len,
pts, dts, pos);
in_data += len;
in_len -= len;
if(size)
}
Examples
decode_audio.c, and decode_video.c.

Definition at line 120 of file parser.c.

Referenced by dash_write_packet(), flac_read_timestamp(), LLVMFuzzerTestOneInput(), main(), old_flac_header(), and parse_packet().

◆ av_parser_change()

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 
)
Returns
0 if the output buffer is a subset of the input, 1 if it is allocated and must be freed
Deprecated:
Use dump_extradata, remove_extra or extract_extradata bitstream filters instead.

Definition at line 193 of file parser.c.

◆ av_parser_close()

void av_parser_close ( AVCodecParserContext s)
data
const char data[16]
Definition: mxf.c:142
pts
static int64_t pts
Definition: transcode_aac.c:652
size
int size
Definition: twinvq_data.h:10344
len
int len
Definition: vorbis_enc_data.h:452
pos
unsigned int pos
Definition: spdifenc.c:412
AVCodecContext
main external API structure.
Definition: avcodec.h:536
decode_frame
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: 4xm.c:835
av_parser_parse2
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.
Definition: parser.c:120