1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 12:28:12 +00:00
serenity/Userland/Libraries/LibAudio
kleines Filmröllchen 111fd1e5fe LibAudio: Optimize FlacLoader by avoiding allocations
- Pre-allocate and reuse sample decompression buffers. In many FLAC
  files, the amount of samples per frame is either constant or the
  largest frame will be hit within the first couple of frames. Also,
  during audio output, we need to move and combine the samples from the
  decompression buffers into the final output buffers anyways. Avoiding
  the reallocation of these large buffers provides an improvement from
  16x to 18x decode speed on strongly compressed but otherwise usual
  input.
- Leave a FIXME for a similar improvement that can be made in the
  residual decoder.
- Pre-allocate audio chunks if frame size is known.
- Use reasonable inline capacities in several places where we know the
  maximum or usual capacity needed.
2023-07-06 19:13:36 +01:00
..
CMakeLists.txt AudioServer+Userland: Separate audio IPC into normal client and manager 2023-06-25 00:16:44 +02:00
ConnectionToManagerServer.cpp AudioServer+Userland: Separate audio IPC into normal client and manager 2023-06-25 00:16:44 +02:00
ConnectionToManagerServer.h AudioServer+Userland: Separate audio IPC into normal client and manager 2023-06-25 00:16:44 +02:00
ConnectionToServer.cpp AudioServer+Userland: Decouple client sample rates from device rate 2023-07-01 23:27:24 +01:00
ConnectionToServer.h AudioServer+Userland: Decouple client sample rates from device rate 2023-07-01 23:27:24 +01:00
FlacLoader.cpp LibAudio: Optimize FlacLoader by avoiding allocations 2023-07-06 19:13:36 +01:00
FlacLoader.h LibAudio: Optimize FlacLoader by avoiding allocations 2023-07-06 19:13:36 +01:00
FlacTypes.h LibAudio: Compute and verify FLAC frame header checksums 2023-05-18 22:23:15 +02:00
Forward.h LibAudio: Add a forwarding header 2023-06-13 06:14:01 +02:00
GenericTypes.cpp LibAudio: Don't return a seek point if it is after the desired sample 2023-07-06 14:27:57 +01:00
GenericTypes.h LibAudio: Prevent multiple kinds of buffer overruns in FLAC picture load 2023-07-04 12:47:08 +02:00
Loader.cpp LibAudio: Handle unknown-sized streams better 2023-07-06 10:44:42 +01:00
Loader.h LibAudio: Handle unknown-sized streams better 2023-07-06 10:44:42 +01:00
LoaderError.h LibAudio: Stop using and remove LOADER_TRY 2023-07-04 13:24:17 -06:00
Metadata.cpp LibAudio: Add a generic audio metadata container 2023-03-13 12:35:17 -04:00
Metadata.h LibAudio: Add a generic audio metadata container 2023-03-13 12:35:17 -04:00
MP3HuffmanTables.h LibAudio: Handle bitstream errors in MP3 Huffman decode 2023-07-02 02:15:32 +02:00
MP3Loader.cpp LibAudio: Stop using and remove LOADER_TRY 2023-07-04 13:24:17 -06:00
MP3Loader.h LibAudio: Extract loader stream creation from the plugins 2023-06-27 15:28:22 +01:00
MP3Tables.h LibAudio+LibDSP: Switch samples to 32-bit float instead of 64-bit float 2022-05-07 20:20:16 +02:00
MP3Types.h LibAudio: Use symbolic constants for MP3 frame and granule size 2023-03-13 13:25:42 +01:00
MultiChannel.h LibAudio: Optimize FlacLoader by avoiding allocations 2023-07-06 19:13:36 +01:00
QOALoader.cpp LibAudio: Stop using and remove LOADER_TRY 2023-07-04 13:24:17 -06:00
QOALoader.h LibAudio: Extract loader stream creation from the plugins 2023-06-27 15:28:22 +01:00
QOATypes.cpp LibAudio: Implement the Quite Okay Audio format 2023-03-10 04:07:14 -07:00
QOATypes.h LibAudio: Implement the Quite Okay Audio format 2023-03-10 04:07:14 -07:00
Queue.h LibAudio+Userland: Remove Audio::LegacyBuffer 2022-05-03 23:09:20 +02:00
Resampler.h LibAudio: Tolerate a file sample rate lower than the AudioServer's 2022-12-31 00:04:34 +01:00
RIFFTypes.cpp LibAudio: Load WAV metadata 2023-05-31 16:23:07 +02:00
RIFFTypes.h LibAudio: Load WAV metadata 2023-05-31 16:23:07 +02:00
Sample.h Everywhere: Add sv suffix to strings relying on StringView(char const*) 2022-07-12 23:11:35 +02:00
SampleFormats.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
SampleFormats.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
UserSampleQueue.cpp LibAudio: Prevent int overflow in the user buffer queue 2022-12-31 00:08:05 +01:00
UserSampleQueue.h Everywhere: Remove unused includes of AK/Format.h 2023-01-02 20:27:20 -05:00
VorbisComment.cpp LibAudio: Update stream APIs used when reading audio metadata 2023-03-13 12:46:42 -04:00
VorbisComment.h LibAudio: Detect and read FLAC metadata 2023-03-13 12:35:17 -04:00
WavLoader.cpp LibAudio: Stop using and remove LOADER_TRY 2023-07-04 13:24:17 -06:00
WavLoader.h LibAudio: Extract loader stream creation from the plugins 2023-06-27 15:28:22 +01:00
WavWriter.cpp LibAudio: Handle all integer PCM sample formats "correctly" in WavWriter 2023-06-22 21:45:54 +02:00
WavWriter.h LibAudio: Handle all integer PCM sample formats "correctly" in WavWriter 2023-06-22 21:45:54 +02:00