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

#include <privatedecoder_omx.h>

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

Public Member Functions

 PrivateDecoderOMX ()
 
virtual ~PrivateDecoderOMX ()
 
QString GetName (void) override
 
bool Init (const QString &decoder, PlayerFlags flags, AVCodecContext *avctx) override
 
bool Reset (void) override
 
int GetFrame (AVStream *stream, AVFrame *picture, int *got_picture_ptr, AVPacket *pkt) override
 
bool HasBufferedFrames (void) override
 
bool NeedsReorderedPTS (void) override
 
- Public Member Functions inherited from PrivateDecoder
 PrivateDecoder ()=default
 
virtual ~PrivateDecoder ()=default
 

Static Public Member Functions

static void GetDecoders (render_opts &opts)
 
- Static Public Member Functions inherited from PrivateDecoder
static void GetDecoders (render_opts &opts)
 
static PrivateDecoderCreate (const QString &decoder, PlayerFlags flags, AVCodecContext *avctx)
 

Static Public Attributes

static QString const s_name
 

Private Types

typedef OMX_ERRORTYPE ComponentCB()
 

Private Member Functions

OMX_ERRORTYPE Event (OMXComponent &, OMX_EVENTTYPE, OMX_U32, OMX_U32, OMX_PTR) override
 OMXComponentCtx. More...
 
OMX_ERRORTYPE EmptyBufferDone (OMXComponent &, OMX_BUFFERHEADERTYPE *) override
 
OMX_ERRORTYPE FillBufferDone (OMXComponent &, OMX_BUFFERHEADERTYPE *) override
 
void ReleaseBuffers (OMXComponent &) override
 
OMX_ERRORTYPE FillOutputBuffers ()
 
OMX_ERRORTYPE SettingsChanged (AVCodecContext *)
 
OMX_ERRORTYPE SetNalType (AVCodecContext *)
 
OMX_ERRORTYPE GetAspect (OMX_CONFIG_POINTTYPE &, int index) const
 
int ProcessPacket (AVStream *, AVPacket *)
 
int GetBufferedFrame (AVStream *, AVFrame *)
 
bool CreateFilter (AVCodecContext *)
 

Private Attributes

ComponentCB AllocBuffersCB
 
ComponentCB FreeOutputBuffersCB
 
ComponentCB AllocOutputBuffersCB
 
ComponentCB UseBuffersCB
 
OMXComponent m_videc
 
AVBitStreamFilterContext * m_filter
 
bool m_bStartTime
 
AVCodecContext * m_avctx
 
QMutex m_lock
 
bool m_bSettingsChanged
 
bool m_bSettingsHaveChanged
 
QSemaphore m_ibufs_sema
 
QSemaphore m_obufs_sema
 
QList< OMX_BUFFERHEADERTYPE * > m_ibufs
 
QList< OMX_BUFFERHEADERTYPE * > m_obufs
 

Additional Inherited Members

- Protected Attributes inherited from PrivateDecoder
MythAVCopy m_copyCtx
 

Detailed Description

Definition at line 22 of file privatedecoder_omx.h.

Member Typedef Documentation

◆ ComponentCB

typedef OMX_ERRORTYPE PrivateDecoderOMX::ComponentCB()
private

Definition at line 54 of file privatedecoder_omx.h.

Constructor & Destructor Documentation

◆ PrivateDecoderOMX()

PrivateDecoderOMX::PrivateDecoderOMX ( )

Definition at line 97 of file privatedecoder_omx.cpp.

Referenced by SettingsChanged().

◆ ~PrivateDecoderOMX()

PrivateDecoderOMX::~PrivateDecoderOMX ( )
virtual

Definition at line 121 of file privatedecoder_omx.cpp.

Member Function Documentation

◆ GetDecoders()

void PrivateDecoderOMX::GetDecoders ( render_opts opts)
static

Definition at line 89 of file privatedecoder_omx.cpp.

Referenced by PrivateDecoder::GetDecoders().

◆ GetName()

QString PrivateDecoderOMX::GetName ( void  )
overridevirtual

Implements PrivateDecoder.

Definition at line 132 of file privatedecoder_omx.cpp.

◆ Init()

bool PrivateDecoderOMX::Init ( const QString &  decoder,
PlayerFlags  flags,
AVCodecContext *  avctx 
)
overridevirtual

Implements PrivateDecoder.

Definition at line 138 of file privatedecoder_omx.cpp.

Referenced by PrivateDecoder::Create().

◆ Reset()

bool PrivateDecoderOMX::Reset ( void  )
overridevirtual

Implements PrivateDecoder.

Definition at line 719 of file privatedecoder_omx.cpp.

◆ GetFrame()

int PrivateDecoderOMX::GetFrame ( AVStream *  stream,
AVFrame picture,
int *  got_picture_ptr,
AVPacket *  pkt 
)
overridevirtual

Implements PrivateDecoder.

Definition at line 756 of file privatedecoder_omx.cpp.

◆ HasBufferedFrames()

bool PrivateDecoderOMX::HasBufferedFrames ( void  )
overridevirtual

Reimplemented from PrivateDecoder.

Definition at line 1169 of file privatedecoder_omx.cpp.

◆ NeedsReorderedPTS()

bool PrivateDecoderOMX::NeedsReorderedPTS ( void  )
inlineoverridevirtual

Reimplemented from PrivateDecoder.

Definition at line 42 of file privatedecoder_omx.h.

◆ Event()

OMX_ERRORTYPE PrivateDecoderOMX::Event ( OMXComponent cmpnt,
OMX_EVENTTYPE  eEvent,
OMX_U32  nData1,
OMX_U32  nData2,
OMX_PTR   
)
overrideprivatevirtual

OMXComponentCtx.

Reimplemented from OMXComponentCtx.

Definition at line 1205 of file privatedecoder_omx.cpp.

◆ EmptyBufferDone()

OMX_ERRORTYPE PrivateDecoderOMX::EmptyBufferDone ( OMXComponent ,
OMX_BUFFERHEADERTYPE *  hdr 
)
overrideprivatevirtual

Reimplemented from OMXComponentCtx.

Definition at line 1234 of file privatedecoder_omx.cpp.

◆ FillBufferDone()

OMX_ERRORTYPE PrivateDecoderOMX::FillBufferDone ( OMXComponent ,
OMX_BUFFERHEADERTYPE *  hdr 
)
overrideprivatevirtual

Reimplemented from OMXComponentCtx.

Definition at line 1252 of file privatedecoder_omx.cpp.

◆ ReleaseBuffers()

void PrivateDecoderOMX::ReleaseBuffers ( OMXComponent )
overrideprivatevirtual

Reimplemented from OMXComponentCtx.

Definition at line 1269 of file privatedecoder_omx.cpp.

◆ FillOutputBuffers()

OMX_ERRORTYPE PrivateDecoderOMX::FillOutputBuffers ( )
private

Definition at line 543 of file privatedecoder_omx.cpp.

Referenced by Init(), Reset(), and SettingsChanged().

◆ SettingsChanged()

OMX_ERRORTYPE PrivateDecoderOMX::SettingsChanged ( AVCodecContext *  avctx)
private

Definition at line 1077 of file privatedecoder_omx.cpp.

Referenced by GetFrame().

◆ SetNalType()

OMX_ERRORTYPE PrivateDecoderOMX::SetNalType ( AVCodecContext *  avctx)
private

Definition at line 361 of file privatedecoder_omx.cpp.

Referenced by Init().

◆ GetAspect()

OMX_ERRORTYPE PrivateDecoderOMX::GetAspect ( OMX_CONFIG_POINTTYPE &  ,
int  index 
) const
private

Referenced by SettingsChanged().

◆ ProcessPacket()

int PrivateDecoderOMX::ProcessPacket ( AVStream *  stream,
AVPacket *  pkt 
)
private

Definition at line 799 of file privatedecoder_omx.cpp.

Referenced by GetFrame().

◆ GetBufferedFrame()

int PrivateDecoderOMX::GetBufferedFrame ( AVStream *  stream,
AVFrame picture 
)
private

Definition at line 893 of file privatedecoder_omx.cpp.

Referenced by GetFrame().

◆ CreateFilter()

bool PrivateDecoderOMX::CreateFilter ( AVCodecContext *  avctx)
private

Definition at line 455 of file privatedecoder_omx.cpp.

Referenced by Init().

Member Data Documentation

◆ s_name

QString const PrivateDecoderOMX::s_name
static

Definition at line 26 of file privatedecoder_omx.h.

Referenced by GetName(), VideoOutputOMX::GetRenderOptions(), and Init().

◆ AllocBuffersCB

OMX_ERRORTYPE PrivateDecoderOMX::AllocBuffersCB
private

Definition at line 55 of file privatedecoder_omx.h.

Referenced by Init().

◆ FreeOutputBuffersCB

OMX_ERRORTYPE PrivateDecoderOMX::FreeOutputBuffersCB
private

Definition at line 56 of file privatedecoder_omx.h.

Referenced by ReleaseBuffers(), and SettingsChanged().

◆ AllocOutputBuffersCB

OMX_ERRORTYPE PrivateDecoderOMX::AllocOutputBuffersCB
private

Definition at line 56 of file privatedecoder_omx.h.

Referenced by SettingsChanged().

◆ UseBuffersCB

OMX_ERRORTYPE PrivateDecoderOMX::UseBuffersCB
private

Definition at line 57 of file privatedecoder_omx.h.

Referenced by SettingsChanged().

◆ m_videc

OMXComponent PrivateDecoderOMX::m_videc
private

◆ m_filter

AVBitStreamFilterContext* PrivateDecoderOMX::m_filter
private

Definition at line 72 of file privatedecoder_omx.h.

Referenced by CreateFilter(), ProcessPacket(), and ~PrivateDecoderOMX().

◆ m_bStartTime

bool PrivateDecoderOMX::m_bStartTime
private

Definition at line 73 of file privatedecoder_omx.h.

Referenced by ProcessPacket(), and Reset().

◆ m_avctx

AVCodecContext* PrivateDecoderOMX::m_avctx
private

Definition at line 74 of file privatedecoder_omx.h.

Referenced by Reset(), and SettingsChanged().

◆ m_lock

QMutex PrivateDecoderOMX::m_lock
mutableprivate

◆ m_bSettingsChanged

bool PrivateDecoderOMX::m_bSettingsChanged
private

Definition at line 77 of file privatedecoder_omx.h.

Referenced by Event(), Reset(), and SettingsChanged().

◆ m_bSettingsHaveChanged

bool PrivateDecoderOMX::m_bSettingsHaveChanged
private

Definition at line 78 of file privatedecoder_omx.h.

Referenced by GetFrame(), Init(), and SettingsChanged().

◆ m_ibufs_sema

QSemaphore PrivateDecoderOMX::m_ibufs_sema
private

Definition at line 81 of file privatedecoder_omx.h.

Referenced by EmptyBufferDone(), ProcessPacket(), and ReleaseBuffers().

◆ m_obufs_sema

QSemaphore PrivateDecoderOMX::m_obufs_sema
private

◆ m_ibufs

QList<OMX_BUFFERHEADERTYPE*> PrivateDecoderOMX::m_ibufs
private

Definition at line 83 of file privatedecoder_omx.h.

Referenced by EmptyBufferDone(), ProcessPacket(), and ReleaseBuffers().

◆ m_obufs

QList<OMX_BUFFERHEADERTYPE*> PrivateDecoderOMX::m_obufs
private

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