113 lines
5.5 KiB
C
Executable File
113 lines
5.5 KiB
C
Executable File
/*------------------------------------------------------------------------------
|
|
Copyright 2016-2019 Sony Semiconductor Solutions Corporation
|
|
|
|
Last Updated : 2019/02/14
|
|
Modification ID : 83dbabba2734697e67e3d44647acf57b272c2caf
|
|
------------------------------------------------------------------------------*/
|
|
/**
|
|
@file sony_isdbs3.h
|
|
|
|
This file provides ISDB-S3 related type definitions.
|
|
*/
|
|
/*----------------------------------------------------------------------------*/
|
|
#ifndef SONY_ISDBS3_H
|
|
#define SONY_ISDBS3_H
|
|
|
|
#include "../sony_common.h"
|
|
|
|
/*--------------------------------------------------------------------
|
|
Enumerations
|
|
--------------------------------------------------------------------*/
|
|
/**
|
|
@brief Type of StreamID.
|
|
*/
|
|
typedef enum sony_isdbs3_streamid_type_t {
|
|
SONY_ISDBS3_STREAMID_TYPE_STREAMID, /**< StreamID(16bit) */
|
|
SONY_ISDBS3_STREAMID_TYPE_RELATIVE_STREAM_NUMBER, /**< Relative stream number */
|
|
} sony_isdbs3_streamid_type_t;
|
|
|
|
/**
|
|
@brief Modulation
|
|
*/
|
|
typedef enum sony_isdbs3_mod_t {
|
|
SONY_ISDBS3_MOD_RESERVED_0, /**< Reserved 0 */
|
|
SONY_ISDBS3_MOD_BPSK, /**< BPSK */
|
|
SONY_ISDBS3_MOD_QPSK, /**< QPSK */
|
|
SONY_ISDBS3_MOD_8PSK, /**< 8PSK */
|
|
SONY_ISDBS3_MOD_16APSK, /**< 16APSK */
|
|
SONY_ISDBS3_MOD_32APSK, /**< 32APSK */
|
|
SONY_ISDBS3_MOD_RESERVED_6, /**< Reserved 6 */
|
|
SONY_ISDBS3_MOD_RESERVED_7, /**< Reserved 7 */
|
|
SONY_ISDBS3_MOD_RESERVED_8, /**< Reserved 8 */
|
|
SONY_ISDBS3_MOD_RESERVED_9, /**< Reserved 9 */
|
|
SONY_ISDBS3_MOD_RESERVED_10, /**< Reserved 10 */
|
|
SONY_ISDBS3_MOD_RESERVED_11, /**< Reserved 11 */
|
|
SONY_ISDBS3_MOD_RESERVED_12, /**< Reserved 12 */
|
|
SONY_ISDBS3_MOD_RESERVED_13, /**< Reserved 13 */
|
|
SONY_ISDBS3_MOD_RESERVED_14, /**< Reserved 14 */
|
|
SONY_ISDBS3_MOD_UNUSED_15 /**< unused (1111) */
|
|
} sony_isdbs3_mod_t;
|
|
|
|
/**
|
|
@brief Code Rate
|
|
*/
|
|
typedef enum sony_isdbs3_cod_t {
|
|
SONY_ISDBS3_COD_RESERVED_0, /**< Reserved 0 */
|
|
SONY_ISDBS3_COD_41_120, /**< 41/120 (1/3) */
|
|
SONY_ISDBS3_COD_49_120, /**< 49/120 (2/5) */
|
|
SONY_ISDBS3_COD_61_120, /**< 61/120 (1/2) */
|
|
SONY_ISDBS3_COD_73_120, /**< 73/120 (3/5) */
|
|
SONY_ISDBS3_COD_81_120, /**< 81/120 (2/3) */
|
|
SONY_ISDBS3_COD_89_120, /**< 89/120 (3/4) */
|
|
SONY_ISDBS3_COD_93_120, /**< 93/120 (7/9) */
|
|
SONY_ISDBS3_COD_97_120, /**< 97/120 (4/5) */
|
|
SONY_ISDBS3_COD_101_120, /**< 101/120 (5/6) */
|
|
SONY_ISDBS3_COD_105_120, /**< 105/120 (7/8) */
|
|
SONY_ISDBS3_COD_109_120, /**< 109/120 (9/10) */
|
|
SONY_ISDBS3_COD_RESERVED_12, /**< Reserved 12 */
|
|
SONY_ISDBS3_COD_RESERVED_13, /**< Reserved 13 */
|
|
SONY_ISDBS3_COD_RESERVED_14, /**< Reserved 14 */
|
|
SONY_ISDBS3_COD_UNUSED_15 /**< unused (1111) */
|
|
} sony_isdbs3_cod_t;
|
|
|
|
/**
|
|
@brief Stream Type
|
|
*/
|
|
typedef enum sony_isdbs3_stream_type_t {
|
|
SONY_ISDBS3_STREAM_TYPE_RESERVED_0, /**< Reserved 0 */
|
|
SONY_ISDBS3_STREAM_TYPE_MPEG2_TS, /**< MPEG-2 TS */
|
|
SONY_ISDBS3_STREAM_TYPE_TLV, /**< TLV */
|
|
SONY_ISDBS3_STREAM_TYPE_NO_TYPE_ALLOCATED = 0xFF, /**< No type allocated (11111111) */
|
|
} sony_isdbs3_stream_type_t;
|
|
|
|
/*------------------------------------------------------------------------------
|
|
Structs
|
|
------------------------------------------------------------------------------*/
|
|
/**
|
|
@brief Transmission mode, slot and backoff information.
|
|
*/
|
|
typedef struct sony_isdbs3_tmcc_modcod_slot_info_t {
|
|
sony_isdbs3_mod_t mod; /**< Modulation */
|
|
sony_isdbs3_cod_t cod; /**< Code rate */
|
|
uint8_t slotNum; /**< Slot number */
|
|
uint8_t backoff; /**< Backoff */
|
|
} sony_isdbs3_tmcc_modcod_slot_info_t;
|
|
|
|
/**
|
|
@brief TMCC information.
|
|
*/
|
|
typedef struct sony_isdbs3_tmcc_info_t {
|
|
uint8_t changeOrder; /**< Incremented each time TMCC is renewed */
|
|
sony_isdbs3_tmcc_modcod_slot_info_t modcodSlotInfo[8]; /**< Transmission mode and slot information */
|
|
sony_isdbs3_stream_type_t streamTypeForEachRelativeStream[16]; /**< Stream type and relative stream number information */
|
|
uint16_t packetLengthForEachRelativeStream[16]; /**< Packet length */
|
|
uint8_t syncPatternBitLengthForEachRelativeStream[16]; /**< Sync pattern bit length */
|
|
uint32_t syncPatternForEachRelativeStream[16]; /**< Sync pattern */
|
|
uint8_t relativeStreamForEachSlot[120]; /**< Relative stream number and slot information */
|
|
uint16_t streamidForEachRelativeStream[16]; /**< Corresponding table between relative StreamID */
|
|
uint8_t ewsFlag; /**< Emergency Warning Broadcasting */
|
|
uint8_t uplinkInfo; /**< Site diversity warning */
|
|
} sony_isdbs3_tmcc_info_t;
|
|
|
|
#endif /* SONY_ISDBS3_H */
|