D++ (DPP)  10.0.30
C++ Discord API Bot Library
dpp::audio_mixer Class Reference

A class for audio mixing operations using x64 instructions. More...

#include "fallback.h"

Collaboration diagram for dpp::audio_mixer:

Static Public Member Functions

static void collect_single_register (int32_t *data_in, int16_t *data_out, float current_gain, float increment)
 Collect a single register worth of data from data_in, apply gain and increment, and store the result in data_out. More...
 
static void combine_samples (int32_t *up_sampled_vector, const int16_t *decoded_data)
 Combine a register worth of elements from decoded_data and store the result in up_sampled_vector. More...
 

Static Public Attributes

static constexpr int32_t byte_blocks_per_register { 2 }
 

Detailed Description

A class for audio mixing operations using x64 instructions.

Member Function Documentation

◆ collect_single_register()

static void dpp::audio_mixer::collect_single_register ( int32_t *  data_in,
int16_t *  data_out,
float  current_gain,
float  increment 
)
inlinestatic

Collect a single register worth of data from data_in, apply gain and increment, and store the result in data_out.

This version uses x64 instructions.

Parameters
data_inPointer to the input array of int32_t values.
data_outPointer to the output array of int16_t values.
current_gainThe gain to be applied to the elements.
incrementThe increment value to be added to each element.

◆ combine_samples()

static void dpp::audio_mixer::combine_samples ( int32_t *  up_sampled_vector,
const int16_t *  decoded_data 
)
inlinestatic

Combine a register worth of elements from decoded_data and store the result in up_sampled_vector.

This version uses x64 instructions.

Parameters
up_sampled_vectorPointer to the array of int32_t values.
decoded_dataPointer to the array of int16_t values.

Member Data Documentation

◆ byte_blocks_per_register

constexpr int32_t dpp::audio_mixer::byte_blocks_per_register { 2 }
inlinestaticconstexpr

The documentation for this class was generated from the following file: