#include "pfc.h" static audio_sample noopt_calculate_peak(const audio_sample * p_src,t_size p_num) { audio_sample peak = 0; t_size num = p_num; for(;num;num--) { audio_sample temp = (audio_sample)fabs(*(p_src++)); if (temp>peak) peak = temp; } return peak; } static void noopt_convert_to_32bit(const audio_sample * p_source,t_size p_count,t_int32 * p_output,float p_scale) { t_size num = p_count; for(;num;--num) { t_int64 val = pfc::audio_math::rint64( *(p_source++) * p_scale ); if (val < -2147483648ll) val = -2147483648ll; else if (val > 0x7FFFFFFF) val = 0x7FFFFFFF; *(p_output++) = (t_int32) val; } } inline static void noopt_convert_to_16bit(const audio_sample * p_source,t_size p_count,t_int16 * p_output,float p_scale) { for(t_size n=0;n(p_buffer); for(;p_count;p_count--) { t_uint32 t = *ptr; if ((t & 0x007FFFFF) && !(t & 0x7F800000)) *ptr=0; ptr++; } #elif audio_sample_size == 64 t_uint64 * ptr = reinterpret_cast(p_buffer); for(;p_count;p_count--) { t_uint64 t = *ptr; if ((t & 0x000FFFFFFFFFFFFF) && !(t & 0x7FF0000000000000)) *ptr=0; ptr++; } #else #error unsupported #endif } void audio_math::add_offset(audio_sample * p_buffer,audio_sample p_delta,t_size p_count) { for(t_size n=0;n