|
libclosedcaption 1.0.3
Extração de closed caption ISDB-Tb/SBTVD de arquivos MPEG-TS
|
Leitura do data_group da legenda (ARIB STD-B24, Volume 3, 9.2).
Mais...


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) |
Leitura do data_group da legenda (ARIB STD-B24, Volume 3, 9.2).
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.
| #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.
| #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.
| typedef struct CaptionData_t CaptionData_t |
data_group carregado por caption_data_load().
| 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).
| data | Início do data_group (o byte do data_group_id). |
| datalen | Quantidade de bytes de data cobertos pelo CRC (5 de cabeçalho + data_group_size). |
| crc16 | CRC lido do pacote. |
| 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.
| pes | PES carregado por packet_pes_load(). |
| caption | Recebe o data_group. Os ponteiros apontam para dentro do buffer do PES. |
data_group é válido e o CRC confere.