提交SMOD ATSC IMX APP版本 V122
This commit is contained in:
Executable
+168
@@ -0,0 +1,168 @@
|
||||
/*------------------------------------------------------------------------------
|
||||
Copyright 2016-2018 Sony Semiconductor Solutions Corporation
|
||||
|
||||
Last Updated : 2018/07/27
|
||||
Modification ID : ff73ffebff57618d6a5aa6e2aa9eb009b86060d1
|
||||
------------------------------------------------------------------------------*/
|
||||
/**
|
||||
@file sony_isdbt.h
|
||||
|
||||
@brief ISDB-T system related type definitions.
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef SONY_ISDBT_H
|
||||
#define SONY_ISDBT_H
|
||||
|
||||
#include "../sony_common.h"
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
Enumeration
|
||||
------------------------------------------------------------------------------*/
|
||||
/**
|
||||
@brief ISDB-T system mode.
|
||||
*/
|
||||
typedef enum sony_isdbt_mode_t {
|
||||
SONY_ISDBT_MODE_1, /**< ISDB-T Mode 1 (Number of carriers = 1405) */
|
||||
SONY_ISDBT_MODE_2, /**< ISDB-T Mode 2 (Number of carriers = 2809) */
|
||||
SONY_ISDBT_MODE_3, /**< ISDB-T Mode 3 (Number of carriers = 5617) */
|
||||
SONY_ISDBT_MODE_UNKNOWN /**< ISDB-T Mode Unknown */
|
||||
} sony_isdbt_mode_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T guard interval.
|
||||
*/
|
||||
typedef enum sony_isdbt_guard_t {
|
||||
SONY_ISDBT_GUARD_1_32, /**< Guard Interval : 1/32 */
|
||||
SONY_ISDBT_GUARD_1_16, /**< Guard Interval : 1/16 */
|
||||
SONY_ISDBT_GUARD_1_8, /**< Guard Interval : 1/8 */
|
||||
SONY_ISDBT_GUARD_1_4, /**< Guard Interval : 1/4 */
|
||||
SONY_ISDBT_GUARD_UNKNOWN /**< Guard Interval : Unknown */
|
||||
} sony_isdbt_guard_t;
|
||||
|
||||
|
||||
/* ===== TMCC Information ===== */
|
||||
|
||||
/**
|
||||
@brief ISDB-T system identification described in the TMCC information.
|
||||
*/
|
||||
typedef enum sony_isdbt_system_t {
|
||||
SONY_ISDBT_SYSTEM_ISDB_T, /**< ISDB for Terrestrial Television Broadcasting */
|
||||
SONY_ISDBT_SYSTEM_ISDB_TSB, /**< ISDB for Terrestrial Sound Broadcasting */
|
||||
SONY_ISDBT_SYSTEM_RESERVED_2, /**< reserved by specification (10) */
|
||||
SONY_ISDBT_SYSTEM_RESERVED_3 /**< reserved by specification (11) */
|
||||
} sony_isdbt_system_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T modulation described in the TMCC information.
|
||||
*/
|
||||
typedef enum sony_isdbt_modulation_t {
|
||||
SONY_ISDBT_MODULATION_DQPSK, /**< DQPSK */
|
||||
SONY_ISDBT_MODULATION_QPSK, /**< QPSK */
|
||||
SONY_ISDBT_MODULATION_16QAM, /**< 16QAM */
|
||||
SONY_ISDBT_MODULATION_64QAM, /**< 64QAM */
|
||||
SONY_ISDBT_MODULATION_RESERVED_4, /**< reserved by specification (100) */
|
||||
SONY_ISDBT_MODULATION_RESERVED_5, /**< reserved by specification (101) */
|
||||
SONY_ISDBT_MODULATION_RESERVED_6, /**< reserved by specification (110) */
|
||||
SONY_ISDBT_MODULATION_UNUSED_7 /**< unused (111) */
|
||||
} sony_isdbt_modulation_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T code rate described in the TMCC information.
|
||||
*/
|
||||
typedef enum sony_isdbt_coding_rate_t {
|
||||
SONY_ISDBT_CODING_RATE_1_2, /**< Code Rate : 1/2 */
|
||||
SONY_ISDBT_CODING_RATE_2_3, /**< Code Rate : 2/3 */
|
||||
SONY_ISDBT_CODING_RATE_3_4, /**< Code Rate : 3/4 */
|
||||
SONY_ISDBT_CODING_RATE_5_6, /**< Code Rate : 5/6 */
|
||||
SONY_ISDBT_CODING_RATE_7_8, /**< Code Rate : 7/8 */
|
||||
SONY_ISDBT_CODING_RATE_RESERVED_5, /**< reserved by specification (101) */
|
||||
SONY_ISDBT_CODING_RATE_RESERVED_6, /**< reserved by specification (110) */
|
||||
SONY_ISDBT_CODING_RATE_UNUSED_7 /**< unused (111) */
|
||||
} sony_isdbt_coding_rate_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T interleave length described in the TMCC information.
|
||||
*/
|
||||
typedef enum sony_isdbt_il_length_t {
|
||||
SONY_ISDBT_IL_LENGTH_0_0_0, /**< Mode1: 0, Mode2: 0, Mode3: 0 */
|
||||
SONY_ISDBT_IL_LENGTH_4_2_1, /**< Mode1: 4, Mode2: 2, Mode3: 1 */
|
||||
SONY_ISDBT_IL_LENGTH_8_4_2, /**< Mode1: 8, Mode2: 4, Mode3: 2 */
|
||||
SONY_ISDBT_IL_LENGTH_16_8_4, /**< Mode1:16, Mode2: 8, Mode3: 4 */
|
||||
SONY_ISDBT_IL_LENGTH_RESERVED_4, /**< reserved by specification (100) */
|
||||
SONY_ISDBT_IL_LENGTH_RESERVED_5, /**< reserved by specification (101) */
|
||||
SONY_ISDBT_IL_LENGTH_RESERVED_6, /**< reserved by specification (110) */
|
||||
SONY_ISDBT_IL_LENGTH_UNUSED_7 /**< unused (111) */
|
||||
} sony_isdbt_il_length_t;
|
||||
|
||||
/*------------------------------------------------------------------------------
|
||||
Structs
|
||||
------------------------------------------------------------------------------*/
|
||||
/**
|
||||
@brief ISDB-T layer information struct. (part of TMCC information)
|
||||
*/
|
||||
typedef struct sony_isdbt_tmcc_layer_info_t {
|
||||
sony_isdbt_modulation_t modulation; /**< Modulation */
|
||||
sony_isdbt_coding_rate_t codingRate; /**< Code rate */
|
||||
sony_isdbt_il_length_t ilLength; /**< Interleave length */
|
||||
uint8_t segmentsNum; /**< 1-13:Segment number, 0,14:Reserved, 15:Unused */
|
||||
} sony_isdbt_tmcc_layer_info_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T current/next information group struct. (part of TMCC information)
|
||||
*/
|
||||
typedef struct sony_isdbt_tmcc_group_param_t {
|
||||
uint8_t isPartial; /**< 0:No partial reception, 1:Partial reception available */
|
||||
sony_isdbt_tmcc_layer_info_t layerA; /**< Information of layer A */
|
||||
sony_isdbt_tmcc_layer_info_t layerB; /**< Information of layer B */
|
||||
sony_isdbt_tmcc_layer_info_t layerC; /**< Information of layer C */
|
||||
} sony_isdbt_tmcc_group_param_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T TMCC information struct.
|
||||
*/
|
||||
typedef struct sony_isdbt_tmcc_info_t {
|
||||
sony_isdbt_system_t systemId; /**< ISDB-T system identification */
|
||||
uint8_t countDownIndex; /**< Indicator of transmission-parameter switching */
|
||||
uint8_t ewsFlag; /**< Start flag for emergency-alarm broadcasting */
|
||||
sony_isdbt_tmcc_group_param_t currentInfo; /**< Current information */
|
||||
sony_isdbt_tmcc_group_param_t nextInfo; /**< Next information */
|
||||
} sony_isdbt_tmcc_info_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T ACEEW area information struct. (part of ACEEW information)
|
||||
*/
|
||||
typedef struct sony_isdbt_aceew_area_t {
|
||||
uint8_t data[11]; /**< Area data defined by ISDB-T specification */
|
||||
} sony_isdbt_aceew_area_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T ACEEW epicenter information struct. (part of ACEEW information)
|
||||
*/
|
||||
typedef struct sony_isdbt_aceew_epicenter_t {
|
||||
uint8_t data[11]; /**< Epicenter data defined by ISDB-T specification */
|
||||
} sony_isdbt_aceew_epicenter_t;
|
||||
|
||||
/**
|
||||
@brief ISDB-T ACEEW (Earthquake Early Warning by AC signal) information struct.
|
||||
*/
|
||||
typedef struct sony_isdbt_aceew_info_t {
|
||||
uint8_t startEndFlag; /**< Start/End flag (B17-B18) */
|
||||
uint8_t updateFlag; /**< Update flag (B19-B20) */
|
||||
uint8_t signalId; /**< Signal identification (B21-B23) */
|
||||
|
||||
/* Area information */
|
||||
uint8_t isAreaValid; /**< areaInfo is (0: Invalid, 1:Valid) */
|
||||
sony_isdbt_aceew_area_t areaInfo; /**< Area information (B24 - B111) */
|
||||
|
||||
/* Epicenter1 information */
|
||||
uint8_t isEpicenter1Valid; /**< epicenter1Info is (0: Invalid, 1:Valid) */
|
||||
sony_isdbt_aceew_epicenter_t epicenter1Info; /**< Epicenter1 information data (B24 - B111) */
|
||||
|
||||
/* Epicenter2 information */
|
||||
uint8_t isEpicenter2Valid; /**< epicenter2Info is (0: Invalid, 1:Valid) */
|
||||
sony_isdbt_aceew_epicenter_t epicenter2Info; /**< Epicenter2 information data (B24 - B111) */
|
||||
|
||||
} sony_isdbt_aceew_info_t;
|
||||
|
||||
#endif /* SONY_ISDBT_H */
|
||||
Reference in New Issue
Block a user