FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
opus.c File Reference

Opus decoder/parser shared code. More...

#include <stdint.h>
#include "libavutil/error.h"
#include "libavutil/ffmath.h"
#include "opus.h"
#include "vorbis.h"

Go to the source code of this file.

Functions

static int xiph_lacing_16bit (const uint8_t **ptr, const uint8_t *end)
 Read a 1- or 2-byte frame length. More...
 
static int xiph_lacing_full (const uint8_t **ptr, const uint8_t *end)
 Read a multi-byte length (used for code 3 packet padding size) More...
 
int ff_opus_parse_packet (OpusPacket *pkt, const uint8_t *buf, int buf_size, int self_delimiting)
 Parse Opus packet info from raw packet data. More...
 
static int channel_reorder_vorbis (int nb_channels, int channel_idx)
 
static int channel_reorder_unknown (int nb_channels, int channel_idx)
 
av_cold int ff_opus_parse_extradata (AVCodecContext *avctx, OpusContext *s)
 

Variables

static const uint16_t opus_frame_duration [32]
 

Detailed Description

Opus decoder/parser shared code.

Definition in file opus.c.

Function Documentation

static int xiph_lacing_16bit ( const uint8_t **  ptr,
const uint8_t end 
)
inlinestatic

Read a 1- or 2-byte frame length.

Definition at line 50 of file opus.c.

Referenced by ff_opus_parse_packet().

static int xiph_lacing_full ( const uint8_t **  ptr,
const uint8_t end 
)
inlinestatic

Read a multi-byte length (used for code 3 packet padding size)

Definition at line 68 of file opus.c.

Referenced by ff_opus_parse_packet().

int ff_opus_parse_packet ( OpusPacket pkt,
const uint8_t buf,
int  buf_size,
int  self_delimiting 
)

Parse Opus packet info from raw packet data.

Definition at line 89 of file opus.c.

Referenced by opus_decode_packet(), and opus_find_frame_end().

static int channel_reorder_vorbis ( int  nb_channels,
int  channel_idx 
)
static

Definition at line 280 of file opus.c.

Referenced by ff_opus_parse_extradata().

static int channel_reorder_unknown ( int  nb_channels,
int  channel_idx 
)
static

Definition at line 285 of file opus.c.

Referenced by ff_opus_parse_extradata().

av_cold int ff_opus_parse_extradata ( AVCodecContext avctx,
OpusContext s 
)

Definition at line 290 of file opus.c.

Referenced by opus_decode_init(), and opus_find_frame_end().

Variable Documentation

const uint16_t opus_frame_duration[32]
static
Initial value:
= {
480, 960, 1920, 2880,
480, 960, 1920, 2880,
480, 960, 1920, 2880,
480, 960,
480, 960,
120, 240, 480, 960,
120, 240, 480, 960,
120, 240, 480, 960,
120, 240, 480, 960,
}

Definition at line 35 of file opus.c.

Referenced by ff_opus_parse_packet().