#include "parser.h"
Go to the source code of this file.
Functions | |
AVCodecParser * | av_parser_next (AVCodecParser *p) |
void | av_register_codec_parser (AVCodecParser *parser) |
AVCodecParserContext * | av_parser_init (int codec_id) |
void | ff_fetch_timestamp (AVCodecParserContext *s, int off, int remove) |
Fetch timestamps for a specific byte within the current access unit. | |
int | av_parser_parse (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size, int64_t pts, int64_t dts) |
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. | |
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) |
int | ff_combine_frame (ParseContext *pc, int next, const uint8_t **buf, int *buf_size) |
combines the (truncated) bitstream to a complete frame | |
void | ff_parse_close (AVCodecParserContext *s) |
void | ff_parse1_close (AVCodecParserContext *s) |
int | ff_mpeg4video_split (AVCodecContext *avctx, const uint8_t *buf, int buf_size) |
Variables | |
static AVCodecParser * | av_first_parser = NULL |
int av_parser_change | ( | AVCodecParserContext * | s, | |
AVCodecContext * | avctx, | |||
uint8_t ** | poutbuf, | |||
int * | poutbuf_size, | |||
const uint8_t * | buf, | |||
int | buf_size, | |||
int | keyframe | |||
) |
Definition at line 208 of file parser.c.
Referenced by output_packet().
void av_parser_close | ( | AVCodecParserContext * | s | ) |
Definition at line 241 of file parser.c.
Referenced by av_bitstream_filter_close(), av_estimate_timings_from_pts(), avformat_free_context(), ff_free_parser_state(), ff_read_frame_flush(), and uninit().
AVCodecParserContext* av_parser_init | ( | int | codec_id | ) |
Definition at line 38 of file parser.c.
Referenced by av_read_frame_internal(), avformat_find_stream_info(), init(), and remove_extradata().
AVCodecParser* av_parser_next | ( | AVCodecParser * | p | ) |
int av_parser_parse | ( | AVCodecParserContext * | s, | |
AVCodecContext * | avctx, | |||
uint8_t ** | poutbuf, | |||
int * | poutbuf_size, | |||
const uint8_t * | buf, | |||
int | buf_size, | |||
int64_t | pts, | |||
int64_t | dts | |||
) |
buf | input | |
buf_size | input length, to signal EOF, this should be 0 (so that the last frame can be output) | |
pts | input presentation timestamp | |
dts | input decoding timestamp | |
poutbuf | will contain a pointer to the first byte of the output frame | |
poutbuf_size | will contain the length of the output frame |
while(in_len){ len = av_parser_parse(myparser, AVCodecContext, &data, &size, in_data, in_len, pts, dts); 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.
s | parser context. | |
avctx | codec context. | |
poutbuf | set to pointer to parsed buffer or NULL if not yet finished. | |
poutbuf_size | set to size of parsed buffer or zero if not yet finished. | |
buf | input buffer. | |
buf_size | input length, to signal EOF, this should be 0 (so that the last frame can be output). | |
pts | input presentation timestamp. | |
dts | input decoding timestamp. | |
pos | input byte position in stream. |
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); }
Definition at line 145 of file parser.c.
Referenced by av_parser_parse(), av_read_frame_internal(), and decode().
void av_register_codec_parser | ( | AVCodecParser * | parser | ) |
int ff_combine_frame | ( | ParseContext * | pc, | |
int | next, | |||
const uint8_t ** | buf, | |||
int * | buf_size | |||
) |
combines the (truncated) bitstream to a complete frame
Definition at line 257 of file parser.c.
Referenced by cavsvideo_parse(), dca_parse(), dnxhd_parse(), ff_aac_ac3_parse(), ff_h263_decode_frame(), h261_parse(), h263_parse(), h264_parse(), jpeg_parse(), latm_parse(), mlp_parse(), mpeg4video_parse(), mpeg_decode_frame(), mpegaudio_parse(), mpegvideo_parse(), pnm_parse(), and vc1_parse().
void ff_fetch_timestamp | ( | AVCodecParserContext * | s, | |
int | off, | |||
int | remove | |||
) |
Fetch timestamps for a specific byte within the current access unit.
off | byte position within the access unit | |
remove | Found timestamps will be removed if set to 1, kept if set to 0. |
Definition at line 84 of file parser.c.
Referenced by av_parser_parse2(), and ff_mpeg1_find_frame_end().
int ff_mpeg4video_split | ( | AVCodecContext * | avctx, | |
const uint8_t * | buf, | |||
int | buf_size | |||
) |
void ff_parse1_close | ( | AVCodecParserContext * | s | ) |
void ff_parse_close | ( | AVCodecParserContext * | s | ) |
AVCodecParser* av_first_parser = NULL [static] |