#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) |
| Fetches 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 200 of file parser.c.
Referenced by output_packet().
| void av_parser_close | ( | AVCodecParserContext * | s | ) |
Definition at line 233 of file parser.c.
Referenced by av_bitstream_filter_close(), av_close_input_stream(), av_estimate_timings_from_pts(), ff_free_parser_state(), and ff_read_frame_flush().
| AVCodecParserContext* av_parser_init | ( | int | codec_id | ) |
Definition at line 38 of file parser.c.
Referenced by av_find_stream_info(), av_read_frame_internal(), 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 143 of file parser.c.
Referenced by av_parser_parse(), and av_read_frame_internal().
| 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 249 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(), 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 | |||
| ) |
Fetches 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] |
1.5.8