FFmpeg
|
#include <math.h>
#include <stdint.h>
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "codec_internal.h"
#include "get_bits.h"
#include "twinvq.h"
#include "twinvq_data.h"
Go to the source code of this file.
Functions | |
static int | very_broken_op (int a, int b) |
Evaluate a * b / 400 rounded to the nearest integer. More... | |
static void | add_peak (int period, int width, const float *shape, float ppc_gain, float *speech, int len) |
Sum to data a periodic peak of a given period, width and shape. More... | |
static void | decode_ppc (TwinVQContext *tctx, int period_coef, int g_coef, const float *shape, float *speech) |
static void | dec_bark_env (TwinVQContext *tctx, const uint8_t *in, int use_hist, int ch, float *out, float gain, enum TwinVQFrameType ftype) |
static void | read_cb_data (TwinVQContext *tctx, GetBitContext *gb, uint8_t *dst, enum TwinVQFrameType ftype) |
static int | twinvq_read_bitstream (AVCodecContext *avctx, TwinVQContext *tctx, const uint8_t *buf, int buf_size) |
static av_cold int | twinvq_decode_init (AVCodecContext *avctx) |
Variables | |
static const TwinVQModeTab | mode_08_08 |
static const TwinVQModeTab | mode_11_08 |
static const TwinVQModeTab | mode_11_10 |
static const TwinVQModeTab | mode_16_16 |
static const TwinVQModeTab | mode_22_20 |
static const TwinVQModeTab | mode_22_24 |
static const TwinVQModeTab | mode_22_32 |
static const TwinVQModeTab | mode_44_40 |
static const TwinVQModeTab | mode_44_48 |
const FFCodec | ff_twinvq_decoder |
Evaluate a * b / 400 rounded to the nearest integer.
When, for example, a * b == 200 and the nearest integer is ill-defined, use a table to emulate the following broken float-based implementation used by the binary decoder:
Definition at line 133 of file twinvqdec.c.
Referenced by add_peak().
|
static |
Sum to data a periodic peak of a given period, width and shape.
period | the period of the peak divided by 400.0 |
Definition at line 154 of file twinvqdec.c.
Referenced by decode_ppc().
|
static |
Definition at line 178 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 210 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 238 of file twinvqdec.c.
Referenced by twinvq_read_bitstream().
|
static |
Definition at line 251 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 319 of file twinvqdec.c.
|
static |
Definition at line 32 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 41 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 50 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 59 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 68 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 77 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 86 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 95 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 104 of file twinvqdec.c.
Referenced by twinvq_decode_init().
const FFCodec ff_twinvq_decoder |
Definition at line 416 of file twinvqdec.c.