MythTV
master
|
#include <libmythtv/opengl/mythvaapidrminterop.h>
Public Member Functions | |
MythVAAPIInteropDRM (MythPlayerUI *Player, MythRenderOpenGL *Context, InteropType Type) | |
~MythVAAPIInteropDRM () override | |
std::vector< MythVideoTextureOpenGL * > | Acquire (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) override |
void | DeleteTextures () override |
Public Member Functions inherited from MythVAAPIInterop | |
VASurfaceID | VerifySurface (MythRenderOpenGL *Context, MythVideoFrame *Frame) |
VADisplay | GetDisplay (void) |
QString | GetVendor (void) |
Public Member Functions inherited from MythOpenGLInterop | |
~MythOpenGLInterop () override | |
Public Member Functions inherited from MythInteropGPU | |
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 () |
Public Member Functions inherited from ReferenceCounter | |
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... | |
Public Member Functions inherited from MythEGLDMABUF | |
MythEGLDMABUF (MythRenderOpenGL *Context) | |
~MythEGLDMABUF ()=default | |
std::vector< MythVideoTextureOpenGL * > | CreateTextures (AVDRMFrameDescriptor *Desc, MythRenderOpenGL *Context, MythVideoFrame *Frame, bool UseSeparate, FrameScanType Scan=kScan_Progressive) |
Static Public Member Functions | |
static bool | IsSupported (MythRenderOpenGL *Context) |
Static Public Member Functions inherited from MythVAAPIInterop | |
static void | GetVAAPITypes (MythRenderOpenGL *Context, MythInteropGPU::InteropMap &Types) |
Return a list of interops that are supported by the current render device. More... | |
static MythVAAPIInterop * | CreateVAAPI (MythPlayerUI *Player, MythRenderOpenGL *Context) |
static bool | SetupDeinterlacer (MythDeintType Deinterlacer, bool DoubleRate, AVBufferRef *FramesContext, int Width, int Height, AVFilterGraph *&Graph, AVFilterContext *&Source, AVFilterContext *&Sink) |
Static Public Member Functions inherited from MythOpenGLInterop | |
static void | GetTypes (MythRender *Render, MythInteropGPU::InteropMap &Types) |
static std::vector< MythVideoTextureOpenGL * > | Retrieve (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) |
Static Public Member Functions inherited from MythInteropGPU | |
static InteropMap | GetTypes (MythRender *Render) |
static QString | TypeToString (InteropType Type) |
static QString | TypesToString (const InteropMap &Types) |
static MythInteropGPU * | CreateDummy () |
Static Public Member Functions inherited from ReferenceCounter | |
static void | PrintDebug (void) |
Print out any leaks if that level of debugging is enabled. More... | |
Static Public Member Functions inherited from MythEGLDMABUF | |
static bool | HaveDMABuf (MythRenderOpenGL *Context) |
static void | ClearDMATextures (MythRenderOpenGL *Context, std::vector< MythVideoTextureOpenGL * > &Textures) |
Protected Member Functions | |
void | DestroyDeinterlacer () override |
void | PostInitDeinterlacer () override |
Protected Member Functions inherited from MythVAAPIInterop | |
MythVAAPIInterop (MythPlayerUI *Player, MythRenderOpenGL *Context, InteropType Type) | |
~MythVAAPIInterop () override | |
void | InitaliseDisplay (void) |
VASurfaceID | Deinterlace (MythVideoFrame *Frame, VASurfaceID Current, FrameScanType Scan) |
Protected Member Functions inherited from MythOpenGLInterop | |
MythOpenGLInterop (MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr) | |
Protected Member Functions inherited from ReferenceCounter | |
virtual | ~ReferenceCounter (void) |
Called on destruction, will warn if object deleted with references in place. More... | |
Private Member Functions | |
void | CleanupReferenceFrames () |
void | RotateReferenceFrames (AVBufferRef *Buffer) |
std::vector< MythVideoTextureOpenGL * > | GetReferenceFrames () |
std::vector< MythVideoTextureOpenGL * > | AcquireVAAPI (VASurfaceID Id, MythRenderOpenGL *Context, MythVideoFrame *Frame) |
std::vector< MythVideoTextureOpenGL * > | AcquirePrime (VASurfaceID Id, MythRenderOpenGL *Context, MythVideoFrame *Frame) |
Export the given VideoFrame as a DRM PRIME descriptor. More... | |
AVDRMFrameDescriptor * | GetDRMFrameDescriptor (VASurfaceID Id) |
void | CleanupDRMPRIME () |
bool | TestPrimeInterop () |
Static Private Member Functions | |
static VideoFrameType | VATypeToMythType (uint32_t Fourcc) |
Private Attributes | |
QFile | m_drmFile |
QVector< AVBufferRef * > | m_referenceFrames |
bool | m_usePrime { false } |
QHash< unsigned long long, AVDRMFrameDescriptor * > | m_drmFrames |
Definition at line 15 of file mythvaapidrminterop.h.
MythVAAPIInteropDRM::MythVAAPIInteropDRM | ( | MythPlayerUI * | Player, |
MythRenderOpenGL * | Context, | ||
InteropType | Type | ||
) |
Definition at line 17 of file mythvaapidrminterop.cpp.
|
override |
Definition at line 49 of file mythvaapidrminterop.cpp.
|
overridevirtual |
Reimplemented from MythOpenGLInterop.
Definition at line 166 of file mythvaapidrminterop.cpp.
|
static |
Definition at line 374 of file mythvaapidrminterop.cpp.
Referenced by MythVAAPIInterop::GetVAAPITypes().
|
overridevirtual |
Reimplemented from MythOpenGLInterop.
Definition at line 63 of file mythvaapidrminterop.cpp.
Referenced by DestroyDeinterlacer(), PostInitDeinterlacer(), and ~MythVAAPIInteropDRM().
|
overrideprotectedvirtual |
Reimplemented from MythVAAPIInterop.
Definition at line 90 of file mythvaapidrminterop.cpp.
Referenced by Acquire(), and ~MythVAAPIInteropDRM().
|
overrideprotectedvirtual |
Reimplemented from MythVAAPIInterop.
Definition at line 101 of file mythvaapidrminterop.cpp.
|
staticprivate |
Definition at line 353 of file mythvaapidrminterop.cpp.
Referenced by AcquireVAAPI().
|
private |
Definition at line 109 of file mythvaapidrminterop.cpp.
Referenced by Acquire(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 118 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 141 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 286 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Export the given VideoFrame as a DRM PRIME descriptor.
This is funcionally equivalent to the 'regular' VAAPI version but is useful for testing DRM PRIME functionality on desktops.
Definition at line 410 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 426 of file mythvaapidrminterop.cpp.
Referenced by AcquirePrime().
|
private |
Definition at line 445 of file mythvaapidrminterop.cpp.
Referenced by DestroyDeinterlacer(), PostInitDeinterlacer(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 460 of file mythvaapidrminterop.cpp.
Referenced by MythVAAPIInteropDRM().
|
private |
Definition at line 38 of file mythvaapidrminterop.h.
Referenced by MythVAAPIInteropDRM(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 39 of file mythvaapidrminterop.h.
Referenced by CleanupReferenceFrames(), GetReferenceFrames(), and RotateReferenceFrames().
Definition at line 51 of file mythvaapidrminterop.h.
Referenced by Acquire(), and MythVAAPIInteropDRM().
|
private |
Definition at line 52 of file mythvaapidrminterop.h.
Referenced by AcquirePrime(), and CleanupDRMPRIME().