Commit e5f1900f authored by vaclav's avatar vaclav
Browse files

Merge branch...

Merge branch '731-etx-output-for-omasa-and-osba-api_5ms-wrong-implementation-in-decodeg192' into 'main'

[non-BE] API_5MS fixes

See merge request !1021
parents ad4aa694 7d03437d
Loading
Loading
Loading
Loading
Loading
+130 −194

File changed.

Preview size limit exceeded, changes collapsed.

+195 −161

File changed.

Preview size limit exceeded, changes collapsed.

+8 −3
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ ivas_error IVAS_DEC_GetSamples(
ivas_error IVAS_DEC_GetSplitBinauralBitstream(
    IVAS_DEC_HANDLE hIvasDec,                   /* i/o: IVAS decoder handle                                                     */
    void *pcmBuf_out,                           /* o  : output synthesis signal for BINAURAL_SPLIT_PCM                          */
    IVAS_SPLIT_REND_BITS_HANDLE hSplitRendBits, /* o  : bitstream output for split rendering mode                               */
    uint8_t *splitRendBitsBuf,                  /* o  : output split rendering bits                                             */
    int16_t *nOutSamples,                       /* o  : number of samples per channel written to output buffer                  */
    bool *needNewFrame                          /* o  : indication that the decoder needs a new frame                           */
);
@@ -309,6 +309,11 @@ ivas_error IVAS_DEC_EnableSplitRendering(
);
#endif

ivas_error IVAS_DEC_Set5msFlag(
    IVAS_DEC_HANDLE hIvasDec,                   /* i/o: IVAS decoder handle                                                     */
    const int16_t enable5ms                     /* i  : 5ms flag                                                                */
);

ivas_error IVAS_DEC_Get5msFlag(
    IVAS_DEC_HANDLE hIvasDec,                   /* i/o: IVAS decoder handle                                                     */
    int16_t *enable5ms                          /* o  : 5ms flag                                                                */
+15 −9
Original line number Diff line number Diff line
@@ -1359,6 +1359,11 @@ ivas_error ivas_orient_trk_Process(
);

#ifdef SPLIT_REND_WITH_HEAD_ROT
void ivas_set_split_rend_ht_setup(
    IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData 
);

/*----------------------------------------------------------------------------------*
 * Split binaural renderer prototypes
 *----------------------------------------------------------------------------------*/
@@ -1372,7 +1377,7 @@ ivas_error ivas_set_split_rend_setup(
    IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, 
    IVAS_SPLIT_REND_CONFIG_DATA *hSplitBinConfig, 
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData,       /* i/o: combined orientation handle    */
    IVAS_SPLIT_REND_BITS_HANDLE hSplitRendBits
    uint8_t *splitRendBitsBuf
);

void ivas_init_split_rend_handles( 
@@ -1400,7 +1405,8 @@ ivas_error ivas_splitBinLCLDEncOpen(
    BIN_HR_SPLIT_LCLD_ENC_HANDLE *hSplitBinLCLDEnc,
    const int32_t iSampleRate,
    const int16_t iChannels,
    const int32_t iDataRate );
    const int32_t iDataRate 
);

void ivas_splitBinLCLDEncClose( 
    BIN_HR_SPLIT_LCLD_ENC_HANDLE *hSplitBinLCLDEnc 
+14 −2
Original line number Diff line number Diff line
@@ -1817,11 +1817,23 @@ ivas_error ivas_set_split_rend_setup(
    IVAS_DEC_SPLIT_REND_WRAPPER *hSplitBinRend,
    IVAS_SPLIT_REND_CONFIG_DATA *hSplitBinConfig,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData,
    IVAS_SPLIT_REND_BITS_HANDLE hSplitRendBits )
    uint8_t *splitRendBitsBuf )
{
    int16_t sf, i, j;

    hSplitBinRend->hSplitRendBits = hSplitRendBits;
    if ( ( hSplitBinRend->hSplitRendBits = (IVAS_SPLIT_REND_BITS_HANDLE) malloc( sizeof( IVAS_SPLIT_REND_BITS_DATA ) ) ) == NULL )
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for split renderer Bits buffer\n" ) );
    }

    hSplitBinRend->hSplitRendBits->bits_buf = splitRendBitsBuf;
    hSplitBinRend->hSplitRendBits->bits_read = 0;
    hSplitBinRend->hSplitRendBits->bits_written = 0;
    hSplitBinRend->hSplitRendBits->buf_len = IVAS_MAX_SPLIT_REND_BITS_BUFFER_SIZE_IN_BYTES;
    hSplitBinRend->hSplitRendBits->codec = IVAS_SPLIT_REND_CODEC_DEFAULT;
    hSplitBinRend->hSplitRendBits->pose_correction = IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE;
    hSplitBinRend->hSplitRendBits->codec_frame_size_ms = 0;


    if ( ( hSplitBinRend->hMultiBinCldfbData = (IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( IVAS_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL )
    {