이 파일의 문서화 페이지로 가기
36 #ifndef _AK_SPEAKER_VOLUMES_H_
37 #define _AK_SPEAKER_VOLUMES_H_
44 #include <AK/SoundEngine/Platforms/Generic/AkSpeakerVolumes.h>
223 namespace SpeakerVolumes
231 memcpy(in_pVolumesDst, in_pVolumesSrc, in_uNumChannels *
sizeof(
AkReal32));
236 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
238 in_pVolumesDst[uChan] = in_pVolumesSrc[uChan] * in_fGain;
245 memset(in_pVolumes, 0, in_uNumChannels *
sizeof(
AkReal32));
250 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
252 in_pVolumesDst[uChan] += in_pVolumesSrc[uChan];
259 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
261 total += io_pVolumes[uChan];
269 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
271 in_pVolumesDst[uChan] *= in_fVol;
277 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
279 in_pVolumesDst[uChan] *= in_pVolumesSrc[uChan];
285 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
287 in_pVolumesDst[uChan] =
AkMax(in_pVolumesDst[uChan], in_pVolumesSrc[uChan]);
293 for (
AkUInt32 uChan = 0; uChan < in_uNumChannels; uChan++)
295 in_pVolumesDst[uChan] =
AkMin(in_pVolumesDst[uChan], in_pVolumesSrc[uChan]);
327 memcpy(in_pVolumesDst, in_pVolumesSrc, uNumElements *
sizeof(
AkReal32));
333 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
335 in_pVolumesDst[uChan] = in_pVolumesSrc[uChan] * in_fGain;
343 memset(in_pVolumes, 0, uNumElements *
sizeof(
AkReal32));
349 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
351 in_pVolumesDst[uChan] *= in_fVol;
358 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
360 in_pVolumesDst[uChan] += in_pVolumesSrc[uChan];
367 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
369 in_pVolumesDst[uChan] += in_pVolumesSrc[uChan] * in_fGain;
376 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
378 in_pVolumesDst[uChan] = ((in_pVolumesDst[uChan] * in_pVolumesDst[uChan]) > (in_pVolumesSrc[uChan] * in_pVolumesSrc[uChan])) ? in_pVolumesDst[uChan] : in_pVolumesSrc[uChan];
385 for (
AkUInt32 uChan = 0; uChan < uNumElements; uChan++)
387 in_pVolumesDst[uChan] = (in_pVolumesDst[uChan] > in_pVolumesSrc[uChan]) ? in_pVolumesDst[uChan] : in_pVolumesSrc[uChan];
393 #endif // __cplusplus
395 #endif //_AK_SPEAKER_VOLUMES_H_
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_Mul(AkSpeakerVolumesMatrixPtr io_pVolumesDst, AkReal32 in_fVol, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void Copy(VectorPtr in_pVolumesDst, ConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
Definition of data structures for AkAudioObject
AKSOUNDENGINE_API AkUInt32 AK_SpeakerVolumes_Vector_GetNumElements(AkUInt32 in_uNumChannels)
AkReal32 * AkSpeakerVolumesMatrixPtr
AkForceInline AkReal32 L1Norm(ConstVectorPtr io_pVolumes, AkUInt32 in_uNumChannels)
AkForceInline void Max(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_AbsMax(AkSpeakerVolumesMatrixPtr io_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_CopyAndApplyGain(AkSpeakerVolumesMatrixPtr out_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut, AkReal32 in_fGain)
#define AK_EXTERNAPIFUNC(_type, _name)
AkForceInline AkUInt32 GetRequiredSize(AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_Copy(AkSpeakerVolumesMatrixPtr out_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void Zero(MatrixPtr in_pVolumes, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline AkUInt32 GetNumElements(AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API AkReal32 AK_SpeakerVolumes_Vector_L1Norm(AkSpeakerVolumesConstVectorPtr in_pVolumes, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API AkUInt32 AK_SpeakerVolumes_Vector_GetRequiredSize(AkUInt32 in_uNumChannels)
float AkReal32
32-bit floating point
AkForceInline void AbsMax(MatrixPtr in_pVolumesDst, ConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Zero(AkSpeakerVolumesVectorPtr out_pVolumesDst, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API AkUInt32 AK_SpeakerVolumes_Matrix_GetRequiredSize(AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Max(AkSpeakerVolumesVectorPtr io_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
AkForceInline VectorPtr GetChannel(MatrixPtr in_pVolumeMx, AkUInt32 in_uIdxChannelIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_MulScalar(AkSpeakerVolumesVectorPtr io_pVolumesDst, AkReal32 in_fVol, AkUInt32 in_uNumChannels)
AkSpeakerVolumesVectorPtr MatrixPtr
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_Add(AkSpeakerVolumesMatrixPtr io_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void Add(MatrixPtr in_pVolumesDst, ConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void Zero(VectorPtr in_pVolumes, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API AkSpeakerVolumesVectorPtr AK_SpeakerVolumes_Matrix_GetChannel(AkSpeakerVolumesMatrixPtr in_pVolumeMx, AkUInt32 in_uIdxChannelIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void MAdd(MatrixPtr in_pVolumesDst, ConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut, AkReal32 in_fGain)
AKSOUNDENGINE_API AkUInt32 AK_SpeakerVolumes_Matrix_GetNumElements(AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkForceInline void Add(VectorPtr in_pVolumesDst, ConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_CopyAndApplyGain(AkSpeakerVolumesVectorPtr out_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels, AkReal32 in_fGain)
AkSpeakerVolumesConstVectorPtr ConstVectorPtr
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_MAdd(AkSpeakerVolumesMatrixPtr io_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut, AkReal32 in_fGain)
AkReal32 * AkSpeakerVolumesVectorPtr
Constant volume vector. Access each element with the standard bracket [] operator.
AkSpeakerVolumesConstMatrixPtr ConstMatrixPtr
AkForceInline void Mul(MatrixPtr in_pVolumesDst, const AkReal32 in_fVol, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
uint32_t AkUInt32
Unsigned 32-bit integer
AkForceInline void Copy(MatrixPtr in_pVolumesDst, ConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Min(AkSpeakerVolumesVectorPtr io_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Mul(AkSpeakerVolumesVectorPtr io_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
const AkReal32 * AkSpeakerVolumesConstMatrixPtr
Opaque data structure for storing a collection of external sources. Refer to API in AK/SoundEngine/Co...
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_Zero(AkSpeakerVolumesMatrixPtr out_pVolumesDst, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Copy(AkSpeakerVolumesVectorPtr out_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
AkForceInline void Max(MatrixPtr in_pVolumesDst, ConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API AkSpeakerVolumesConstVectorPtr AK_SpeakerVolumes_Matrix_GetChannel_Const(AkSpeakerVolumesConstMatrixPtr in_pVolumeMx, AkUInt32 in_uIdxChannelIn, AkUInt32 in_uNumChannelsOut)
AKSOUNDENGINE_API void AK_SpeakerVolumes_Matrix_Max(AkSpeakerVolumesMatrixPtr io_pVolumesDst, AkSpeakerVolumesConstMatrixPtr in_pVolumesSrc, AkUInt32 in_uNumChannelsIn, AkUInt32 in_uNumChannelsOut)
AkSpeakerVolumesMatrixPtr VectorPtr
const AkReal32 * AkSpeakerVolumesConstVectorPtr
Constant volume matrix. Access each input channel vector with AK::SpeakerVolumes::Matrix::GetChannel(...
AKSOUNDENGINE_API void AK_SpeakerVolumes_Vector_Add(AkSpeakerVolumesVectorPtr io_pVolumesDst, AkSpeakerVolumesConstVectorPtr in_pVolumesSrc, AkUInt32 in_uNumChannels)
AkForceInline void Min(AkReal32 *in_pVolumesDst, const AkReal32 *in_pVolumesSrc, AkUInt32 in_uNumChannels)
AkForceInline void Mul(VectorPtr in_pVolumesDst, const AkReal32 in_fVol, AkUInt32 in_uNumChannels)
지원이 필요하신가요?
질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!
지원 페이지를 방문해 주세요
작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요