NuppelDecoder Class Reference

#include <nuppeldecoder.h>

Inheritance diagram for NuppelDecoder:
DecoderBase

List of all members.

Public Member Functions

 NuppelDecoder (MythPlayer *parent, const ProgramInfo &pginfo)
 ~NuppelDecoder ()
int OpenFile (RingBuffer *rbuffer, bool novideo, char testbuf[kDecoderProbeBufferSize], int testbufsize=kDecoderProbeBufferSize)
virtual bool GetFrame (DecodeType)
 Demux, preprocess and possibly decode a frame of video/audio.
virtual bool IsLastFrameKey (void) const
void WriteStoredData (RingBuffer *rb, bool writevid, long timecodeOffset)
void ClearStoredData (void)
long UpdateStoredFrameNum (long framenumber)
QString GetCodecDecoderName (void) const
QString GetRawEncodingType (void)
MythCodecID GetVideoCodecID (void) const

Static Public Member Functions

static bool CanHandle (char testbuf[kDecoderProbeBufferSize], int testbufsize=kDecoderProbeBufferSize)

Private Member Functions

bool ReadFileheader (struct rtfileheader *fileheader)
bool ReadFrameheader (struct rtframeheader *frameheader)
bool DecodeFrame (struct rtframeheader *frameheader, unsigned char *lstrm, VideoFrame *frame)
bool isValidFrametype (char type)
bool InitAVCodecVideo (int codec)
void CloseAVCodecVideo (void)
bool InitAVCodecAudio (int codec)
void CloseAVCodecAudio (void)
void StoreRawData (unsigned char *strm)
void SeekReset (long long newKey=0, uint skipFrames=0, bool needFlush=false, bool discardFrames=false)

Private Attributes

struct rtfileheader fileheader
struct rtframeheader frameheader
RTjpegrtjd
int video_width
int video_height
int video_size
double video_frame_rate
int audio_samplerate
int audio_bits_per_sample
int ffmpeg_extradatasize
uint8_tffmpeg_extradata
struct extendeddata extradata
bool usingextradata
bool disablevideo
int totalLength
long long totalFrames
int effdsp
VideoFramedirectframe
VideoFramedecoded_video_frame
AVCodec * mpa_vidcodec
AVCodecContext * mpa_vidctx
AVCodec * mpa_audcodec
AVCodecContext * mpa_audctx
AVPicture tmppicture
AVFrame * m_audioFrame
bool directrendering
char lastct
unsigned char * strm_buf
unsigned char * strm
unsigned char * buf
unsigned char * buf2
unsigned char * planes [3]
list< RawDataList * > StoredData
int videosizetotal
int videoframesread
bool setreadahead

Friends

int get_nuppel_buffer (struct AVCodecContext *c, AVFrame *pic)
void release_nuppel_buffer (struct AVCodecContext *c, AVFrame *pic)

Detailed Description

Definition at line 33 of file nuppeldecoder.h.


Constructor & Destructor Documentation

NuppelDecoder::NuppelDecoder ( MythPlayer parent,
const ProgramInfo pginfo 
)

Definition at line 37 of file nuppeldecoder.cpp.

NuppelDecoder::~NuppelDecoder (  ) 

Definition at line 85 of file nuppeldecoder.cpp.


Member Function Documentation

bool NuppelDecoder::CanHandle ( char  testbuf[kDecoderProbeBufferSize],
int  testbufsize = kDecoderProbeBufferSize 
) [static]

Definition at line 109 of file nuppeldecoder.cpp.

Referenced by MythPlayer::CreateDecoder().

int NuppelDecoder::OpenFile ( RingBuffer rbuffer,
bool  novideo,
char  testbuf[kDecoderProbeBufferSize],
int  testbufsize = kDecoderProbeBufferSize 
) [virtual]

Implements DecoderBase.

Definition at line 174 of file nuppeldecoder.cpp.

bool NuppelDecoder::GetFrame ( DecodeType   )  [virtual]

Demux, preprocess and possibly decode a frame of video/audio.

Implements DecoderBase.

Definition at line 1051 of file nuppeldecoder.cpp.

Referenced by SeekReset().

virtual bool NuppelDecoder::IsLastFrameKey ( void   )  const [inline, virtual]

Implements DecoderBase.

Definition at line 49 of file nuppeldecoder.h.

void NuppelDecoder::WriteStoredData ( RingBuffer rb,
bool  writevid,
long  timecodeOffset 
) [virtual]

Implements DecoderBase.

Definition at line 1018 of file nuppeldecoder.cpp.

void NuppelDecoder::ClearStoredData ( void   )  [virtual]

Reimplemented from DecoderBase.

Definition at line 1040 of file nuppeldecoder.cpp.

long NuppelDecoder::UpdateStoredFrameNum ( long  framenumber  )  [virtual]

Implements DecoderBase.

Definition at line 997 of file nuppeldecoder.cpp.

QString NuppelDecoder::GetCodecDecoderName ( void   )  const [inline, virtual]

Implements DecoderBase.

Definition at line 56 of file nuppeldecoder.h.

QString NuppelDecoder::GetRawEncodingType ( void   )  [virtual]

Reimplemented from DecoderBase.

Definition at line 133 of file nuppeldecoder.cpp.

MythCodecID NuppelDecoder::GetVideoCodecID ( void   )  const [virtual]

Implements DecoderBase.

Definition at line 118 of file nuppeldecoder.cpp.

bool NuppelDecoder::ReadFileheader ( struct rtfileheader fileheader  )  [inline, private]

Definition at line 140 of file nuppeldecoder.cpp.

Referenced by OpenFile().

bool NuppelDecoder::ReadFrameheader ( struct rtframeheader frameheader  )  [inline, private]

Definition at line 161 of file nuppeldecoder.cpp.

Referenced by GetFrame(), and OpenFile().

bool NuppelDecoder::DecodeFrame ( struct rtframeheader frameheader,
unsigned char *  lstrm,
VideoFrame frame 
) [private]

Definition at line 829 of file nuppeldecoder.cpp.

Referenced by GetFrame().

bool NuppelDecoder::isValidFrametype ( char  type  )  [private]

Definition at line 968 of file nuppeldecoder.cpp.

Referenced by GetFrame().

bool NuppelDecoder::InitAVCodecVideo ( int  codec  )  [private]

Definition at line 659 of file nuppeldecoder.cpp.

Referenced by DecodeFrame().

void NuppelDecoder::CloseAVCodecVideo ( void   )  [private]

Definition at line 737 of file nuppeldecoder.cpp.

Referenced by InitAVCodecVideo(), and ~NuppelDecoder().

bool NuppelDecoder::InitAVCodecAudio ( int  codec  )  [private]

Definition at line 753 of file nuppeldecoder.cpp.

Referenced by GetFrame().

void NuppelDecoder::CloseAVCodecAudio ( void   )  [private]

Definition at line 797 of file nuppeldecoder.cpp.

Referenced by InitAVCodecAudio(), and ~NuppelDecoder().

void NuppelDecoder::StoreRawData ( unsigned char *  strm  )  [private]

Definition at line 982 of file nuppeldecoder.cpp.

Referenced by GetFrame().

void NuppelDecoder::SeekReset ( long long  newKey = 0,
uint  skipFrames = 0,
bool  needFlush = false,
bool  discardFrames = false 
) [private, virtual]

Reimplemented from DecoderBase.

Definition at line 1372 of file nuppeldecoder.cpp.


Friends And Related Function Documentation

int get_nuppel_buffer ( struct AVCodecContext *  c,
AVFrame *  pic 
) [friend]

Definition at line 627 of file nuppeldecoder.cpp.

Referenced by InitAVCodecVideo().

void release_nuppel_buffer ( struct AVCodecContext *  c,
AVFrame *  pic 
) [friend]

Definition at line 645 of file nuppeldecoder.cpp.

Referenced by InitAVCodecVideo().


Member Data Documentation

Definition at line 80 of file nuppeldecoder.h.

Referenced by GetFrame(), NuppelDecoder(), and OpenFile().

Definition at line 81 of file nuppeldecoder.h.

Referenced by GetFrame(), NuppelDecoder(), and StoreRawData().

Definition at line 83 of file nuppeldecoder.h.

Referenced by DecodeFrame(), NuppelDecoder(), and ~NuppelDecoder().

Definition at line 85 of file nuppeldecoder.h.

Referenced by DecodeFrame(), InitAVCodecVideo(), and OpenFile().

Definition at line 85 of file nuppeldecoder.h.

Referenced by DecodeFrame(), InitAVCodecVideo(), and OpenFile().

Definition at line 85 of file nuppeldecoder.h.

Referenced by DecodeFrame(), and OpenFile().

Definition at line 86 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

Definition at line 87 of file nuppeldecoder.h.

Referenced by OpenFile().

Definition at line 89 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

Definition at line 92 of file nuppeldecoder.h.

Referenced by InitAVCodecVideo(), and OpenFile().

Definition at line 93 of file nuppeldecoder.h.

Referenced by InitAVCodecVideo(), OpenFile(), and ~NuppelDecoder().

Definition at line 96 of file nuppeldecoder.h.

Referenced by GetVideoCodecID(), InitAVCodecAudio(), InitAVCodecVideo(), and OpenFile().

Definition at line 98 of file nuppeldecoder.h.

Referenced by OpenFile().

Definition at line 100 of file nuppeldecoder.h.

Referenced by OpenFile().

long long NuppelDecoder::totalFrames [private]

Definition at line 101 of file nuppeldecoder.h.

Referenced by OpenFile().

int NuppelDecoder::effdsp [private]

Definition at line 103 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

Definition at line 105 of file nuppeldecoder.h.

Referenced by DecodeFrame(), get_nuppel_buffer(), and GetFrame().

Definition at line 106 of file nuppeldecoder.h.

Referenced by GetFrame(), and SeekReset().

AVCodec* NuppelDecoder::mpa_vidcodec [private]
AVCodecContext* NuppelDecoder::mpa_vidctx [private]
AVCodec* NuppelDecoder::mpa_audcodec [private]

Definition at line 110 of file nuppeldecoder.h.

Referenced by CloseAVCodecAudio(), GetFrame(), and InitAVCodecAudio().

AVCodecContext* NuppelDecoder::mpa_audctx [private]

Definition at line 111 of file nuppeldecoder.h.

Referenced by CloseAVCodecAudio(), GetFrame(), and InitAVCodecAudio().

Definition at line 112 of file nuppeldecoder.h.

Referenced by DecodeFrame(), and NuppelDecoder().

AVFrame* NuppelDecoder::m_audioFrame [private]

Definition at line 113 of file nuppeldecoder.h.

Referenced by GetFrame(), NuppelDecoder(), and ~NuppelDecoder().

Definition at line 115 of file nuppeldecoder.h.

Referenced by DecodeFrame(), and InitAVCodecVideo().

char NuppelDecoder::lastct [private]

Definition at line 117 of file nuppeldecoder.h.

Referenced by DecodeFrame().

unsigned char* NuppelDecoder::strm_buf [private]

Definition at line 119 of file nuppeldecoder.h.

Referenced by OpenFile(), and ~NuppelDecoder().

unsigned char* NuppelDecoder::strm [private]

Definition at line 120 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

unsigned char* NuppelDecoder::buf [private]

Definition at line 121 of file nuppeldecoder.h.

Referenced by DecodeFrame(), GetFrame(), OpenFile(), and ~NuppelDecoder().

unsigned char* NuppelDecoder::buf2 [private]

Definition at line 122 of file nuppeldecoder.h.

Referenced by DecodeFrame(), and ~NuppelDecoder().

unsigned char* NuppelDecoder::planes[3] [private]

Definition at line 123 of file nuppeldecoder.h.

Referenced by DecodeFrame(), and NuppelDecoder().

Definition at line 127 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

Definition at line 128 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().

Definition at line 129 of file nuppeldecoder.h.

Referenced by GetFrame(), and OpenFile().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends
Generated on Mon May 28 06:42:18 2012 for MythTV by  doxygen 1.6.3