vdr  2.0.6
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
cDvbSpuDecoder Class Reference

#include <dvbspu.h>

Collaboration diagram for cDvbSpuDecoder:
[legend]

Public Member Functions

 cDvbSpuDecoder ()
 
 ~cDvbSpuDecoder ()
 
int setTime (uint32_t pts)
 
cSpuDecoder::eScaleMode getScaleMode (void)
 
void setScaleMode (cSpuDecoder::eScaleMode ScaleMode)
 
void setPalette (uint32_t *pal)
 
void setHighlight (uint16_t sx, uint16_t sy, uint16_t ex, uint16_t ey, uint32_t palette)
 
void clearHighlight (void)
 
void Empty (void)
 
void Hide (void)
 
void Draw (void)
 
bool IsVisible (void)
 
void processSPU (uint32_t pts, uint8_t *buf, bool AllowedShow)
 
- Public Member Functions inherited from cSpuDecoder
virtual ~cSpuDecoder ()
 

Private Types

enum  spFlag { spNONE, spHIDE, spSHOW, spMENU }
 

Private Member Functions

int cmdOffs (void)
 
int spuSize (void)
 
void SetSpuScaling (void)
 
sDvbSpuRect CalcAreaSize (sDvbSpuRect fgsize, cBitmap *fgbmp, sDvbSpuRect bgsize, cBitmap *bgbmp)
 
int CalcAreaBpp (cBitmap *fgbmp, cBitmap *bgbmp)
 

Private Attributes

cOsdosd
 
cMutex mutex
 
uint8_t * spu
 
uint32_t spupts
 
bool clean
 
bool ready
 
bool restricted_osd
 
spFlag state
 
cSpuDecoder::eScaleMode scaleMode
 
double xscaling
 
double yscaling
 
bool highlight
 
sDvbSpuRect hlpsize
 
aDvbSpuPalDescr hlpDescr
 
cDvbSpuPalette palette
 
sDvbSpuRect size
 
aDvbSpuPalDescr palDescr
 
uint16_t DCSQ_offset
 
uint16_t prev_DCSQ_offset
 
cDvbSpuBitmapspubmp
 
bool allowedShow
 

Additional Inherited Members

- Public Types inherited from cSpuDecoder
enum  eScaleMode { eSpuNormal, eSpuLetterBox, eSpuPanAndScan }
 

Detailed Description

Definition at line 95 of file dvbspu.h.

Member Enumeration Documentation

enum cDvbSpuDecoder::spFlag
private
Enumerator
spNONE 
spHIDE 
spSHOW 
spMENU 

Definition at line 107 of file dvbspu.h.

Constructor & Destructor Documentation

cDvbSpuDecoder::cDvbSpuDecoder ( )

Definition at line 230 of file dvbspu.c.

References allowedShow, clean, cSpuDecoder::eSpuNormal, osd, scaleMode, spu, and spubmp.

cDvbSpuDecoder::~cDvbSpuDecoder ( )

Definition at line 240 of file dvbspu.c.

References osd, spu, and spubmp.

Member Function Documentation

int cDvbSpuDecoder::CalcAreaBpp ( cBitmap fgbmp,
cBitmap bgbmp 
)
private

Definition at line 385 of file dvbspu.c.

References cDvbSpuBitmap::getMinBpp(), hlpDescr, palDescr, and spubmp.

Referenced by Draw().

sDvbSpuRect cDvbSpuDecoder::CalcAreaSize ( sDvbSpuRect  fgsize,
cBitmap fgbmp,
sDvbSpuRect  bgsize,
cBitmap bgbmp 
)
private

Definition at line 344 of file dvbspu.c.

References max(), min(), size, sDvbSpuRect::x1, sDvbSpuRect::x2, sDvbSpuRect::y1, and sDvbSpuRect::y2.

Referenced by Draw().

void cDvbSpuDecoder::clearHighlight ( void  )
virtual

Implements cSpuDecoder.

Definition at line 334 of file dvbspu.c.

References clean, highlight, hlpsize, sDvbSpuRect::x1, sDvbSpuRect::x2, sDvbSpuRect::y1, and sDvbSpuRect::y2.

Referenced by Empty().

int cDvbSpuDecoder::cmdOffs ( void  )
inlineprivate

Definition at line 131 of file dvbspu.h.

Referenced by processSPU(), and setTime().

void cDvbSpuDecoder::Draw ( void  )
virtual
void cDvbSpuDecoder::Empty ( void  )
virtual

Implements cSpuDecoder.

Definition at line 533 of file dvbspu.c.

References clean, clearHighlight(), Hide(), spu, and spubmp.

Referenced by setTime().

cSpuDecoder::eScaleMode cDvbSpuDecoder::getScaleMode ( void  )
inlinevirtual

Implements cSpuDecoder.

Definition at line 148 of file dvbspu.h.

References scaleMode.

void cDvbSpuDecoder::Hide ( void  )
virtual

Implements cSpuDecoder.

Definition at line 526 of file dvbspu.c.

References mutex, and osd.

Referenced by Draw(), Empty(), and setTime().

bool cDvbSpuDecoder::IsVisible ( void  )
inlinevirtual

Implements cSpuDecoder.

Definition at line 157 of file dvbspu.h.

void cDvbSpuDecoder::processSPU ( uint32_t  pts,
uint8_t *  buf,
bool  AllowedShow 
)
virtual

Implements cSpuDecoder.

Definition at line 277 of file dvbspu.c.

References allowedShow, buf(), clean, cmdOffs(), DCSQ_offset, DEBUG, prev_DCSQ_offset, setTime(), spu, spubmp, and spupts.

void cDvbSpuDecoder::setHighlight ( uint16_t  sx,
uint16_t  sy,
uint16_t  ex,
uint16_t  ey,
uint32_t  palette 
)
virtual
void cDvbSpuDecoder::setPalette ( uint32_t *  pal)
virtual

Implements cSpuDecoder.

Definition at line 301 of file dvbspu.c.

References palette, and cDvbSpuPalette::setPalette().

void cDvbSpuDecoder::setScaleMode ( cSpuDecoder::eScaleMode  ScaleMode)
virtual

Implements cSpuDecoder.

Definition at line 296 of file dvbspu.c.

References scaleMode.

void cDvbSpuDecoder::SetSpuScaling ( void  )
private
int cDvbSpuDecoder::setTime ( uint32_t  pts)
virtual
int cDvbSpuDecoder::spuSize ( void  )
inlineprivate

Definition at line 134 of file dvbspu.h.

Member Data Documentation

bool cDvbSpuDecoder::allowedShow
private

Definition at line 129 of file dvbspu.h.

Referenced by cDvbSpuDecoder(), processSPU(), and setTime().

bool cDvbSpuDecoder::clean
private

Definition at line 103 of file dvbspu.h.

Referenced by cDvbSpuDecoder(), clearHighlight(), Draw(), Empty(), processSPU(), setHighlight(), and setTime().

uint16_t cDvbSpuDecoder::DCSQ_offset
private

Definition at line 125 of file dvbspu.h.

Referenced by processSPU(), and setTime().

bool cDvbSpuDecoder::highlight
private

Definition at line 114 of file dvbspu.h.

Referenced by clearHighlight(), Draw(), and setHighlight().

aDvbSpuPalDescr cDvbSpuDecoder::hlpDescr
private

Definition at line 116 of file dvbspu.h.

Referenced by CalcAreaBpp(), Draw(), and setHighlight().

sDvbSpuRect cDvbSpuDecoder::hlpsize
private

Definition at line 115 of file dvbspu.h.

Referenced by clearHighlight(), Draw(), and setHighlight().

cMutex cDvbSpuDecoder::mutex
private

Definition at line 98 of file dvbspu.h.

Referenced by Draw(), and Hide().

cOsd* cDvbSpuDecoder::osd
private

Definition at line 97 of file dvbspu.h.

Referenced by cDvbSpuDecoder(), Draw(), Hide(), and ~cDvbSpuDecoder().

aDvbSpuPalDescr cDvbSpuDecoder::palDescr
private

Definition at line 123 of file dvbspu.h.

Referenced by CalcAreaBpp(), Draw(), and setTime().

cDvbSpuPalette cDvbSpuDecoder::palette
private

Definition at line 119 of file dvbspu.h.

Referenced by Draw(), and setPalette().

uint16_t cDvbSpuDecoder::prev_DCSQ_offset
private

Definition at line 126 of file dvbspu.h.

Referenced by processSPU(), and setTime().

bool cDvbSpuDecoder::ready
private

Definition at line 104 of file dvbspu.h.

bool cDvbSpuDecoder::restricted_osd
private

Definition at line 105 of file dvbspu.h.

Referenced by Draw().

cSpuDecoder::eScaleMode cDvbSpuDecoder::scaleMode
private

Definition at line 110 of file dvbspu.h.

Referenced by cDvbSpuDecoder(), getScaleMode(), and setScaleMode().

sDvbSpuRect cDvbSpuDecoder::size
private

Definition at line 122 of file dvbspu.h.

Referenced by CalcAreaSize(), and setTime().

uint8_t* cDvbSpuDecoder::spu
private

Definition at line 101 of file dvbspu.h.

Referenced by cDvbSpuDecoder(), Empty(), processSPU(), setTime(), and ~cDvbSpuDecoder().

cDvbSpuBitmap* cDvbSpuDecoder::spubmp
private

Definition at line 128 of file dvbspu.h.

Referenced by CalcAreaBpp(), cDvbSpuDecoder(), Draw(), Empty(), processSPU(), setTime(), and ~cDvbSpuDecoder().

uint32_t cDvbSpuDecoder::spupts
private

Definition at line 102 of file dvbspu.h.

Referenced by processSPU(), and setTime().

spFlag cDvbSpuDecoder::state
private

Definition at line 108 of file dvbspu.h.

Referenced by setTime().

double cDvbSpuDecoder::xscaling
private

Definition at line 111 of file dvbspu.h.

Referenced by Draw(), and SetSpuScaling().

double cDvbSpuDecoder::yscaling
private

Definition at line 111 of file dvbspu.h.

Referenced by Draw(), and SetSpuScaling().


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