| FFmpeg
    | 
#include "libavutil/channel_layout.h"#include "libavutil/mathematics.h"#include "libavutil/opt.h"#include "avcodec.h"#include "codec_internal.h"#include "decode.h"#include "get_bits.h"#include "evrcdata.h"#include "acelp_vectors.h"#include "lsp.h"Go to the source code of this file.
| Data Structures | |
| struct | EVRCAFrame | 
| EVRC-A unpacked data frame.  More... | |
| struct | EVRCContext | 
| struct | PfCoeff | 
| Macros | |
| #define | MIN_LSP_SEP (0.05 / (2.0 * M_PI)) | 
| #define | MIN_DELAY 20 | 
| #define | MAX_DELAY 120 | 
| #define | NB_SUBFRAMES 3 | 
| #define | SUBFRAME_SIZE 54 | 
| #define | FILTER_ORDER 10 | 
| #define | ACB_SIZE 128 | 
| #define | OFFSET(x) offsetof(EVRCContext, x) | 
| #define | AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM | 
| Enumerations | |
| enum | evrc_packet_rate { RATE_ERRS = -1, SILENCE, RATE_QUANT, RATE_QUARTER, RATE_HALF, RATE_FULL } | 
| Functions | |
| static void | unpack_frame (EVRCContext *e) | 
| Frame unpacking for RATE_FULL, RATE_HALF and RATE_QUANT.  More... | |
| static evrc_packet_rate | buf_size2bitrate (const int buf_size) | 
| static evrc_packet_rate | determine_bitrate (AVCodecContext *avctx, int *buf_size, const uint8_t **buf) | 
| Determine the bitrate from the frame size and/or the first byte of the frame.  More... | |
| static void | warn_insufficient_frame_quality (AVCodecContext *avctx, const char *message) | 
| static av_cold int | evrc_decode_init (AVCodecContext *avctx) | 
| Initialize the speech codec according to the specification.  More... | |
| static int | decode_lspf (EVRCContext *e) | 
| Decode the 10 vector quantized line spectral pair frequencies from the LSP transmission codes of any bitrate and check for badly received packets.  More... | |
| static void | interpolate_lsp (float *ilsp, const float *lsp, const float *prev, int index) | 
| static void | interpolate_delay (float *dst, float current, float prev, int index) | 
| static void | decode_predictor_coeffs (const float *ilspf, float *ilpc) | 
| static void | bl_intrp (EVRCContext *e, float *ex, float delay) | 
| static void | acb_excitation (EVRCContext *e, float *excitation, float gain, const float delay[3], int length) | 
| static void | decode_8_pulses_35bits (const uint16_t *fixed_index, float *cod) | 
| static void | decode_3_pulses_10bits (uint16_t fixed_index, float *cod) | 
| static void | fcb_excitation (EVRCContext *e, const uint16_t *codebook, float *excitation, float pitch_gain, int pitch_lag, int subframe_size) | 
| static void | synthesis_filter (const float *in, const float *filter_coeffs, float *memory, int buffer_length, float *samples) | 
| Synthesis of the decoder output signal.  More... | |
| static void | bandwidth_expansion (float *coeff, const float *inbuf, float gamma) | 
| static void | residual_filter (float *output, const float *input, const float *coef, float *memory, int length) | 
| static void | postfilter (EVRCContext *e, float *in, const float *coeff, float *out, int idx, const struct PfCoeff *pfc, int length) | 
| static void | frame_erasure (EVRCContext *e, float *samples) | 
| static int | evrc_decode_frame (AVCodecContext *avctx, AVFrame *frame, int *got_frame_ptr, AVPacket *avpkt) | 
| Variables | |
| static const struct PfCoeff | postfilter_coeffs [5] | 
| static const AVOption | options [] | 
| static const AVClass | evrcdec_class | 
| const FFCodec | ff_evrc_decoder | 
| #define OFFSET | ( | x | ) | offsetof(EVRCContext, x) | 
| #define AD AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_DECODING_PARAM | 
| enum evrc_packet_rate | 
| 
 | static | 
Frame unpacking for RATE_FULL, RATE_HALF and RATE_QUANT.
| e | the context | 
TIA/IS-127 Table 4.21-1
Definition at line 110 of file evrcdec.c.
Referenced by decode_row(), and evrc_decode_frame().
| 
 | static | 
Definition at line 167 of file evrcdec.c.
Referenced by determine_bitrate().
| 
 | static | 
Determine the bitrate from the frame size and/or the first byte of the frame.
| avctx | the AV codec context | 
| buf_size | length of the buffer | 
| buf | the buffer | 
Definition at line 190 of file evrcdec.c.
Referenced by evrc_decode_frame().
| 
 | static | 
Definition at line 221 of file evrcdec.c.
Referenced by evrc_decode_frame().
| 
 | static | 
| 
 | static | 
Decode the 10 vector quantized line spectral pair frequencies from the LSP transmission codes of any bitrate and check for badly received packets.
| e | the context | 
TIA/IS-127 5.2.1, 5.7.1
Definition at line 286 of file evrcdec.c.
Referenced by evrc_decode_frame().
| 
 | static | 
Definition at line 319 of file evrcdec.c.
Referenced by evrc_decode_frame(), and frame_erasure().
Definition at line 333 of file evrcdec.c.
Referenced by evrc_decode_frame(), and frame_erasure().
Definition at line 350 of file evrcdec.c.
Referenced by evrc_decode_frame(), and frame_erasure().
| 
 | static | 
Definition at line 380 of file evrcdec.c.
Referenced by acb_excitation().
| 
 | static | 
Definition at line 408 of file evrcdec.c.
Referenced by evrc_decode_frame(), and frame_erasure().
| 
 | static | 
Definition at line 435 of file evrcdec.c.
Referenced by fcb_excitation().
| 
 | static | 
Definition at line 460 of file evrcdec.c.
Referenced by fcb_excitation().
| 
 | static | 
Definition at line 480 of file evrcdec.c.
Referenced by evrc_decode_frame().
| 
 | static | 
Synthesis of the decoder output signal.
| [in] | in | input signal | 
| [in] | filter_coeffs | LPC coefficients | 
| [in/out] | memory synthesis filter memory | |
| buffer_length | amount of data to process | |
| [out] | samples | output samples | 
TIA/IS-127 5.2.3.15, 5.7.3.4
Definition at line 508 of file evrcdec.c.
Referenced by evrc_decode_frame(), frame_erasure(), and postfilter().
Definition at line 524 of file evrcdec.c.
Referenced by evrc_decode_frame(), and postfilter().
| 
 | static | 
Definition at line 535 of file evrcdec.c.
Referenced by postfilter().
| 
 | static | 
Definition at line 575 of file evrcdec.c.
Referenced by evrc_decode_frame(), and frame_erasure().
| 
 | static | 
Definition at line 656 of file evrcdec.c.
Referenced by decode_frame(), and evrc_decode_frame().
| 
 | static | 
| 
 | static | 
Referenced by evrc_decode_frame(), and frame_erasure().
| 
 | static | 
| const FFCodec ff_evrc_decoder | 
 1.8.17
 1.8.17