vdr 2.7.5
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 SUBTITLE_RETENTION   120
#define LimitTo32Bit(n)
#define TEMPSUBTITLETAIL   1000

Functions

static int PtsDeltaMs (int64_t a, int64_t b)

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:
if (DebugCluts) SD.WriteHtml(a)
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:
if (DebugDisplay) SD.WriteHtml(a)
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:
if (DebugObjects) SD.WriteHtml(a)
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:
if (DebugOutput) SD.WriteHtml(a)
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:
if (DebugPixel) SD.WriteHtml(a)
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:
if (DebugSegments) SD.WriteHtml(a)
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 1508 of file dvbsubtitle.c.

Referenced by PtsDeltaMs().

◆ 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

◆ SUBTITLE_RETENTION

#define SUBTITLE_RETENTION   120

Definition at line 1354 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::cDvbSubtitleConverter().

◆ TEMPSUBTITLETAIL

#define TEMPSUBTITLETAIL   1000

Definition at line 1515 of file dvbsubtitle.c.

Referenced by cDvbSubtitleConverter::Action().

Function Documentation

◆ PtsDeltaMs()

int PtsDeltaMs ( int64_t a,
int64_t b )
static

Definition at line 1510 of file dvbsubtitle.c.

References LimitTo32Bit.

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

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