#include "avcodec.h"
#include "get_bits.h"
#include "ra288.h"
#include "lpc.h"
#include "celp_math.h"
#include "celp_filters.h"
#include "dsputil.h"
Go to the source code of this file.
Data Structures | |
struct | RA288Context |
Defines | |
#define | BITSTREAM_READER_LE |
#define | MAX_BACKWARD_FILTER_ORDER 36 |
#define | MAX_BACKWARD_FILTER_LEN 40 |
#define | MAX_BACKWARD_FILTER_NONREC 35 |
#define | RA288_BLOCK_SIZE 5 |
#define | RA288_BLOCKS_PER_FRAME 32 |
Functions | |
static av_cold int | ra288_decode_init (AVCodecContext *avctx) |
static void | convolve (float *tgt, const float *src, int len, int n) |
static void | decode (RA288Context *ractx, float gain, int cb_coef) |
static void | do_hybrid_window (RA288Context *ractx, int order, int n, int non_rec, float *out, float *hist, float *out2, const float *window) |
Hybrid window filtering, see blocks 36 and 49 of the G.728 specification. | |
static void | backward_filter (RA288Context *ractx, float *hist, float *rec, const float *window, float *lpc, const float *tab, int order, int n, int non_rec, int move_size) |
Backward synthesis filter, find the LPC coefficients from past speech data. | |
static int | ra288_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) |
Variables | |
AVCodec | ff_ra_288_decoder |
#define MAX_BACKWARD_FILTER_LEN 40 |
Definition at line 32 of file ra288.c.
Referenced by do_hybrid_window().
#define MAX_BACKWARD_FILTER_NONREC 35 |
Definition at line 33 of file ra288.c.
Referenced by do_hybrid_window().
#define MAX_BACKWARD_FILTER_ORDER 36 |
Definition at line 31 of file ra288.c.
Referenced by backward_filter(), and do_hybrid_window().
#define RA288_BLOCK_SIZE 5 |
Definition at line 35 of file ra288.c.
Referenced by ra288_decode_frame().
#define RA288_BLOCKS_PER_FRAME 32 |
Definition at line 36 of file ra288.c.
Referenced by ra288_decode_frame().
static void backward_filter | ( | RA288Context * | ractx, |
float * | hist, | ||
float * | rec, | ||
const float * | window, | ||
float * | lpc, | ||
const float * | tab, | ||
int | order, | ||
int | n, | ||
int | non_rec, | ||
int | move_size | ||
) | [static] |
Backward synthesis filter, find the LPC coefficients from past speech data.
Definition at line 157 of file ra288.c.
Referenced by ra288_decode_frame().
static void convolve | ( | float * | tgt, |
const float * | src, | ||
int | len, | ||
int | n | ||
) | [static] |
Definition at line 73 of file ra288.c.
Referenced by do_hybrid_window().
static void decode | ( | RA288Context * | ractx, |
float | gain, | ||
int | cb_coef | ||
) | [static] |
Definition at line 80 of file ra288.c.
Referenced by ra288_decode_frame().
static void do_hybrid_window | ( | RA288Context * | ractx, |
int | order, | ||
int | n, | ||
int | non_rec, | ||
float * | out, | ||
float * | hist, | ||
float * | out2, | ||
const float * | window | ||
) | [static] |
Hybrid window filtering, see blocks 36 and 49 of the G.728 specification.
order | filter order |
n | input length |
non_rec | number of non-recursive samples |
out | filter output |
hist | pointer to the input history of the filter |
out | pointer to the non-recursive part of the output |
out2 | pointer to the recursive part of the output |
window | pointer to the windowing function table |
Definition at line 129 of file ra288.c.
Referenced by backward_filter().
static int ra288_decode_frame | ( | AVCodecContext * | avctx, |
void * | data, | ||
int * | got_frame_ptr, | ||
AVPacket * | avpkt | ||
) | [static] |
static av_cold int ra288_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
{ .name = "real_288", .type = AVMEDIA_TYPE_AUDIO, .id = CODEC_ID_RA_288, .priv_data_size = sizeof(RA288Context), .init = ra288_decode_init, .decode = ra288_decode_frame, .capabilities = CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"), }