Sound Open Firmware
Loading...
Searching...
No Matches
format_hifi3.h File Reference
Include dependency graph for format_hifi3.h:

Go to the source code of this file.

Functions

static int32_t sat_int32 (int64_t x)
 Saturate a 64-bit integer to 32-bit.
static ae_int32x2 vec_sat_int32x2 (int64_t x, int64_t y)
 Saturate and round two 64-bit integers to 32-bit packed into a 32x2 vector.
static int32_t sat_int24 (int32_t x)
 Saturate and round a 32-bit integer to 24-bit.
static ae_int32x2 vec_sat_int24x2 (int32_t x, int32_t y)
 Saturate and round two 32-bit integers to 24-bit packed into a 32x2 vector.
static int16_t sat_int16 (int32_t x)
 Saturate a 32-bit integer to 16-bit.
static ae_int16x4 vec_sat_int16x4 (int32_t x, int32_t y, int32_t z, int32_t q)
 Saturate and round four 32-bit integers to 16-bit packed into a 16x4 vector.
static int8_t sat_int8 (int32_t x)
 Saturate and round a 32-bit integer to 8-bit.
static ae_int32x2 vec_sat_int8x2 (int32_t x, int32_t y)
 Saturate and round two 32-bit integers to 8-bit packed into an 8x2 vector.

Function Documentation

◆ sat_int16()

int16_t sat_int16 ( int32_t x)
inlinestatic

Saturate a 32-bit integer to 16-bit.

Parameters
x32-bit integer.
Returns
16-bit saturated integer.

This function takes a 32-bit integer, packs it into a vector, and performs saturation to 16-bit on each element.

◆ sat_int24()

int32_t sat_int24 ( int32_t x)
inlinestatic

Saturate and round a 32-bit integer to 24-bit.

Parameters
x32-bit integer.
Returns
24-bit saturated integer.

This function takes a 32-bit integer and saturates it to a 24-bit integer using saturating arithmetic instructions.

◆ sat_int32()

int32_t sat_int32 ( int64_t x)
inlinestatic

Saturate a 64-bit integer to 32-bit.

Parameters
x64-bit integer.
Returns
32-bit saturated integer.

This function takes a 64-bit integer, performs bitwise shifting, and returns a saturated 32-bit integer.

◆ sat_int8()

int8_t sat_int8 ( int32_t x)
inlinestatic

Saturate and round a 32-bit integer to 8-bit.

Parameters
x32-bit integer.
Returns
8-bit saturated integer.

This function takes a 32-bit integer, performs bitwise operations to extract the lower 8 bits, and returns an 8-bit saturated integer.

◆ vec_sat_int16x4()

ae_int16x4 vec_sat_int16x4 ( int32_t x,
int32_t y,
int32_t z,
int32_t q )
inlinestatic

Saturate and round four 32-bit integers to 16-bit packed into a 16x4 vector.

Parameters
x32-bit integer.
y32-bit integer.
z32-bit integer.
q32-bit integer.
Returns
Packed 16-bit saturated integers.

This function takes four 32-bit integers, packs them into two 32x2 vectors, and performs 16-bit saturation on each element, returning the result in a 16x4 vector.

◆ vec_sat_int24x2()

ae_int32x2 vec_sat_int24x2 ( int32_t x,
int32_t y )
inlinestatic

Saturate and round two 32-bit integers to 24-bit packed into a 32x2 vector.

Parameters
x32-bit integer.
y32-bit integer.
Returns
Packed 24-bit saturated integers.

This function takes two 32-bit integers, packs them into a 32x2 vector, and performs saturation to 24-bit on each element.

◆ vec_sat_int32x2()

ae_int32x2 vec_sat_int32x2 ( int64_t x,
int64_t y )
inlinestatic

Saturate and round two 64-bit integers to 32-bit packed into a 32x2 vector.

Parameters
x64-bit integer.
y64-bit integer.
Returns
Packed 32-bit saturated integers.

This function takes two 64-bit integers, converts them to ae_f64 format, and returns them as a packed ae_int32x2 vector after saturation.

◆ vec_sat_int8x2()

ae_int32x2 vec_sat_int8x2 ( int32_t x,
int32_t y )
inlinestatic

Saturate and round two 32-bit integers to 8-bit packed into an 8x2 vector.

Parameters
x32-bit integer.
y32-bit integer.
Returns
Packed 8-bit saturated integers.

This function takes two 32-bit integers, packs them into a 32x2 vector, and performs 8-bit saturation on each element, returning the result in an 8x2 vector.