Loading lib_util/ivas_rtp_pi_data.c +2 −2 Original line number Diff line number Diff line Loading @@ -146,7 +146,7 @@ static uint32_t packQuaternion( IVAS_QUATERNION orientation, uint8_t *buffer ) { continue; } lWord |= ( ( (int16_t) ( ( q[n] + 1 ) * 1023 * 0.5f ) & MASK_10BIT ) << ( 30 - k * 10 ) ); lWord |= ( ( (int16_t) ( ( q[n] + 1 / sqrt( 2.0f ) ) * 1023 * sqrt( 2.0f ) ) & MASK_10BIT ) << ( 30 - k * 10 ) ); k++; } Loading Loading @@ -180,7 +180,7 @@ static ivas_error unpackQuaternion( const uint8_t *buffer, IVAS_QUATERNION *orie continue; } tmp = ( lWord >> ( 30 - k * 10 ) ) & MASK_10BIT; q[i] = tmp / 1023.0f * 2.0f - 1; q[i] = tmp / 1023.0f * sqrtf( 2.0f ) - 1 / sqrtf( 2.0f ); qs += q[i] * q[i]; k++; } Loading tests/rtp/ivasrtp.py +2 −2 Original line number Diff line number Diff line Loading @@ -769,7 +769,7 @@ def unpackOrientations(bitstrm: ConstBitStream, piSize: int) -> list[ORIENTATION if i == max_q_idx: continue tmp = bitstrm.read(10).uint q[i] = (tmp / 1023.0) * 2.0 - 1.0 q[i] = (tmp / 1023.0) * 2.0**0.5 - 1.0 / (2.0**0.5) qs = qs + q[i]**2 q[max_q_idx] = (1 - qs)**0.5 Loading Loading @@ -798,7 +798,7 @@ def packOrientations(bitstrm: BitStream, data: any): for i in range(0,4): if i == max_q_idx: continue bitstrm.append(f"uint:10={(int)((q[i]+1)*1023*1/2)}") bitstrm.append(f"uint:10={(int)((q[i]+1/(2**0.5))*1023*(2**0.5))}") def unpackPositions(bitstrm: ConstBitStream, piSize: int) -> list[POSITION]: Loading Loading
lib_util/ivas_rtp_pi_data.c +2 −2 Original line number Diff line number Diff line Loading @@ -146,7 +146,7 @@ static uint32_t packQuaternion( IVAS_QUATERNION orientation, uint8_t *buffer ) { continue; } lWord |= ( ( (int16_t) ( ( q[n] + 1 ) * 1023 * 0.5f ) & MASK_10BIT ) << ( 30 - k * 10 ) ); lWord |= ( ( (int16_t) ( ( q[n] + 1 / sqrt( 2.0f ) ) * 1023 * sqrt( 2.0f ) ) & MASK_10BIT ) << ( 30 - k * 10 ) ); k++; } Loading Loading @@ -180,7 +180,7 @@ static ivas_error unpackQuaternion( const uint8_t *buffer, IVAS_QUATERNION *orie continue; } tmp = ( lWord >> ( 30 - k * 10 ) ) & MASK_10BIT; q[i] = tmp / 1023.0f * 2.0f - 1; q[i] = tmp / 1023.0f * sqrtf( 2.0f ) - 1 / sqrtf( 2.0f ); qs += q[i] * q[i]; k++; } Loading
tests/rtp/ivasrtp.py +2 −2 Original line number Diff line number Diff line Loading @@ -769,7 +769,7 @@ def unpackOrientations(bitstrm: ConstBitStream, piSize: int) -> list[ORIENTATION if i == max_q_idx: continue tmp = bitstrm.read(10).uint q[i] = (tmp / 1023.0) * 2.0 - 1.0 q[i] = (tmp / 1023.0) * 2.0**0.5 - 1.0 / (2.0**0.5) qs = qs + q[i]**2 q[max_q_idx] = (1 - qs)**0.5 Loading Loading @@ -798,7 +798,7 @@ def packOrientations(bitstrm: BitStream, data: any): for i in range(0,4): if i == max_q_idx: continue bitstrm.append(f"uint:10={(int)((q[i]+1)*1023*1/2)}") bitstrm.append(f"uint:10={(int)((q[i]+1/(2**0.5))*1023*(2**0.5))}") def unpackPositions(bitstrm: ConstBitStream, piSize: int) -> list[POSITION]: Loading