Tag: qtmultimedia

Qt iOS:如何从QVideoFilterRunnable返回types为GLTextureHandle的QVideoFrame

我试图捕捉摄像头输出帧,并在GPUpipe道中进一步处理。 出于这个原因,将纹理作为GPU纹理来回转是最好的select。 从QVideoFilterRunnable类inheritance的run方法接收QVideoFrame对象的types不等于QAbstractVideoBuffer :: GLTextureHandle 。 它等于NoHandle ,我需要做map / unmap,并通过glTexImage手动加载纹理,这不利于性能。 有没有可用于返回纹理名称的控制选项? 一些说明: 在Android上看起来不错。 返回的框架是质感,所以这就像一个魅力: QVideoFrame* input = …; GLuint texture = input->handle().toUInt(); f->glBindTexture(GL_TEXTURE_2D, texture); 一般来说,可能有iOS纹理cachingfunction: CVPixelBufferRef pixelBuffer = …; CVOpenGLESTextureCacheCreateTextureFromImage(…, pixelBuffer, …, &textureRef); texture = CVOpenGLESTextureGetName(textureRef);