MythTV
master
|
#include <libmythtv/opengl/mythvdpauinterop.h>
Public Slots | |
void | UpdateColourSpace (bool PrimariesChanged) |
void | DisplayPreempted (void) |
Public Member Functions | |
std::vector< MythVideoTextureOpenGL * > | Acquire (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override |
Map VDPAU video surfaces to an OpenGL texture. More... | |
bool | IsPreempted (void) const |
![]() | |
~MythOpenGLInterop () override | |
![]() | |
MythInteropGPU (MythRender *Context, InteropType Type, MythPlayerUI *Player=nullptr) | |
~MythInteropGPU () override | |
InteropType | GetType () |
MythPlayerUI * | GetPlayer () |
void | SetDefaultFree (FreeAVHWDeviceContext FreeContext) |
void | SetDefaultUserOpaque (void *UserOpaque) |
FreeAVHWDeviceContext | GetDefaultFree () |
void * | GetDefaultUserOpaque () |
![]() | |
ReferenceCounter (const QString &debugName, bool logDebug=true) | |
Creates reference counter with an initial value of 1. More... | |
virtual int | IncrRef (void) |
Increments reference count. More... | |
virtual int | DecrRef (void) |
Decrements reference count and deletes on 0. More... | |
Static Public Member Functions | |
static void | GetVDPAUTypes (MythRenderOpenGL *Render, MythInteropGPU::InteropMap &Types) |
static MythVDPAUInterop * | CreateVDPAU (MythPlayerUI *Player, MythRenderOpenGL *Context, MythCodecID CodecId) |
![]() | |
static void | GetTypes (MythRender *Render, MythInteropGPU::InteropMap &Types) |
static std::vector< MythVideoTextureOpenGL * > | Retrieve (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) |
![]() | |
static InteropMap | GetTypes (MythRender *Render) |
static QString | TypeToString (InteropType Type) |
static QString | TypesToString (const InteropMap &Types) |
static MythInteropGPU * | CreateDummy () |
![]() | |
static void | PrintDebug (void) |
Print out any leaks if that level of debugging is enabled. More... | |
Protected Member Functions | |
MythVDPAUInterop (MythPlayerUI *Player, MythRenderOpenGL *Context, MythCodecID CodecID) | |
~MythVDPAUInterop () override | |
![]() | |
MythOpenGLInterop (MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr) | |
virtual void | DeleteTextures () |
![]() | |
virtual | ~ReferenceCounter (void) |
Called on destruction, will warn if object deleted with references in place. More... | |
Private Member Functions | |
bool | InitNV (AVVDPAUDeviceContext *DeviceContext) |
bool | InitVDPAU (AVVDPAUDeviceContext *DeviceContext, VdpVideoSurface Surface, MythDeintType Deint, bool DoubleRate) |
void | Cleanup (void) |
void | CleanupDeinterlacer (void) |
void | RotateReferenceFrames (AVBufferRef *Buffer) |
Private Attributes | |
MythVideoColourSpace * | m_colourSpace { nullptr } |
MythVDPAUHelper * | m_helper { nullptr } |
VdpOutputSurface | m_outputSurface { 0 } |
MythVDPAUSurfaceNV | m_outputSurfaceReg { 0 } |
VdpVideoMixer | m_mixer { 0 } |
VdpChromaType | m_mixerChroma { VDP_CHROMA_TYPE_420 } |
QSize | m_mixerSize |
MythDeintType | m_deinterlacer { DEINT_BASIC } |
QVector< AVBufferRef * > | m_referenceFrames |
MYTH_VDPAUINITNV | m_initNV { nullptr } |
MYTH_VDPAUFININV | m_finiNV { nullptr } |
MYTH_VDPAUREGOUTSURFNV | m_registerNV { nullptr } |
MYTH_VDPAUSURFACCESSNV | m_accessNV { nullptr } |
MYTH_VDPAUMAPSURFNV | m_mapNV { nullptr } |
MYTH_VDPAUMAPSURFNV | m_unmapNV { nullptr } |
MythCodecID | m_codec { kCodec_NONE } |
bool | m_preempted { false } |
bool | m_preemptedWarning { false } |
bool | m_mapped { false } |
Definition at line 25 of file mythvdpauinterop.h.
|
protected |
Definition at line 38 of file mythvdpauinterop.cpp.
Referenced by CreateVDPAU().
|
overrideprotected |
Definition at line 44 of file mythvdpauinterop.cpp.
|
static |
Definition at line 26 of file mythvdpauinterop.cpp.
Referenced by CreateVDPAU(), and MythOpenGLInterop::GetTypes().
|
static |
Definition at line 10 of file mythvdpauinterop.cpp.
Referenced by MythVDPAUContext::InitialiseContext().
|
overridevirtual |
Map VDPAU video surfaces to an OpenGL texture.
Reimplemented from MythOpenGLInterop.
Definition at line 226 of file mythvdpauinterop.cpp.
bool MythVDPAUInterop::IsPreempted | ( | void | ) | const |
Definition at line 388 of file mythvdpauinterop.cpp.
|
slot |
Definition at line 369 of file mythvdpauinterop.cpp.
Referenced by Acquire().
|
slot |
Definition at line 378 of file mythvdpauinterop.cpp.
Referenced by InitNV().
|
private |
Definition at line 115 of file mythvdpauinterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 152 of file mythvdpauinterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 58 of file mythvdpauinterop.cpp.
Referenced by InitVDPAU(), and ~MythVDPAUInterop().
|
private |
Definition at line 83 of file mythvdpauinterop.cpp.
Referenced by Acquire(), and ~MythVDPAUInterop().
|
private |
Definition at line 92 of file mythvdpauinterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 53 of file mythvdpauinterop.h.
Referenced by Acquire(), UpdateColourSpace(), and ~MythVDPAUInterop().
|
private |
Definition at line 54 of file mythvdpauinterop.h.
Referenced by Acquire(), Cleanup(), InitNV(), InitVDPAU(), UpdateColourSpace(), and ~MythVDPAUInterop().
|
private |
Definition at line 55 of file mythvdpauinterop.h.
Referenced by Acquire(), Cleanup(), and InitVDPAU().
|
private |
Definition at line 56 of file mythvdpauinterop.h.
Referenced by Acquire(), Cleanup(), and InitVDPAU().
|
private |
Definition at line 57 of file mythvdpauinterop.h.
Referenced by Acquire(), Cleanup(), InitVDPAU(), and UpdateColourSpace().
|
private |
Definition at line 58 of file mythvdpauinterop.h.
Referenced by Cleanup(), and InitVDPAU().
|
private |
Definition at line 59 of file mythvdpauinterop.h.
Referenced by Cleanup(), and InitVDPAU().
|
private |
Definition at line 60 of file mythvdpauinterop.h.
Referenced by Cleanup(), and InitVDPAU().
|
private |
Definition at line 61 of file mythvdpauinterop.h.
Referenced by Acquire(), CleanupDeinterlacer(), and RotateReferenceFrames().
|
private |
Definition at line 62 of file mythvdpauinterop.h.
Referenced by InitNV(), and InitVDPAU().
|
private |
Definition at line 63 of file mythvdpauinterop.h.
|
private |
Definition at line 64 of file mythvdpauinterop.h.
Referenced by InitNV(), and InitVDPAU().
|
private |
Definition at line 65 of file mythvdpauinterop.h.
Referenced by InitNV(), and InitVDPAU().
|
private |
Definition at line 66 of file mythvdpauinterop.h.
|
private |
Definition at line 67 of file mythvdpauinterop.h.
|
private |
Definition at line 68 of file mythvdpauinterop.h.
Referenced by Acquire().
Definition at line 69 of file mythvdpauinterop.h.
Referenced by Acquire(), Cleanup(), DisplayPreempted(), and IsPreempted().
Definition at line 70 of file mythvdpauinterop.h.
Referenced by Acquire().
Definition at line 71 of file mythvdpauinterop.h.