FFmpeg
|
#include <math.h>
#include <stdint.h>
#include "libavutil/channel_layout.h"
#include "avcodec.h"
#include "get_bits.h"
#include "internal.h"
#include "twinvq.h"
#include "metasound_data.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 AVCodec | 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 134 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 155 of file twinvqdec.c.
Referenced by decode_ppc().
|
static |
Definition at line 179 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 211 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 239 of file twinvqdec.c.
Referenced by twinvq_read_bitstream().
|
static |
Definition at line 252 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 320 of file twinvqdec.c.
|
static |
Definition at line 33 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 42 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 51 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 60 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 69 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 78 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 87 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 96 of file twinvqdec.c.
Referenced by twinvq_decode_init().
|
static |
Definition at line 105 of file twinvqdec.c.
Referenced by twinvq_decode_init().
const AVCodec ff_twinvq_decoder |
Definition at line 417 of file twinvqdec.c.