FFmpeg 5.1.4
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...
 
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...
 
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 2782 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

◆ av_parser_init()

AVCodecParserContext * av_parser_init ( int  codec_id)
Examples
decode_audio.c, and decode_video.c.

Referenced by main().

◆ 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){
len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
in_data, in_len,
pts, dts, pos);
in_data += len;
in_len -= len;
if(size)
decode_frame(data, size);
}
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.
main external API structure.
Definition: avcodec.h:389
static int64_t pts
Examples
decode_audio.c, and decode_video.c.

Referenced by main().

◆ av_parser_close()

void av_parser_close ( AVCodecParserContext s)
Examples
decode_audio.c, and decode_video.c.

Referenced by main().