Commit 9dad8491 authored by sagnowski's avatar sagnowski
Browse files

Update with changes from the float branch

parent ac1f3395
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -176,6 +176,7 @@
    <ClCompile Include="..\lib_rend\ivas_rom_rend_fx.c" />
    <ClCompile Include="..\lib_rend\ivas_shoebox_fx.c" />
    <ClCompile Include="..\lib_rend\ivas_td_decorr_fx.c" />
    <ClCompile Include="..\lib_rend\ivas_td_ring_buffer_fx.c" />
    <ClCompile Include="..\lib_rend\ivas_vbap_fx.c" />
    <ClCompile Include="..\lib_rend\lib_rend_fx.c" />
  </ItemGroup>
+0 −1
Original line number Diff line number Diff line
@@ -100,7 +100,6 @@
#define FIX_1377_HANDLE_ERROR_CODE                      /* Eri: Add missing error code handling from IVAS_REND_SetObjectIDs */
#define FIX_1053_REVERB_RECONFIGURATION
#define FIX_1119_SPLIT_RENDERING_VOIP                   /* FhG: Add split rendering support to decoder in VoIP mode */
#define FIX_1119_SPLIT_RENDERING_VOIP_TD_RINGBUF        // TODO(sgi): align with port 369, which actually adds the TD ringbuf: https://forge.3gpp.org/rep/sa4/audio/ivas-basop/-/merge_requests/2412/diffs#d6d51ef63eb9458b72d78958dfd5b73ac4bae1de
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define FIX_938_COMPILER_WARNING                        /* FhG: Fix compiler warning in ivas_mdct_core_reconstruct() */
+6 −6
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ static Word16 ivas_cldfb_ringbuf_IsEmpty(
 * Returns 1 if the ring buffer is full, or 0 otherwise.
 *---------------------------------------------------------------------*/

static Word32 ivas_cldfb_ringbuf_IsFull(
static Word16 ivas_cldfb_ringbuf_IsFull(
    ISAR_CLDFB_RINGBUF_HANDLE h )
{
    return h->is_full;
@@ -76,7 +76,7 @@ static Word32 ivas_cldfb_ringbuf_IsFull(
/*---------------------------------------------------------------------*
 * ivas_CLDFB_RINGBUF_Open()
 *
 * Allocate a ring buffer for CLDFB data with the given capacity of CLDFB columns.
 * Allocates a ring buffer for CLDFB data with the given capacity of CLDFB columns.
 * Each column is expected to contain at most CLDFB_NO_CHANNELS_MAX frequency bands.
 *
 * May return IVAS_ERR_FAILED_ALLOC on failed allocation, or IVAS_ERR_OK otherwise.
@@ -126,7 +126,7 @@ ivas_error ivas_CLDFB_RINGBUF_Open(
/*---------------------------------------------------------------------*
 * ivas_CLDFB_RINGBUF_Close()
 *
 * Dellocate CLDFB ring buffer. The given handle will be set to NULL.
 * Dellocates CLDFB ring buffer. The given handle will be set to NULL.
 *---------------------------------------------------------------------*/

void ivas_CLDFB_RINGBUF_Close(
@@ -164,7 +164,7 @@ void ivas_CLDFB_RINGBUF_Close(
/*---------------------------------------------------------------------*
 * ivas_CLDFB_RINGBUF_Push()
 *
 * Push a single column onto the back of the CLDFB ring buffer from real and imag arrays.
 * Pushes a single column onto the back of the CLDFB ring buffer from real and imag arrays.
 *---------------------------------------------------------------------*/

void ivas_CLDFB_RINGBUF_Push(
@@ -200,7 +200,7 @@ void ivas_CLDFB_RINGBUF_Push(
/*---------------------------------------------------------------------*
 * ivas_CLDFB_RINGBUF_Pop()
 *
 * Pop a single column from the front of the CLDFB ring buffer into real and imag arrays.
 * Pops a single column from the front of the CLDFB ring buffer into real and imag arrays.
 *---------------------------------------------------------------------*/

void ivas_CLDFB_RINGBUF_Pop(
@@ -263,7 +263,7 @@ static uint32_t ivas_cldfb_ringbuf_total_size(
/*---------------------------------------------------------------------*
 * ivas_CLDFB_RINGBUF_GetByIdx()
 *
 * Get pointers into a specific column in the CLDFB ring buffer based on given index.
 * Gets pointers into a specific column in the CLDFB ring buffer based on given index.
 * Non-negative indices access from the front of the ring buffer, negative indexes access
 * from the back, similar to Python arrays. For example:
 *
+11 −13
Original line number Diff line number Diff line
@@ -1594,7 +1594,6 @@ void ivas_rend_closeCldfbRend(
    CLDFB_REND_WRAPPER *pCldfbRend 
);

#ifdef FIX_1119_SPLIT_RENDERING_VOIP_TD_RINGBUF
/*----------------------------------------------------------------------------------*
 * Time domain ring buffer prototypes
 *----------------------------------------------------------------------------------*/
@@ -1652,10 +1651,9 @@ void ivas_TD_RINGBUF_Pop(
);
#endif

Word16 ivas_TD_RINGBUF_Size( // bit width?
Word16 ivas_TD_RINGBUF_Size(
    const TD_RINGBUF_HANDLE h                                   /* i  : Ring buffer handle                      */
);
#endif

/* clang-format on */

+3 −4
Original line number Diff line number Diff line
@@ -1432,22 +1432,21 @@ typedef struct

} CLDFB_REND_WRAPPER;

#ifdef FIX_1119_SPLIT_RENDERING_VOIP_TD_RINGBUF

/*----------------------------------------------------------------------------------*
 * Time domain ring buffer structure
 *----------------------------------------------------------------------------------*/

typedef struct
{
    Word32 *data; /* samples in interleaved layout */
    Word32 capacity;
    Word32 *data;     /* samples in interleaved layout, e.g. for channels A, B, C, samples are stored: A1, B1, C1, A2, B2, C2, ... */
    Word32 capacity;  /* max number of Word32 values that can be stored */
    Word16 num_channels;
    Word32 write_pos;
    Word32 read_pos;
    Word16 is_full;

} TD_RINGBUF_DATA, *TD_RINGBUF_HANDLE;
#endif

/*----------------------------------------------------------------------------------*
 * Limiter structure
Loading