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-management.h

Leitura do "caption management data" e do "caption statement data" (ARIB STD-B24, Volume 3, 9.3). Mais...

#include "packet-pes.h"
#include "caption-data.h"
#include "caption-common.h"
Gráfico de dependência de inclusões para caption-management.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  CaptionManagement_t
 
struct  CaptionManagement_t::statement
 

Definições e Macros

TMD: modo de tempo (ARIB STD-B24, Tabela 9-4, valores binários 00 a 11)
#define MANAGEMENT_TMD_FREE   0x00
 
#define MANAGEMENT_TMD_REALTIME   0x01
 
#define MANAGEMENT_TMD_OFFSET   0x02
 
#define MANAGEMENT_TMD_RESERVED   0x03
 
TCS: codificação dos caracteres (ARIB STD-B24, Tabela 9-8)
#define MANAGEMENT_TCS_8BIT   0x00
 
#define MANAGEMENT_TCS_UCS   0x01
 
Modo roll-up (ARIB STD-B24, Tabela 9-9)
#define MANAGEMENT_ROLL_NONE   0x00
 
#define MANAGEMENT_ROLL_UP   0x01
 
data_unit_parameter: tipo de cada data unit (ARIB STD-B24, Tabela 9-12)
#define _CAPTION_HANDLER_STATEMENT_BODY   0x20
 
#define _CAPTION_HANDLER_GEOMETRIC   0x28
 
#define _CAPTION_HANDLER_SYNTHESIZED_SOUND   0x2c
 
#define _CAPTION_HANDLER_1BYTE_DRCS   0x30
 
#define _CAPTION_HANDLER_2BYTE_DRCS   0x31
 
#define _CAPTION_HANDLER_COLOR_MAP   0x34
 
#define _CAPTION_HANDLER_BITMAP   0x35
 

Definições de Tipos

typedef struct CaptionManagement_t CaptionManagement_t
 

Enumerações

enum  CaptionManagementType_t {
  CAPTION_HANDLER_TYPE_UNKNOWN = 0 , CAPTION_HANDLER_TYPE_STATEMENT_BODY = 1 , CAPTION_HANDLER_TYPE_GEOMETRIC = 2 , CAPTION_HANDLER_TYPE_SYNTHESIZED_SOUND = 3 ,
  CAPTION_HANDLER_TYPE_1BYTE_DRCS = 4 , CAPTION_HANDLER_TYPE_2BYTE_DRCS = 5 , CAPTION_HANDLER_TYPE_COLOR_MAP = 6 , CAPTION_HANDLER_TYPE_BITMAP = 7 ,
  CAPTION_HANDLER_TYPE_MANAGEMENT = 8 , CAPTION_HANDLER_TYPE_MAX = 9
}
 

Funções

bool caption_management_load (const CaptionData_t *caption, CaptionManagement_t *management)
 
bool caption_management_load_unit (const CaptionData_t *caption, unsigned index, CaptionManagement_t *mgmt)
 
CaptionManagementType_t caption_management_get_type (const CaptionManagement_t *management)
 

Descrição detalhada

Leitura do "caption management data" e do "caption statement data" (ARIB STD-B24, Volume 3, 9.3).

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

O conteúdo do data_group (veja caption-data.h) depende do data_group_id:

  • caption management data (data_group_id 0x00 ou 0x20): modo de tempo (TMD), idiomas disponíveis, formato de exibição, codificação dos caracteres (TCS) e modo roll-up;
  • caption statement data (demais valores): modo de tempo e as data units com o texto da legenda (statement body), DRCS, bitmaps, etc.

caption_management_load() lê os dois formatos para a mesma estrutura, CaptionManagement_t, e caption_management_get_type() informa o que foi lido.

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

Definições e macros

◆ MANAGEMENT_TMD_FREE

#define MANAGEMENT_TMD_FREE   0x00

Exibição livre, sem sincronismo de tempo.

Definição na linha 32 do arquivo caption-management.h.

◆ MANAGEMENT_TMD_REALTIME

#define MANAGEMENT_TMD_REALTIME   0x01

Tempo real: o statement data traz o STM.

Definição na linha 33 do arquivo caption-management.h.

◆ MANAGEMENT_TMD_OFFSET

#define MANAGEMENT_TMD_OFFSET   0x02

Tempo com offset: management traz o OTM, statement traz o STM.

Definição na linha 34 do arquivo caption-management.h.

◆ MANAGEMENT_TMD_RESERVED

#define MANAGEMENT_TMD_RESERVED   0x03

Reservado.

Definição na linha 35 do arquivo caption-management.h.

◆ MANAGEMENT_TCS_8BIT

#define MANAGEMENT_TCS_8BIT   0x00

Código de 8 bits (ISO-8859-15 no Brasil).

Definição na linha 42 do arquivo caption-management.h.

◆ MANAGEMENT_TCS_UCS

#define MANAGEMENT_TCS_UCS   0x01

UCS (Unicode). Não suportado.

Definição na linha 43 do arquivo caption-management.h.

◆ MANAGEMENT_ROLL_NONE

#define MANAGEMENT_ROLL_NONE   0x00

Sem roll-up.

Definição na linha 50 do arquivo caption-management.h.

◆ MANAGEMENT_ROLL_UP

#define MANAGEMENT_ROLL_UP   0x01

Com roll-up.

Definição na linha 51 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_STATEMENT_BODY

#define _CAPTION_HANDLER_STATEMENT_BODY   0x20

Texto da legenda.

Definição na linha 58 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_GEOMETRIC

#define _CAPTION_HANDLER_GEOMETRIC   0x28

Gráficos geométricos.

Definição na linha 59 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_SYNTHESIZED_SOUND

#define _CAPTION_HANDLER_SYNTHESIZED_SOUND   0x2c

Som sintetizado.

Definição na linha 60 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_1BYTE_DRCS

#define _CAPTION_HANDLER_1BYTE_DRCS   0x30

DRCS de 1 byte (caracteres desenhados pela emissora).

Definição na linha 61 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_2BYTE_DRCS

#define _CAPTION_HANDLER_2BYTE_DRCS   0x31

DRCS de 2 bytes.

Definição na linha 62 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_COLOR_MAP

#define _CAPTION_HANDLER_COLOR_MAP   0x34

Mapa de cores.

Definição na linha 63 do arquivo caption-management.h.

◆ _CAPTION_HANDLER_BITMAP

#define _CAPTION_HANDLER_BITMAP   0x35

Bitmap.

Definição na linha 64 do arquivo caption-management.h.

Definições dos tipos

◆ CaptionManagement_t

Conteúdo do "caption management data" ou do "caption statement data" (ARIB STD-B24, Volume 3, 9.3.1 e 9.3.2).

Enumerações

◆ CaptionManagementType_t

Tipo de conteúdo lido por caption_management_load().

Enumeradores
CAPTION_HANDLER_TYPE_UNKNOWN 

Data unit de tipo desconhecido.

CAPTION_HANDLER_TYPE_STATEMENT_BODY 

Texto da legenda: processe com caption_closed_run().

CAPTION_HANDLER_TYPE_GEOMETRIC 

Gráficos geométricos.

CAPTION_HANDLER_TYPE_SYNTHESIZED_SOUND 

Som sintetizado.

CAPTION_HANDLER_TYPE_1BYTE_DRCS 

DRCS de 1 byte.

CAPTION_HANDLER_TYPE_2BYTE_DRCS 

DRCS de 2 bytes.

CAPTION_HANDLER_TYPE_COLOR_MAP 

Mapa de cores.

CAPTION_HANDLER_TYPE_BITMAP 

Bitmap.

CAPTION_HANDLER_TYPE_MANAGEMENT 

Caption management data, ou statement sem data units.

CAPTION_HANDLER_TYPE_MAX 

Quantidade de tipos.

Definição na linha 70 do arquivo caption-management.h.

Funções

◆ caption_management_load()

bool caption_management_load ( const CaptionData_t *  caption,
CaptionManagement_t *  management 
)

Lê o caption management data ou o caption statement data de um data_group.

O formato é escolhido pelo data_group_id: 0x00 e 0x20 são lidos como management, os demais como statement. Todos os tamanhos são verificados contra o data_group_size.

Parâmetros
captiondata_group carregado por caption_data_load().
managementRecebe o conteúdo. Os ponteiros apontam para dentro do buffer do PES.
Retorna
TRUE se o conteúdo foi lido; FALSE se estiver truncado ou vazio.

◆ caption_management_load_unit()

bool caption_management_load_unit ( const CaptionData_t *  caption,
unsigned  index,
CaptionManagement_t *  mgmt 
)

Igual ao caption_management_load(), mas pega a data unit de número index (0 é a primeira) de um caption statement data, em vez da preferida. Use para andar por todas as data units (texto, DRCS, bitmap...) do mesmo data group.

Parâmetros
captiondata_group carregado por caption_data_load().
indexPosição da data unit no loop de data units.
mgmtRecebe o conteúdo, com a data unit escolhida em statement.
Retorna
TRUE se deu certo; FALSE se os dados são inválidos, se é um caption management data ou se não existe data unit em index.

◆ caption_management_get_type()

CaptionManagementType_t caption_management_get_type ( const CaptionManagement_t *  management)

Informa o tipo de conteúdo lido por caption_management_load().

Parâmetros
managementConteúdo lido por caption_management_load().
Retorna
CAPTION_HANDLER_TYPE_STATEMENT_BODY quando há texto de legenda para o caption_closed_run(); CAPTION_HANDLER_TYPE_MANAGEMENT para o caption management data; ou o tipo da data unit.