FFmpeg
4.0
|
#include <stdint.h>
#include "libavutil/audio_fifo.h"
#include "libavutil/float_dsp.h"
#include "libavutil/frame.h"
#include "libswresample/swresample.h"
#include "avcodec.h"
#include "opus_rc.h"
Go to the source code of this file.
Data Structures | |
struct | OpusPacket |
struct | OpusStreamContext |
struct | ChannelMap |
struct | OpusContext |
Macros | |
#define | MAX_FRAME_SIZE 1275 |
#define | MAX_FRAMES 48 |
#define | MAX_PACKET_DUR 5760 |
#define | CELT_SHORT_BLOCKSIZE 120 |
#define | CELT_OVERLAP CELT_SHORT_BLOCKSIZE |
#define | CELT_MAX_LOG_BLOCKS 3 |
#define | CELT_MAX_FRAME_SIZE (CELT_SHORT_BLOCKSIZE * (1 << CELT_MAX_LOG_BLOCKS)) |
#define | CELT_MAX_BANDS 21 |
#define | SILK_HISTORY 322 |
#define | SILK_MAX_LPC 16 |
#define | ROUND_MULL(a, b, s) (((MUL64(a, b) >> ((s) - 1)) + 1) >> 1) |
#define | ROUND_MUL16(a, b) ((MUL16(a, b) + 16384) >> 15) |
#define | OPUS_TS_HEADER 0x7FE0 |
#define | OPUS_TS_MASK 0xFFE0 |
Functions | |
int | ff_opus_parse_packet (OpusPacket *pkt, const uint8_t *buf, int buf_size, int self_delimited) |
Parse Opus packet info from raw packet data. More... | |
int | ff_opus_parse_extradata (AVCodecContext *avctx, OpusContext *s) |
int | ff_silk_init (AVCodecContext *avctx, SilkContext **ps, int output_channels) |
void | ff_silk_free (SilkContext **ps) |
void | ff_silk_flush (SilkContext *s) |
int | ff_silk_decode_superframe (SilkContext *s, OpusRangeCoder *rc, float *output[2], enum OpusBandwidth bandwidth, int coded_channels, int duration_ms) |
Decode the LP layer of one Opus frame (which may correspond to several SILK frames). More... | |
void | ff_celt_quant_bands (CeltFrame *f, OpusRangeCoder *rc) |
void | ff_celt_bitalloc (CeltFrame *f, OpusRangeCoder *rc, int encode) |
Variables | |
static const uint8_t | opus_default_extradata [30] |
#define MAX_PACKET_DUR 5760 |
Definition at line 39 of file opus.h.
Referenced by ff_opus_parse_packet().
#define CELT_SHORT_BLOCKSIZE 120 |
Definition at line 41 of file opus.h.
Referenced by ff_celt_decode_frame().
#define CELT_OVERLAP CELT_SHORT_BLOCKSIZE |
Definition at line 42 of file opus.h.
Referenced by celt_apply_preemph_filter(), celt_frame_mdct(), celt_postfilter(), celt_postfilter_apply_transition(), ff_celt_decode_frame(), ff_opus_psy_celt_frame_init(), and ff_opus_psy_celt_frame_process().
#define CELT_MAX_LOG_BLOCKS 3 |
Definition at line 43 of file opus.h.
Referenced by ff_celt_decode_frame().
#define CELT_MAX_FRAME_SIZE (CELT_SHORT_BLOCKSIZE * (1 << CELT_MAX_LOG_BLOCKS)) |
#define CELT_MAX_BANDS 21 |
Definition at line 45 of file opus.h.
Referenced by bands_dist(), celt_decode_coarse_energy(), celt_encode_frame(), celt_frame_mdct(), celt_gauge_psy_weight(), celt_search_for_intensity(), celt_search_for_tf(), ff_celt_bitalloc(), ff_celt_decode_frame(), ff_celt_flush(), ff_opus_psy_celt_frame_init(), ff_opus_psy_init(), opus_encode_init(), quant_band_template(), and step_collect_psy_metrics().
#define SILK_HISTORY 322 |
Definition at line 47 of file opus.h.
Referenced by ff_silk_decode_superframe(), silk_decode_frame(), and silk_unmix_ms().
Definition at line 50 of file opus.h.
Referenced by silk_is_lpc_stable(), silk_lsf2lpc(), and silk_lsp2poly().
Definition at line 51 of file opus.h.
Referenced by celt_cos(), celt_log2tan(), and quant_band_template().
#define OPUS_TS_HEADER 0x7FE0 |
Definition at line 53 of file opus.h.
Referenced by opus_find_frame_end().
#define OPUS_TS_MASK 0xFFE0 |
Definition at line 54 of file opus.h.
Referenced by opus_find_frame_end().
enum OpusMode |
enum OpusBandwidth |
int ff_opus_parse_packet | ( | OpusPacket * | pkt, |
const uint8_t * | buf, | ||
int | buf_size, | ||
int | self_delimited | ||
) |
Parse Opus packet info from raw packet data.
Definition at line 90 of file opus.c.
Referenced by opus_decode_packet(), and opus_find_frame_end().
int ff_opus_parse_extradata | ( | AVCodecContext * | avctx, |
OpusContext * | s | ||
) |
Definition at line 291 of file opus.c.
Referenced by opus_decode_init(), and opus_find_frame_end().
int ff_silk_init | ( | AVCodecContext * | avctx, |
SilkContext ** | ps, | ||
int | output_channels | ||
) |
Definition at line 858 of file opus_silk.c.
Referenced by opus_decode_init().
void ff_silk_free | ( | SilkContext ** | ps | ) |
Definition at line 845 of file opus_silk.c.
Referenced by opus_decode_close().
void ff_silk_flush | ( | SilkContext * | s | ) |
Definition at line 850 of file opus_silk.c.
Referenced by ff_silk_init(), opus_decode_flush(), and opus_decode_frame().
int ff_silk_decode_superframe | ( | SilkContext * | s, |
OpusRangeCoder * | rc, | ||
float * | output[2], | ||
enum OpusBandwidth | bandwidth, | ||
int | coded_channels, | ||
int | duration_ms | ||
) |
Decode the LP layer of one Opus frame (which may correspond to several SILK frames).
Definition at line 781 of file opus_silk.c.
Referenced by opus_decode_frame().
void ff_celt_quant_bands | ( | CeltFrame * | f, |
OpusRangeCoder * | rc | ||
) |
Definition at line 443 of file opus.c.
Referenced by celt_encode_frame(), and ff_celt_decode_frame().
void ff_celt_bitalloc | ( | CeltFrame * | f, |
OpusRangeCoder * | rc, | ||
int | encode | ||
) |
Definition at line 552 of file opus.c.
Referenced by bands_dist(), celt_encode_frame(), and ff_celt_decode_frame().
|
static |
Definition at line 56 of file opus.h.
Referenced by ff_opus_parse_extradata(), and ff_parse_mpeg2_descriptor().