ra288.c File Reference
#include "avcodec.h"
#include "internal.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

Macros

#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

Macro Definition Documentation

#define BITSTREAM_READER_LE

Definition at line 24 of file ra288.c.

#define MAX_BACKWARD_FILTER_LEN   40

Definition at line 33 of file ra288.c.

Referenced by do_hybrid_window().

#define MAX_BACKWARD_FILTER_NONREC   35

Definition at line 34 of file ra288.c.

Referenced by do_hybrid_window().

#define MAX_BACKWARD_FILTER_ORDER   36

Definition at line 32 of file ra288.c.

Referenced by backward_filter(), and do_hybrid_window().

#define RA288_BLOCK_SIZE   5

Definition at line 36 of file ra288.c.

Referenced by ra288_decode_frame().

#define RA288_BLOCKS_PER_FRAME   32

Definition at line 37 of file ra288.c.

Referenced by ra288_decode_frame().

Function Documentation

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 158 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 74 of file ra288.c.

Referenced by do_hybrid_window().

static void decode ( RA288Context ractx,
float  gain,
int  cb_coef 
)
static

Definition at line 81 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.

Parameters
orderfilter order
ninput length
non_recnumber of non-recursive samples
outfilter output
histpointer to the input history of the filter
outpointer to the non-recursive part of the output
out2pointer to the recursive part of the output
windowpointer to the windowing function table

Definition at line 130 of file ra288.c.

Referenced by backward_filter().

static int ra288_decode_frame ( AVCodecContext avctx,
void data,
int *  got_frame_ptr,
AVPacket avpkt 
)
static

Definition at line 173 of file ra288.c.

static av_cold int ra288_decode_init ( AVCodecContext avctx)
static

Definition at line 62 of file ra288.c.

Variable Documentation

AVCodec ff_ra_288_decoder
Initial value:
{
.name = "real_288",
.priv_data_size = sizeof(RA288Context),
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("RealAudio 2.0 (28.8K)"),
}

Definition at line 224 of file ra288.c.