#ios #swift #core-image #cifilter #avvideocomposition
Вопрос:
Я уже знаю, как применить LUT к локальному видео с помощью CIColorCubeWithColorSpace. Проблема в том, что производительность немного отстает/замедляется. Примечание: если я применю фильтр CIF к видео со скоростью 60 кадров в секунду, задержка будет значительной.
Это мой код:
let lutFilter = CIFilter.colorCubeWithColorSpace()
override func viewDidLoad() {
lutFilter.cubeDimension = Float(64)
lutFilter.colorSpace = CGColorSpaceCreateDeviceRGB()
lutFilter.cubeData = LUTData // i've already created the lut data
updateComposition()
}
func updateComposition() {
player.currentItem?.videoComposition = AVVideoComposition(asset: player.currentItem!.asset, applyingCIFiltersWithHandler: { request in
lutFilter.inputImage = request.sourceImage
request.finish(with: lutFilter.outputImage, context: nil)
})
}
Как его можно оптимизировать?