libclosedcaption 1.0.3
Extração de closed caption ISDB-Tb/SBTVD de arquivos MPEG-TS
Carregando...
Procurando...
Nenhuma entrada encontrado
Referência do Arquivo caption-data.h

Leitura do data_group da legenda (ARIB STD-B24, Volume 3, 9.2). Mais...

#include "caption-common.h"
#include "packet-pes.h"
Gráfico de dependência de inclusões para caption-data.h:
Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com esse arquivo:

Ir para o código-fonte desse arquivo.

Estruturas de Dados

struct  CaptionData_t
 

Definições e Macros

#define CAPTION_MANAGEMENT_DGI_A   0x00
 
#define CAPTION_MANAGEMENT_DGI_B   0x20
 

Definições de Tipos

typedef struct CaptionData_t CaptionData_t
 

Funções

bool caption_data_check_crc16 (const uint8_t *data, const uint16_t *datalen, const uint16_t *crc16)
 
bool caption_data_load (const PacketPES_t *pes, CaptionData_t *caption)
 

Descrição detalhada

Leitura do data_group da legenda (ARIB STD-B24, Volume 3, 9.2).

Autor
Jorge Pereira jpere.nosp@m.iran.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
Data
Thu Aug 12 13:49:21 BRT 2010

Cada PES de legenda carrega um data_group:

* data_group_id(6) data_group_version(2) data_group_link_number(8)
* last_data_group_link_number(8) data_group_size(16)
* data_group_data_byte[data_group_size] CRC_16(16)
* 

O data_group_id indica o conteúdo: 0x00/0x20 é o "caption management data" (grupos A e B) e os demais são o "caption statement data" de cada idioma (veja caption-management.h).

Definição no arquivo caption-data.h.

Definições e macros

◆ CAPTION_MANAGEMENT_DGI_A

#define CAPTION_MANAGEMENT_DGI_A   0x00

data_group_id do "caption management data", grupo A.

Definição na linha 25 do arquivo caption-data.h.

◆ CAPTION_MANAGEMENT_DGI_B

#define CAPTION_MANAGEMENT_DGI_B   0x20

data_group_id do "caption management data", grupo B.

Definição na linha 26 do arquivo caption-data.h.

Definições dos tipos

◆ CaptionData_t

typedef struct CaptionData_t CaptionData_t

data_group carregado por caption_data_load().

Funções

◆ caption_data_check_crc16()

bool caption_data_check_crc16 ( const uint8_t *  data,
const uint16_t *  datalen,
const uint16_t *  crc16 
)

Verifica o CRC-16 de um data_group.

O CRC é o CRC-16/CCITT (polinômio x^16 + x^12 + x^5 + 1, valor inicial 0), calculado sobre todo o data_group, do data_group_id até o último byte de dados (ARIB STD-B24, Volume 3, 9.2).

Parâmetros
dataInício do data_group (o byte do data_group_id).
datalenQuantidade de bytes de data cobertos pelo CRC (5 de cabeçalho + data_group_size).
crc16CRC lido do pacote.
Retorna
TRUE se o CRC confere.

◆ caption_data_load()

bool caption_data_load ( const PacketPES_t *  pes,
CaptionData_t *  caption 
)

Carrega o data_group de um PES e verifica o CRC.

Bytes de stuffing depois do data_group são ignorados.

Parâmetros
pesPES carregado por packet_pes_load().
captionRecebe o data_group. Os ponteiros apontam para dentro do buffer do PES.
Retorna
TRUE se o data_group é válido e o CRC confere.