Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.neomedia.codec.audio.silk
Class Silk_shell_coder

java.lang.Object
  extended by net.java.sip.communicator.impl.neomedia.codec.audio.silk.Silk_shell_coder

public class Silk_shell_coder
extends Object

shell coder; pulse-subframe length is hardcoded.

Author:
Jing Dai, Dingxin Xu

Constructor Summary
Silk_shell_coder()
           
 
Method Summary
(package private) static void combine_pulses(int[] out, int out_offset, int[] in, int in_offset, int len)
           
(package private) static void decode_split(int[] p_child1, int p_child1_offset, int[] p_child2, int p_child2_offset, SKP_Silk_range_coder_state sRC, int p, int[] shell_table)
           
(package private) static void encode_split(SKP_Silk_range_coder_state sRC, int p_child1, int p, int[] shell_table)
           
(package private) static void SKP_Silk_shell_decoder(int[] pulses0, int pulses0_offset, SKP_Silk_range_coder_state sRC, int pulses4)
          Shell decoder, operates on one shell code frame of 16 pulses.
(package private) static void SKP_Silk_shell_encoder(SKP_Silk_range_coder_state sRC, int[] pulses0, int pulses0_offset)
          Shell encoder, operates on one shell code frame of 16 pulses.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Silk_shell_coder

public Silk_shell_coder()
Method Detail

combine_pulses

static void combine_pulses(int[] out,
                           int out_offset,
                           int[] in,
                           int in_offset,
                           int len)
Parameters:
out - combined pulses vector [len]
out_offset - offset of valid data.
in - input vector [2 * len]
in_offset - offset of valid data.
len - number of OUTPUT samples

encode_split

static void encode_split(SKP_Silk_range_coder_state sRC,
                         int p_child1,
                         int p,
                         int[] shell_table)
Parameters:
sRC - compressor data structure
p_child1 - pulse amplitude of first child subframe
p - pulse amplitude of current subframe
shell_table - table of shell cdfs

decode_split

static void decode_split(int[] p_child1,
                         int p_child1_offset,
                         int[] p_child2,
                         int p_child2_offset,
                         SKP_Silk_range_coder_state sRC,
                         int p,
                         int[] shell_table)
Parameters:
p_child1 - pulse amplitude of first child subframe
p_child1_offset - offset of valid data.
p_child2 - pulse amplitude of second child subframe
p_child2_offset - offset of valid data.
sRC - compressor data structure
p - pulse amplitude of current subframe
shell_table - table of shell cdfs

SKP_Silk_shell_encoder

static void SKP_Silk_shell_encoder(SKP_Silk_range_coder_state sRC,
                                   int[] pulses0,
                                   int pulses0_offset)
Shell encoder, operates on one shell code frame of 16 pulses.

Parameters:
sRC - compressor data structure.
pulses0 - data: nonnegative pulse amplitudes.
pulses0_offset - valid data

SKP_Silk_shell_decoder

static void SKP_Silk_shell_decoder(int[] pulses0,
                                   int pulses0_offset,
                                   SKP_Silk_range_coder_state sRC,
                                   int pulses4)
Shell decoder, operates on one shell code frame of 16 pulses.

Parameters:
pulses0 - data: nonnegative pulse amplitudes
pulses0_offset - offset of valid data.
sRC - compressor data structure
pulses4 - number of pulses per pulse-subframe

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

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