gpt4 book ai didi

swift - 如何创建由 CVPixelBuffer 支持的 MTLTexture

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:59 27 4
gpt4 key购买 nike

生成由 CVPixelBuffer 支持的 MTLTexture 的正确方法是什么?

我有以下代码,但它似乎泄漏了:

func PixelBufferToMTLTexture(pixelBuffer:CVPixelBuffer) -> MTLTexture
{
var texture:MTLTexture!

let width = CVPixelBufferGetWidth(pixelBuffer)
let height = CVPixelBufferGetHeight(pixelBuffer)

let format:MTLPixelFormat = .BGRA8Unorm


var textureRef : Unmanaged<CVMetalTextureRef>?

let status = CVMetalTextureCacheCreateTextureFromImage(nil,
videoTextureCache!.takeUnretainedValue(),
pixelBuffer,
nil,
format,
width,
height,
0,
&textureRef)

if(status == kCVReturnSuccess)
{
texture = CVMetalTextureGetTexture(textureRef!.takeUnretainedValue())
}

return texture
}

最佳答案

啊,我错过了:textureRef?.release()

关于swift - 如何创建由 CVPixelBuffer 支持的 MTLTexture,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445052/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com