MythTV  master
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MythCodecContext Class Reference

#include <mythcodeccontext.h>

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

Public Member Functions

 MythCodecContext (void)
 
virtual ~MythCodecContext ()=default
 
virtual int HwDecoderInit (AVCodecContext *)
 
void setStream (AVStream *initStream)
 
virtual int FilteredReceiveFrame (AVCodecContext *ctx, AVFrame *frame)
 
virtual QStringList GetDeinterlacers (void)
 
virtual QString GetDeinterlaceFilter ()
 
void setPlayer (MythPlayer *tPlayer)
 
bool setDeinterlacer (bool enable, QString name=QString())
 
bool isDeinterlacing (void)
 
QString getDeinterlacerName (void)
 
bool BestDeint (void)
 
bool FallbackDeint (void)
 
bool getDoubleRate (void)
 
QString GetFallbackDeint (void)
 

Static Public Member Functions

static MythCodecContextcreateMythCodecContext (MythCodecID codec)
 
static QStringList GetDeinterlacers (const QString &decodername)
 
static bool isCodecDeinterlacer (const QString &decodername)
 

Protected Member Functions

virtual bool isValidDeinterlacer (QString)
 
virtual int InitDeinterlaceFilter (AVCodecContext *ctx, AVFrame *frame)
 

Protected Attributes

AVStream * stream
 
AVFilterContext * buffersink_ctx
 
AVFilterContext * buffersrc_ctx
 
AVFilterGraph * filter_graph
 
bool filtersInitialized
 
AVBufferRef * hw_frames_ctx
 
MythPlayerplayer
 
int64_t priorPts [2]
 
int64_t ptsUsed
 
int width
 
int height
 
QString deinterlacername
 
QMutex contextLock
 
bool doublerate
 

Detailed Description

Definition at line 40 of file mythcodeccontext.h.

Constructor & Destructor Documentation

◆ MythCodecContext()

MythCodecContext::MythCodecContext ( void  )

Definition at line 51 of file mythcodeccontext.cpp.

Referenced by createMythCodecContext().

◆ ~MythCodecContext()

virtual MythCodecContext::~MythCodecContext ( )
virtualdefault

Member Function Documentation

◆ createMythCodecContext()

MythCodecContext * MythCodecContext::createMythCodecContext ( MythCodecID  codec)
static

Definition at line 67 of file mythcodeccontext.cpp.

Referenced by AvFormatDecoder::InitVideoCodec().

◆ HwDecoderInit()

virtual int MythCodecContext::HwDecoderInit ( AVCodecContext *  )
inlinevirtual

Reimplemented in Vaapi2Context, and NvdecContext.

Definition at line 46 of file mythcodeccontext.h.

Referenced by AvFormatDecoder::InitVideoCodec().

◆ setStream()

void MythCodecContext::setStream ( AVStream *  initStream)
inline

Definition at line 47 of file mythcodeccontext.h.

Referenced by AvFormatDecoder::InitVideoCodec().

◆ FilteredReceiveFrame()

int MythCodecContext::FilteredReceiveFrame ( AVCodecContext *  ctx,
AVFrame frame 
)
virtual

Definition at line 158 of file mythcodeccontext.cpp.

Referenced by AvFormatDecoder::ProcessVideoPacket().

◆ GetDeinterlacers() [1/2]

QStringList MythCodecContext::GetDeinterlacers ( const QString &  decodername)
static

Definition at line 87 of file mythcodeccontext.cpp.

Referenced by TV::PlaybackMenuInit().

◆ isCodecDeinterlacer()

bool MythCodecContext::isCodecDeinterlacer ( const QString &  decodername)
static

◆ GetDeinterlacers() [2/2]

virtual QStringList MythCodecContext::GetDeinterlacers ( void  )
inlinevirtual

◆ GetDeinterlaceFilter()

virtual QString MythCodecContext::GetDeinterlaceFilter ( void  )
inlinevirtual

Reimplemented in Vaapi2Context.

Definition at line 52 of file mythcodeccontext.h.

◆ setPlayer()

void MythCodecContext::setPlayer ( MythPlayer tPlayer)
inline

Definition at line 53 of file mythcodeccontext.h.

Referenced by AvFormatDecoder::InitVideoCodec().

◆ setDeinterlacer()

bool MythCodecContext::setDeinterlacer ( bool  enable,
QString  name = QString() 
)

◆ isDeinterlacing()

bool MythCodecContext::isDeinterlacing ( void  )
inline

◆ getDeinterlacerName()

QString MythCodecContext::getDeinterlacerName ( void  )
inline

◆ BestDeint()

bool MythCodecContext::BestDeint ( void  )

Definition at line 280 of file mythcodeccontext.cpp.

Referenced by MythPlayer::ChangeSpeed().

◆ FallbackDeint()

bool MythCodecContext::FallbackDeint ( void  )

Definition at line 287 of file mythcodeccontext.cpp.

Referenced by MythPlayer::ChangeSpeed(), and MythPlayer::FallbackDeint().

◆ getDoubleRate()

bool MythCodecContext::getDoubleRate ( void  )
inline

Definition at line 59 of file mythcodeccontext.h.

Referenced by MythPlayer::ChangeSpeed(), and MythPlayer::ForceDeinterlacer().

◆ GetFallbackDeint()

QString MythCodecContext::GetFallbackDeint ( void  )

Definition at line 292 of file mythcodeccontext.cpp.

Referenced by FallbackDeint(), and Vaapi2Context::InitDeinterlaceFilter().

◆ isValidDeinterlacer()

virtual bool MythCodecContext::isValidDeinterlacer ( QString  )
inlineprotectedvirtual

Reimplemented in Vaapi2Context, and NvdecContext.

Definition at line 63 of file mythcodeccontext.h.

◆ InitDeinterlaceFilter()

int MythCodecContext::InitDeinterlaceFilter ( AVCodecContext *  ctx,
AVFrame frame 
)
protectedvirtual

Reimplemented in Vaapi2Context.

Definition at line 308 of file mythcodeccontext.cpp.

Referenced by FilteredReceiveFrame().

Member Data Documentation

◆ stream

AVStream* MythCodecContext::stream
protected

Definition at line 65 of file mythcodeccontext.h.

Referenced by Vaapi2Context::InitDeinterlaceFilter().

◆ buffersink_ctx

AVFilterContext* MythCodecContext::buffersink_ctx
protected

◆ buffersrc_ctx

AVFilterContext* MythCodecContext::buffersrc_ctx
protected

◆ filter_graph

AVFilterGraph* MythCodecContext::filter_graph
protected

◆ filtersInitialized

bool MythCodecContext::filtersInitialized
protected

◆ hw_frames_ctx

AVBufferRef* MythCodecContext::hw_frames_ctx
protected

◆ player

MythPlayer* MythCodecContext::player
protected

◆ priorPts

int64_t MythCodecContext::priorPts[2]
protected

◆ ptsUsed

int64_t MythCodecContext::ptsUsed
protected

Definition at line 73 of file mythcodeccontext.h.

Referenced by Vaapi2Context::CloseFilters(), and FilteredReceiveFrame().

◆ width

int MythCodecContext::width
protected

◆ height

int MythCodecContext::height
protected

◆ deinterlacername

QString MythCodecContext::deinterlacername
protected

◆ contextLock

QMutex MythCodecContext::contextLock
protected

◆ doublerate

bool MythCodecContext::doublerate
protected

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