Re: Float denormal automatically flushed to zero in CoreAudio?
Re: Float denormal automatically flushed to zero in CoreAudio?
- Subject: Re: Float denormal automatically flushed to zero in CoreAudio?
- From: James McCartney <email@hidden>
- Date: Thu, 26 Jun 2014 09:37:27 -0700
By HAL, I meant the CoreAudio.framework APIs.
AUHAL, the AudioUnit, like all AudioUnits made with AUBase, does disable denormals upon entering the render call.
On Jun 25, 2014, at 11:40 PM, Stéphane Letz <email@hidden> wrote:
>
> Le 26 juin 2014 à 02:01, James McCartney <email@hidden> a écrit :
>
>>
>> On Jun 25, 2014, at 4:44 PM, Paul Davis <email@hidden> wrote:
>>
>>>
>>>
>>>
>>> On Wed, Jun 25, 2014 at 7:34 PM, James McCartney <email@hidden> wrote:
>>>
>>> If you are using the AUBase C++ classes to build your AudioUnits, you will find the DISABLE_DENORMALS & RESTORE_DENORMALS macros in the code.
>>> The HAL does not disable denormals, so it is only by luck if you are getting this mode in a HAL ioProc.
>>>
>>> by luck? what kind of luck would accidentally reset the processor to do this (or not) ? this should be process/task local, no? do you have in mind some other software component that might set them (or might not)?
>>>
>>
>> All I’m saying is that the HAL does not set the FPU mode.
>> Any third party AU could set the FPU mode on the render thread to something you didn’t expect.
>>
>>
>> James McCartney
>> Apple CoreAudio
>> email@hidden
>>
>
> Our CoreAudio code simply uses the AUHal, with this kind of code:
>
> AudioComponentDescription cd = {kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0};
> AudioComponent HALOutput = AudioComponentFindNext(NULL, &cd);
> err = AudioComponentInstanceNew(HALOutput, &fAUHAL);
>
> so is the AUHal using the DISABLE_DENORMALS& RESTORE_DENORMALS stuff internally?
>
> Thanks.
>
> Stéphane Letz
>
James McCartney
Apple CoreAudio
email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden