À propos du projet

Harbeth est une bibliothèque de filtres pour images, vidéos et caméra accélérée par GPU, construite sur le framework Metal d'Apple. Elle cible iOS/iPadOS 15+, macOS 12+ et tvOS 15+ avec Swift 6 et Xcode 16+. La bibliothèque traite UIImage/NSImage, CGImage, CIImage, MTLTexture, CVPixelBuffer et CMSampleBuffer via un moteur de rendu Metal axé sur les textures. Elle expose deux voies d'intégration : HarbethIO pour le traitement direct de chaînes de filtres avec sortie synchrone et asynchrone, et ImageNode pour des workflows structurés avancés avec traitement composable, composites en couches, masques, géométrie, optique, politiques de cache et livraison multi-format. Les capacités incluent 183 types publics d'exécution de filtres répartis entre ajustement colorimétrique, flou, mélange, contours/détails, géométrie, optique, LUT/Cube, générateur et utilitaire, ainsi que 30 modes C7Blend. Les fonctionnalités couvrent les primitives de masque et d'effet local, le compositing de couches, les transitions, les recettes d'édition, les diagnostics GPU waveform/vectorscope/histogramme, le pooling de textures avec allocation MTLHeap, la mise en cache des plans de rendu et l'intégration de shaders Metal personnalisés. La bibliothèque fournit un hébergement d'aperçu SwiftUI et UIKit/AppKit qui rend directement depuis les textures GPU sans lecture CPU. Les performances sont pilotées par profils avec des modes sélectionnables pour la latence interactive, l'aperçu stable et la sortie de qualité export. L'installation est disponible via Swift Package Manager et CocoaPods. Des bancs d'essai de démonstration présentent les intégrations UIKit, SwiftUI et macOS AppKit, notamment le câblage de référence des trames caméra, le catalogue complet de filtres et les démonstrations de masques.