Opus decoder.
More...
Go to the source code of this file.
|
static int | get_silk_samplerate (int config) |
|
static int | opus_rc_init (OpusRangeCoder *rc, const uint8_t *data, int size) |
| Range decoder. More...
|
|
static void | opus_raw_init (OpusRangeCoder *rc, const uint8_t *rightend, unsigned int bytes) |
|
static void | opus_fade (float *out, const float *in1, const float *in2, const float *window, int len) |
|
static int | opus_flush_resample (OpusStreamContext *s, int nb_samples) |
|
static int | opus_init_resample (OpusStreamContext *s) |
|
static int | opus_decode_redundancy (OpusStreamContext *s, const uint8_t *data, int size) |
|
static int | opus_decode_frame (OpusStreamContext *s, const uint8_t *data, int size) |
|
static int | opus_decode_subpacket (OpusStreamContext *s, const uint8_t *buf, int buf_size, int nb_samples) |
|
static int | opus_decode_packet (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
|
static av_cold void | opus_decode_flush (AVCodecContext *ctx) |
|
static av_cold int | opus_decode_close (AVCodecContext *avctx) |
|
static av_cold int | opus_decode_init (AVCodecContext *avctx) |
|
Opus decoder.
- Author
- Andrew D'Addesio, Anton Khirnov
Codec homepage: http://opus-codec.org/ Specification: http://tools.ietf.org/html/rfc6716 Ogg Opus specification: https://tools.ietf.org/html/draft-ietf-codec-oggopus-03
Ogg-contained .opus files can be produced with opus-tools: http://git.xiph.org/?p=opus-tools.git
Definition in file opusdec.c.
static int get_silk_samplerate |
( |
int |
config | ) |
|
|
static |
static void opus_fade |
( |
float * |
out, |
|
|
const float * |
in1, |
|
|
const float * |
in2, |
|
|
const float * |
window, |
|
|
int |
len |
|
) |
| |
|
static |
const uint16_t silk_frame_duration_ms[16] |
|
static |
Initial value:= {
10, 20, 40, 60,
10, 20, 40, 60,
10, 20, 40, 60,
10, 20,
10, 20,
}
Definition at line 51 of file opusdec.c.
Referenced by opus_decode_frame().
const int silk_resample_delay[] |
|
static |
const uint8_t celt_band_end[] = { 13, 17, 17, 19, 21 } |
|
static |
Initial value:= {
.name = "opus",
}
static av_cold int opus_decode_close(AVCodecContext *avctx)
static av_cold int init(AVCodecContext *avctx)
#define CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
static av_cold int opus_decode_init(AVCodecContext *avctx)
#define CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static void flush(AVCodecContext *avctx)
static int opus_decode_packet(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
static av_cold void opus_decode_flush(AVCodecContext *ctx)
Definition at line 676 of file opusdec.c.