FFmpeg
Loading...
Searching...
No Matches
parser.c File Reference

Opus parser. More...

#include "libavutil/mem.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/parser.h"
#include "libavcodec/parser_internal.h"
#include "opus.h"
#include "parse.h"

Go to the source code of this file.

Data Structures

struct  OpusParserContext
 

Functions

static const uint8_t * parse_opus_ts_header (const uint8_t *start, int *payload_len, int buf_len)
 
static int set_frame_duration (AVCodecParserContext *ctx, AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int opus_find_frame_end (AVCodecParserContext *ctx, AVCodecContext *avctx, const uint8_t *buf, int buf_size, int *header_len)
 Find the end of the current frame in the bitstream.
 
static int opus_parse (AVCodecParserContext *ctx, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
 

Variables

const FFCodecParser ff_opus_parser
 

Detailed Description

Opus parser.

Determines the duration for each packet.

Definition in file parser.c.

Function Documentation

◆ parse_opus_ts_header()

static const uint8_t * parse_opus_ts_header ( const uint8_t * start,
int * payload_len,
int buf_len )
static

Definition at line 46 of file parser.c.

Referenced by opus_find_frame_end().

◆ set_frame_duration()

static int set_frame_duration ( AVCodecParserContext * ctx,
AVCodecContext * avctx,
const uint8_t * buf,
int buf_size )
static

Definition at line 84 of file parser.c.

Referenced by opus_find_frame_end(), and opus_parse().

◆ opus_find_frame_end()

static int opus_find_frame_end ( AVCodecParserContext * ctx,
AVCodecContext * avctx,
const uint8_t * buf,
int buf_size,
int * header_len )
static

Find the end of the current frame in the bitstream.

Returns
the position of the first byte of the next frame, or -1

Definition at line 103 of file parser.c.

Referenced by opus_parse().

◆ opus_parse()

static int opus_parse ( AVCodecParserContext * ctx,
AVCodecContext * avctx,
const uint8_t ** poutbuf,
int * poutbuf_size,
const uint8_t * buf,
int buf_size )
static

Definition at line 172 of file parser.c.

Variable Documentation

◆ ff_opus_parser

const FFCodecParser ff_opus_parser
Initial value:
= {
.priv_data_size = sizeof(OpusParserContext),
}
static int parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition apv_parser.c:92
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
@ AV_CODEC_ID_OPUS
Definition codec_id.h:513
static int opus_parse(AVCodecParserContext *ctx, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition parser.c:172
av_cold void ff_parse_close(AVCodecParserContext *s)
Definition parser.c:300
#define PARSER_CODEC_LIST(...)

Definition at line 219 of file parser.c.