vdr  1.7.31
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)
 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 ()
virtual ~cSpuDecoder ()

Private Types

enum  spFlag {
  spNONE, spHIDE, spSHOW, spMENU,
  spNONE, spHIDE, spSHOW, spMENU
}
enum  spFlag {
  spNONE, spHIDE, spSHOW, spMENU,
  spNONE, spHIDE, spSHOW, spMENU
}

Private Member Functions

int cmdOffs (void)
int spuSize (void)
sDvbSpuRect CalcAreaSize (sDvbSpuRect fgsize, cBitmap *fgbmp, sDvbSpuRect bgsize, cBitmap *bgbmp)
int CalcAreaBpp (cBitmap *fgbmp, cBitmap *bgbmp)
int cmdOffs (void)
int spuSize (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
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, eSpuNormal,
  eSpuLetterBox, eSpuPanAndScan
}
enum  eScaleMode {
  eSpuNormal, eSpuLetterBox, eSpuPanAndScan, eSpuNormal,
  eSpuLetterBox, eSpuPanAndScan
}

Detailed Description

Definition at line 94 of file dvbspu.h.

Member Enumeration Documentation

enum cDvbSpuDecoder::spFlag
private
Enumerator:
spNONE 
spHIDE 
spSHOW 
spMENU 
spNONE 
spHIDE 
spSHOW 
spMENU 

Definition at line 106 of file dvbspu.h.

enum cDvbSpuDecoder::spFlag
private
Enumerator:
spNONE 
spHIDE 
spSHOW 
spMENU 
spNONE 
spHIDE 
spSHOW 
spMENU 

Definition at line 106 of file include/vdr/dvbspu.h.

Constructor & Destructor Documentation

cDvbSpuDecoder::cDvbSpuDecoder ( )

Definition at line 229 of file dvbspu.c.

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

cDvbSpuDecoder::~cDvbSpuDecoder ( )

Definition at line 239 of file dvbspu.c.

References osd, spu, and spubmp.

cDvbSpuDecoder::cDvbSpuDecoder ( )
cDvbSpuDecoder::~cDvbSpuDecoder ( )

Member Function Documentation

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

Definition at line 353 of file dvbspu.c.

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

Referenced by Draw().

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

Definition at line 312 of file dvbspu.c.

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

Referenced by Draw().

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

Implements cSpuDecoder.

Definition at line 302 of file dvbspu.c.

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

Referenced by Empty().

void cDvbSpuDecoder::clearHighlight ( void  )
virtual

Implements cSpuDecoder.

int cDvbSpuDecoder::cmdOffs ( void  )
inlineprivate

Definition at line 129 of file include/vdr/dvbspu.h.

References spu.

int cDvbSpuDecoder::cmdOffs ( void  )
inlineprivate

Definition at line 129 of file dvbspu.h.

References spu.

Referenced by processSPU(), and setTime().

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

Implements cSpuDecoder.

void cDvbSpuDecoder::Empty ( void  )
virtual

Implements cSpuDecoder.

Definition at line 480 of file dvbspu.c.

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

Referenced by setTime().

void cDvbSpuDecoder::Empty ( void  )
virtual

Implements cSpuDecoder.

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

Implements cSpuDecoder.

Definition at line 145 of file include/vdr/dvbspu.h.

References scaleMode.

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

Implements cSpuDecoder.

Definition at line 145 of file dvbspu.h.

References scaleMode.

void cDvbSpuDecoder::Hide ( void  )
virtual

Implements cSpuDecoder.

void cDvbSpuDecoder::Hide ( void  )
virtual

Implements cSpuDecoder.

Definition at line 473 of file dvbspu.c.

References mutex, and osd.

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

bool cDvbSpuDecoder::IsVisible ( void  )
inlinevirtual

Implements cSpuDecoder.

Definition at line 154 of file include/vdr/dvbspu.h.

References osd.

bool cDvbSpuDecoder::IsVisible ( void  )
inlinevirtual

Implements cSpuDecoder.

Definition at line 154 of file dvbspu.h.

References osd.

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

Implements cSpuDecoder.

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

Implements cSpuDecoder.

Definition at line 246 of file dvbspu.c.

References allowedShow, 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::setHighlight ( uint16_t  sx,
uint16_t  sy,
uint16_t  ex,
uint16_t  ey,
uint32_t  palette 
)
virtual

Implements cSpuDecoder.

void cDvbSpuDecoder::setPalette ( uint32_t *  pal)
virtual

Implements cSpuDecoder.

Definition at line 270 of file dvbspu.c.

References palette, and cDvbSpuPalette::setPalette().

void cDvbSpuDecoder::setPalette ( uint32_t *  pal)
virtual

Implements cSpuDecoder.

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

Implements cSpuDecoder.

Definition at line 265 of file dvbspu.c.

References scaleMode.

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

Implements cSpuDecoder.

int cDvbSpuDecoder::setTime ( uint32_t  pts)
virtual

Implements cSpuDecoder.

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

Definition at line 132 of file include/vdr/dvbspu.h.

References spu.

int cDvbSpuDecoder::spuSize ( void  )
inlineprivate

Definition at line 132 of file dvbspu.h.

References spu.

Member Data Documentation

bool cDvbSpuDecoder::allowedShow
private

Definition at line 127 of file dvbspu.h.

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

bool cDvbSpuDecoder::clean
private

Definition at line 102 of file dvbspu.h.

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

uint16_t cDvbSpuDecoder::DCSQ_offset
private

Definition at line 123 of file dvbspu.h.

Referenced by processSPU(), and setTime().

bool cDvbSpuDecoder::highlight
private

Definition at line 112 of file dvbspu.h.

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

aDvbSpuPalDescr cDvbSpuDecoder::hlpDescr
private

Definition at line 114 of file dvbspu.h.

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

sDvbSpuRect cDvbSpuDecoder::hlpsize
private

Definition at line 113 of file dvbspu.h.

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

cMutex cDvbSpuDecoder::mutex
private

Definition at line 97 of file dvbspu.h.

Referenced by Draw(), and Hide().

cOsd * cDvbSpuDecoder::osd
private

Definition at line 96 of file dvbspu.h.

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

aDvbSpuPalDescr cDvbSpuDecoder::palDescr
private

Definition at line 121 of file dvbspu.h.

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

cDvbSpuPalette cDvbSpuDecoder::palette
private

Definition at line 117 of file dvbspu.h.

Referenced by Draw(), and setPalette().

uint16_t cDvbSpuDecoder::prev_DCSQ_offset
private

Definition at line 124 of file dvbspu.h.

Referenced by processSPU(), and setTime().

bool cDvbSpuDecoder::ready
private

Definition at line 103 of file dvbspu.h.

bool cDvbSpuDecoder::restricted_osd
private

Definition at line 104 of file dvbspu.h.

Referenced by Draw().

cSpuDecoder::eScaleMode cDvbSpuDecoder::scaleMode
private

Definition at line 109 of file dvbspu.h.

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

sDvbSpuRect cDvbSpuDecoder::size
private

Definition at line 120 of file dvbspu.h.

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

uint8_t * cDvbSpuDecoder::spu
private

Definition at line 100 of file dvbspu.h.

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

cDvbSpuBitmap * cDvbSpuDecoder::spubmp
private

Definition at line 126 of file dvbspu.h.

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

uint32_t cDvbSpuDecoder::spupts
private

Definition at line 101 of file dvbspu.h.

Referenced by processSPU(), and setTime().

spFlag cDvbSpuDecoder::state
private

Definition at line 107 of file dvbspu.h.

Referenced by setTime().


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