MythTV  master
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
VideoOutputD3D Class Reference

#include <videoout_d3d.h>

Inheritance diagram for VideoOutputD3D:
Inheritance graph
[legend]
Collaboration diagram for VideoOutputD3D:
Collaboration graph
[legend]

Public Member Functions

 VideoOutputD3D ()
 
 ~VideoOutputD3D ()
 
bool Init (const QSize &video_dim_buf, const QSize &video_dim_disp, float aspect, WId winid, const QRect &win_rect, MythCodecID codec_id) override
 Performs most of the initialization for VideoOutput. More...
 
void PrepareFrame (VideoFrame *buffer, FrameScanType, OSD *osd) override
 
void ProcessFrame (VideoFrame *frame, OSD *osd, FilterChain *filterList, const PIPMap &pipPlayers, FrameScanType scan) override
 
void Show (FrameScanType) override
 
void WindowResized (const QSize &new_size) override
 
bool InputChanged (const QSize &video_dim_buf, const QSize &video_dim_disp, float aspect, MythCodecID av_codec_id, void *codec_private, bool &aspect_only) override
 Tells video output to discard decoded frames and wait for new ones. More...
 
void MoveResizeWindow (QRect new_rect) override
 
void UpdatePauseFrame (int64_t &disp_timecode) override
 Updates frame displayed when video is paused. More...
 
void DrawUnusedRects (bool) override
 Draws non-video portions of the screen. More...
 
void Zoom (ZoomDirection direction) override
 Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize(). More...
 
void EmbedInWidget (const QRect &rect) override
 Tells video output to embed video in an existing window. More...
 
void StopEmbedding (void) override
 Tells video output to stop embedding video in an existing window. More...
 
bool hasFullScreenOSD (void) const override
 
void ShowPIP (VideoFrame *frame, MythPlayer *pipplayer, PIPLocation loc) override
 Composites PiP image onto a video frame. More...
 
void RemovePIP (MythPlayer *pipplayer) override
 
bool IsPIPSupported (void) const override
 
MythPainterGetOSDPainter (void) override
 
bool hasHWAcceleration (void) const override
 Return true if HW Acceleration is running. More...
 
bool ApproveDeintFilter (const QString &filtername) const override
 Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&). More...
 
void * GetDecoderContext (unsigned char *buf, uint8_t *&id) override
 
bool CanVisualise (AudioPlayer *audio, MythRender *) override
 
bool SetupVisualisation (AudioPlayer *audio, MythRender *, const QString &name) override
 
- Public Member Functions inherited from VideoOutput
 VideoOutput ()
 This constructor for VideoOutput must be followed by an Init(int,int,float,WId,int,int,int,int,WId) call. More...
 
virtual ~VideoOutput ()
 Shuts down video output. More...
 
virtual void InitOSD (OSD *osd)
 
virtual void SetVideoFrameRate (float)
 
virtual bool SetDeinterlacingEnabled (bool)
 Attempts to enable/disable deinterlacing using existing deinterlace method when enabling. More...
 
virtual bool SetupDeinterlace (bool interlaced, const QString &overridefilter="")
 Attempts to enable or disable deinterlacing. More...
 
virtual void FallbackDeint (void)
 Fallback to non-frame-rate-doubling deinterlacing method. More...
 
virtual void BestDeint (void)
 Change to the best deinterlacing method. More...
 
virtual bool NeedsDoubleFramerate (void) const
 Should Prepare() and Show() be called twice for every ProcessFrame(). More...
 
virtual bool IsBobDeint (void) const
 
virtual bool IsExtraProcessingRequired (void) const
 Should Prepare() and Show() and ProcessFrame be called twice for every Frameloop(). More...
 
void GetDeinterlacers (QStringList &deinterlacers)
 
QString GetDeinterlacer (void)
 
VideoDisplayProfileGetProfile ()
 
virtual void VideoAspectRatioChanged (float aspect)
 Calls SetVideoAspectRatio(float aspect), then calls MoveResize() to apply changes. More...
 
virtual void ResizeDisplayWindow (const QRect &, bool)
 Resize Display Window. More...
 
virtual void ResizeForGui (void)
 If we are using DisplayRes support, return the screen size and refresh rate to those used for the GUI. More...
 
virtual void ResizeForVideo (uint width=0, uint height=0)
 Sets display parameters based on video resolution. More...
 
virtual void MoveResize (void)
 performs all the calculations for video framing and any resizing. More...
 
virtual void ToggleMoveBottomLine (void)
 
virtual void SaveBottomLine (void)
 Save current Manual Zoom settings as BottomLine adjustment. More...
 
virtual void GetOSDBounds (QRect &total, QRect &visible, float &visibleAspect, float &fontScale, float themeAspect) const
 
QRect GetMHEGBounds (void)
 
virtual void DrawSlice (VideoFrame *frame, int x, int y, int w, int h)
 Informs video output of new data for frame, used for hardware accelerated decoding. More...
 
virtual float GetDisplayAspect (void) const
 Returns current display aspect ratio. More...
 
AspectOverrideMode GetAspectOverride (void) const
 Returns current aspect override mode. More...
 
virtual void ToggleAspectOverride (AspectOverrideMode aspectOverrideMode=kAspect_Toggle)
 Enforce different aspect ration than detected, then calls VideoAspectRatioChanged(float) to apply them. More...
 
AdjustFillMode GetAdjustFill (void) const
 Returns current adjust fill mode. More...
 
virtual void ToggleAdjustFill (AdjustFillMode adjustFillMode=kAdjustFill_Toggle)
 Sets up letterboxing for various standard video frame and monitor dimensions, then calls MoveResize() to apply them. More...
 
QString GetZoomString (void) const
 
void CropToDisplay (VideoFrame *frame)
 
void ExposeEvent (void)
 Tells video output that a full repaint is needed. More...
 
PictureAttributeSupported GetSupportedPictureAttributes (void)
 
int ChangePictureAttribute (PictureAttribute, bool direction)
 
virtual int SetPictureAttribute (PictureAttribute, int newValue)
 Sets a specified picture attribute. More...
 
int GetPictureAttribute (PictureAttribute)
 
virtual void InitPictureAttributes (void)
 
bool AllowPreviewEPG (void) const
 
virtual QString GetName (void) const
 
virtual bool IsPBPSupported (void) const
 
virtual bool NeedExtraAudioDecode (void) const
 
virtual void SetFramesPlayed (long long fp)
 Sets the number of frames played. More...
 
virtual long long GetFramesPlayed (void)
 Returns the number of frames played. More...
 
bool IsErrored () const
 Returns true if a fatal error has been encountered. More...
 
VideoErrorState GetError (void) const
 Returns error type. More...
 
void SetPrebuffering (bool normal)
 Sets whether to use a normal number of buffers or fewer buffers. More...
 
virtual void ClearAfterSeek (void)
 Tells video output to toss decoded buffers due to a seek. More...
 
virtual int ValidVideoFrames (void) const
 Returns number of frames that are fully decoded. More...
 
int FreeVideoFrames (void)
 Returns number of frames available for decoding onto. More...
 
bool EnoughFreeFrames (void)
 Returns true iff enough frames are available to decode onto. More...
 
bool EnoughDecodedFrames (void)
 Returns true iff there are plenty of decoded frames ready for display. More...
 
bool EnoughPrebufferedFrames (void)
 Returns true iff we have at least the minimum number of decoded frames ready for display. More...
 
bool IsEmbedding (void)
 Returns if videooutput is embedding. More...
 
virtual VideoFrameGetNextFreeFrame (void)
 Blocks until it is possible to return a frame for decoding onto. More...
 
virtual void ReleaseFrame (VideoFrame *frame)
 Releases a frame from the ready for decoding queue onto the queue of frames ready for display. More...
 
virtual void DeLimboFrame (VideoFrame *frame)
 Releases a frame for reuse if it is in limbo. More...
 
virtual void StartDisplayingFrame (void)
 Tell GetLastShownFrame() to return the next frame from the head of the queue of frames to display. More...
 
virtual void DoneDisplayingFrame (VideoFrame *frame)
 Releases frame returned from GetLastShownFrame() onto the queue of frames ready for decoding onto. More...
 
virtual void DiscardFrame (VideoFrame *frame)
 Releases frame from any queue onto the queue of frames ready for decoding onto. More...
 
virtual void DiscardFrames (bool kf)
 Releases all frames not being actively displayed from any queue onto the queue of frames ready for decoding onto. More...
 
virtual void ClearDummyFrame (VideoFrame *frame)
 Clears the frame to black. More...
 
virtual void CheckFrameStates (void)
 
virtual VideoFrameGetLastDecodedFrame (void)
 
virtual VideoFrameGetLastShownFrame (void)
 Returns frame from the head of the ready to be displayed queue, if StartDisplayingFrame has been called. More...
 
QString GetFrameStatus (void) const
 Returns string with status of each frame for debugging. More...
 
void SetVideoResize (const QRect &videoRect)
 Tells the player to resize the video frame (used for ITV) More...
 
void SetVideoScalingAllowed (bool change)
 Disable or enable underscan/overscan. More...
 
bool IsVideoScalingAllowed (void) const
 check if video underscan/overscan is allowed More...
 
virtual void SetVideoFlip (void)
 Tells the player to flip the video frames for proper display. More...
 
virtual QRect GetPIPRect (PIPLocation location, MythPlayer *pipplayer=nullptr, bool do_pixel_adj=true) const
 returns QRect of PIP based on PIPLocation More...
 
virtual void SetPIPState (PIPState setting)
 
virtual QString GetOSDRenderer (void) const
 \ brief return OSD renderer type for this videoOutput More...
 
virtual bool GetScreenShot (int=0, int=0, QString="")
 
QString GetFilters (void) const
 
QRect GetImageRect (const QRect &rect, QRect *display=nullptr)
 translates caption/dvd button rectangle into 'screen' space More...
 
QRect GetSafeRect (void)
 Returns a QRect describing an area of the screen on which it is 'safe' to render the On Screen Display. More...
 
bool EnableVisualisation (AudioPlayer *audio, bool enable, const QString &name=QString(""))
 
VideoVisualGetVisualisation (void)
 
QString GetVisualiserName (void)
 
virtual QStringList GetVisualiserList (void)
 
void DestroyVisualisation (void)
 
virtual bool StereoscopicModesAllowed (void) const
 
void SetStereoscopicMode (StereoscopicMode mode)
 
StereoscopicMode GetStereoscopicMode (void) const
 

Static Public Member Functions

static void GetRenderOptions (render_opts &opts, QStringList &cpudeints)
 
static QStringList GetAllowedRenderers (MythCodecID myth_codec_id, const QSize &video_dim)
 
static MythCodecID GetBestSupportedCodec (uint width, uint height, const QString &decoder, uint stream_type, bool no_acceleration, AVPixelFormat &pix_fmt)
 
- Static Public Member Functions inherited from VideoOutput
static void GetRenderOptions (render_opts &opts)
 
static VideoOutputCreate (const QString &decoder, MythCodecID codec_id, void *codec_priv, PIPState pipState, const QSize &video_dim_buf, const QSize &video_dim_disp, float video_aspect, QWidget *parentwidget, const QRect &embed_rect, float video_prate, uint playerFlags, QString &codecName)
 Depending on compile-time configure settings and run-time renderer settings, create a relevant VideoOutput subclass. More...
 
static int CalcHueBase (const QString &adaptor_name)
 

Private Member Functions

void TearDown (void)
 
bool SetupContext (void)
 
bool CreateBuffers (void)
 
bool InitBuffers (void)
 
bool CreatePauseFrame (void)
 
void SetProfile (void)
 
void DestroyContext (void)
 
void UpdateFrame (VideoFrame *frame, D3D9Image *img)
 
bool CreateDecoder (void)
 
void DeleteDecoder (void)
 

Private Attributes

VideoFrame m_pauseFrame
 
QMutex m_lock
 
HWND m_hWnd
 
HWND m_hEmbedWnd
 
MythRenderD3D9m_render
 
D3D9Imagem_video
 
bool m_render_valid
 
bool m_render_reset
 
QMap< MythPlayer *, D3D9Image * > m_pips
 
QMap< MythPlayer *, boolm_pip_ready
 
D3D9Imagem_pip_active
 
MythD3D9Painterm_osd_painter
 
DXVA2Decoderm_decoder
 
void * m_pause_surface
 

Additional Inherited Members

- Protected Member Functions inherited from VideoOutput
void InitBuffers (int numdecode, bool extra_for_pause, int need_free, int needprebuffer_normal, int needprebuffer_small, int keepprebuffer)
 
void InitDisplayMeasurements (uint width, uint height, bool resize)
 Init display measurements based on database settings and actual screen parameters. More...
 
virtual void ShowPIPs (VideoFrame *frame, const PIPMap &pipPlayers)
 
virtual bool DisplayOSD (VideoFrame *frame, OSD *osd)
 If the OSD has changed, this will convert the OSD buffer to the OSDSurface's color format. More...
 
QRect GetVisibleOSDBounds (float &, float &, float) const
 Returns visible portions of total OSD bounds. More...
 
QRect GetTotalOSDBounds (void) const
 Returns total OSD bounds. More...
 
void DoPipResize (int pipwidth, int pipheight)
 Sets up Picture in Picture image resampler. More...
 
void ShutdownPipResize (void)
 Shuts down Picture in Picture image resampler. More...
 
void ResizeVideo (VideoFrame *frame)
 
void DoVideoResize (const QSize &inDim, const QSize &outDim)
 Sets up Picture in Picture image resampler. More...
 
virtual void ShutdownVideoResize (void)
 
- Static Protected Member Functions inherited from VideoOutput
static void CopyFrame (VideoFrame *to, const VideoFrame *from)
 Copies frame data from one VideoFrame to another. More...
 
- Protected Attributes inherited from VideoOutput
VideoOutWindow window
 
QSize db_display_dim
 Screen dimensions in millimeters from DB. More...
 
VideoColourSpace videoColourSpace
 
AspectOverrideMode db_aspectoverride
 
AdjustFillMode db_adjustfill
 
LetterBoxColour db_letterbox_colour
 
QString db_deint_filtername
 
MythCodecID video_codec_id
 
VideoDisplayProfiledb_vdisp_profile
 
QSize pip_desired_display_size
 
QSize pip_display_size
 
QSize pip_video_size
 
unsigned char * pip_tmp_buf
 
unsigned char * pip_tmp_buf2
 
struct SwsContext * pip_scaling_context
 
VideoFrame pip_tmp_image
 
bool vsz_enabled
 
QRect vsz_desired_display_rect
 
QSize vsz_display_size
 
QSize vsz_video_size
 
unsigned char * vsz_tmp_buf
 
struct SwsContext * vsz_scale_context
 
bool m_deinterlacing
 
QString m_deintfiltername
 
FilterManagerm_deintFiltMan
 
FilterChainm_deintFilter
 
bool m_deinterlaceBeforeOSD
 
VideoBuffers vbuffers
 VideoBuffers instance used to track video output buffers. More...
 
VideoErrorState errorState
 
long long framesPlayed
 
DisplayResdisplay_res
 
QSize monitor_sz
 
QSize monitor_dim
 
MythYUVAPainterosd_painter
 
MythImageosd_image
 
MythPainterinvalid_osd_painter
 
VideoVisualm_visual
 
StereoscopicMode m_stereo
 
MythAVCopy m_copyFrame
 

Detailed Description

Definition at line 15 of file videoout_d3d.h.

Constructor & Destructor Documentation

◆ VideoOutputD3D()

VideoOutputD3D::VideoOutputD3D ( void  )

Definition at line 57 of file videoout_d3d.cpp.

◆ ~VideoOutputD3D()

VideoOutputD3D::~VideoOutputD3D ( )

Definition at line 71 of file videoout_d3d.cpp.

Member Function Documentation

◆ GetRenderOptions()

void VideoOutputD3D::GetRenderOptions ( render_opts opts,
QStringList &  cpudeints 
)
static

Definition at line 37 of file videoout_d3d.cpp.

Referenced by VideoOutput::GetRenderOptions().

◆ Init()

bool VideoOutputD3D::Init ( const QSize &  video_dim_buf,
const QSize &  video_dim_disp,
float  aspect,
WId  winid,
const QRect &  win_rect,
MythCodecID  codec_id 
)
overridevirtual

Performs most of the initialization for VideoOutput.

Returns
true if successful, false otherwise.

Reimplemented from VideoOutput.

Definition at line 212 of file videoout_d3d.cpp.

Referenced by InputChanged().

◆ PrepareFrame()

void VideoOutputD3D::PrepareFrame ( VideoFrame buffer,
FrameScanType  t,
OSD osd 
)
overridevirtual

Implements VideoOutput.

Definition at line 328 of file videoout_d3d.cpp.

◆ ProcessFrame()

void VideoOutputD3D::ProcessFrame ( VideoFrame frame,
OSD osd,
FilterChain filterList,
const PIPMap pipPlayers,
FrameScanType  scan 
)
overridevirtual

Implements VideoOutput.

Definition at line 490 of file videoout_d3d.cpp.

◆ Show()

void VideoOutputD3D::Show ( FrameScanType  )
overridevirtual

Implements VideoOutput.

Definition at line 400 of file videoout_d3d.cpp.

◆ WindowResized()

void VideoOutputD3D::WindowResized ( const QSize &  new_size)
overridevirtual

Reimplemented from VideoOutput.

Definition at line 130 of file videoout_d3d.cpp.

◆ InputChanged()

bool VideoOutputD3D::InputChanged ( const QSize &  video_dim_buf,
const QSize &  video_dim_disp,
float  aspect,
MythCodecID  myth_codec_id,
void *  codec_private,
bool aspect_changed 
)
overridevirtual

Tells video output to discard decoded frames and wait for new ones.

Bug:
We set the new width height and aspect ratio here, but we should do this based on the new video frames in Show().
Parameters
video_dim_bufThe size of the video buffer.
video_dim_dispThe size of the video display.
aspectThe width/height of the presented video.
myth_codec_idThe video codec ID.
codec_privatePrivate data for the video codec.
aspect_changedAn output parameter indicating that only the aspect ratio has changed. It must be initialized to false before calling this function.

Reimplemented from VideoOutput.

Definition at line 143 of file videoout_d3d.cpp.

◆ MoveResizeWindow()

void VideoOutputD3D::MoveResizeWindow ( QRect  new_rect)
inlineoverridevirtual

Implements VideoOutput.

Definition at line 39 of file videoout_d3d.h.

◆ UpdatePauseFrame()

void VideoOutputD3D::UpdatePauseFrame ( int64_t &  disp_timecode)
overridevirtual

Updates frame displayed when video is paused.

Implements VideoOutput.

Definition at line 441 of file videoout_d3d.cpp.

◆ DrawUnusedRects()

void VideoOutputD3D::DrawUnusedRects ( bool  sync)
inlineoverridevirtual

Draws non-video portions of the screen.

Parameters
syncif set any queued up draws are sent immediately to the graphics context and we block until they have completed.

Implements VideoOutput.

Definition at line 41 of file videoout_d3d.h.

◆ Zoom()

void VideoOutputD3D::Zoom ( ZoomDirection  direction)
overridevirtual

Sets up zooming into to different parts of the video, the zoom is actually applied in MoveResize().

See also
ToggleAdjustFill(AdjustFillMode)

Reimplemented from VideoOutput.

Definition at line 434 of file videoout_d3d.cpp.

◆ EmbedInWidget()

void VideoOutputD3D::EmbedInWidget ( const QRect &  rect)
overridevirtual

Tells video output to embed video in an existing window.

See also
StopEmbedding()

Reimplemented from VideoOutput.

Definition at line 417 of file videoout_d3d.cpp.

◆ StopEmbedding()

void VideoOutputD3D::StopEmbedding ( void  )
overridevirtual

Tells video output to stop embedding video in an existing window.

See also
EmbedInWidget(const QRect&)

Reimplemented from VideoOutput.

Definition at line 426 of file videoout_d3d.cpp.

◆ hasFullScreenOSD()

bool VideoOutputD3D::hasFullScreenOSD ( void  ) const
inlineoverridevirtual

Reimplemented from VideoOutput.

Definition at line 45 of file videoout_d3d.h.

◆ GetAllowedRenderers()

QStringList VideoOutputD3D::GetAllowedRenderers ( MythCodecID  myth_codec_id,
const QSize &  video_dim 
)
static

Definition at line 659 of file videoout_d3d.cpp.

Referenced by VideoOutput::Create().

◆ GetBestSupportedCodec()

MythCodecID VideoOutputD3D::GetBestSupportedCodec ( uint  width,
uint  height,
const QString &  decoder,
uint  stream_type,
bool  no_acceleration,
AVPixelFormat &  pix_fmt 
)
static

Definition at line 688 of file videoout_d3d.cpp.

Referenced by AvFormatDecoder::ScanStreams().

◆ ShowPIP()

void VideoOutputD3D::ShowPIP ( VideoFrame frame,
MythPlayer pipplayer,
PIPLocation  loc 
)
overridevirtual

Composites PiP image onto a video frame.

Note: This only works with memory backed VideoFrames.

Parameters
frameFrame to composite PiP onto.
pipplayerPicture-in-Picture Player.
locLocation of this PiP on the frame.

Reimplemented from VideoOutput.

Definition at line 579 of file videoout_d3d.cpp.

◆ RemovePIP()

void VideoOutputD3D::RemovePIP ( MythPlayer pipplayer)
overridevirtual

Reimplemented from VideoOutput.

Definition at line 645 of file videoout_d3d.cpp.

◆ IsPIPSupported()

bool VideoOutputD3D::IsPIPSupported ( void  ) const
inlineoverridevirtual

Reimplemented from VideoOutput.

Definition at line 59 of file videoout_d3d.h.

◆ GetOSDPainter()

MythPainter * VideoOutputD3D::GetOSDPainter ( void  )
overridevirtual

Reimplemented from VideoOutput.

Definition at line 671 of file videoout_d3d.cpp.

◆ hasHWAcceleration()

bool VideoOutputD3D::hasHWAcceleration ( void  ) const
inlineoverridevirtual

Return true if HW Acceleration is running.

Reimplemented from VideoOutput.

Definition at line 62 of file videoout_d3d.h.

◆ ApproveDeintFilter()

bool VideoOutputD3D::ApproveDeintFilter ( const QString &  filtername) const
overridevirtual

Approves bobdeint filter for XVideo and otherwise defers to VideoOutput::ApproveDeintFilter(const QString&).

Approves all deinterlace filters, except ones which must be supported by a specific video output class.

Returns
whether current video output supports a specific filter.

Reimplemented from VideoOutput.

Definition at line 676 of file videoout_d3d.cpp.

◆ GetDecoderContext()

void * VideoOutputD3D::GetDecoderContext ( unsigned char *  buf,
uint8_t *&  id 
)
overridevirtual

Reimplemented from VideoOutput.

Definition at line 706 of file videoout_d3d.cpp.

◆ CanVisualise()

bool VideoOutputD3D::CanVisualise ( AudioPlayer audio,
MythRender  
)
inlineoverridevirtual

Reimplemented from VideoOutput.

Definition at line 67 of file videoout_d3d.h.

◆ SetupVisualisation()

bool VideoOutputD3D::SetupVisualisation ( AudioPlayer audio,
MythRender ,
const QString &  name 
)
inlineoverridevirtual

Reimplemented from VideoOutput.

Definition at line 69 of file videoout_d3d.h.

◆ TearDown()

void VideoOutputD3D::TearDown ( void  )
private

Definition at line 76 of file videoout_d3d.cpp.

Referenced by Init(), InputChanged(), and ~VideoOutputD3D().

◆ SetupContext()

bool VideoOutputD3D::SetupContext ( void  )
private

Definition at line 192 of file videoout_d3d.cpp.

Referenced by Init(), and ProcessFrame().

◆ CreateBuffers()

bool VideoOutputD3D::CreateBuffers ( void  )
private

Definition at line 272 of file videoout_d3d.cpp.

Referenced by Init().

◆ InitBuffers()

bool VideoOutputD3D::InitBuffers ( void  )
private

Definition at line 289 of file videoout_d3d.cpp.

Referenced by Init().

◆ CreatePauseFrame()

bool VideoOutputD3D::CreatePauseFrame ( void  )
private

Definition at line 313 of file videoout_d3d.cpp.

Referenced by Init().

◆ SetProfile()

void VideoOutputD3D::SetProfile ( void  )
private

Definition at line 266 of file videoout_d3d.cpp.

Referenced by Init().

◆ DestroyContext()

void VideoOutputD3D::DestroyContext ( void  )
private

Definition at line 104 of file videoout_d3d.cpp.

Referenced by SetupContext(), and TearDown().

◆ UpdateFrame()

void VideoOutputD3D::UpdateFrame ( VideoFrame frame,
D3D9Image img 
)
private

Definition at line 465 of file videoout_d3d.cpp.

Referenced by ProcessFrame(), and ShowPIP().

◆ CreateDecoder()

bool VideoOutputD3D::CreateDecoder ( void  )
private

Definition at line 717 of file videoout_d3d.cpp.

Referenced by Init(), and ProcessFrame().

◆ DeleteDecoder()

void VideoOutputD3D::DeleteDecoder ( void  )
private

Definition at line 732 of file videoout_d3d.cpp.

Referenced by CreateDecoder(), and TearDown().

Member Data Documentation

◆ m_pauseFrame

VideoFrame VideoOutputD3D::m_pauseFrame
private

◆ m_lock

QMutex VideoOutputD3D::m_lock
private

◆ m_hWnd

HWND VideoOutputD3D::m_hWnd
private

Definition at line 86 of file videoout_d3d.h.

Referenced by Init(), InputChanged(), and SetupContext().

◆ m_hEmbedWnd

HWND VideoOutputD3D::m_hEmbedWnd
private

Definition at line 87 of file videoout_d3d.h.

Referenced by Show().

◆ m_render

MythRenderD3D9* VideoOutputD3D::m_render
private

◆ m_video

D3D9Image* VideoOutputD3D::m_video
private

Definition at line 89 of file videoout_d3d.h.

Referenced by DestroyContext(), PrepareFrame(), ProcessFrame(), and SetupContext().

◆ m_render_valid

bool VideoOutputD3D::m_render_valid
private

Definition at line 90 of file videoout_d3d.h.

Referenced by DestroyContext(), PrepareFrame(), ProcessFrame(), SetupContext(), and Show().

◆ m_render_reset

bool VideoOutputD3D::m_render_reset
private

Definition at line 91 of file videoout_d3d.h.

Referenced by DestroyContext(), PrepareFrame(), ProcessFrame(), and Show().

◆ m_pips

QMap<MythPlayer*,D3D9Image*> VideoOutputD3D::m_pips
private

Definition at line 93 of file videoout_d3d.h.

Referenced by DestroyContext(), PrepareFrame(), RemovePIP(), and ShowPIP().

◆ m_pip_ready

QMap<MythPlayer*,bool> VideoOutputD3D::m_pip_ready
private

Definition at line 94 of file videoout_d3d.h.

Referenced by DestroyContext(), PrepareFrame(), RemovePIP(), and ShowPIP().

◆ m_pip_active

D3D9Image* VideoOutputD3D::m_pip_active
private

Definition at line 95 of file videoout_d3d.h.

Referenced by PrepareFrame(), and ShowPIP().

◆ m_osd_painter

MythD3D9Painter* VideoOutputD3D::m_osd_painter
private

Definition at line 97 of file videoout_d3d.h.

Referenced by GetOSDPainter(), Init(), PrepareFrame(), and TearDown().

◆ m_decoder

DXVA2Decoder* VideoOutputD3D::m_decoder
private

◆ m_pause_surface

void* VideoOutputD3D::m_pause_surface
private

Definition at line 104 of file videoout_d3d.h.

Referenced by ProcessFrame(), UpdatePauseFrame(), and VideoOutputD3D().


The documentation for this class was generated from the following files: