vdr
1.7.27
|
#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) |
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 | |
cOsd * | osd |
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 |
cDvbSpuBitmap * | spubmp |
bool | allowedShow |
enum cDvbSpuDecoder::spFlag [private] |
enum cDvbSpuDecoder::spFlag [private] |
Definition at line 106 of file include/vdr/dvbspu.h.
Definition at line 229 of file dvbspu.c.
References allowedShow, clean, cSpuDecoder::eSpuNormal, osd, scaleMode, spu, and spubmp.
int cDvbSpuDecoder::CalcAreaBpp | ( | cBitmap * | fgbmp, |
cBitmap * | bgbmp | ||
) | [private] |
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 | ) | [inline, private] |
Definition at line 129 of file include/vdr/dvbspu.h.
References spu.
int cDvbSpuDecoder::cmdOffs | ( | void | ) | [inline, private] |
void cDvbSpuDecoder::Draw | ( | void | ) | [virtual] |
Implements cSpuDecoder.
Definition at line 371 of file dvbspu.c.
References CalcAreaBpp(), CalcAreaSize(), cOsd::CanHandleAreas(), clean, DIV, cOsd::DrawBitmap(), dsyslog, cOsd::Flush(), cDvbSpuBitmap::getBitmap(), cDvbSpuBitmap::getMinSize(), Hide(), highlight, hlpDescr, hlpsize, mutex, cOsdProvider::NewOsd(), oeOk, osd, palDescr, palette, restricted_osd, cOsd::SetAreas(), setMax, setMin, size, spubmp, tArea::Width(), sDvbSpuRect::x1, tArea::x1, sDvbSpuRect::x2, tArea::x2, sDvbSpuRect::y1, tArea::y1, sDvbSpuRect::y2, and tArea::y2.
Referenced by setTime().
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 | ) | [inline, virtual] |
cSpuDecoder::eScaleMode cDvbSpuDecoder::getScaleMode | ( | void | ) | [inline, virtual] |
void cDvbSpuDecoder::Hide | ( | void | ) | [virtual] |
Implements cSpuDecoder.
void cDvbSpuDecoder::Hide | ( | void | ) | [virtual] |
bool cDvbSpuDecoder::IsVisible | ( | void | ) | [inline, virtual] |
bool cDvbSpuDecoder::IsVisible | ( | void | ) | [inline, virtual] |
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] |
Implements cSpuDecoder.
Definition at line 275 of file dvbspu.c.
References clean, DEBUG, highlight, hlpDescr, hlpsize, sDvbSpuPalDescr::index, sDvbSpuRect::x1, sDvbSpuRect::x2, sDvbSpuRect::y1, and sDvbSpuRect::y2.
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] |
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] |
Implements cSpuDecoder.
Definition at line 494 of file dvbspu.c.
References allowedShow, clean, CMD_SPU_CHG_COLCON, CMD_SPU_EOF, CMD_SPU_HIDE, CMD_SPU_MENU, CMD_SPU_SET_ALPHA, CMD_SPU_SET_PALETTE, CMD_SPU_SET_PXD_OFFSET, CMD_SPU_SET_SIZE, CMD_SPU_SHOW, cmdOffs(), DCSQ_offset, DEBUG, Draw(), Empty(), esyslog, Hide(), palDescr, prev_DCSQ_offset, size, spHIDE, spMENU, spNONE, spSHOW, spu, spubmp, spupts, spuU32, state, sDvbSpuRect::x1, sDvbSpuRect::x2, sDvbSpuRect::y1, and sDvbSpuRect::y2.
Referenced by processSPU().
int cDvbSpuDecoder::spuSize | ( | void | ) | [inline, private] |
Definition at line 132 of file include/vdr/dvbspu.h.
References spu.
int cDvbSpuDecoder::spuSize | ( | void | ) | [inline, private] |
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] |
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] |
bool cDvbSpuDecoder::restricted_osd [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] |