vdr
2.2.0
|
#include <dvbsubtitle.h>
Public Member Functions | |
cDvbSubtitleConverter (void) | |
virtual | ~cDvbSubtitleConverter () |
void | Action (void) |
void | Reset (void) |
void | Freeze (bool Status) |
int | ConvertFragments (const uchar *Data, int Length) |
int | Convert (const uchar *Data, int Length) |
![]() | |
cThread (const char *Description=NULL, bool LowPriority=false) | |
virtual | ~cThread () |
void | SetDescription (const char *Description,...) __attribute__((format(printf |
void bool | Start (void) |
bool | Active (void) |
Static Public Member Functions | |
static void | SetupChanged (void) |
![]() | |
static tThreadId | ThreadId (void) |
static tThreadId | IsMainThread (void) |
static void | SetMainThreadId (void) |
Private Member Functions | |
cDvbSubtitlePage * | GetPageById (int PageId, bool New=false) |
void | SetOsdData (void) |
bool | AssertOsd (void) |
int | ExtractSegment (const uchar *Data, int Length, int64_t Pts) |
int | ExtractPgsSegment (const uchar *Data, int Length, int64_t Pts) |
void | FinishPage (cDvbSubtitlePage *Page) |
Private Attributes | |
cDvbSubtitleAssembler * | dvbSubtitleAssembler |
cOsd * | osd |
bool | frozen |
int | ddsVersionNumber |
int | displayWidth |
int | displayHeight |
int | windowHorizontalOffset |
int | windowVerticalOffset |
int | windowWidth |
int | windowHeight |
int | osdDeltaX |
int | osdDeltaY |
double | osdFactorX |
double | osdFactorY |
cList< cDvbSubtitlePage > * | pages |
cList< cDvbSubtitleBitmaps > * | bitmaps |
Static Private Attributes | |
static int | setupLevel = 0 |
Additional Inherited Members | |
![]() | |
void | SetPriority (int Priority) |
void | SetIOPriority (int Priority) |
void | Lock (void) |
void | Unlock (void) |
bool | Running (void) |
void | Cancel (int WaitSeconds=0) |
Definition at line 23 of file dvbsubtitle.h.
cDvbSubtitleConverter::cDvbSubtitleConverter | ( | void | ) |
Definition at line 1322 of file dvbsubtitle.c.
References bitmaps, ddsVersionNumber, displayHeight, displayWidth, dvbSubtitleAssembler, frozen, osd, pages, cSubtitleDebug::Reset(), cThread::Start(), windowHeight, windowHorizontalOffset, windowVerticalOffset, and windowWidth.
|
virtual |
Definition at line 1339 of file dvbsubtitle.c.
References bitmaps, cThread::Cancel(), dvbSubtitleAssembler, osd, and pages.
|
virtual |
A derived cThread class must implement the code it wants to execute as a separate thread in this function.
If this is a loop, it must check Running() repeatedly to see whether it's time to stop.
Implements cThread.
Definition at line 1454 of file dvbsubtitle.c.
References AssertOsd(), bitmaps, cListBase::Count(), dbgconverter, dbgoutput, cListBase::Del(), DELETENULL(), cList< T >::First(), frozen, cDevice::GetSTC(), LimitTo32Bit, LOCK_THREAD, cList< T >::Next(), osd, cDevice::PrimaryDevice(), cThread::Running(), cTimeMs::Set(), setupLevel, cCondWait::SleepMs(), and cTimeMs::TimedOut().
|
private |
Definition at line 1526 of file dvbsubtitle.c.
References LOCK_THREAD, cOsdProvider::NewOsd(), osd, OSD_LEVEL_SUBTITLES, osdDeltaX, osdDeltaY, osdFactorX, osdFactorY, SetOsdData(), Setup, cSetup::SubtitleOffset, windowHorizontalOffset, and windowVerticalOffset.
Referenced by Action(), and FinishPage().
int cDvbSubtitleConverter::Convert | ( | const uchar * | Data, |
int | Length | ||
) |
Definition at line 1416 of file dvbsubtitle.c.
References dbgconverter, ExtractPgsSegment(), ExtractSegment(), PesGetPts(), PesHasPts(), PesPayloadOffset(), and STUFFING_SEGMENT.
Referenced by Freeze(), and cDevice::PlayTsSubtitle().
int cDvbSubtitleConverter::ConvertFragments | ( | const uchar * | Data, |
int | Length | ||
) |
Definition at line 1370 of file dvbsubtitle.c.
References dbgconverter, dvbSubtitleAssembler, ExtractSegment(), cDvbSubtitleAssembler::Get(), PesGetPts(), PesHasPts(), PesPayloadOffset(), cDvbSubtitleAssembler::Put(), and cDvbSubtitleAssembler::Reset().
Referenced by Freeze(), and cDevice::PlaySubtitle().
|
private |
Definition at line 1669 of file dvbsubtitle.c.
References cDvbSubtitlePage::AddRegionRef(), DBGBITMAPWIDTH, dbgsegments, displayHeight, displayWidth, FinishPage(), cBitStream::GetBits(), cDvbSubtitlePage::GetClutById(), cDvbSubtitlePage::GetObjectById(), GetPageById(), cDvbSubtitlePage::GetRegionById(), cBitStream::Index(), cBitStream::Length(), LOCK_THREAD, cSubtitleClut::ParsePgs(), cSubtitleObject::ParsePgs(), cSubtitleRegion::ParsePgs(), cDvbSubtitlePage::ParsePgs(), cDvbSubtitlePage::Pending(), PGS_DISPLAY_SEGMENT, PGS_OBJECT_SEGMENT, PGS_PALETTE_SEGMENT, PGS_PRESENTATION_SEGMENT, PGS_WINDOW_SEGMENT, cSubtitleRegion::SetDimensions(), cSubtitleDebug::SetFactor(), cBitStream::SetLength(), cDvbSubtitlePage::SetPending(), cBitStream::SkipBits(), windowHeight, and windowWidth.
Referenced by Convert().
|
private |
Definition at line 1549 of file dvbsubtitle.c.
References CLUT_DEFINITION_SEGMENT, DBGBITMAPWIDTH, dbgdisplay, dbgsegments, ddsVersionNumber, DISPARITY_SIGNALING_SEGMENT, DISPLAY_DEFINITION_SEGMENT, displayHeight, displayWidth, END_OF_DISPLAY_SET_SEGMENT, FinishPage(), cBitStream::GetBit(), cBitStream::GetBits(), cDvbSubtitlePage::GetClutById(), cDvbSubtitlePage::GetObjectById(), GetPageById(), cDvbSubtitlePage::GetRegionById(), cBitStream::Index(), cBitStream::IsEOF(), cBitStream::Length(), LOCK_THREAD, OBJECT_DATA_SEGMENT, PAGE_COMPOSITION_SEGMENT, cSubtitleClut::Parse(), cSubtitleObject::Parse(), cSubtitleRegion::Parse(), cDvbSubtitlePage::Parse(), cDvbSubtitlePage::Pending(), REGION_COMPOSITION_SEGMENT, cSubtitleDebug::SetFactor(), cBitStream::SetLength(), SetOsdData(), cDvbSubtitlePage::SetPending(), cBitStream::SkipBits(), STUFFING_SEGMENT, windowHeight, windowHorizontalOffset, windowVerticalOffset, and windowWidth.
Referenced by Convert(), and ConvertFragments().
|
private |
Definition at line 1734 of file dvbsubtitle.c.
References cListBase::Add(), cDvbSubtitleBitmaps::AddBitmap(), AssertOsd(), bitmaps, tArea::bpp, cOsd::CanHandleAreas(), cDvbSubtitleBitmaps::DbgDump(), dbgoutput, dbgregions, DebugPages, cDvbSubtitlePage::GetAreas(), cDvbSubtitlePage::GetClutById(), cSubtitleClut::GetPalette(), cDvbSubtitlePage::GetRegionById(), cDvbSubtitlePage::GetRegionRefByIndex(), cDvbSubtitlePage::Objects(), oeOk, osd, osdFactorX, osdFactorY, cDvbSubtitlePage::PageState(), cDvbSubtitlePage::PageTimeout(), cDvbSubtitlePage::Pts(), cBitmap::ReduceBpp(), cPalette::Replace(), cBitmap::SetOffset(), cBitmap::ShrinkBpp(), windowHeight, and windowWidth.
Referenced by ExtractPgsSegment(), and ExtractSegment().
|
inline |
Definition at line 53 of file dvbsubtitle.h.
References Convert(), ConvertFragments(), and SetupChanged().
Referenced by cDevice::Freeze(), and cDevice::Play().
|
private |
Definition at line 1536 of file dvbsubtitle.c.
References cListBase::Add(), cList< T >::First(), cList< T >::Next(), and pages.
Referenced by ExtractPgsSegment(), and ExtractSegment().
void cDvbSubtitleConverter::Reset | ( | void | ) |
Definition at line 1353 of file dvbsubtitle.c.
References bitmaps, cListBase::Clear(), dbgconverter, ddsVersionNumber, DELETENULL(), displayHeight, displayWidth, dvbSubtitleAssembler, frozen, cThread::Lock(), osd, pages, cDvbSubtitleAssembler::Reset(), cThread::Unlock(), windowHeight, windowHorizontalOffset, windowVerticalOffset, and windowWidth.
Referenced by cDevice::Clear(), cDevice::PlayPes(), and cDevice::SetCurrentSubtitleTrack().
|
private |
Definition at line 1506 of file dvbsubtitle.c.
References displayHeight, displayWidth, cDevice::GetOsdSize(), cDevice::GetVideoSize(), osdDeltaX, osdDeltaY, osdFactorX, osdFactorY, and cDevice::PrimaryDevice().
Referenced by AssertOsd(), and ExtractSegment().
|
static |
Definition at line 1348 of file dvbsubtitle.c.
References setupLevel.
Referenced by Freeze(), and cMenuSetupDVB::ProcessKey().
|
private |
Definition at line 41 of file dvbsubtitle.h.
Referenced by Action(), cDvbSubtitleConverter(), FinishPage(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 29 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 31 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractPgsSegment(), ExtractSegment(), Reset(), and SetOsdData().
|
private |
Definition at line 30 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractPgsSegment(), ExtractSegment(), Reset(), and SetOsdData().
|
private |
Definition at line 26 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ConvertFragments(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 28 of file dvbsubtitle.h.
Referenced by Action(), cDvbSubtitleConverter(), and Reset().
|
private |
Definition at line 27 of file dvbsubtitle.h.
Referenced by Action(), AssertOsd(), cDvbSubtitleConverter(), FinishPage(), Reset(), and ~cDvbSubtitleConverter().
|
private |
Definition at line 36 of file dvbsubtitle.h.
Referenced by AssertOsd(), and SetOsdData().
|
private |
Definition at line 37 of file dvbsubtitle.h.
Referenced by AssertOsd(), and SetOsdData().
|
private |
Definition at line 38 of file dvbsubtitle.h.
Referenced by AssertOsd(), FinishPage(), and SetOsdData().
|
private |
Definition at line 39 of file dvbsubtitle.h.
Referenced by AssertOsd(), FinishPage(), and SetOsdData().
|
private |
Definition at line 40 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), GetPageById(), Reset(), and ~cDvbSubtitleConverter().
|
staticprivate |
Definition at line 25 of file dvbsubtitle.h.
Referenced by Action(), cDvbSubtitleBitmaps::DbgDump(), and SetupChanged().
|
private |
Definition at line 35 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractPgsSegment(), ExtractSegment(), FinishPage(), and Reset().
|
private |
Definition at line 32 of file dvbsubtitle.h.
Referenced by AssertOsd(), cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 33 of file dvbsubtitle.h.
Referenced by AssertOsd(), cDvbSubtitleConverter(), ExtractSegment(), and Reset().
|
private |
Definition at line 34 of file dvbsubtitle.h.
Referenced by cDvbSubtitleConverter(), ExtractPgsSegment(), ExtractSegment(), FinishPage(), and Reset().