vdr 2.7.2
dvbsubtitle.c File Reference
#include "dvbsubtitle.h"
#include <inttypes.h>
#include "device.h"
#include "libsi/si.h"

Go to the source code of this file.

Classes

class  cSubtitleDebug
 
class  cSubtitleClut
 
class  cSubtitleObject
 
class  cSubtitleObjects
 
class  cSubtitleObjectRef
 
class  cSubtitleObjectRefPgs
 
class  cSubtitleRegion
 
class  cSubtitleRegionRef
 
class  cDvbSubtitlePage
 
class  cDvbSubtitleAssembler
 
class  cDvbSubtitleBitmaps
 

Macros

#define __STDC_FORMAT_MACROS
 
#define PAGE_COMPOSITION_SEGMENT   0x10
 
#define REGION_COMPOSITION_SEGMENT   0x11
 
#define CLUT_DEFINITION_SEGMENT   0x12
 
#define OBJECT_DATA_SEGMENT   0x13
 
#define DISPLAY_DEFINITION_SEGMENT   0x14
 
#define DISPARITY_SIGNALING_SEGMENT   0x15
 
#define END_OF_DISPLAY_SET_SEGMENT   0x80
 
#define STUFFING_SEGMENT   0xFF
 
#define PGS_PALETTE_SEGMENT   0x14
 
#define PGS_OBJECT_SEGMENT   0x15
 
#define PGS_PRESENTATION_SEGMENT   0x16
 
#define PGS_WINDOW_SEGMENT   0x17
 
#define PGS_DISPLAY_SEGMENT   0x80
 
#define dbgdisplay(a...)
 
#define dbgpages(a...)
 
#define dbgregions(a...)
 
#define dbgobjects(a...)
 
#define dbgconverter(a...)
 
#define dbgsegments(a...)
 
#define dbgpixel(a...)
 
#define dbgcluts(a...)
 
#define dbgoutput(a...)
 
#define DBGMAXBITMAPS   100
 
#define DBGBITMAPWIDTH   400
 
#define FIX_SUBTITLE_VERSION_BROADCASTER_STUPIDITY
 
#define DBGBACKGROUND   0xA0A0A0
 
#define BORDER
 
#define LimitTo32Bit(n)
 

Variables

static bool DebugNormal = false
 
static bool DebugVerbose = false
 
static bool DebugDisplay = DebugVerbose || DebugNormal
 
static bool DebugPages = DebugVerbose || DebugNormal
 
static bool DebugRegions = DebugVerbose || DebugNormal
 
static bool DebugObjects = DebugVerbose || DebugNormal
 
static bool DebugConverter = DebugVerbose
 
static bool DebugSegments = DebugVerbose
 
static bool DebugPixel = DebugVerbose
 
static bool DebugCluts = DebugVerbose
 
static bool DebugOutput = DebugVerbose
 
static cSubtitleDebug SD
 

Macro Definition Documentation

◆ __STDC_FORMAT_MACROS

#define __STDC_FORMAT_MACROS

Definition at line 14 of file dvbsubtitle.c.

◆ BORDER

#define BORDER

◆ CLUT_DEFINITION_SEGMENT

#define CLUT_DEFINITION_SEGMENT   0x12

Definition at line 21 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ DBGBACKGROUND

#define DBGBACKGROUND   0xA0A0A0

◆ DBGBITMAPWIDTH

#define DBGBITMAPWIDTH   400

◆ dbgcluts

#define dbgcluts ( a...)
Value:
void WriteHtml(const char *Format,...)
static bool DebugCluts
Definition dvbsubtitle.c:46
static cSubtitleDebug SD

Definition at line 56 of file dvbsubtitle.c.

Referenced by cSubtitleClut::Parse(), and cSubtitleClut::ParsePgs().

◆ dbgconverter

#define dbgconverter ( a...)

◆ dbgdisplay

#define dbgdisplay ( a...)
Value:
static bool DebugDisplay
Definition dvbsubtitle.c:39

Definition at line 49 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ DBGMAXBITMAPS

#define DBGMAXBITMAPS   100

Definition at line 59 of file dvbsubtitle.c.

Referenced by cSubtitleDebug::Active().

◆ dbgobjects

#define dbgobjects ( a...)
Value:
static bool DebugObjects
Definition dvbsubtitle.c:42

Definition at line 52 of file dvbsubtitle.c.

Referenced by cSubtitleObject::DecodeCharacterString(), cSubtitleObject::Parse(), and cSubtitleObject::ParsePgs().

◆ dbgoutput

#define dbgoutput ( a...)
Value:
static bool DebugOutput
Definition dvbsubtitle.c:47

Definition at line 57 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::Action(), and cDvbSubtitleConverter::FinishPage().

◆ dbgpages

#define dbgpages ( a...)

◆ dbgpixel

#define dbgpixel ( a...)
Value:
static bool DebugPixel
Definition dvbsubtitle.c:45

Definition at line 55 of file dvbsubtitle.c.

Referenced by cSubtitleObject::DecodeSubBlock().

◆ dbgregions

◆ dbgsegments

#define dbgsegments ( a...)
Value:
static bool DebugSegments
Definition dvbsubtitle.c:44

Definition at line 54 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment(), and cDvbSubtitleConverter::ExtractSegment().

◆ DISPARITY_SIGNALING_SEGMENT

#define DISPARITY_SIGNALING_SEGMENT   0x15

Definition at line 24 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ DISPLAY_DEFINITION_SEGMENT

#define DISPLAY_DEFINITION_SEGMENT   0x14

Definition at line 23 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ END_OF_DISPLAY_SET_SEGMENT

#define END_OF_DISPLAY_SET_SEGMENT   0x80

Definition at line 25 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ FIX_SUBTITLE_VERSION_BROADCASTER_STUPIDITY

#define FIX_SUBTITLE_VERSION_BROADCASTER_STUPIDITY

Definition at line 62 of file dvbsubtitle.c.

◆ LimitTo32Bit

#define LimitTo32Bit ( n)
Value:
((n) & 0x00000000FFFFFFFFL)

Definition at line 1486 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::Action().

◆ OBJECT_DATA_SEGMENT

#define OBJECT_DATA_SEGMENT   0x13

Definition at line 22 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ PAGE_COMPOSITION_SEGMENT

#define PAGE_COMPOSITION_SEGMENT   0x10

Definition at line 19 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ PGS_DISPLAY_SEGMENT

#define PGS_DISPLAY_SEGMENT   0x80

Definition at line 32 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment().

◆ PGS_OBJECT_SEGMENT

#define PGS_OBJECT_SEGMENT   0x15

Definition at line 29 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment().

◆ PGS_PALETTE_SEGMENT

#define PGS_PALETTE_SEGMENT   0x14

Definition at line 28 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment().

◆ PGS_PRESENTATION_SEGMENT

#define PGS_PRESENTATION_SEGMENT   0x16

Definition at line 30 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment().

◆ PGS_WINDOW_SEGMENT

#define PGS_WINDOW_SEGMENT   0x17

Definition at line 31 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractPgsSegment().

◆ REGION_COMPOSITION_SEGMENT

#define REGION_COMPOSITION_SEGMENT   0x11

Definition at line 20 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::ExtractSegment().

◆ STUFFING_SEGMENT

#define STUFFING_SEGMENT   0xFF

Variable Documentation

◆ DebugCluts

bool DebugCluts = DebugVerbose
static

Definition at line 46 of file dvbsubtitle.c.

◆ DebugConverter

bool DebugConverter = DebugVerbose
static

Definition at line 43 of file dvbsubtitle.c.

◆ DebugDisplay

bool DebugDisplay = DebugVerbose || DebugNormal
static

Definition at line 39 of file dvbsubtitle.c.

◆ DebugNormal

bool DebugNormal = false
static

Definition at line 37 of file dvbsubtitle.c.

◆ DebugObjects

bool DebugObjects = DebugVerbose || DebugNormal
static

Definition at line 42 of file dvbsubtitle.c.

Referenced by cSubtitleObject::Parse().

◆ DebugOutput

bool DebugOutput = DebugVerbose
static

Definition at line 47 of file dvbsubtitle.c.

◆ DebugPages

bool DebugPages = DebugVerbose || DebugNormal
static

Definition at line 40 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::FinishPage().

◆ DebugPixel

bool DebugPixel = DebugVerbose
static

Definition at line 45 of file dvbsubtitle.c.

◆ DebugRegions

bool DebugRegions = DebugVerbose || DebugNormal
static

Definition at line 41 of file dvbsubtitle.c.

◆ DebugSegments

bool DebugSegments = DebugVerbose
static

Definition at line 44 of file dvbsubtitle.c.

◆ DebugVerbose

bool DebugVerbose = false
static

Definition at line 38 of file dvbsubtitle.c.

◆ SD