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...
 
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 

unknown

AV_PICTURE_STRUCTURE_TOP_FIELD 

coded as top field

AV_PICTURE_STRUCTURE_BOTTOM_FIELD 

coded as bottom field

AV_PICTURE_STRUCTURE_FRAME 

coded as frame

Definition at line 2757 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 87 of file parsers.c.

Referenced by av_parser_init().

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

Referenced by dash_write_packet(), flac_read_timestamp(), LLVMFuzzerTestOneInput(), main(), old_flac_header(), and parse_packet().

◆ av_parser_close()

void av_parser_close ( AVCodecParserContext s)
decode_frame
static int decode_frame(AVCodecContext *avctx, AVFrame *picture, int *got_frame, AVPacket *avpkt)
Definition: 4xm.c:836
data
const char data[16]
Definition: mxf.c:149
pts
static int64_t pts
Definition: transcode_aac.c:644
size
int size
Definition: twinvq_data.h:10344
len
int len
Definition: vorbis_enc_data.h:426
pos
unsigned int pos
Definition: spdifenc.c:414
AVCodecContext
main external API structure.
Definition: avcodec.h:451
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:115