Collaboration diagram for Frame parsing:

Data Structures

struct  AVCodecParserContext
 
struct  AVCodecParser
 

Typedefs

typedef struct AVCodecParserContext AVCodecParserContext
 
typedef struct AVCodecParser AVCodecParser
 

Functions

AVCodecParserav_parser_next (AVCodecParser *c)
 
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

Typedef Documentation

typedef struct AVCodecParser AVCodecParser

Function Documentation

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 169 of file parser.c.

Referenced by do_streamcopy().

AVCodecParserContext* av_parser_init ( int  codec_id)
AVCodecParser* av_parser_next ( AVCodecParser c)

Definition at line 30 of file parser.c.

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_sizeinput length, 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:

1 while(in_len){
2  len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
3  in_data, in_len,
4  pts, dts, pos);
5  in_data += len;
6  in_len -= len;
7 
8  if(size)
9  decode_frame(data, size);
10 }

Definition at line 112 of file parser.c.

Referenced by check_format(), decode(), and parse_packet().

void av_register_codec_parser ( AVCodecParser parser)

Definition at line 35 of file parser.c.