3#ifndef QFFMPEGHWACCEL_VIDEOTOOLBOX_P_H
4#define QFFMPEGHWACCEL_VIDEOTOOLBOX_P_H
17#include <QtFFmpegMediaPluginImpl/private/qffmpeghwaccel_p.h>
21#include <CoreVideo/CVBase.h>
22#include <CoreVideo/CVPixelBuffer.h>
23#include <CoreVideo/CVImageBuffer.h>
25#include <CoreVideo/CVMetalTexture.h>
26#if defined(Q_OS_MACOS)
27#include <CoreVideo/CVOpenGLTextureCache.h>
28#elif defined(Q_OS_IOS)
29#include <CoreVideo/CVOpenGLESTextureCache.h>
38class VideoToolBoxTextureConverter :
public TextureConverterBackend
41 VideoToolBoxTextureConverter(QRhi *rhi);
42 ~VideoToolBoxTextureConverter();
43 QVideoFrameTexturesHandlesUPtr
44 createTextureHandles(AVFrame *frame, QVideoFrameTexturesHandlesUPtr oldHandles) override;
47 void freeTextureCaches();
50 void *cvMetalTextureCache =
nullptr;
51#if defined(Q_OS_MACOS)
52 CVOpenGLTextureCacheRef cvOpenGLTextureCache =
nullptr;
53#elif defined(Q_OS_IOS)
54 CVOpenGLESTextureCacheRef cvOpenGLESTextureCache =
nullptr;