Commit c27f49de authored by Jan Kiene's avatar Jan Kiene
Browse files

change from 32bit to 16bit integer for num_samples_per_channel vars

parent 100e75d3
Loading
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -1599,7 +1599,7 @@ void ivas_rend_closeCldfbRend(

ivas_error ivas_TD_RINGBUF_Open(
    TD_RINGBUF_HANDLE *ph,                                      /* i/o: Ring buffer handle                     */
    const uint32_t capacity_per_channel,                        /* i  : Number of samples stored per channel   */
    const uint16_t capacity_per_channel,                        /* i  : Number of samples stored per channel   */
    const uint16_t num_channels                                 /* i  : Number of channels                     */
);

@@ -1610,21 +1610,21 @@ void ivas_TD_RINGBUF_Close(
void ivas_TD_RINGBUF_Push( 
    TD_RINGBUF_HANDLE h,                                        /* i/o: Ring buffer handle                       */
    const float *data,                                          /* i  : Input data                               */
    const uint32_t num_samples_per_channel                      /* i  : Number of samples per channel to store   */
    const uint16_t num_samples_per_channel                      /* i  : Number of samples per channel to store   */
);

void ivas_TD_RINGBUF_PushZeros( 
    TD_RINGBUF_HANDLE h,                                        /* i/o: Ring buffer handle                      */
    const uint32_t num_samples_per_channel                      /* i  : Number of zeros per channel to store    */
    const uint16_t num_samples_per_channel                      /* i  : Number of zeros per channel to store    */
);

void ivas_TD_RINGBUF_Pop( 
    TD_RINGBUF_HANDLE h,                                        /* i/o: Ring buffer handle                      */
    float *data,                                                /* i  : Output data                             */
    const uint32_t num_samples_per_channel                      /* i  : Number of samples per channel to retrieve*/
    const uint16_t num_samples_per_channel                      /* i  : Number of samples per channel to retrieve*/
);

uint32_t ivas_TD_RINGBUF_Size(
uint16_t ivas_TD_RINGBUF_Size(
    const TD_RINGBUF_HANDLE h                                   /* i  : Ring buffer handle                      */
);

+10 −12
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@
*******************************************************************************************************/

#include <assert.h>
#include <stdint.h>
#include <stdlib.h>
#include "ivas_error_utils.h"
#include "ivas_prot_rend.h"
@@ -87,7 +88,7 @@ static int16_t ivas_td_ringbuf_has_space_for_num_samples(

ivas_error ivas_TD_RINGBUF_Open(
    TD_RINGBUF_HANDLE *ph,               /* i/o: Ring buffer handle                     */
    const uint32_t capacity_per_channel, /* i  : Number of samples stored per channel   */
    const uint16_t capacity_per_channel, /* i  : Number of samples stored per channel   */
    const uint16_t num_channels          /* i  : Number of channels                     */
)
{
@@ -166,11 +167,10 @@ void ivas_TD_RINGBUF_Close(
void ivas_TD_RINGBUF_Push(
    TD_RINGBUF_HANDLE h,                   /* i/o: Ring buffer handle                       */
    const float *data,                     /* i  : Input data                               */
    const uint32_t num_samples_per_channel /* i  : Number of samples per channel to store   */
    const uint16_t num_samples_per_channel /* i  : Number of samples per channel to store   */
)
{
    uint32_t s;
    uint16_t c;
    uint16_t c, s;

    assert( ivas_td_ringbuf_has_space_for_num_samples( h, num_samples_per_channel * h->num_channels ) );

@@ -205,11 +205,10 @@ void ivas_TD_RINGBUF_Push(

void ivas_TD_RINGBUF_PushZeros(
    TD_RINGBUF_HANDLE h,                   /* i/o: Ring buffer handle                   */
    const uint32_t num_samples_per_channel /* i  : Number of zeros per channel to store */
    const uint16_t num_samples_per_channel /* i  : Number of zeros per channel to store */
)
{
    uint32_t s;
    uint16_t c;
    uint16_t c, s;

    assert( ivas_td_ringbuf_has_space_for_num_samples( h, num_samples_per_channel * h->num_channels ) );
    if ( !num_samples_per_channel )
@@ -249,11 +248,10 @@ void ivas_TD_RINGBUF_PushZeros(
void ivas_TD_RINGBUF_Pop(
    TD_RINGBUF_HANDLE h,                   /* i/o: Ring buffer handle                           */
    float *data,                           /* i  : Output data                                  */
    const uint32_t num_samples_per_channel /* i  : Number of samples per channel to retrieve    */
    const uint16_t num_samples_per_channel /* i  : Number of samples per channel to retrieve    */
)
{
    uint32_t s;
    uint16_t c;
    uint16_t c, s;

    assert( ivas_td_ringbuf_total_size( h ) >= num_samples_per_channel * h->num_channels );

@@ -286,9 +284,9 @@ void ivas_TD_RINGBUF_Pop(
 * Returns number of buffered samples per channel.
 *---------------------------------------------------------------------*/

uint32_t ivas_TD_RINGBUF_Size(
uint16_t ivas_TD_RINGBUF_Size(
    const TD_RINGBUF_HANDLE h /* i  : Ring buffer handle */
)
{
    return ivas_td_ringbuf_total_size( h ) / (uint32_t) h->num_channels;
    return (uint16_t) ( ivas_td_ringbuf_total_size( h ) / (uint32_t) h->num_channels );
}
+4 −4
Original line number Diff line number Diff line
@@ -1480,9 +1480,9 @@ static ivas_error alignInputDelay(
{
    ivas_error error;
    input_ism *inputIsm;
    int16_t maxGlobalDelaySamples;
    int32_t numSamplesToPush, numSamplesToPop;
    uint32_t ringBufferSize, preDelay;
    int16_t maxGlobalDelaySamples, numSamplesToPop, numSamplesToPush;
    uint16_t ringBufferSize;
    uint32_t preDelay;

    maxGlobalDelaySamples = latencyNsToSamples( sampleRateOut, maxGlobalDelayNs );
    maxGlobalDelaySamples *= cldfb2tdSampleFact;
@@ -1521,7 +1521,7 @@ static ivas_error alignInputDelay(
        /* push in the new input data and pop to retrieve a complete input frame
         * if we are flushing the inputs, we don't push in any new data */
        numSamplesToPush = flushInputs ? 0 : inputAudio.config.numSamplesPerChannel;
        numSamplesToPop = flushInputs ? ivas_TD_RINGBUF_Size( inputBase->delayBuffer ) : (uint32_t) inputAudio.config.numSamplesPerChannel;
        numSamplesToPop = flushInputs ? ivas_TD_RINGBUF_Size( inputBase->delayBuffer ) : inputAudio.config.numSamplesPerChannel;

        ivas_TD_RINGBUF_Push( inputBase->delayBuffer, inputAudio.data, numSamplesToPush );
        ivas_TD_RINGBUF_Pop( inputBase->delayBuffer, inputBase->inputBuffer.data, numSamplesToPop );