|
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 | |
| virtual std::vector< MythVideoTextureOpenGL * > | Acquire (MythRenderOpenGL *Context, MythVideoColourSpace *ColourSpace, MythVideoFrame *Frame, FrameScanType Scan) |
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) |
| virtual void | DestroyDeinterlacer (void) |
| virtual void | PostInitDeinterlacer (void) |
Protected Member Functions inherited from MythOpenGLInterop | |
| MythOpenGLInterop (MythRenderOpenGL *Context, InteropType Type, MythPlayerUI *Player=nullptr) | |
| virtual void | DeleteTextures () |
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 16 of file mythvaapidrminterop.h.
| MythVAAPIInteropDRM::MythVAAPIInteropDRM | ( | MythPlayerUI * | Player, |
| MythRenderOpenGL * | Context, | ||
| InteropType | Type | ||
| ) |
Definition at line 23 of file mythvaapidrminterop.cpp.
|
override |
Definition at line 55 of file mythvaapidrminterop.cpp.
|
overridevirtual |
Reimplemented from MythOpenGLInterop.
Definition at line 172 of file mythvaapidrminterop.cpp.
|
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 414 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 292 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 443 of file mythvaapidrminterop.cpp.
Referenced by DestroyDeinterlacer(), PostInitDeinterlacer(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 115 of file mythvaapidrminterop.cpp.
Referenced by Acquire(), and ~MythVAAPIInteropDRM().
|
overridevirtual |
Reimplemented from MythOpenGLInterop.
Definition at line 69 of file mythvaapidrminterop.cpp.
Referenced by DestroyDeinterlacer(), PostInitDeinterlacer(), and ~MythVAAPIInteropDRM().
|
overrideprotectedvirtual |
Reimplemented from MythVAAPIInterop.
Definition at line 96 of file mythvaapidrminterop.cpp.
Referenced by Acquire(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 428 of file mythvaapidrminterop.cpp.
Referenced by AcquirePrime().
|
private |
Definition at line 147 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
static |
Definition at line 380 of file mythvaapidrminterop.cpp.
Referenced by MythVAAPIInterop::GetVAAPITypes().
|
overrideprotectedvirtual |
Reimplemented from MythVAAPIInterop.
Definition at line 107 of file mythvaapidrminterop.cpp.
|
private |
Definition at line 124 of file mythvaapidrminterop.cpp.
Referenced by Acquire().
|
private |
Definition at line 458 of file mythvaapidrminterop.cpp.
Referenced by MythVAAPIInteropDRM().
|
staticprivate |
Definition at line 359 of file mythvaapidrminterop.cpp.
Referenced by AcquireVAAPI().
|
private |
Definition at line 39 of file mythvaapidrminterop.h.
Referenced by MythVAAPIInteropDRM(), and ~MythVAAPIInteropDRM().
|
private |
Definition at line 53 of file mythvaapidrminterop.h.
Referenced by AcquirePrime(), and CleanupDRMPRIME().
|
private |
Definition at line 40 of file mythvaapidrminterop.h.
Referenced by CleanupReferenceFrames(), GetReferenceFrames(), and RotateReferenceFrames().
Definition at line 52 of file mythvaapidrminterop.h.
Referenced by Acquire(), and MythVAAPIInteropDRM().