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: Stéphane Letz <email@hidden>
- Date: Thu, 26 Jun 2014 19:43:17 +0200
So basically almost all duplex like audio applications will be "protected" since I guess 99,9% of them use the AUHAL… I guess very few still directly use CoreAudio low level callback.
Stéphane Letz
Le 26 juin 2014 à 18:37, James McCartney <email@hidden> a écrit :
>
> 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