Loading...
Searching...
No Matches
Frame parsing
libavcodec » Decoding

## 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 AVCodecParser * | av_parser_iterate (void **opaque)
| Iterate over all registered codec parsers.
AVCodecParserContext * | av_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.
void | av_parser_close (AVCodecParserContext *s)

## Detailed Description

## Enumeration Type Documentation

## AVPictureStructure

enum 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 2560 of file avcodec.h.

## Function Documentation

## av_parser_iterate()

const AVCodecParser * av_parser_iterate | ( | void ** | opaque | ) |

Iterate over all registered codec parsers.

Parameters

  opaque | a 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

  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 | buffer 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).
  pts | input presentation timestamp.
  dts | input decoding timestamp.
  pos | input 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);
}
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.
AVCodecContext
main external API structure.
Definition avcodec.h:431
pts
static int64_t pts
Definition transcode_aac.c:644

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