#include <inttypes.h>
#include <math.h>
#include <stdint.h>
#include "libavutil/channel_layout.h"
#include "libavutil/float_dsp.h"
#include "avcodec.h"
#include "get_bits.h"
#include "fft.h"
#include "internal.h"
#include "lsp.h"
#include "sinewin.h"
#include "twinvq.h"
#include "metasound_data.h"
Go to the source code of this file.
|
static void | add_peak (float period, int width, const float *shape, float ppc_gain, float *speech, int len) |
|
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 | metasound_read_bitstream (AVCodecContext *avctx, TwinVQContext *tctx, const uint8_t *buf, int buf_size) |
|
static av_cold int | metasound_decode_init (AVCodecContext *avctx) |
|
#define BITSTREAM_READER_LE |
static void add_peak |
( |
float |
period, |
|
|
int |
width, |
|
|
const float * |
shape, |
|
|
float |
ppc_gain, |
|
|
float * |
speech, |
|
|
int |
len |
|
) |
| |
|
static |
static void decode_ppc |
( |
TwinVQContext * |
tctx, |
|
|
int |
period_coef, |
|
|
int |
g_coef, |
|
|
const float * |
shape, |
|
|
float * |
speech |
|
) |
| |
|
static |
Initial value:= {
{
MKTAG(
'V',
'X',
'0',
'3'), 6, 1, 8000 },
{
MKTAG(
'V',
'X',
'0',
'4'), 12, 2, 8000 },
{
MKTAG(
'V',
'O',
'X',
'i'), 8, 1, 8000 },
{
MKTAG(
'V',
'O',
'X',
'j'), 10, 1, 11025 },
{
MKTAG(
'V',
'O',
'X',
'k'), 16, 1, 16000 },
{
MKTAG(
'V',
'O',
'X',
'L'), 24, 1, 22050 },
{
MKTAG(
'V',
'O',
'X',
'q'), 32, 1, 44100 },
{
MKTAG(
'V',
'O',
'X',
'r'), 40, 1, 44100 },
{
MKTAG(
'V',
'O',
'X',
's'), 48, 1, 44100 },
{
MKTAG(
'V',
'O',
'X',
't'), 16, 2, 8000 },
{
MKTAG(
'V',
'O',
'X',
'u'), 20, 2, 11025 },
{
MKTAG(
'V',
'O',
'X',
'v'), 32, 2, 16000 },
{
MKTAG(
'V',
'O',
'X',
'w'), 48, 2, 22050 },
{
MKTAG(
'V',
'O',
'X',
'x'), 64, 2, 44100 },
{
MKTAG(
'V',
'O',
'X',
'y'), 80, 2, 44100 },
{
MKTAG(
'V',
'O',
'X',
'z'), 96, 2, 44100 },
{ 0, 0, 0, 0 }
}
#define MKTAG(a, b, c, d)
Definition at line 249 of file metasound.c.
Referenced by metasound_decode_init().
Initial value:= {
.name = "metasound",
}
static av_cold int init(AVCodecContext *avctx)
av_cold int ff_twinvq_decode_close(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
int ff_twinvq_decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
AVSampleFormat
Audio sample formats.
static int decode(AVCodecContext *avctx, void *data, int *got_sub, AVPacket *avpkt)
static enum AVSampleFormat sample_fmts[]
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition at line 377 of file metasound.c.