Loading lib_rend/ivas_td_ring_buffer_fx.c +10 −10 Original line number Diff line number Diff line Loading @@ -113,14 +113,15 @@ ivas_error ivas_TD_RINGBUF_Open( UWord32 capacity; // TODO: how to integer multiplication 32 x 16 ? capacity = L_mult0( capacity_per_channel, num_channels ); capacity = Mult_32_16( capacity_per_channel, num_channels ); h = malloc( sizeof( TD_RINGBUF_DATA ) ); IF( h == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Failed to allocate memory for TD ring buffer\n" ); } // TODO: move for pointer assignment? move32(); h->data = NULL; move32(); h->capacity = 0; Loading @@ -132,7 +133,7 @@ ivas_error ivas_TD_RINGBUF_Open( h->read_pos = 0; move16(); h->is_full = 0; // TODO: move for pointer assignment? move32(); *ph = h; h->data = malloc( capacity * sizeof( Word32 ) ); Loading Loading @@ -165,7 +166,8 @@ void ivas_TD_RINGBUF_Close( { return; } // TODO: move for pointer assignment? move32(); h = *ph; IF( h == NULL ) Loading Loading @@ -202,8 +204,7 @@ void ivas_TD_RINGBUF_Push( UWord32 s; UWord16 c; // TODO: integer multiplication for 32 * 16? assert( ivas_td_ringbuf_has_space_for_num_samples( h, L_mult0( num_samples_per_channel, h->num_channels ) ) ); assert( ivas_td_ringbuf_has_space_for_num_samples( h, Mult_32_16( num_samples_per_channel, h->num_channels ) ) ); FOR( s = 0; s < num_samples_per_channel; ++s ) { Loading @@ -215,7 +216,7 @@ void ivas_TD_RINGBUF_Push( shift_val = L_mult0( c, num_samples_per_channel ); shift_val = L_add( s, shift_val ); // TODO: move for pointer assignment? move32(); h->data[h->write_pos] = *( data + shift_val ); ++h->write_pos; Loading Loading @@ -251,8 +252,7 @@ void ivas_TD_RINGBUF_PushZeros( UWord32 s; UWord16 c; // TODO: integer multiplication for 32 * 16? assert( ivas_td_ringbuf_has_space_for_num_samples( h, L_mult0( num_samples_per_channel, h->num_channels ) ) ); assert( ivas_td_ringbuf_has_space_for_num_samples( h, Mult_32_16( num_samples_per_channel, h->num_channels ) ) ); IF( EQ_32( num_samples_per_channel, 0 ) ) { return; Loading @@ -262,7 +262,7 @@ void ivas_TD_RINGBUF_PushZeros( { FOR( c = 0; c < h->num_channels; ++c ) { // TODO: move for pointer assignment? move32(); h->data[h->write_pos] = 0; ++h->write_pos; Loading Loading
lib_rend/ivas_td_ring_buffer_fx.c +10 −10 Original line number Diff line number Diff line Loading @@ -113,14 +113,15 @@ ivas_error ivas_TD_RINGBUF_Open( UWord32 capacity; // TODO: how to integer multiplication 32 x 16 ? capacity = L_mult0( capacity_per_channel, num_channels ); capacity = Mult_32_16( capacity_per_channel, num_channels ); h = malloc( sizeof( TD_RINGBUF_DATA ) ); IF( h == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Failed to allocate memory for TD ring buffer\n" ); } // TODO: move for pointer assignment? move32(); h->data = NULL; move32(); h->capacity = 0; Loading @@ -132,7 +133,7 @@ ivas_error ivas_TD_RINGBUF_Open( h->read_pos = 0; move16(); h->is_full = 0; // TODO: move for pointer assignment? move32(); *ph = h; h->data = malloc( capacity * sizeof( Word32 ) ); Loading Loading @@ -165,7 +166,8 @@ void ivas_TD_RINGBUF_Close( { return; } // TODO: move for pointer assignment? move32(); h = *ph; IF( h == NULL ) Loading Loading @@ -202,8 +204,7 @@ void ivas_TD_RINGBUF_Push( UWord32 s; UWord16 c; // TODO: integer multiplication for 32 * 16? assert( ivas_td_ringbuf_has_space_for_num_samples( h, L_mult0( num_samples_per_channel, h->num_channels ) ) ); assert( ivas_td_ringbuf_has_space_for_num_samples( h, Mult_32_16( num_samples_per_channel, h->num_channels ) ) ); FOR( s = 0; s < num_samples_per_channel; ++s ) { Loading @@ -215,7 +216,7 @@ void ivas_TD_RINGBUF_Push( shift_val = L_mult0( c, num_samples_per_channel ); shift_val = L_add( s, shift_val ); // TODO: move for pointer assignment? move32(); h->data[h->write_pos] = *( data + shift_val ); ++h->write_pos; Loading Loading @@ -251,8 +252,7 @@ void ivas_TD_RINGBUF_PushZeros( UWord32 s; UWord16 c; // TODO: integer multiplication for 32 * 16? assert( ivas_td_ringbuf_has_space_for_num_samples( h, L_mult0( num_samples_per_channel, h->num_channels ) ) ); assert( ivas_td_ringbuf_has_space_for_num_samples( h, Mult_32_16( num_samples_per_channel, h->num_channels ) ) ); IF( EQ_32( num_samples_per_channel, 0 ) ) { return; Loading @@ -262,7 +262,7 @@ void ivas_TD_RINGBUF_PushZeros( { FOR( c = 0; c < h->num_channels; ++c ) { // TODO: move for pointer assignment? move32(); h->data[h->write_pos] = 0; ++h->write_pos; Loading