Opus decoder.
More...
Go to the source code of this file.
|
static int | get_silk_samplerate (int config) |
|
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, float **out, int out_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.
◆ OFFSET
◆ AD
◆ get_silk_samplerate()
static int get_silk_samplerate |
( |
int |
config | ) |
|
|
static |
◆ opus_fade()
static void opus_fade |
( |
float * |
out, |
|
|
const float * |
in1, |
|
|
const float * |
in2, |
|
|
const float * |
window, |
|
|
int |
len |
|
) |
| |
|
static |
◆ opus_flush_resample()
◆ opus_init_resample()
◆ opus_decode_redundancy()
◆ opus_decode_frame()
◆ opus_decode_subpacket()
◆ opus_decode_packet()
◆ opus_decode_flush()
◆ opus_decode_close()
◆ opus_decode_init()
◆ silk_frame_duration_ms
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 53 of file opusdec.c.
Referenced by opus_decode_frame().
◆ silk_resample_delay
const int silk_resample_delay[] |
|
static |
◆ opus_options
Initial value:= {
{
"apply_phase_inv",
"Apply intensity stereo phase inversion",
OFFSET(apply_phase_inv),
AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1,
AD },
}
Definition at line 717 of file opusdec.c.
◆ opus_class
Initial value:= {
.class_name = "Opus Decoder",
}
#define LIBAVUTIL_VERSION_INT
static const AVOption opus_options[]
const char * av_default_item_name(void *ptr)
Return the context name.
Definition at line 722 of file opusdec.c.
◆ ff_opus_decoder
Initial value:= {
.name = "opus",
}
static av_cold int opus_decode_close(AVCodecContext *avctx)
static void flush(AVCodecContext *avctx)
static av_cold int init(AVCodecContext *avctx)
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
static av_cold int opus_decode_init(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static const AVClass opus_class
static int opus_decode_packet(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
static av_cold void opus_decode_flush(AVCodecContext *ctx)
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition at line 729 of file opusdec.c.