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

#include <dvbspu.h>

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 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

◆ spFlag

enum cDvbSpuDecoder::spFlag
private
Enumerator
spNONE 
spHIDE 
spSHOW 
spMENU 

Definition at line 106 of file dvbspu.h.

Constructor & Destructor Documentation

◆ cDvbSpuDecoder()

cDvbSpuDecoder::cDvbSpuDecoder ( )

Definition at line 230 of file dvbspu.c.

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

◆ ~cDvbSpuDecoder()

cDvbSpuDecoder::~cDvbSpuDecoder ( )

Definition at line 240 of file dvbspu.c.

References osd, spu, and spubmp.

Member Function Documentation

◆ CalcAreaBpp()

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().

◆ CalcAreaSize()

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().

◆ clearHighlight()

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().

◆ cmdOffs()

int cDvbSpuDecoder::cmdOffs ( void  )
inlineprivate

Definition at line 130 of file dvbspu.h.

References spu.

Referenced by processSPU(), and setTime().

◆ Draw()

void cDvbSpuDecoder::Draw ( void  )
virtual

◆ Empty()

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().

◆ getScaleMode()

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

Implements cSpuDecoder.

Definition at line 147 of file dvbspu.h.

References scaleMode.

◆ Hide()

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().

◆ IsVisible()

bool cDvbSpuDecoder::IsVisible ( void  )
inlinevirtual

Implements cSpuDecoder.

Definition at line 156 of file dvbspu.h.

References osd.

◆ processSPU()

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

Implements cSpuDecoder.

Definition at line 277 of file dvbspu.c.

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

◆ setHighlight()

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

◆ setPalette()

void cDvbSpuDecoder::setPalette ( uint32_t *  pal)
virtual

Implements cSpuDecoder.

Definition at line 301 of file dvbspu.c.

References palette, and cDvbSpuPalette::setPalette().

◆ setScaleMode()

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

Implements cSpuDecoder.

Definition at line 296 of file dvbspu.c.

References scaleMode.

◆ SetSpuScaling()

void cDvbSpuDecoder::SetSpuScaling ( void  )
private

◆ setTime()

int cDvbSpuDecoder::setTime ( uint32_t  pts)
virtual

◆ spuSize()

int cDvbSpuDecoder::spuSize ( void  )
inlineprivate

Definition at line 133 of file dvbspu.h.

References spu.

Member Data Documentation

◆ allowedShow

bool cDvbSpuDecoder::allowedShow
private

Definition at line 128 of file dvbspu.h.

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

◆ clean

bool cDvbSpuDecoder::clean
private

Definition at line 103 of file dvbspu.h.

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

◆ DCSQ_offset

uint16_t cDvbSpuDecoder::DCSQ_offset
private

Definition at line 124 of file dvbspu.h.

Referenced by processSPU(), and setTime().

◆ highlight

bool cDvbSpuDecoder::highlight
private

Definition at line 113 of file dvbspu.h.

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

◆ hlpDescr

aDvbSpuPalDescr cDvbSpuDecoder::hlpDescr
private

Definition at line 115 of file dvbspu.h.

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

◆ hlpsize

sDvbSpuRect cDvbSpuDecoder::hlpsize
private

Definition at line 114 of file dvbspu.h.

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

◆ mutex

cMutex cDvbSpuDecoder::mutex
private

Definition at line 98 of file dvbspu.h.

Referenced by Draw(), and Hide().

◆ osd

cOsd* cDvbSpuDecoder::osd
private

Definition at line 97 of file dvbspu.h.

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

◆ palDescr

aDvbSpuPalDescr cDvbSpuDecoder::palDescr
private

Definition at line 122 of file dvbspu.h.

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

◆ palette

cDvbSpuPalette cDvbSpuDecoder::palette
private

Definition at line 118 of file dvbspu.h.

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

◆ prev_DCSQ_offset

uint16_t cDvbSpuDecoder::prev_DCSQ_offset
private

Definition at line 125 of file dvbspu.h.

Referenced by processSPU(), and setTime().

◆ restricted_osd

bool cDvbSpuDecoder::restricted_osd
private

Definition at line 104 of file dvbspu.h.

Referenced by Draw().

◆ scaleMode

cSpuDecoder::eScaleMode cDvbSpuDecoder::scaleMode
private

Definition at line 109 of file dvbspu.h.

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

◆ size

sDvbSpuRect cDvbSpuDecoder::size
private

Definition at line 121 of file dvbspu.h.

Referenced by CalcAreaSize(), and setTime().

◆ spu

uint8_t* cDvbSpuDecoder::spu
private

Definition at line 101 of file dvbspu.h.

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

◆ spubmp

cDvbSpuBitmap* cDvbSpuDecoder::spubmp
private

Definition at line 127 of file dvbspu.h.

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

◆ spupts

uint32_t cDvbSpuDecoder::spupts
private

Definition at line 102 of file dvbspu.h.

Referenced by processSPU(), and setTime().

◆ state

spFlag cDvbSpuDecoder::state
private

Definition at line 107 of file dvbspu.h.

Referenced by setTime().

◆ xscaling

double cDvbSpuDecoder::xscaling
private

Definition at line 110 of file dvbspu.h.

Referenced by Draw(), and SetSpuScaling().

◆ yscaling

double cDvbSpuDecoder::yscaling
private

Definition at line 110 of file dvbspu.h.

Referenced by Draw(), and SetSpuScaling().


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