1#ifndef MYTHVDPAUINTEROP_H
2#define MYTHVDPAUINTEROP_H
13#include "libavutil/hwcontext_vdpau.h"
32 std::vector<MythVideoTextureOpenGL*>
46 bool InitNV(AVVDPAUDeviceContext* DeviceContext);
std::map< VideoFrameType, InteropTypes > InteropMap
A simple wrapper around VDPAU functionality.
VdpChromaType m_mixerChroma
MythVDPAUSurfaceNV m_outputSurfaceReg
VdpOutputSurface m_outputSurface
bool InitVDPAU(AVVDPAUDeviceContext *DeviceContext, VdpVideoSurface Surface, MythDeintType Deint, bool DoubleRate)
std::vector< MythVideoTextureOpenGL * > Acquire(MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override
Map VDPAU video surfaces to an OpenGL texture.
MYTH_VDPAUFININV m_finiNV
static void GetVDPAUTypes(MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types)
MythVDPAUHelper * m_helper
MYTH_VDPAUREGOUTSURFNV m_registerNV
void RotateReferenceFrames(AVBufferRef *Buffer)
MYTH_VDPAUMAPSURFNV m_mapNV
MythDeintType m_deinterlacer
QVector< AVBufferRef * > m_referenceFrames
MythVideoColourSpace * m_colourSpace
MYTH_VDPAUSURFACCESSNV m_accessNV
~MythVDPAUInterop() override
void UpdateColourSpace(bool PrimariesChanged)
MYTH_VDPAUINITNV m_initNV
bool InitNV(AVVDPAUDeviceContext *DeviceContext)
bool IsPreempted(void) const
static MythVDPAUInterop * CreateVDPAU(MythPlayerUI *Player, MythRenderOpenGL *Context, MythCodecID CodecId)
void CleanupDeinterlacer(void)
MYTH_VDPAUMAPSURFNV m_unmapNV
void DisplayPreempted(void)
MythVDPAUInterop(MythPlayerUI *Player, MythRenderOpenGL *Context, MythCodecID CodecID)
MythVideoColourSpace contains a QMatrix4x4 that can convert YCbCr data to RGB.
GLintptr MythVDPAUSurfaceNV
MythVDPAUSurfaceNV(APIENTRY *)(const void *, GLenum, GLsizei, const GLuint *) MYTH_VDPAUREGOUTSURFNV
void(APIENTRY *)(void) MYTH_VDPAUFININV
void(APIENTRY *)(GLsizei, MythVDPAUSurfaceNV *) MYTH_VDPAUMAPSURFNV
void(APIENTRY *)(const void *, const void *) MYTH_VDPAUINITNV
void(APIENTRY *)(MythVDPAUSurfaceNV, GLenum) MYTH_VDPAUSURFACCESSNV