libavcodec/ra288.c File Reference

#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 Documentation

#define BITSTREAM_READER_LE

Definition at line 23 of file ra288.c.

#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().


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 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.

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:
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]

Definition at line 172 of file ra288.c.

static av_cold int ra288_decode_init ( AVCodecContext avctx  )  [static]

Definition at line 61 of file ra288.c.


Variable Documentation

Initial value:

 {
    .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)"),
}

Definition at line 223 of file ra288.c.


Generated on Fri Oct 26 02:47:58 2012 for FFmpeg by  doxygen 1.5.8