Commit 32166698 authored by Manuel Jander's avatar Manuel Jander
Browse files

Resolve merge conflicts.

parent 39b69a2c
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -829,10 +829,10 @@ int main(
            /* scene orientation */
            if ( sceneOrientationFileReader )
            {
                PIDATA_TS *piDataTs = &ivasRtp.piData[ivasRtp.nWrittenPiData++];
                IVAS_PIDATA_TS *piDataTs = &ivasRtp.piData[ivasRtp.nWrittenPiData++];
                IVAS_PIDATA_ORIENTATION *scene = &piDataTs->data.scene;

                memset( piDataTs, 0, sizeof( PIDATA_TS ) );
                memset( piDataTs, 0, sizeof( IVAS_PIDATA_TS ) );
                scene->size = sizeof( IVAS_PIDATA_ORIENTATION );
                scene->piDataType = IVAS_PI_SCENE_ORIENTATION;

@@ -846,10 +846,10 @@ int main(
            /* device orientation */
            if ( deviceOrientationFileReader )
            {
                PIDATA_TS *piDataTs = &ivasRtp.piData[ivasRtp.nWrittenPiData++];
                IVAS_PIDATA_TS *piDataTs = &ivasRtp.piData[ivasRtp.nWrittenPiData++];
                IVAS_PIDATA_ORIENTATION *device = &piDataTs->data.deviceUnCompensated;

                memset( piDataTs, 0, sizeof( PIDATA_TS ) );
                memset( piDataTs, 0, sizeof( IVAS_PIDATA_TS ) );
                device->size = sizeof( IVAS_PIDATA_ORIENTATION );
                device->piDataType = IVAS_PI_DEVICE_ORIENTATION_COMPENSATED;

+4 −4
Original line number Diff line number Diff line
@@ -938,10 +938,10 @@ int encoder_main(
            /* scene orientation */
            if ( sceneOrientationFileReader )
            {
                PIDATA_TS *piDataTs = &ivasRtp->piData[ivasRtp->nWrittenPiData++];
                IVAS_PIDATA_TS *piDataTs = &ivasRtp->piData[ivasRtp->nWrittenPiData++];
                IVAS_PIDATA_ORIENTATION *scene = &piDataTs->data.scene;

                memset( piDataTs, 0, sizeof( PIDATA_TS ) );
                memset( piDataTs, 0, sizeof( IVAS_PIDATA_TS ) );
                scene->size = sizeof( IVAS_PIDATA_ORIENTATION );
                scene->piDataType = IVAS_PI_SCENE_ORIENTATION;

@@ -955,10 +955,10 @@ int encoder_main(
            /* device orientation */
            if ( deviceOrientationFileReader )
            {
                PIDATA_TS *piDataTs = &ivasRtp->piData[ivasRtp->nWrittenPiData++];
                IVAS_PIDATA_TS *piDataTs = &ivasRtp->piData[ivasRtp->nWrittenPiData++];
                IVAS_PIDATA_ORIENTATION *device = &piDataTs->data.deviceUnCompensated;

                memset( piDataTs, 0, sizeof( PIDATA_TS ) );
                memset( piDataTs, 0, sizeof( IVAS_PIDATA_TS ) );
                device->size = sizeof( IVAS_PIDATA_ORIENTATION );
                device->piDataType = IVAS_PI_DEVICE_ORIENTATION_COMPENSATED;

+2 −0
Original line number Diff line number Diff line
@@ -97,6 +97,8 @@ static
 * Local structures
 *------------------------------------------------------------------------------------------*/

typedef float IVAS_REND_LfePanMtx[RENDERER_MAX_INPUT_LFE_CHANNELS][RENDERER_MAX_OUTPUT_CHANNELS];

typedef struct
{
    uint32_t frameCounter;
+30 −2
Original line number Diff line number Diff line
@@ -988,7 +988,6 @@ Word32 div_w( Word32 L_num, Word32 L_den )
}


static Word32 div_w_newton( Word32 num, Word32 den );
/*
Table of 256 precalculated estimates to be used by the "div_w_newton"
function using the Newton/Raphson method.
@@ -1283,7 +1282,7 @@ static Word32 L_dmult( Word32 L_var1, Word32 L_var2 )
 * BASOP weights: 24 (incl. L_dmult)
 */

static Word32 div_w_newton( Word32 num, Word32 den )
Word32 div_w_newton( Word32 num, Word32 den )
{
    Word32 x0, x1, x2, x3, diff, result;

@@ -2958,3 +2957,32 @@ cmplx CL_mult_32x16( cmplx input, cmplx_s coeff )
#endif
    return result;
}

Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 )
{
    Word32 var1_l;
    Word64 var_out;
    var1_l = W_extract_l( W_var1 );
    var_out = W_mult0_32_32( L_and( var1_l, 1 ), L_var2 );
    var_out = W_mac_32_32( var_out, L_lshr( var1_l, 1 ), L_var2 );
    var_out = W_mac_32_32( W_shr( var_out, 31 ), W_extract_h( W_var1 ), L_var2 );
    return var_out;
}

#ifndef FUNCTION_W_msu0_32_32
Word64 W_msu0_32_32( Word64 L64_var1, Word32 L_var2, Word32 L_var3 )
{
    /* no saturation */
    L64_var1 = W_sub_nosat( L64_var1, W_mult0_32_32( L_var2, L_var3 ) );
    return L64_var1;
}
#endif

#ifndef FUNCTION_W_mac0_32_32
Word64 W_mac0_32_32( Word64 L64_var1, Word32 L_var2, Word32 L_var3 )
{
    /* no saturation */
    L64_var1 = W_add_nosat( L64_var1, W_mult0_32_32( L_var2, L_var3 ) );
    return L64_var1;
}
#endif
+30 −0
Original line number Diff line number Diff line
@@ -328,6 +328,9 @@ Word16 BASOP_Util_Divide3232_Scale( Word32 x, /*!< i : Numerator*/
                                    Word32 y,    /*!< i  : Denominator*/
                                    Word16 *s ); /*!< o  : Additional scalefactor difference*/

Word32 div_w_newton( Word32 num,   /*!< i  : Numerator*/
                     Word32 den ); /*!< i  : Denominator*/

Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x,    /*!< i  : Numerator*/
                                           Word32 y,    /*!< i  : Denominator*/
                                           Word16 *s ); /*!< o  : Additional scalefactor difference*/
@@ -906,4 +909,31 @@ cmplx CL_scale_t( cmplx x, Word16 y );
cmplx CL_dscale_t( cmplx x, Word16 y1, Word16 y2 );
cmplx CL_mult_32x16( cmplx input, cmplx_s coeff );


/*!
   \brief   64-bit/32-bit multiplication with shift

     This multiplication is similar to Mpy_32_32 except for the fact that the first argument
     and the return type are Word64. The function performs the following operation:

       z = ((int128_t)x   (int128_t)y) >> 31

     where:
      - x is a 64-bit signed integer
      - y is a 32-bit signed integer
      - z is a 64-bit signed integer

   \param W_var1 64-bit signed integer argument
   \param L_var2 32-bit signed integer argument
   \return 64-bit signed integer representing the result of the multiplication with shift
*/
Word64 Mpy_64_32( Word64 W_var1, Word32 L_var2 );

#ifndef FUNCTION_W_msu0_32_32
Word64 W_msu0_32_32( Word64 L64_var1, Word32 L_var2, Word32 L_var3 );
#endif
#ifndef FUNCTION_W_mac0_32_32
Word64 W_mac0_32_32( Word64 L64_var1, Word32 L_var2, Word32 L_var3 );
#endif

#endif /* __BASOP_UTIL_H__ */
Loading