Hi, We have G.728 speech compression algorithm for ADSP218x DSP, as per my understanging it works for only one channel. To make multiple channels work we need to use G.728 re-entry algorithm for ADSP218x DSP, where can I get this algorithm? earlier we bought G.728 speech compression algorithm from ADI Australia (SPA), the company is now closed. Thanks&Regards P.Krishna
G.728 re-entry algorithm
Started by ●July 12, 2006
Reply by ●July 12, 20062006-07-12
There are different ways to tackle this. One non-elegant method that does not require much expertise or access to the source code is just to find the RAM locations that hold the channel state globals the G728 module is using, then write your own 'swap' functions that just move the memory for the channel you want to run to the fixed RAM locations that are accessed internally by the G.728 module. E.g. example for encoder for(i=0;i<NCHANNELS;i++){ swap_channel_enc_in(i); G728_enc(); swap_channel_enc_out(i); } The effort required to figure out the appropriate minimium amount of RAM to swap is dependent on how well setup the module is and what documentation you have. However, even blind it is possible to figure it out by looking at the map/mem file and doing some experiments with the debugger. P.Krishna wrote:> Hi, > We have G.728 speech compression algorithm for ADSP218x DSP, as per my > understanging it works for only one channel. To make multiple channels > work we need to use G.728 re-entry algorithm for ADSP218x DSP, where can I > get this algorithm? earlier we bought G.728 speech compression algorithm > from ADI Australia (SPA), the company is now closed. > > Thanks&Regards > P.Krishna
Reply by ●July 12, 20062006-07-12
There are different ways to tackle this. One non-elegant method that does not require much expertise or access to the source code is just to find the RAM locations that hold the channel state globals the G728 module is using, then write your own 'swap' functions that just move the memory for the channel you want to run to the fixed RAM locations that are accessed internally by the G.728 module. E.g. example for encoder for(i=0;i<NCHANNELS;i++){ swap_channel_enc_in(i); G728_enc(); swap_channel_enc_out(i); } The effort required to figure out the appropriate minimium amount of RAM to swap is dependent on how well setup the module is and what documentation you have. However, even blind it is possible to figure it out by looking at the map/mem file and doing some experiments with the debugger. P.Krishna wrote:> Hi, > We have G.728 speech compression algorithm for ADSP218x DSP, as per my > understanging it works for only one channel. To make multiple channels > work we need to use G.728 re-entry algorithm for ADSP218x DSP, where can I > get this algorithm? earlier we bought G.728 speech compression algorithm > from ADI Australia (SPA), the company is now closed. > > Thanks&Regards > P.Krishna