[flac-dev] flac decoder output buffer alignment
brianw
brianw at audiobanshee.com
Sun Mar 16 18:54:45 UTC 2025
I believe that the SSE/AVX hardware engine only works with aligned buffers.
That said, I also believe that macOS already aligns buffers, even with simple malloc(), although I might be wrong. At the very least, there is surely a CoreAudio memory allocation function that aligns buffers for audio, so that Apple can use SSE/AVX hardware acceleration on audio buffers.
Stefan, have you tried your work on macOS?
Brian Willoughby
On Mar 16, 2025, at 11:48 AM, Martijn van Beurden wrote:
> Hi,
>
> Please explain why you need aligned buffers.
>
> Kind regards, Martijn van Beurden
>
> Op zo 16 mrt 2025 om 01:36 schreef Stefan Oltmanns:
>>
>> Hello,
>>
>> I want to process the output from libflac with SSE/AVX. Unfortunately it
>> seems that libflac always allocates the output buffer itself and there
>> is no way to provide a buffer by the application.
>> From my understanding of the code flac is using it's own functions in
>> share/alloc.h for allocations, and those use plain malloc. I assume the
>> only way to force aligned output buffers is to modify the alloc.h and
>> then link libflac statically and not use a system provided version?
>>
>> I'm also open for any other flac decoding library (written in C or with
>> C header) that has the following features:
>>
>> -Support seeking (with fast seeking using seektables if available)
>> -Support Ogg FLAC
>> -Fast decoding
>> -Should be able to handle *very long* flac files (like 2^40 samples).
>> libavcodec/ffmpeg fails at this, as some internal counter overflows
>>
>> Best regards
>> Stefan
More information about the flac-dev
mailing list