Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.neomedia.codec.audio.ilbc
Class ilbc_decoder

java.lang.Object
  extended by net.java.sip.communicator.impl.neomedia.codec.audio.ilbc.ilbc_decoder

 class ilbc_decoder
extends Object

Implements an iLBC decoder.

Author:
Jean Lorchat, Lyubomir Marinov

Field Summary
(package private)  int consPLICount
           
(package private)  float[] enh_buf
           
(package private)  float[] enh_period
           
(package private)  float[] hpomem
           
(package private)  int last_lag
           
(package private)  float[] lsfdeqold
           
(package private)  float[] old_syntdenum
           
(package private)  float per
           
(package private)  int prev_enh_pl
           
(package private)  int prevLag
           
(package private)  float[] prevLpc
           
(package private)  int prevPLI
           
(package private)  float[] prevResidual
           
(package private)  long seed
           
(package private)  float[] syntMem
           
(package private)  ilbc_ulp ULP_inst
           
(package private)  int use_enhancer
           
 
Constructor Summary
ilbc_decoder(int init_mode, int init_enhancer)
           
 
Method Summary
 void compCorr(float[] cc, float[] gc, float[] pm, float[] buffer, int lag, int bLen, int sRange)
           
 short decode(byte[] decoded, int decodedOffset, byte[] encoded, int encodedOffset, short mode)
           
 void Decode(float[] decresidual, int start, int idxForMax, int[] idxVec, float[] syntdenum, int[] cb_index, int[] gain_index, int[] extra_cb_index, int[] extra_gain_index, int state_first)
           
(package private)  void DecoderInterpolateLSF(float[] syntdenum, float[] weightdenum, float[] lsfdeq, int length)
           
 void doThePLC(float[] PLCresidual, float[] PLClpc, int PLI, float[] decresidual, float[] lpc, int lpc_idx, int inlag)
           
(package private)  void DownSample(float[] In, int in_idx, float[] Coef, int lengthIn, float[] state, float[] Out)
           
 void enh_upsample(float[] useq1, float[] seq1, int dim1, int hfl)
           
 void enhancer(float[] odata, int odata_idx, float[] idata, int idatal, int centerStartPos, float alpha0, float[] period, float[] plocs, int periodl)
           
(package private)  int enhancerInterface(float[] out, float[] in)
           
 void getsseq(float[] sseq, float[] idata, int idatal, int centerStartPos, float[] period, float[] plocs, int periodl, int hl)
           
 void hpOutput(float[] In, int len, float[] Out, float[] mem)
           
(package private)  void iLBC_decode(float[] decblock, bitstream bytes, int mode)
           
 void index_conv_dec(int[] index)
           
 void LSFinterpolate2a_dec(float[] a, float[] lsf1, float[] lsf2, int lsf2_idx, float coef, int length)
           
 void mycorr1(float[] corr, int corr_idx, float[] seq1, int seq1_idx, int dim1, float[] seq2, int seq2_idx, int dim2)
           
 int NearestNeighbor(float[] array, float value, int arlength)
           
 float refiner(float[] seg, int seg_idx, float[] idata, int idatal, int centerStartPos, float estSegPos, float period)
           
(package private)  void SimplelsfDEQ(float[] lsfdeq, int[] index, int lpc_n)
           
 void smath(float[] odata, int odata_idx, float[] sseq, int hl, float alpha0)
           
(package private)  void syntFilter(float[] Out, int Out_idx, float[] a, int a_idx, int len, float[] mem)
           
 float xCorrCoef(float[] target, int t_idx, float[] regressor, int r_idx, int subl)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

consPLICount

int consPLICount

prevPLI

int prevPLI

prevLag

int prevLag

last_lag

int last_lag

prev_enh_pl

int prev_enh_pl

per

float per

prevResidual

float[] prevResidual

seed

long seed

prevLpc

float[] prevLpc

ULP_inst

ilbc_ulp ULP_inst

syntMem

float[] syntMem

lsfdeqold

float[] lsfdeqold

old_syntdenum

float[] old_syntdenum

hpomem

float[] hpomem

use_enhancer

int use_enhancer

enh_buf

float[] enh_buf

enh_period

float[] enh_period
Constructor Detail

ilbc_decoder

public ilbc_decoder(int init_mode,
                    int init_enhancer)
Method Detail

syntFilter

void syntFilter(float[] Out,
                int Out_idx,
                float[] a,
                int a_idx,
                int len,
                float[] mem)

LSFinterpolate2a_dec

public void LSFinterpolate2a_dec(float[] a,
                                 float[] lsf1,
                                 float[] lsf2,
                                 int lsf2_idx,
                                 float coef,
                                 int length)

SimplelsfDEQ

void SimplelsfDEQ(float[] lsfdeq,
                  int[] index,
                  int lpc_n)

DecoderInterpolateLSF

void DecoderInterpolateLSF(float[] syntdenum,
                           float[] weightdenum,
                           float[] lsfdeq,
                           int length)

index_conv_dec

public void index_conv_dec(int[] index)

hpOutput

public void hpOutput(float[] In,
                     int len,
                     float[] Out,
                     float[] mem)

DownSample

void DownSample(float[] In,
                int in_idx,
                float[] Coef,
                int lengthIn,
                float[] state,
                float[] Out)

NearestNeighbor

public int NearestNeighbor(float[] array,
                           float value,
                           int arlength)

mycorr1

public void mycorr1(float[] corr,
                    int corr_idx,
                    float[] seq1,
                    int seq1_idx,
                    int dim1,
                    float[] seq2,
                    int seq2_idx,
                    int dim2)

enh_upsample

public void enh_upsample(float[] useq1,
                         float[] seq1,
                         int dim1,
                         int hfl)

refiner

public float refiner(float[] seg,
                     int seg_idx,
                     float[] idata,
                     int idatal,
                     int centerStartPos,
                     float estSegPos,
                     float period)
Parameters:
period - Currently not used

smath

public void smath(float[] odata,
                  int odata_idx,
                  float[] sseq,
                  int hl,
                  float alpha0)

getsseq

public void getsseq(float[] sseq,
                    float[] idata,
                    int idatal,
                    int centerStartPos,
                    float[] period,
                    float[] plocs,
                    int periodl,
                    int hl)

enhancer

public void enhancer(float[] odata,
                     int odata_idx,
                     float[] idata,
                     int idatal,
                     int centerStartPos,
                     float alpha0,
                     float[] period,
                     float[] plocs,
                     int periodl)

xCorrCoef

public float xCorrCoef(float[] target,
                       int t_idx,
                       float[] regressor,
                       int r_idx,
                       int subl)

enhancerInterface

int enhancerInterface(float[] out,
                      float[] in)

compCorr

public void compCorr(float[] cc,
                     float[] gc,
                     float[] pm,
                     float[] buffer,
                     int lag,
                     int bLen,
                     int sRange)

doThePLC

public void doThePLC(float[] PLCresidual,
                     float[] PLClpc,
                     int PLI,
                     float[] decresidual,
                     float[] lpc,
                     int lpc_idx,
                     int inlag)

decode

public short decode(byte[] decoded,
                    int decodedOffset,
                    byte[] encoded,
                    int encodedOffset,
                    short mode)

Decode

public void Decode(float[] decresidual,
                   int start,
                   int idxForMax,
                   int[] idxVec,
                   float[] syntdenum,
                   int[] cb_index,
                   int[] gain_index,
                   int[] extra_cb_index,
                   int[] extra_gain_index,
                   int state_first)

iLBC_decode

void iLBC_decode(float[] decblock,
                 bitstream bytes,
                 int mode)

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.