FFmpeg
Loading...
Searching...
No Matches
speexdec.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/float_dsp.h"
#include "libavutil/intfloat.h"
#include "libavutil/mem.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "decode.h"
#include "get_bits.h"
#include "speexdata.h"

Go to the source code of this file.

Data Structures

struct  LtpParam
 
struct  SplitCodebookParams
 
struct  SpeexSubmode
 
struct  SpeexMode
 
struct  DecoderState
 
struct  StereoState
 
struct  SpeexContext
 

Macros

#define SPEEX_NB_MODES   3
 
#define SPEEX_INBAND_STEREO   9
 
#define QMF_ORDER   64
 
#define NB_ORDER   10
 
#define NB_FRAME_SIZE   160
 
#define NB_SUBMODES   9
 
#define NB_SUBMODE_BITS   4
 
#define SB_SUBMODE_BITS   3
 
#define NB_SUBFRAME_SIZE   40
 
#define NB_NB_SUBFRAMES   4
 
#define NB_PITCH_START   17
 
#define NB_PITCH_END   144
 
#define NB_DEC_BUFFER   (NB_FRAME_SIZE + 2 * NB_PITCH_END + NB_SUBFRAME_SIZE + 12)
 
#define SPEEX_MEMSET(dst, c, n)
 
#define SPEEX_COPY(dst, src, n)
 
#define LSP_LINEAR(i)
 
#define LSP_LINEAR_HIGH(i)
 
#define LSP_DIV_256(x)
 
#define LSP_DIV_512(x)
 
#define LSP_DIV_1024(x)
 
#define SUBMODE(x)
 
#define gain_3tap_to_1tap(g)
 
#define median3(a, b, c)
 

Typedefs

typedef void(* lsp_quant_func) (float *, float *, int, GetBitContext *)
 Quantizes LSPs.
 
typedef void(* lsp_unquant_func) (float *, int, GetBitContext *)
 Decodes quantized LSPs.
 
typedef int(* ltp_quant_func) (float *, float *, float *, float *, float *, float *, const void *, int, int, float, int, int, GetBitContext *, char *, float *, float *, int, int, int, float *)
 Long-term predictor quantization.
 
typedef void(* ltp_unquant_func) (float *, float *, int, int, float, const void *, int, int *, float *, GetBitContext *, int, int, float, int)
 Long-term un-quantize.
 
typedef void(* innovation_quant_func) (float *, float *, float *, float *, const void *, int, int, float *, float *, GetBitContext *, char *, int, int)
 Innovation quantization function.
 
typedef void(* innovation_unquant_func) (float *, const void *, int, GetBitContext *, uint32_t *)
 Innovation unquantization function.
 

Functions

static int speex_default_user_handler (GetBitContext *gb, void *state, void *data)
 
static void lsp_unquant_lbr (float *lsp, int order, GetBitContext *gb)
 
static void forced_pitch_unquant (float *exc, float *exc_out, int start, int end, float pitch_coef, const void *par, int nsf, int *pitch_val, float *gain_val, GetBitContext *gb, int count_lost, int subframe_offset, float last_pitch_gain, int cdbk_offset)
 
static float speex_rand (float std, uint32_t *seed)
 
static void noise_codebook_unquant (float *exc, const void *par, int nsf, GetBitContext *gb, uint32_t *seed)
 
static void split_cb_shape_sign_unquant (float *exc, const void *par, int nsf, GetBitContext *gb, uint32_t *seed)
 
static void pitch_unquant_3tap (float *exc, float *exc_out, int start, int end, float pitch_coef, const void *par, int nsf, int *pitch_val, float *gain_val, GetBitContext *gb, int count_lost, int subframe_offset, float last_pitch_gain, int cdbk_offset)
 
static void lsp_unquant_nb (float *lsp, int order, GetBitContext *gb)
 
static void lsp_unquant_high (float *lsp, int order, GetBitContext *gb)
 
static int nb_decode (AVCodecContext *, void *, GetBitContext *, float *, int packets_left)
 
static int sb_decode (AVCodecContext *, void *, GetBitContext *, float *, int packets_left)
 
static float compute_rms (const float *x, int len)
 
static void bw_lpc (float gamma, const float *lpc_in, float *lpc_out, int order)
 
static void iir_mem (const float *x, const float *den, float *y, int N, int ord, float *mem)
 
static void highpass (const float *x, float *y, int len, float *mem, int wide)
 
static int speex_std_stereo (GetBitContext *gb, void *state, void *data)
 
static int speex_inband_handler (GetBitContext *gb, void *state, StereoState *stereo)
 
static void sanitize_values (float *vec, float min_val, float max_val, int len)
 
static void signal_mul (const float *x, float *y, float scale, int len)
 
static float inner_prod (const float *x, const float *y, int len)
 
static int interp_pitch (const float *exc, float *interp, int pitch, int len)
 
static void multicomb (const float *exc, float *new_exc, float *ak, int p, int nsf, int pitch, int max_pitch, float comb_gain)
 
static void lsp_interpolate (const float *old_lsp, const float *new_lsp, float *lsp, int len, int subframe, int nb_subframes, float margin)
 
static void lsp_to_lpc (const float *freq, float *ak, int lpcrdr)
 
static void qmf_synth (const float *x1, const float *x2, const float *a, float *y, int N, int M, float *mem1, float *mem2)
 
static int decoder_init (SpeexContext *s, DecoderState *st, const SpeexMode *mode)
 
static int parse_speex_extradata (AVCodecContext *avctx, const uint8_t *extradata, int extradata_size)
 
static av_cold int speex_decode_init (AVCodecContext *avctx)
 
static void speex_decode_stereo (float *data, int frame_size, StereoState *stereo)
 
static int speex_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt)
 
static av_cold int speex_decode_close (AVCodecContext *avctx)
 

Variables

static const LtpParam ltp_params_vlbr = { gain_cdbk_lbr, 5, 0 }
 
static const LtpParam ltp_params_lbr = { gain_cdbk_lbr, 5, 7 }
 
static const LtpParam ltp_params_med = { gain_cdbk_lbr, 5, 7 }
 
static const LtpParam ltp_params_nb = { gain_cdbk_nb, 7, 7 }
 
static const SplitCodebookParams split_cb_nb_ulbr = { 20, 2, exc_20_32_table, 5, 0 }
 
static const SplitCodebookParams split_cb_nb_vlbr = { 10, 4, exc_10_16_table, 4, 0 }
 
static const SplitCodebookParams split_cb_nb_lbr = { 10, 4, exc_10_32_table, 5, 0 }
 
static const SplitCodebookParams split_cb_nb_med = { 8, 5, exc_8_128_table, 7, 0 }
 
static const SplitCodebookParams split_cb_nb = { 5, 8, exc_5_64_table, 6, 0 }
 
static const SplitCodebookParams split_cb_sb = { 5, 8, exc_5_256_table, 8, 0 }
 
static const SplitCodebookParams split_cb_high = { 8, 5, hexc_table, 7, 1 }
 
static const SplitCodebookParams split_cb_high_lbr = { 10, 4, hexc_10_32_table,5, 0 }
 
static const SpeexSubmode nb_submode1
 
static const SpeexSubmode nb_submode2
 
static const SpeexSubmode nb_submode3
 
static const SpeexSubmode nb_submode4
 
static const SpeexSubmode nb_submode5
 
static const SpeexSubmode nb_submode6
 
static const SpeexSubmode nb_submode7
 
static const SpeexSubmode nb_submode8
 
static const SpeexSubmode wb_submode1
 
static const SpeexSubmode wb_submode2
 
static const SpeexSubmode wb_submode3
 
static const SpeexSubmode wb_submode4
 
static const SpeexMode speex_modes [SPEEX_NB_MODES]
 
const FFCodec ff_speex_decoder
 

Macro Definition Documentation

◆ SPEEX_NB_MODES

#define SPEEX_NB_MODES   3

Definition at line 66 of file speexdec.c.

Referenced by parse_speex_extradata().

◆ SPEEX_INBAND_STEREO

#define SPEEX_INBAND_STEREO   9

Definition at line 67 of file speexdec.c.

Referenced by libspeex_decode_init(), and speex_inband_handler().

◆ QMF_ORDER

#define QMF_ORDER   64

Definition at line 69 of file speexdec.c.

Referenced by sb_decode().

◆ NB_ORDER

#define NB_ORDER   10

Definition at line 70 of file speexdec.c.

Referenced by lsp_to_lpc(), nb_decode(), and sb_decode().

◆ NB_FRAME_SIZE

#define NB_FRAME_SIZE   160

Definition at line 71 of file speexdec.c.

Referenced by nb_decode(), parse_speex_extradata(), and speex_decode_init().

◆ NB_SUBMODES

#define NB_SUBMODES   9

Definition at line 72 of file speexdec.c.

◆ NB_SUBMODE_BITS

#define NB_SUBMODE_BITS   4

Definition at line 73 of file speexdec.c.

◆ SB_SUBMODE_BITS

#define SB_SUBMODE_BITS   3

Definition at line 74 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ NB_SUBFRAME_SIZE

#define NB_SUBFRAME_SIZE   40

Definition at line 76 of file speexdec.c.

Referenced by multicomb(), and nb_decode().

◆ NB_NB_SUBFRAMES

#define NB_NB_SUBFRAMES   4

Definition at line 77 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ NB_PITCH_START

#define NB_PITCH_START   17

Definition at line 78 of file speexdec.c.

Referenced by nb_decode().

◆ NB_PITCH_END

#define NB_PITCH_END   144

Definition at line 79 of file speexdec.c.

Referenced by nb_decode().

◆ NB_DEC_BUFFER

#define NB_DEC_BUFFER   (NB_FRAME_SIZE + 2 * NB_PITCH_END + NB_SUBFRAME_SIZE + 12)

Definition at line 81 of file speexdec.c.

◆ SPEEX_MEMSET

#define SPEEX_MEMSET ( dst,
c,
n )
Value:
(memset((dst), (c), (n) * sizeof(*(dst))))
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
Definition dsp.h:87
static double c[64]

Definition at line 83 of file speexdec.c.

Referenced by nb_decode(), pitch_unquant_3tap(), and sb_decode().

◆ SPEEX_COPY

#define SPEEX_COPY ( dst,
src,
n )
Value:
(memcpy((dst), (src), (n) * sizeof(*(dst))))
#define src
Definition vp8dsp.c:248

Definition at line 84 of file speexdec.c.

Referenced by nb_decode().

◆ LSP_LINEAR

#define LSP_LINEAR ( i)
Value:
(.25f * (i) + .25f)
#define i(width, name, range_min, range_max)
Definition cbs_h264.c:63

Definition at line 86 of file speexdec.c.

Referenced by lsp_unquant_lbr(), and lsp_unquant_nb().

◆ LSP_LINEAR_HIGH

#define LSP_LINEAR_HIGH ( i)
Value:
(.3125f * (i) + .75f)

Definition at line 87 of file speexdec.c.

Referenced by lsp_unquant_high().

◆ LSP_DIV_256

#define LSP_DIV_256 ( x)
Value:
(0.00390625f * (x))

Definition at line 88 of file speexdec.c.

Referenced by lsp_unquant_high(), lsp_unquant_lbr(), and lsp_unquant_nb().

◆ LSP_DIV_512

#define LSP_DIV_512 ( x)
Value:
(0.001953125f * (x))

Definition at line 89 of file speexdec.c.

Referenced by lsp_unquant_high(), lsp_unquant_lbr(), and lsp_unquant_nb().

◆ LSP_DIV_1024

#define LSP_DIV_1024 ( x)
Value:
(0.0009765625f * (x))

Definition at line 90 of file speexdec.c.

Referenced by lsp_unquant_nb().

◆ SUBMODE

#define SUBMODE ( x)
Value:
st->submodes[st->submodeID]->x

Definition at line 351 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ gain_3tap_to_1tap

#define gain_3tap_to_1tap ( g)
Value:
(FFABS(g[1]) + (g[0] > 0.f ? g[0] : -.5f * g[0]) + (g[2] > 0.f ? g[2] : -.5f * g[2]))
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
Definition common.h:74
const char * g
Definition vf_curves.c:128

Definition at line 353 of file speexdec.c.

Referenced by nb_decode(), and pitch_unquant_3tap().

◆ median3

#define median3 ( a,
b,
c )
Value:
((a) < (b) ? ((b) < (c) ? (b) : ((a) < (c) ? (c) : (a))) \
: ((c) < (b) ? (b) : ((c) < (a) ? (c) : (a))))
int a
#define b
Definition input.c:43

Definition at line 617 of file speexdec.c.

Referenced by video_sync_process().

Typedef Documentation

◆ lsp_quant_func

typedef void(* lsp_quant_func) (float *, float *, int, GetBitContext *)

Quantizes LSPs.

Definition at line 121 of file speexdec.c.

◆ lsp_unquant_func

typedef void(* lsp_unquant_func) (float *, int, GetBitContext *)

Decodes quantized LSPs.

Definition at line 124 of file speexdec.c.

◆ ltp_quant_func

typedef int(* ltp_quant_func) (float *, float *, float *, float *, float *, float *, const void *, int, int, float, int, int, GetBitContext *, char *, float *, float *, int, int, int, float *)

Long-term predictor quantization.

Definition at line 127 of file speexdec.c.

◆ ltp_unquant_func

typedef void(* ltp_unquant_func) (float *, float *, int, int, float, const void *, int, int *, float *, GetBitContext *, int, int, float, int)

Long-term un-quantize.

Definition at line 134 of file speexdec.c.

◆ innovation_quant_func

typedef void(* innovation_quant_func) (float *, float *, float *, float *, const void *, int, int, float *, float *, GetBitContext *, char *, int, int)

Innovation quantization function.

Definition at line 140 of file speexdec.c.

◆ innovation_unquant_func

typedef void(* innovation_unquant_func) (float *, const void *, int, GetBitContext *, uint32_t *)

Innovation unquantization function.

Definition at line 146 of file speexdec.c.

Function Documentation

◆ speex_default_user_handler()

static int speex_default_user_handler ( GetBitContext * gb,
void * state,
void * data )
static

Definition at line 227 of file speexdec.c.

Referenced by nb_decode().

◆ lsp_unquant_lbr()

static void lsp_unquant_lbr ( float * lsp,
int order,
GetBitContext * gb )
static

Definition at line 264 of file speexdec.c.

◆ forced_pitch_unquant()

static void forced_pitch_unquant ( float * exc,
float * exc_out,
int start,
int end,
float pitch_coef,
const void * par,
int nsf,
int * pitch_val,
float * gain_val,
GetBitContext * gb,
int count_lost,
int subframe_offset,
float last_pitch_gain,
int cdbk_offset )
static

Definition at line 284 of file speexdec.c.

◆ speex_rand()

static float speex_rand ( float std,
uint32_t * seed )
inlinestatic

Definition at line 300 of file speexdec.c.

Referenced by nb_decode(), and noise_codebook_unquant().

◆ noise_codebook_unquant()

static void noise_codebook_unquant ( float * exc,
const void * par,
int nsf,
GetBitContext * gb,
uint32_t * seed )
static

Definition at line 314 of file speexdec.c.

◆ split_cb_shape_sign_unquant()

static void split_cb_shape_sign_unquant ( float * exc,
const void * par,
int nsf,
GetBitContext * gb,
uint32_t * seed )
static

Definition at line 321 of file speexdec.c.

◆ pitch_unquant_3tap()

static void pitch_unquant_3tap ( float * exc,
float * exc_out,
int start,
int end,
float pitch_coef,
const void * par,
int nsf,
int * pitch_val,
float * gain_val,
GetBitContext * gb,
int count_lost,
int subframe_offset,
float last_pitch_gain,
int cdbk_offset )
static

Definition at line 356 of file speexdec.c.

◆ lsp_unquant_nb()

static void lsp_unquant_nb ( float * lsp,
int order,
GetBitContext * gb )
static

Definition at line 412 of file speexdec.c.

◆ lsp_unquant_high()

static void lsp_unquant_high ( float * lsp,
int order,
GetBitContext * gb )
static

Definition at line 440 of file speexdec.c.

◆ nb_decode()

static int nb_decode ( AVCodecContext * avctx,
void * ptr_st,
GetBitContext * gb,
float * out,
int packets_left )
static

Definition at line 869 of file speexdec.c.

◆ sb_decode()

static int sb_decode ( AVCodecContext * avctx,
void * ptr_st,
GetBitContext * gb,
float * out,
int packets_left )
static

Definition at line 1220 of file speexdec.c.

◆ compute_rms()

static float compute_rms ( const float * x,
int len )
static

Definition at line 566 of file speexdec.c.

Referenced by compute_rms(), multicomb(), nb_decode(), and sb_decode().

◆ bw_lpc()

static void bw_lpc ( float gamma,
const float * lpc_in,
float * lpc_out,
int order )
static

Definition at line 577 of file speexdec.c.

Referenced by nb_decode().

◆ iir_mem()

static void iir_mem ( const float * x,
const float * den,
float * y,
int N,
int ord,
float * mem )
static

Definition at line 588 of file speexdec.c.

Referenced by nb_decode(), postfilter(), and sb_decode().

◆ highpass()

static void highpass ( const float * x,
float * y,
int len,
float * mem,
int wide )
static

Definition at line 601 of file speexdec.c.

◆ speex_std_stereo()

static int speex_std_stereo ( GetBitContext * gb,
void * state,
void * data )
static

Definition at line 621 of file speexdec.c.

Referenced by speex_inband_handler().

◆ speex_inband_handler()

static int speex_inband_handler ( GetBitContext * gb,
void * state,
StereoState * stereo )
static

Definition at line 632 of file speexdec.c.

Referenced by nb_decode().

◆ sanitize_values()

static void sanitize_values ( float * vec,
float min_val,
float max_val,
int len )
static

Definition at line 658 of file speexdec.c.

Referenced by nb_decode().

◆ signal_mul()

static void signal_mul ( const float * x,
float * y,
float scale,
int len )
static

Definition at line 668 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ inner_prod()

static float inner_prod ( const float * x,
const float * y,
int len )
static

Definition at line 674 of file speexdec.c.

Referenced by interp_pitch(), and multicomb().

◆ interp_pitch()

static int interp_pitch ( const float * exc,
float * interp,
int pitch,
int len )
static

Definition at line 694 of file speexdec.c.

Referenced by multicomb().

◆ multicomb()

static void multicomb ( const float * exc,
float * new_exc,
float * ak,
int p,
int nsf,
int pitch,
int max_pitch,
float comb_gain )
static

Definition at line 741 of file speexdec.c.

Referenced by nb_decode().

◆ lsp_interpolate()

static void lsp_interpolate ( const float * old_lsp,
const float * new_lsp,
float * lsp,
int len,
int subframe,
int nb_subframes,
float margin )
static

Definition at line 808 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ lsp_to_lpc()

static void lsp_to_lpc ( const float * freq,
float * ak,
int lpcrdr )
static

Definition at line 825 of file speexdec.c.

Referenced by nb_decode(), and sb_decode().

◆ qmf_synth()

static void qmf_synth ( const float * x1,
const float * x2,
const float * a,
float * y,
int N,
int M,
float * mem1,
float * mem2 )
static

Definition at line 1163 of file speexdec.c.

Referenced by sb_decode().

◆ decoder_init()

static int decoder_init ( SpeexContext * s,
DecoderState * st,
const SpeexMode * mode )
static

Definition at line 1368 of file speexdec.c.

Referenced by speex_decode_init().

◆ parse_speex_extradata()

static int parse_speex_extradata ( AVCodecContext * avctx,
const uint8_t * extradata,
int extradata_size )
static

Definition at line 1401 of file speexdec.c.

Referenced by speex_decode_init().

◆ speex_decode_init()

static av_cold int speex_decode_init ( AVCodecContext * avctx)
static

Definition at line 1443 of file speexdec.c.

◆ speex_decode_stereo()

static void speex_decode_stereo ( float * data,
int frame_size,
StereoState * stereo )
static

Definition at line 1523 of file speexdec.c.

Referenced by speex_decode_frame().

◆ speex_decode_frame()

static int speex_decode_frame ( AVCodecContext * avctx,
AVFrame * frame,
int * got_frame_ptr,
AVPacket * avpkt )
static

Definition at line 1543 of file speexdec.c.

◆ speex_decode_close()

static av_cold int speex_decode_close ( AVCodecContext * avctx)
static

Definition at line 1585 of file speexdec.c.

Variable Documentation

◆ ltp_params_vlbr

const LtpParam ltp_params_vlbr = { gain_cdbk_lbr, 5, 0 }
static

Definition at line 98 of file speexdec.c.

◆ ltp_params_lbr

const LtpParam ltp_params_lbr = { gain_cdbk_lbr, 5, 7 }
static

Definition at line 99 of file speexdec.c.

◆ ltp_params_med

const LtpParam ltp_params_med = { gain_cdbk_lbr, 5, 7 }
static

Definition at line 100 of file speexdec.c.

◆ ltp_params_nb

const LtpParam ltp_params_nb = { gain_cdbk_nb, 7, 7 }
static

Definition at line 101 of file speexdec.c.

◆ split_cb_nb_ulbr

const SplitCodebookParams split_cb_nb_ulbr = { 20, 2, exc_20_32_table, 5, 0 }
static

Definition at line 111 of file speexdec.c.

◆ split_cb_nb_vlbr

const SplitCodebookParams split_cb_nb_vlbr = { 10, 4, exc_10_16_table, 4, 0 }
static

Definition at line 112 of file speexdec.c.

◆ split_cb_nb_lbr

const SplitCodebookParams split_cb_nb_lbr = { 10, 4, exc_10_32_table, 5, 0 }
static

Definition at line 113 of file speexdec.c.

◆ split_cb_nb_med

const SplitCodebookParams split_cb_nb_med = { 8, 5, exc_8_128_table, 7, 0 }
static

Definition at line 114 of file speexdec.c.

◆ split_cb_nb

const SplitCodebookParams split_cb_nb = { 5, 8, exc_5_64_table, 6, 0 }
static

Definition at line 115 of file speexdec.c.

◆ split_cb_sb

const SplitCodebookParams split_cb_sb = { 5, 8, exc_5_256_table, 8, 0 }
static

Definition at line 116 of file speexdec.c.

◆ split_cb_high

const SplitCodebookParams split_cb_high = { 8, 5, hexc_table, 7, 1 }
static

Definition at line 117 of file speexdec.c.

◆ split_cb_high_lbr

const SplitCodebookParams split_cb_high_lbr = { 10, 4, hexc_10_32_table,5, 0 }
static

Definition at line 118 of file speexdec.c.

◆ nb_submode1

const SpeexSubmode nb_submode1
static
Initial value:
= {
}
#define NULL
Definition coverity.c:32
static void noise_codebook_unquant(float *exc, const void *par, int nsf, GetBitContext *gb, uint32_t *seed)
Definition speexdec.c:314
static void forced_pitch_unquant(float *exc, float *exc_out, int start, int end, float pitch_coef, const void *par, int nsf, int *pitch_val, float *gain_val, GetBitContext *gb, int count_lost, int subframe_offset, float last_pitch_gain, int cdbk_offset)
Definition speexdec.c:284
static void lsp_unquant_lbr(float *lsp, int order, GetBitContext *gb)
Definition speexdec.c:264

Definition at line 457 of file speexdec.c.

◆ nb_submode2

const SpeexSubmode nb_submode2
static
Initial value:
= {
}
static const LtpParam ltp_params_vlbr
Definition speexdec.c:98
static void pitch_unquant_3tap(float *exc, float *exc_out, int start, int end, float pitch_coef, const void *par, int nsf, int *pitch_val, float *gain_val, GetBitContext *gb, int count_lost, int subframe_offset, float last_pitch_gain, int cdbk_offset)
Definition speexdec.c:356
static void split_cb_shape_sign_unquant(float *exc, const void *par, int nsf, GetBitContext *gb, uint32_t *seed)
Definition speexdec.c:321
static const SplitCodebookParams split_cb_nb_vlbr
Definition speexdec.c:112

Definition at line 463 of file speexdec.c.

◆ nb_submode3

const SpeexSubmode nb_submode3
static
Initial value:
= {
}
static const LtpParam ltp_params_lbr
Definition speexdec.c:99
static const SplitCodebookParams split_cb_nb_lbr
Definition speexdec.c:113

Definition at line 469 of file speexdec.c.

◆ nb_submode4

const SpeexSubmode nb_submode4
static
Initial value:
= {
}
static const SplitCodebookParams split_cb_nb_med
Definition speexdec.c:114
static const LtpParam ltp_params_med
Definition speexdec.c:100

Definition at line 475 of file speexdec.c.

◆ nb_submode5

const SpeexSubmode nb_submode5
static
Initial value:
= {
}
static const SplitCodebookParams split_cb_nb
Definition speexdec.c:115
static const LtpParam ltp_params_nb
Definition speexdec.c:101
static void lsp_unquant_nb(float *lsp, int order, GetBitContext *gb)
Definition speexdec.c:412

Definition at line 481 of file speexdec.c.

◆ nb_submode6

const SpeexSubmode nb_submode6
static
Initial value:
= {
}
static const SplitCodebookParams split_cb_sb
Definition speexdec.c:116

Definition at line 487 of file speexdec.c.

◆ nb_submode7

const SpeexSubmode nb_submode7
static
Initial value:

Definition at line 493 of file speexdec.c.

◆ nb_submode8

const SpeexSubmode nb_submode8
static
Initial value:
= {
}
static const SplitCodebookParams split_cb_nb_ulbr
Definition speexdec.c:111

Definition at line 499 of file speexdec.c.

◆ wb_submode1

const SpeexSubmode wb_submode1
static
Initial value:
= {
0, 0, 1, 0, lsp_unquant_high, NULL, NULL,
NULL, NULL, -1.f
}
static void lsp_unquant_high(float *lsp, int order, GetBitContext *gb)
Definition speexdec.c:440

Definition at line 504 of file speexdec.c.

◆ wb_submode2

const SpeexSubmode wb_submode2
static
Initial value:
= {
0, 0, 1, 0, lsp_unquant_high, NULL, NULL,
}
static const SplitCodebookParams split_cb_high_lbr
Definition speexdec.c:118

Definition at line 509 of file speexdec.c.

◆ wb_submode3

const SpeexSubmode wb_submode3
static
Initial value:
= {
0, 0, 1, 0, lsp_unquant_high, NULL, NULL,
}
static const SplitCodebookParams split_cb_high
Definition speexdec.c:117

Definition at line 514 of file speexdec.c.

◆ wb_submode4

const SpeexSubmode wb_submode4
static
Initial value:

Definition at line 519 of file speexdec.c.

◆ speex_modes

const SpeexMode speex_modes[SPEEX_NB_MODES]
static

Definition at line 527 of file speexdec.c.

Referenced by sb_decode(), speex_decode_frame(), and speex_decode_init().

◆ ff_speex_decoder

const FFCodec ff_speex_decoder
Initial value:
= {
.p.name = "speex",
CODEC_LONG_NAME("Speex"),
.p.type = AVMEDIA_TYPE_AUDIO,
.priv_data_size = sizeof(SpeexContext),
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
}
#define FF_CODEC_DECODE_CB(func)
#define CODEC_LONG_NAME(str)
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
Definition codec.h:49
#define AV_CODEC_CAP_CHANNEL_CONF
Codec should fill in channel configuration and samplerate instead of container.
Definition codec.h:94
@ AV_CODEC_ID_SPEEX
Definition codec_id.h:488
@ AVMEDIA_TYPE_AUDIO
Definition avutil.h:201
static av_cold int speex_decode_close(AVCodecContext *avctx)
Definition speexdec.c:1585
static int speex_decode_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt)
Definition speexdec.c:1543
static av_cold int speex_decode_init(AVCodecContext *avctx)
Definition speexdec.c:1443

Definition at line 1592 of file speexdec.c.