FFmpeg
|
#include <inttypes.h>
#include <string.h>
#include "avcodec.h"
#include "libavutil/avutil.h"
#include "get_bits.h"
#include "dsputil.h"
#include "internal.h"
#include "g729.h"
#include "lsp.h"
#include "celp_math.h"
#include "celp_filters.h"
#include "acelp_filters.h"
#include "acelp_pitch_delay.h"
#include "acelp_vectors.h"
#include "g729data.h"
#include "g729postfilter.h"
Go to the source code of this file.
Data Structures | |
struct | G729FormatDescription |
struct | G729Context |
Macros | |
#define | LSFQ_MIN 40 |
minimum quantized LSF value (3.2.4) 0.005 in Q13 More... | |
#define | LSFQ_MAX 25681 |
maximum quantized LSF value (3.2.4) 3.135 in Q13 More... | |
#define | LSFQ_DIFF_MIN 321 |
minimum LSF distance (3.2.4) 0.0391 in Q13 More... | |
#define | INTERPOL_LEN 11 |
interpolation filter length More... | |
#define | SHARP_MIN 3277 |
minimum gain pitch value (3.8, Equation 47) 0.2 in (1.14) More... | |
#define | SHARP_MAX 13017 |
maximum gain pitch value (3.8, Equation 47) (EE) This does not comply with the specification. More... | |
#define | MR_ENERGY 1018156 |
MR_ENERGY (mean removed energy) = mean_energy + 10 * log10(2^26 * subframe_size) in (7.13) More... | |
#define | DECISION_NOISE 0 |
#define | DECISION_INTERMEDIATE 1 |
#define | DECISION_VOICE 2 |
Enumerations | |
enum | G729Formats { FORMAT_G729_8K = 0, FORMAT_G729D_6K4, FORMAT_COUNT } |
Functions | |
static uint16_t | g729_prng (uint16_t value) |
pseudo random number generator More... | |
static int | get_parity (uint8_t value) |
Get parity bit of bit 2..7. More... | |
static void | lsf_decode (int16_t *lsfq, int16_t *past_quantizer_outputs[MA_NP+1], int16_t ma_predictor, int16_t vq_1st, int16_t vq_2nd_low, int16_t vq_2nd_high) |
Decodes LSF (Line Spectral Frequencies) from L0-L3 (3.2.4). More... | |
static void | lsf_restore_from_previous (int16_t *lsfq, int16_t *past_quantizer_outputs[MA_NP+1], int ma_predictor_prev) |
Restores past LSP quantizer output using LSF from previous frame. More... | |
static void | g729d_get_new_exc (int16_t *out, const int16_t *in, const int16_t *fc_cur, int dstate, int gain_code, int subframe_size) |
Constructs new excitation signal and applies phase filter to it. More... | |
static int | g729d_onset_decision (int past_onset, const int16_t *past_gain_code) |
Makes decision about onset in current subframe. More... | |
static int16_t | g729d_voice_decision (int onset, int prev_voice_decision, const int16_t *past_gain_pitch) |
Makes decision about voice presence in current subframe. More... | |
static int32_t | scalarproduct_int16_c (const int16_t *v1, const int16_t *v2, int order) |
static av_cold int | decoder_init (AVCodecContext *avctx) |
static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
Variables | |
static const G729FormatDescription | format_g729_8k |
static const G729FormatDescription | format_g729d_6k4 |
AVCodec | ff_g729_decoder |
Macro Definition Documentation
#define DECISION_INTERMEDIATE 1 |
Definition at line 84 of file libavcodec/g729dec.c.
Referenced by g729d_voice_decision().
#define DECISION_NOISE 0 |
Definition at line 83 of file libavcodec/g729dec.c.
Referenced by g729d_voice_decision().
#define DECISION_VOICE 2 |
Definition at line 85 of file libavcodec/g729dec.c.
Referenced by decode_frame(), and g729d_voice_decision().
#define INTERPOL_LEN 11 |
interpolation filter length
Definition at line 61 of file libavcodec/g729dec.c.
Referenced by decode_frame(), and decoder_init().
#define LSFQ_DIFF_MIN 321 |
minimum LSF distance (3.2.4) 0.0391 in Q13
Definition at line 58 of file libavcodec/g729dec.c.
Referenced by ff_sipr_decode_frame_16k(), lsf_decode(), and lsf_decode_fp().
#define LSFQ_MAX 25681 |
maximum quantized LSF value (3.2.4) 3.135 in Q13
Definition at line 52 of file libavcodec/g729dec.c.
Referenced by lsf_decode().
#define LSFQ_MIN 40 |
minimum quantized LSF value (3.2.4) 0.005 in Q13
Definition at line 46 of file libavcodec/g729dec.c.
Referenced by lsf_decode().
#define MR_ENERGY 1018156 |
MR_ENERGY (mean removed energy) = mean_energy + 10 * log10(2^26 * subframe_size) in (7.13)
Definition at line 81 of file libavcodec/g729dec.c.
Referenced by decode_frame().
#define SHARP_MAX 13017 |
maximum gain pitch value (3.8, Equation 47) (EE) This does not comply with the specification.
Specification says about 0.8, which should be 13107 in (1.14), but reference C code uses 13017 (equals to 0.7945) instead of it.
Definition at line 76 of file libavcodec/g729dec.c.
Referenced by decode_frame().
#define SHARP_MIN 3277 |
minimum gain pitch value (3.8, Equation 47) 0.2 in (1.14)
Definition at line 67 of file libavcodec/g729dec.c.
Referenced by decode_frame().
Enumeration Type Documentation
enum G729Formats |
Enumerator | |
---|---|
FORMAT_G729_8K | |
FORMAT_G729D_6K4 | |
FORMAT_COUNT |
Definition at line 87 of file libavcodec/g729dec.c.
Function Documentation
|
static |
< frame erasure detected during decoding
< parity check failed
< switched MA predictor of LSP quantizer
< first stage vector of quantizer
< second stage lower vector of quantizer (size in bits)
< second stage higher vector of quantizer (size in bits)
< adaptive codebook index
< fixed-codebook vector pulse signs
< fixed-codebook indexes
< gain codebook (first stage) index
< gain codebook (second stage) index
Definition at line 390 of file libavcodec/g729dec.c.
|
static |
Definition at line 347 of file libavcodec/g729dec.c.
|
inlinestatic |
pseudo random number generator
Definition at line 178 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Constructs new excitation signal and applies phase filter to it.
- Parameters
-
[out] out constructed speech signal in original excitation signal fc_cur (2.13) original fixed-codebook vector gain_code (14.1) gain code subframe_size length of the subframe
Definition at line 266 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Makes decision about onset in current subframe.
- Parameters
-
past_onset decision result of previous subframe past_gain_code gain code of current and previous subframe
- Returns
- onset decision result for current subframe
Definition at line 294 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Makes decision about voice presence in current subframe.
- Parameters
-
onset onset level prev_voice_decision voice decision result from previous subframe past_gain_pitch pitch gain of current and previous subframes
- Returns
- voice decision result for current subframe
Definition at line 310 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
inlinestatic |
Get parity bit of bit 2..7.
Definition at line 186 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Decodes LSF (Line Spectral Frequencies) from L0-L3 (3.2.4).
- Parameters
-
[out] lsfq (2.13) quantized LSF coefficients [in,out] past_quantizer_outputs (2.13) quantizer outputs from previous frames ma_predictor switched MA predictor of LSP quantizer vq_1st first stage vector of quantizer vq_2nd_low second stage lower vector of LSP quantizer vq_2nd_high second stage higher vector of LSP quantizer
Definition at line 200 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Restores past LSP quantizer output using LSF from previous frame.
- Parameters
-
[in,out] lsfq (2.13) quantized LSF coefficients [in,out] past_quantizer_outputs (2.13) quantizer outputs from previous frames ma_predictor_prev MA predictor from previous frame lsfq_prev (2.13) quantized LSF coefficients from previous frame
Definition at line 241 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Definition at line 337 of file libavcodec/g729dec.c.
Referenced by decoder_init().
Variable Documentation
AVCodec ff_g729_decoder |
Definition at line 717 of file libavcodec/g729dec.c.
|
static |
Definition at line 157 of file libavcodec/g729dec.c.
Referenced by decode_frame().
|
static |
Definition at line 166 of file libavcodec/g729dec.c.
Referenced by decode_frame().
Generated on Mon Nov 18 2024 06:52:06 for FFmpeg by 1.8.11