Commit 7f852831 authored by vaclav's avatar vaclav
Browse files

- fix

- Merge remote-tracking branch 'origin/ivas-float-update' into 2053-ref-PortMr2078-from-float-unnecessary-allocation-of-memories-for-channels-in-the-jbm-decoder
parents fa96f597 e96061e8
Loading
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -136,6 +136,9 @@ typedef enum
    IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT,
    IVAS_ERR_NO_FILE_OPEN,
    IVAS_ERR_SAMPLING_RATE_UNKNOWN,
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK
    IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT,
#endif

    /*----------------------------------------*
     *    renderer (lib_rend only)            *
@@ -275,6 +278,10 @@ static inline const char *ivas_error_to_string( ivas_error error_code )
            return "Invalid input format";
        case IVAS_ERR_INVALID_INDEX:
            return "Invalid index";
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK
        case IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT:
            return "Euler angles were detected in the input but only Quaternions are supported";
#endif
        default:
            break;
    }
+2 −0
Original line number Diff line number Diff line
@@ -193,6 +193,8 @@
#define FIX_NCHAN_BUFFERS                               /* VA: issue 1322: Correct the number of float buffers (channels) at the decoder */
#define FIX_RENDERER_STACK                              /* VA: issue 1322: reduction of renderers' buffers size */
#define JBM_MEMORY_OPT                                  /* VA: issue 916: optimization of RAM in the JBM decoder */
#define FIX_1370_EXTERNAL_ORIENTATION_CHECK             /* Nokia: add sanity check for Euler angles for external orientations */


// object-editing feature porting
#define FIX_HRTF_LOAD_API                               // solves API conflicts between HRTF and object-editing features
+4 −0
Original line number Diff line number Diff line
@@ -901,7 +901,11 @@ void ivas_jbm_dec_feed_tc_to_renderer(
        }

#ifdef FIX_NCHAN_BUFFERS
#ifdef JBM_MEMORY_OPT
        ch = max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full );
#else
        ch = ivas_get_nchan_buffers_dec( st_ivas, st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate );
#endif
        for ( n = 0; n < ch; n++ )
#else
        for ( n = 0; n < ivas_get_nchan_buffers_dec( st_ivas, st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); n++ )
+8 −0
Original line number Diff line number Diff line
@@ -174,6 +174,14 @@ ivas_error ExternalOrientationFileReading(
    }

    ( externalOrientationReader->frameCounter )++;
#ifdef FIX_1370_EXTERNAL_ORIENTATION_CHECK

    /* Only Quaternion orientations are supported, raise an error if Euler angles are detected in the input */
    if ( w == -3.0f )
    {
        return IVAS_ERR_EXTERNAL_ORIENTATION_INVALID_FORMAT;
    }
#endif

    pQuaternion->w = w;
    pQuaternion->x = x;