MetalPetal

A GPU accelerated image and video processing framework built on Metal.

MIT License

Stars
1.8K
Committers
19

Bot releases are hidden (Show)

MetalPetal - 1.25.2 Latest Release

Published by YuAo over 1 year ago

Enhancements

Add an autoreleasepool in MTIAsyncVideoCompositionRequestHandler in case the relative queue does not have a .workItem autorelease frequency.

MetalPetal - 1.25.1

Published by YuAo almost 2 years ago

Bug fixes

  • Update the Static sub-pod for resource copying behavior change in Xcode 14. 0c48a7cbfc54334c687e0708a31b3feb9339f25f
MetalPetal - 1.25.0

Published by YuAo almost 2 years ago

Enhancements

Revert #314. MTICoreImageKernel now respects the origin of the output CIImage.

MetalPetal - 1.24.2

Published by YuAo over 2 years ago

Enhancements

MetalPetal - 1.24.1

Published by YuAo over 2 years ago

Bug fixes

  • Fix rendering of CIImages that have non-zero origin. #314
  • [MTIDataBuffer] Use stride instead of size for raw pointer access. 58b226325e52ee13d18e869f28912522dc476ca1

Enhancements

  • MTITexturePromise.texture is now public. 3e9bc59f02a8ed6e20f3642ba55f48ceb262891f
  • MTICVPixelBufferPromise.pixelBuffer is now public. 16d627405c3a9c7ac228a98998d319816583d038
MetalPetal - 1.24.0

Published by YuAo almost 3 years ago

Deprecation

  • Drops iOS 10 support.

Enhancements

  • Refine swift interfaces for MTIRenderPipelineKernel #293
  • Reporting error instead of trap when rendering a zero size image #292
MetalPetal - 1.23.0

Published by YuAo about 3 years ago

Enhancements

  • Automatically fall back on CoreImage to create textures for non-IOSurface-Backed CVPixelBuffers. 5b74467543412a41643f0f65f41271f5c29079d8
  • [MTIVideoComposition] Minor performance improvements by caching track transforms. 9f524836a5980880de646475007052fa870e98ab
  • [MTIVideoComposition] Add the support for colorPrimaries, colorYCbCrMatrix and colorTransferFunction. 601636764678ac3e52ff71831fced506155542e2
MetalPetal - 1.22.0

Published by YuAo over 3 years ago

Enhancements

  • [MTIAsyncVideoCompositionRequestHandler] Do not report noSourceFrame error. 84be369be4402122a3afd97b6985bbf5099839b2
  • [MTIAsyncVideoCompositionRequestHandler] Make Request.anySourceImage an optional value. #256
  • Improve memory handling on some failure branches. 7388f540a23da10d4aaf240c512135e0e58bcff5
  • Silent some compiler warnings on Xcode 13. eb67c48060989c67ece5dc75fa811b2489dd9da8
MetalPetal - 1.21.1

Published by YuAo over 3 years ago

Bug fixes

  • Remove the load action assertion for memoryless render targets while the render target is not actually memoryless (Intel Macs) e7335c6440688b2c49c9dac51bce126c8bc7bfdf
MetalPetal - 1.21.0

Published by YuAo over 3 years ago

Enhancements

  • MTIContext now automatically chooses to use MTIHeapTexturePool on supported devices. a0fa22797ea3b18fd7d2eb6324a06b19da887791

Deprecation

  • MTIVector no longer conforms to NSCoding.

    MTIVector is designed for encoding small vector values for the shader functions. Data serialization should be done using other methods.

  • MTIContextOptions no longer conforms to NSCopying.

    MTIContextOptions is designed to be a temporary object. The context does not keep references to the context options. There is no need for the MTIContextOptions to conform to the NSCopying protocol.

MetalPetal - 1.20.0

Published by YuAo over 3 years ago

Features

  • Refactor MTIRoundCornerFilter to support both circular and continuous corner curve.
  • Add round corner support for MTILayer.

Enhancements

  • Add Hashable conformance to MTIVertex.
MetalPetal - 1.19.0

Published by YuAo over 3 years ago

Features

  • Add MTIRGBColorSpaceConversionFilter for converting between linear sRGB, sRGB and ITU-R 709 color spaces.

Enhancements

  • MTIUnpremultiplyAlphaFilter and MTIPremultiplyAlphaFilter no longer inherit from MTIUnaryImageRenderingFilter, this avoids some misuses.
  • Internal logic improvements for MTIMultilayerCompositeKernel.
  • Color space handling improvements. https://github.com/MetalPetal/MetalPetal#color-spaces

Deprecation

  • Remove the MTIUnpremultiplyAlphaWithSRGBToLinearRGBFilter, use MTIRGBColorSpaceConversionFilter instead.
MetalPetal - 1.18.0

Published by YuAo over 3 years ago

Features

  • You can now set the outputAlphaType of MTIMultilayerCompositingFilter, MTICoreImageUnaryFilter and MTIBlendFilter.
  • MTIBlendFilter now accepts images with premultiplied alpha channels.
  • You can now assign a mask to MTILayer. #237
  • You can now use MTIVideoComposition to process videos. VideoIO is no longer a requirement for video processing. #239 #236

Enhancements

  • Improve the Swift API of MultilayerCompositingFilter, MultilayerCompositingFilter.Layer now supports method chaining.
  • Performance improvements for MTIBlendFilter and MTIMultilayerCompositingFilter.
MetalPetal - 1.17.0

Published by YuAo over 3 years ago

Bug fixes

  • Fix #235
MetalPetal - 1.16.0

Published by YuAo over 3 years ago

Features

  • You can now register new blend mode using a metal shader function string using MTIBlendFunctionDescriptors(blendFormula:).

Enhancements

  • Improvements for Apple silicon Macs. #229
  • Swift API enhancements. e9b192b d1ce01f
  • Update the parameter encoding logic of render and compute pipeline kernels. Number types are automatically converted. For example you can now pass int values to float parameters. 1ec9966

Bug fixes

  • Fix a bug of multi-layer compositing filter when its rasterSampleCount is greater than zero on Intel Macs.
MetalPetal - 1.15.0

Published by YuAo almost 4 years ago

Features

  • Added tvOS support. #220
  • Added kCVPixelFormatType_420YpCbCr10BiPlanarVideo/FullRange support. #218

Bug Fixes

MetalPetal - 1.14.0

Published by YuAo almost 4 years ago

Features

  • Added MTISKSceneRenderer
  • Added antialiasingMode and sRGB support to MTISCNSceneRenderer

Enhancements

  • Added an option to prevent automatic context creation for MTIImageView and MTIThreadSafeImageView. 27c11f666bd61299f63351572b9f09cff4e0ca4d
  • Improve the internal logic of passthroughAlphaTypeHandlingRule 46f164effda7f0f32429e7e3bfd8ed04067d4c75
MetalPetal - 1.13.0

Published by YuAo about 4 years ago

Enhancements

  • Improve the color space handling for CGImage. #181
MetalPetal - 1.12.0

Published by YuAo about 4 years ago

Demo

  • Add a "Sketch Board" demo.

Enhancements

  • Add the support of using SIMD vectors directly as shader function parameters in Swift. #171
  • Add the support for short/ushort/char/uchar SIMD vectors to MTIVector. #171
  • Add the support for tintColor to MTILayer. 1463c6ddcda446b8b38a50d8bd1091d158b708df
  • Improve colorspace handling of MTIDefaultTextureLoader 7e67cee8141ff32a06c8ff9bc4cb7806110198ee and MTIThreadSafeImageView 3bf5f67c8dbf8d49aa315af69b3e5ab05c503138

Bug Fixes

  • MTIContext.renderedBuffer(for:) now respect the targetImage's dimensions. 14e5e40b3e3ed806e193e3048386736af5609aef
MetalPetal - 1.11.2

Published by YuAo over 4 years ago

  • Fix #177
  • Fix an issue that may cause GPU hang error on A7 devices.
Package Rankings
Top 1.83% on Cocoapods.org
Badges
Extracted from project README
Swift Platforms Version Apple Silicon Mac Catalyst Simulator CocoaPods Swift PM