|
FFmpeg
|
G.723.1 compatible decoder. More...
#include "libavutil/channel_layout.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "acelp_vectors.h"#include "avcodec.h"#include "celp_filters.h"#include "celp_math.h"#include "get_bits.h"#include "internal.h"#include "g723_1.h"Go to the source code of this file.
Macros | |
| #define | BITSTREAM_READER_LE |
| #define | CNG_RANDOM_SEED 12345 |
| #define | iir_filter(fir_coef, iir_coef, src, dest, width) |
| Perform IIR filtering. More... | |
| #define | OFFSET(x) offsetof(G723_1_Context, x) |
| #define | AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM |
Functions | |
| static av_cold int | g723_1_decode_init (AVCodecContext *avctx) |
| static int | unpack_bitstream (G723_1_Context *p, const uint8_t *buf, int buf_size) |
| Unpack the frame into parameters. More... | |
| static int16_t | square_root (unsigned val) |
| Bitexact implementation of sqrt(val/2). More... | |
| static void | gen_fcb_excitation (int16_t *vector, G723_1_Subframe *subfrm, enum Rate cur_rate, int pitch_lag, int index) |
| Generate fixed codebook excitation vector. More... | |
| static int | autocorr_max (const int16_t *buf, int offset, int *ccr_max, int pitch_lag, int length, int dir) |
| Estimate maximum auto-correlation around pitch lag. More... | |
| static void | comp_ppf_gains (int lag, PPFParam *ppf, enum Rate cur_rate, int tgt_eng, int ccr, int res_eng) |
| Calculate pitch postfilter optimal and scaling gains. More... | |
| static void | comp_ppf_coeff (G723_1_Context *p, int offset, int pitch_lag, PPFParam *ppf, enum Rate cur_rate) |
| Calculate pitch postfilter parameters. More... | |
| static int | comp_interp_index (G723_1_Context *p, int pitch_lag, int *exc_eng, int *scale) |
| Classify frames as voiced/unvoiced. More... | |
| static void | residual_interp (int16_t *buf, int16_t *out, int lag, int gain, int *rseed) |
| Perform residual interpolation based on frame classification. More... | |
| static void | gain_scale (G723_1_Context *p, int16_t *buf, int energy) |
| Adjust gain of postfiltered signal. More... | |
| static void | formant_postfilter (G723_1_Context *p, int16_t *lpc, int16_t *buf, int16_t *dst) |
| Perform formant filtering. More... | |
| static int | sid_gain_to_lsp_index (int gain) |
| static int | cng_rand (int *state, int base) |
| static int | estimate_sid_gain (G723_1_Context *p) |
| static void | generate_noise (G723_1_Context *p) |
| static int | g723_1_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
Variables | |
| static const AVOption | options [] |
| static const AVClass | g723_1dec_class |
| AVCodec | ff_g723_1_decoder |
G.723.1 compatible decoder.
Definition in file g723_1dec.c.
| #define BITSTREAM_READER_LE |
Definition at line 32 of file g723_1dec.c.
| #define CNG_RANDOM_SEED 12345 |
Definition at line 41 of file g723_1dec.c.
Referenced by g723_1_decode_frame(), and g723_1_decode_init().
Perform IIR filtering.
| fir_coef | FIR coefficients |
| iir_coef | IIR coefficients |
| src | source vector |
| dest | destination vector |
| width | width of the output, 16 bits(0) / 32 bits(1) |
Definition at line 507 of file g723_1dec.c.
Referenced by formant_postfilter().
| #define OFFSET | ( | x | ) | offsetof(G723_1_Context, x) |
Definition at line 1001 of file g723_1dec.c.
| #define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM |
Definition at line 1002 of file g723_1dec.c.
|
static |
Definition at line 43 of file g723_1dec.c.
|
static |
Unpack the frame into parameters.
| p | the context |
| buf | pointer to the input buffer |
| buf_size | size of the input buffer |
Definition at line 68 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Bitexact implementation of sqrt(val/2).
Definition at line 183 of file g723_1dec.c.
Referenced by comp_ppf_gains(), gain_scale(), and generate_noise().
|
static |
Generate fixed codebook excitation vector.
| vector | decoded excitation vector |
| subfrm | current subframe |
| cur_rate | current bitrate |
| pitch_lag | closed loop pitch lag |
| index | current subframe index |
Definition at line 199 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Estimate maximum auto-correlation around pitch lag.
| buf | buffer with offset applied |
| offset | offset of the excitation vector |
| ccr_max | pointer to the maximum auto-correlation |
| pitch_lag | decoded pitch lag |
| length | length of autocorrelation |
| dir | forward lag(1) / backward lag(-1) |
Definition at line 266 of file g723_1dec.c.
Referenced by comp_interp_index(), and comp_ppf_coeff().
|
static |
Calculate pitch postfilter optimal and scaling gains.
| lag | pitch postfilter forward/backward lag |
| ppf | pitch postfilter parameters |
| cur_rate | current bitrate |
| tgt_eng | target energy |
| ccr | cross-correlation |
| res_eng | residual energy |
Definition at line 299 of file g723_1dec.c.
Referenced by comp_ppf_coeff().
|
static |
Calculate pitch postfilter parameters.
| p | the context |
| offset | offset of the excitation vector |
| pitch_lag | decoded pitch lag |
| ppf | pitch postfilter parameters |
| cur_rate | current bitrate |
Definition at line 347 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Classify frames as voiced/unvoiced.
| p | the context |
| pitch_lag | decoded pitch_lag |
| exc_eng | excitation energy estimation |
| scale | scaling factor of exc_eng |
Definition at line 433 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Perform residual interpolation based on frame classification.
| buf | decoded excitation vector |
| out | output vector |
| lag | decoded pitch lag |
| gain | interpolated gain |
| rseed | seed for random number generator |
Definition at line 478 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Adjust gain of postfiltered signal.
| p | the context |
| buf | postfiltered output vector |
| energy | input energy coefficient |
Definition at line 532 of file g723_1dec.c.
Referenced by formant_postfilter().
|
static |
Perform formant filtering.
| p | the context |
| lpc | quantized lpc coefficients |
| buf | input buffer |
| dst | output buffer |
Definition at line 575 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Definition at line 642 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
inlinestatic |
Definition at line 652 of file g723_1dec.c.
Referenced by generate_noise().
|
static |
Definition at line 658 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Definition at line 712 of file g723_1dec.c.
Referenced by g723_1_decode_frame().
|
static |
Definition at line 837 of file g723_1dec.c.
|
static |
Definition at line 1004 of file g723_1dec.c.
|
static |
Definition at line 1011 of file g723_1dec.c.
| AVCodec ff_g723_1_decoder |
Definition at line 1018 of file g723_1dec.c.
1.8.6