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...
 
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 3346 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 98 of file parsers.c.

Referenced by av_parser_init().

◆ av_parser_next()

attribute_deprecated AVCodecParser* av_parser_next ( const AVCodecParser c)

Definition at line 88 of file parsers.c.

◆ av_register_codec_parser()

attribute_deprecated void av_register_codec_parser ( AVCodecParser parser)

Definition at line 109 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()

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 AVBitStreamFilter

Definition at line 189 of file parser.c.

◆ av_parser_close()

void av_parser_close ( AVCodecParserContext s)
data
const char data[16]
Definition: mxf.c:91
pts
static int64_t pts
Definition: transcode_aac.c:647
size
int size
Definition: twinvq_data.h:11134
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:526
decode_frame
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: 4xm.c:834
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