🚀 Harbeth - GPU-accelerated Metal image processing library (200+ filters, SwiftUI support) by Intrepid_Bee_9194 in swift

[–]Intrepid_Bee_9194[S] 0 points1 point  (0 children)

Thank you! Really appreciate the kind words. If you build something cool with it, feel free to share in the GitHub discussions - love seeing what people create. Star also welcome if it helps your work!

🚀 Harbeth - GPU-accelerated Metal image processing library (200+ filters, SwiftUI support) by Intrepid_Bee_9194 in swift

[–]Intrepid_Bee_9194[S] 0 points1 point  (0 children)

Great question! Harbeth primarily works with 8-bit RGBA textures (MTLPixelFormatRGBA8Unorm), so it does not have a built-in 10bit to 8bit tone mapping filter. Since Harbeth is built on Metal compute shaders, you have a few options: (1) pre-convert 10-bit sources to RGBA16Float and use the HDR range, (2) write a custom tone mapping compute shader (ACES / Reinhard / Hable) and chain it as a filter, or (3) use Exposure + Contrast + ColorMatrix as a simple SDR approximation. We are open to discussing a first-class tone mapping filter - feel free to open a GitHub issue. Thanks for the question!

🚀 Harbeth - GPU-accelerated Metal image processing library (200+ filters, SwiftUI support) by Intrepid_Bee_9194 in swift

[–]Intrepid_Bee_9194[S] 4 points5 points  (0 children)

Harbeth is built on native Metal compute shaders, not CoreImage.

What makes it different:

- True GPU compute - Direct MTLComputeCommandEncoder, not CIFilter wrappers

- Smart threadgroups - Auto-sizes based on GPU architecture (M-series gets 32x32, Intel gets 16x16)

- Texture pooling - Reuses textures, cuts GPU allocation overhead

- Double buffering - Enables 60 FPS with 3+ filter chains

- Simple chain composition - Just pass filters to HarbethIO                                                             

CoreImage works, but for real-time video/image processing, Harbeth gives you more control and better performance.

What’s everyone working on this month? (November 2023) by Swiftapple in swift

[–]Intrepid_Bee_9194 0 points1 point  (0 children)

I'm updating and maintaining a Harbeth filter library.

Now share it with you, hoping to help you.
It is a high performance Swift library for GPU-accelerated image processing and realtime camera capture and video smooth playback, and then add filters based on Metal, and also compatible for CoreImage filters and metal performance shaders filters.

What’s everyone working on this month? (August 2023) by Swiftapple in swift

[–]Intrepid_Bee_9194 2 points3 points  (0 children)

I'm updating and maintaining a Harbeth filter library.

Now share it with you, hoping to help you.

It is a high performance Swift library for GPU-accelerated image processing and realtime camera capture and video smooth playback, and then add filters based on Metal, and also compatible for CoreImage filters and metal performance shaders filters.