1#ifndef MYTHVAAPIDRMINTEROP_H
2#define MYTHVAAPIDRMINTEROP_H
5#include "libmythbase/mythconfig.h"
14struct AVDRMFrameDescriptor;
21 std::vector<MythVideoTextureOpenGL*>
42 std::vector<MythVideoTextureOpenGL*>
45 std::vector<MythVideoTextureOpenGL*>
58 bool m_drmTriedAndFailed {
false };
static VideoFrameType VATypeToMythType(uint32_t Fourcc)
void PostInitDeinterlacer() override
void RotateReferenceFrames(AVBufferRef *Buffer)
~MythVAAPIInteropDRM() override
void DeleteTextures() override
static bool IsSupported(MythRenderOpenGL *Context)
QHash< unsigned long long, AVDRMFrameDescriptor * > m_drmFrames
AVDRMFrameDescriptor * GetDRMFrameDescriptor(VASurfaceID Id)
QVector< AVBufferRef * > m_referenceFrames
std::vector< MythVideoTextureOpenGL * > GetReferenceFrames()
std::vector< MythVideoTextureOpenGL * > AcquireVAAPI(VASurfaceID Id, MythRenderOpenGL *Context, MythVideoFrame *Frame)
MythVAAPIInteropDRM(MythPlayerUI *Player, MythRenderOpenGL *Context, InteropType Type)
void DestroyDeinterlacer() override
std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
std::vector< MythVideoTextureOpenGL * > AcquirePrime(VASurfaceID Id, MythRenderOpenGL *Context, MythVideoFrame *Frame)
Export the given VideoFrame as a DRM PRIME descriptor.
void CleanupReferenceFrames()
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.