cc708decoder.cpp File Reference

Go to the source code of this file.

Enumerations

enum  { NTSC_CC_f1 = 0, NTSC_CC_f2 = 1, DTVCC_PACKET_DATA = 2, DTVCC_PACKET_START = 3 }
enum  C0 {
  NUL = 0x00, EXT1 = 0x01, ETX = 0x03, BS = 0x08,
  FF = 0x0C, CR = 0x0D, HCR = 0x0E, P16 = 0x18
}
enum  C1 {
  CW0 = 0x80, CW1, CW2, CW3,
  CW4, CW5, CW6, CW7,
  CLW, DSW, HDW, TGW,
  DLW, DLY, DLC, RST,
  SPA = 0x90, SPC, SPL, SWA = 0x97,
  DF0, DF1, DF2, DF3,
  DF4, DF5, DF6, DF7
}

Functions

static void parse_cc_packet (CC708Reader *cb_cbs, CaptionPacket *pkt)
static void append_character (CC708Reader *cc, uint service_num, short ch)
static void parse_cc_service_stream (CC708Reader *cc, uint service_num)
static int handle_cc_c0_ext1_p16 (CC708Reader *cc, uint service_num, int i)
static int handle_cc_c1 (CC708Reader *cc, uint service_num, int i)
static int handle_cc_c2 (CC708Reader *cc, uint service_num, int i)
static int handle_cc_c3 (CC708Reader *cc, uint service_num, int i)
static void rightsize_buf (CC708Reader *cc, uint service_num, uint block_size)
static void append_cc (CC708Reader *cc, uint service_num, const unsigned char *blk_buf, int block_size)

Variables

const char * cc_types [4]
ushort CCtableG0 [0x60]
ushort CCtableG1 [0x60]
ushort CCtableG2 [0x60]
ushort CCtableG3 [0x60]


Enumeration Type Documentation

anonymous enum

Enumerator:
NTSC_CC_f1 
NTSC_CC_f2 
DTVCC_PACKET_DATA 
DTVCC_PACKET_START 

Definition at line 18 of file cc708decoder.cpp.

enum C0

Enumerator:
NUL 
EXT1 
ETX 
BS 
FF 
CR 
HCR 
P16 

Definition at line 87 of file cc708decoder.cpp.

enum C1

Enumerator:
CW0 
CW1 
CW2 
CW3 
CW4 
CW5 
CW6 
CW7 
CLW 
DSW 
HDW 
TGW 
DLW 
DLY 
DLC 
RST 
SPA 
SPC 
SPL 
SWA 
DF0 
DF1 
DF2 
DF3 
DF4 
DF5 
DF6 
DF7 

Definition at line 99 of file cc708decoder.cpp.


Function Documentation

static void parse_cc_packet ( CC708Reader cb_cbs,
CaptionPacket pkt 
) [static]

Definition at line 564 of file cc708decoder.cpp.

Referenced by CC708Decoder::decode_cc_data().

static void append_character ( CC708Reader cc,
uint  service_num,
short  ch 
) [static]

Definition at line 631 of file cc708decoder.cpp.

Referenced by handle_cc_c0_ext1_p16(), and parse_cc_service_stream().

static void parse_cc_service_stream ( CC708Reader cc,
uint  service_num 
) [static]

Definition at line 130 of file cc708decoder.cpp.

Referenced by append_cc().

static int handle_cc_c0_ext1_p16 ( CC708Reader cc,
uint  service_num,
int  i 
) [static]

Definition at line 265 of file cc708decoder.cpp.

Referenced by parse_cc_service_stream().

static int handle_cc_c1 ( CC708Reader cc,
uint  service_num,
int  i 
) [static]

Definition at line 331 of file cc708decoder.cpp.

Referenced by parse_cc_service_stream().

static int handle_cc_c2 ( CC708Reader cc,
uint  service_num,
int  i 
) [static]

Definition at line 466 of file cc708decoder.cpp.

Referenced by handle_cc_c0_ext1_p16().

static int handle_cc_c3 ( CC708Reader cc,
uint  service_num,
int  i 
) [static]

Definition at line 493 of file cc708decoder.cpp.

Referenced by handle_cc_c0_ext1_p16().

static void rightsize_buf ( CC708Reader cc,
uint  service_num,
uint  block_size 
) [static]

Definition at line 521 of file cc708decoder.cpp.

Referenced by append_cc().

static void append_cc ( CC708Reader cc,
uint  service_num,
const unsigned char *  blk_buf,
int  block_size 
) [static]

Definition at line 542 of file cc708decoder.cpp.

Referenced by parse_cc_packet().


Variable Documentation

const char* cc_types[4]

Initial value:

{
    "NTSC line 21 field 1 closed captions"
    "NTSC line 21 field 2 closed captions"
    "DTVCC Channel Packet Data"
    "DTVCC Channel Packet Start"
}

Definition at line 26 of file cc708decoder.cpp.

ushort CCtableG0

Initial value:

{


    ' ', '!','\"', '#',    '$', '%', '&', '\'', 
    '(', ')', '*', '+',    ',', '-', '.', '/',  
    '0', '1', '2', '3',    '4', '5', '6', '7',  
    '8', '9', ':', ';',    '<', '=', '>', '?',  

    '@', 'A', 'B', 'C',    'D', 'E', 'F', 'G',  
    'H', 'I', 'J', 'K',    'L', 'M', 'N', 'O',  
    'P', 'Q', 'R', 'S',    'T', 'U', 'V', 'W',  
    'X', 'Y', 'Z', '[',    '\\',']', '^', '_',  

    '`', 'a', 'b', 'c',    'd', 'e', 'f', 'g',  
    'h', 'i', 'j', 'k',    'l', 'm', 'n', 'o',  
    'p', 'q', 'r', 's',    't', 'u', 'v', 'w',  
    'x', 'y', 'z', '{',    '|', '}', '~',  0x1d16, 
}

Definition at line 658 of file cc708decoder.cpp.

Referenced by parse_cc_service_stream().

ushort CCtableG1

Initial value:

{


    0xA0, 
         '¡', '¢', '£',    '¤', '¥', '¦', '§', 
    '¨', '©', 'ª', '«',    '¬', '­', '®', '¯', 
    '°', '±', '²', '³',    '´', 'µ', '¶', '·', 
    '¸', '¹', 'º', '»',    '¼', '½', '¾', '¿', 

    'À', 'Á', 'Â', 'Ã',    'Ä', 'Å', 'Æ', 'Ç', 
    'È', 'É', 'Ê', 'Ë',    'Ì', 'Í', 'Î', 'Ï', 
    'Ð', 'Ñ', 'Ò', 'Ó',    'Ô', 'Õ', 'Ö', '×', 
    'Ø', 'Ù', 'Ú', 'Û',    'Ü', 'Ý', 'Þ', 'ß', 

    'à', 'á', 'â', 'ã',    'ä', 'å', 'æ', 'ç', 
    'è', 'é', 'ê', 'ë',    'ì', 'í', 'î', 'ï', 
    'ð', 'ñ', 'ò', 'ó',    'ô', 'õ', 'ö', '÷', 
    'ø', 'ù', 'ú', 'û',    'ü', 'ý', 'þ', 'ÿ', 
}

Definition at line 678 of file cc708decoder.cpp.

Referenced by parse_cc_service_stream().

ushort CCtableG2

Definition at line 699 of file cc708decoder.cpp.

Referenced by handle_cc_c0_ext1_p16().

ushort CCtableG3

Initial value:

{

    '#', 
       0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 
    0, 0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 

    0, 0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 
    0, 0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 

    0, 0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 
    0, 0, 0, 0,   0, 0, 0, 0,    0, 0, 0, 0,   0, 0, 0, 0, 
}

Definition at line 748 of file cc708decoder.cpp.

Referenced by handle_cc_c0_ext1_p16().


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5