Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CDVDVideoCodecAmlogic Class Reference

#include <DVDVideoCodecAmlogic.h>

Inheritance diagram for CDVDVideoCodecAmlogic:
CDVDVideoCodec

Public Member Functions

 CDVDVideoCodecAmlogic (CProcessInfo &processInfo)
 
virtual ~CDVDVideoCodecAmlogic ()
 
virtual bool Open (CDVDStreamInfo &hints, CDVDCodecOptions &options) override
 
virtual bool AddData (const DemuxPacket &packet) override
 
virtual void Reset () override
 
virtual VCReturn GetPicture (VideoPicture *pVideoPicture) override
 
virtual void SetSpeed (int iSpeed) override
 
virtual void SetCodecControl (int flags) override
 
virtual const char * GetName (void) override
 
- Public Member Functions inherited from CDVDVideoCodec
 CDVDVideoCodec (CProcessInfo &processInfo)
 
virtual ~CDVDVideoCodec ()=default
 
virtual bool Reconfigure (CDVDStreamInfo &hints)
 
virtual unsigned GetConvergeCount ()
 
virtual unsigned GetAllowedReferences ()
 
virtual bool GetCodecStats (double &pts, int &droppedFrames, int &skippedPics)
 
virtual void Reopen ()
 

Static Public Member Functions

static CDVDVideoCodecCreate (CProcessInfo &processInfo)
 
static bool Register ()
 

Protected Member Functions

void Dispose (void)
 
void FrameRateTracking (uint8_t *pData, int iSize, double dts, double pts)
 

Protected Attributes

std::shared_ptr< CAMLCodecm_Codec
 
const char * m_pFormatName
 
VideoPicture m_videobuffer
 
bool m_opened
 
int m_codecControlFlags
 
CDVDStreamInfo m_hints
 
double m_framerate
 
int m_video_rate
 
float m_aspect_ratio
 
mpeg2_sequencem_mpeg2_sequence
 
double m_mpeg2_sequence_pts
 
bool m_has_keyframe
 
CBitstreamParserm_bitparser
 
CBitstreamConverterm_bitstream
 
- Protected Attributes inherited from CDVDVideoCodec
CProcessInfom_processInfo
 

Additional Inherited Members

- Public Types inherited from CDVDVideoCodec
enum  VCReturn {
  VC_NONE = 0 , VC_ERROR , VC_FATAL , VC_BUFFER ,
  VC_PICTURE , VC_FLUSHED , VC_NOBUFFER , VC_REOPEN ,
  VC_EOF
}
 

Constructor & Destructor Documentation

◆ CDVDVideoCodecAmlogic()

CDVDVideoCodecAmlogic::CDVDVideoCodecAmlogic ( CProcessInfo processInfo)

◆ ~CDVDVideoCodecAmlogic()

CDVDVideoCodecAmlogic::~CDVDVideoCodecAmlogic ( )
virtual

Member Function Documentation

◆ AddData()

bool CDVDVideoCodecAmlogic::AddData ( const DemuxPacket packet)
overridevirtual

add data, decoder has to consume the entire packet returns true if the packet was consumed or if resubmitting it is useless

Implements CDVDVideoCodec.

◆ Create()

CDVDVideoCodec * CDVDVideoCodecAmlogic::Create ( CProcessInfo processInfo)
static

◆ Dispose()

void CDVDVideoCodecAmlogic::Dispose ( void  )
protected

◆ FrameRateTracking()

void CDVDVideoCodecAmlogic::FrameRateTracking ( uint8_t pData,
int  iSize,
double  dts,
double  pts 
)
protected

◆ GetName()

virtual const char * CDVDVideoCodecAmlogic::GetName ( void  )
inlineoverridevirtual

should return codecs name

Implements CDVDVideoCodec.

◆ GetPicture()

CDVDVideoCodec::VCReturn CDVDVideoCodecAmlogic::GetPicture ( VideoPicture pVideoPicture)
overridevirtual

GetPicture controls decoding. Player calls it on every cycle it can signal a picture, request a buffer, or return none, if nothing applies the data is valid until the next GetPicture return VC_PICTURE

Implements CDVDVideoCodec.

◆ Open()

bool CDVDVideoCodecAmlogic::Open ( CDVDStreamInfo hints,
CDVDCodecOptions options 
)
overridevirtual

Open the decoder, returns true on success Decoders not capable of runnung multiple instances should return false in case there is already a instance open

Implements CDVDVideoCodec.

◆ Register()

bool CDVDVideoCodecAmlogic::Register ( )
static

◆ Reset()

void CDVDVideoCodecAmlogic::Reset ( )
overridevirtual

Reset the decoder. Should be the same as calling Dispose and Open after each other

Implements CDVDVideoCodec.

◆ SetCodecControl()

void CDVDVideoCodecAmlogic::SetCodecControl ( int  flags)
overridevirtual

Codec can be informed by player with the following flags:

DVD_CODEC_CTRL_NO_POSTPROC : if speed is not normal the codec can switch off postprocessing and de-interlacing

DVD_CODEC_CTRL_HURRY : codecs may do postprocessing and de-interlacing. If video buffers in RenderManager are about to run dry, this is signaled to codec. Codec can wait for post-proc to be finished instead of returning empty and getting another packet.

DVD_CODEC_CTRL_DRAIN : instruct decoder to deliver last pictures without requesting new packets

DVD_CODEC_CTRL_DROP : this packet is going to be dropped. decoder is free to use it for decoding

Reimplemented from CDVDVideoCodec.

◆ SetSpeed()

void CDVDVideoCodecAmlogic::SetSpeed ( int  iSpeed)
overridevirtual

will be called by video player indicating the playback speed. see DVD_PLAYSPEED_NORMAL, DVD_PLAYSPEED_PAUSE and friends.

Reimplemented from CDVDVideoCodec.

Member Data Documentation

◆ m_aspect_ratio

float CDVDVideoCodecAmlogic::m_aspect_ratio
protected

◆ m_bitparser

CBitstreamParser* CDVDVideoCodecAmlogic::m_bitparser
protected

◆ m_bitstream

CBitstreamConverter* CDVDVideoCodecAmlogic::m_bitstream
protected

◆ m_Codec

std::shared_ptr<CAMLCodec> CDVDVideoCodecAmlogic::m_Codec
protected

◆ m_codecControlFlags

int CDVDVideoCodecAmlogic::m_codecControlFlags
protected

◆ m_framerate

double CDVDVideoCodecAmlogic::m_framerate
protected

◆ m_has_keyframe

bool CDVDVideoCodecAmlogic::m_has_keyframe
protected

◆ m_hints

CDVDStreamInfo CDVDVideoCodecAmlogic::m_hints
protected

◆ m_mpeg2_sequence

mpeg2_sequence* CDVDVideoCodecAmlogic::m_mpeg2_sequence
protected

◆ m_mpeg2_sequence_pts

double CDVDVideoCodecAmlogic::m_mpeg2_sequence_pts
protected

◆ m_opened

bool CDVDVideoCodecAmlogic::m_opened
protected

◆ m_pFormatName

const char* CDVDVideoCodecAmlogic::m_pFormatName
protected

◆ m_video_rate

int CDVDVideoCodecAmlogic::m_video_rate
protected

◆ m_videobuffer

VideoPicture CDVDVideoCodecAmlogic::m_videobuffer
protected

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