Commit 05cecedb authored by Archit Tamarapu's avatar Archit Tamarapu
Browse files

Merge branch...

Merge branch '1437-lc3plus-high-res-flag-not-added-correctly-to-isar-bitstream-header-for-external-renderer' into 'main'

Resolve "LC3plus high-res flag not added correctly to ISAR bitstream header for External Renderer"

See merge request !2372
parents 8ea4e519 42b5701e
Loading
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -1449,7 +1449,16 @@ int main(
            audioWriter = NULL;
        }

#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
        if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend,
                                                              &bitsBuffer.config.codec,
                                                              &bitsBuffer.config.poseCorrection,
                                                              &bitsBuffer.config.codec_frame_size_ms,
                                                              &bitsBuffer.config.isar_frame_size_ms,
                                                              &bitsBuffer.config.lc3plus_highres ) ) != IVAS_ERR_OK )
#else
        if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend, &bitsBuffer.config.codec, &bitsBuffer.config.poseCorrection, &bitsBuffer.config.codec_frame_size_ms, &bitsBuffer.config.isar_frame_size_ms ) ) != IVAS_ERR_OK )
#endif
        {
            fprintf( stderr, "\nError in IVAS_REND_GetSplitRendBitstreamHeader()!\n" );
            goto cleanup;
+1 −0
Original line number Diff line number Diff line
@@ -178,6 +178,7 @@
#define RENDERER_MD_SYNC_DELAY_TO_INTEGER               /* FhG: change data type of metadata sync delay in ext renderer to int16_t for better BASOP portability (and nicer code) */
#define FIX_1427_OBJ_EDITING_EXT_METADATA               /* Eri: Add support for extended metadata in object editing */
#define FIX_1419_MONO_STEREO_UMX                        /* FhG: fix for issue 1419 : support upmix to all output formats for mono and stereo */
#define FIX_1437_LC3PLUS_EXTREND_HIRES                  /* FhG: fix external renderer split bitstream header writing causing a crash for LC3plus High-res mode */

#define FIX_1318_ROOM_SIZE_CMD_LINE                     /* Philips/Nokia: Default room sizes support */

+3 −0
Original line number Diff line number Diff line
@@ -1894,6 +1894,9 @@ ivas_error splitRendLc3plusEncodeAndWrite(
    pBits->pose_correction = hSplitBin->multiBinPoseData.poseCorrectionMode;
    pBits->codec_frame_size_ms = (int16_t) ( hSplitBin->hLc3plusEnc->config.lc3plus_frame_duration_us / 1000 );
    pBits->isar_frame_size_ms = (int16_t) ( hSplitBin->hLc3plusEnc->config.isar_frame_duration_us / 1000 );
#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
    pBits->lc3plus_highres = hSplitBin->hLc3plusEnc->config.high_res_mode_enabled;
#endif

    return IVAS_ERR_OK;
}
+9 −1
Original line number Diff line number Diff line
@@ -8224,7 +8224,12 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader(
    ISAR_SPLIT_REND_CODEC *pCodec,                        /* o  : pointer to codec setting                */
    ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, /* o  : pointer to pose correction mode         */
    int16_t *pCodec_frame_size_ms,                        /* o  : pointer to codec frame size setting     */
#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
    int16_t *pIsar_frame_size_ms, /* o  : pointer to ISAR frame size setting      */
    int16_t *pLc3plusHighRes      /* o  : pointer to LC3plus High-Res setting     */
#else
    int16_t *pIsar_frame_size_ms /* o  : pointer to ISAR frame size setting      */
#endif
)
{
    if ( hIvasRend == NULL || hIvasRend->hRendererConfig == NULL )
@@ -8236,6 +8241,9 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader(
    *pCodec_frame_size_ms = hIvasRend->hRendererConfig->split_rend_config.codec_frame_size_ms;
    *pIsar_frame_size_ms = hIvasRend->hRendererConfig->split_rend_config.isar_frame_size_ms;
    *poseCorrection = hIvasRend->hRendererConfig->split_rend_config.poseCorrectionMode;
#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
    *pLc3plusHighRes = hIvasRend->hRendererConfig->split_rend_config.lc3plus_highres;
#endif

    return IVAS_ERR_OK;
}
+5 −0
Original line number Diff line number Diff line
@@ -297,7 +297,12 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader(
    ISAR_SPLIT_REND_CODEC *pCodec,                  /* o  : pointer to codec setting                            */
    ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, /* o  : pointer to pose correction mode               */
    int16_t *pCodec_frame_size_ms,                  /* o  : pointer to codec frame size setting                 */
#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
    int16_t *pIsar_frame_size_ms,                   /* o  : pointer to ISAR frame size setting                  */
    int16_t *pLc3plusHighRes                        /* o  : pointer to LC3plus High-Res setting                 */
#else
    int16_t *pIsar_frame_size_ms                    /* o  : pointer to ISAR frame size setting                  */
#endif
);

ivas_error IVAS_REND_SetHeadRotation(