tpapi.h

来自「君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图」· C头文件 代码 · 共 500 行 · 第 1/2 页

H
500
字号
/******************************************************************************
**                                                                            *
**  File Name:      tpaip.h                                                   *
**  Copyright:      2007-2008 Telepath Technologies Corp. All rights reserved.*
**  Version:        1.1                                                       *
**  Description:    Digital TV API.                                           *
**                                                                            *
*******************************************************************************
**                         Edit History                                       *
**  ------------------------------------------------------------------------- *
**  DATE           NAME             DESCRIPTION                               *
**  8/30/2007      pxd              Create.                                   *
*******************************************************************************/

#ifndef _TPAPI_H
#define _TPAPI_H#ifdef   __cplusplus
    extern   "C" 
    {
#endif
#include "tptypes.h"

//#define TP_DATA_ENCRYPTION

//#define TP_DEBUG_PRINT     printf
#define TP_DEBUG_PRINT
#define DEFAULT_LANGUAGE        TP_LANGUAGE_TYPE_CHINESE

#define DEFAULT_DISPLAY_HORIZON_WIDTH   272
#define DEFAULT_DISPLAY_VERTICAL_WIDTH  480

#define PLATFORM_BIG_ENDIAN
#define TP_NIT_SYSTIME_FIELD_WIDTH      5
#define TP_NIT_COUNTRYCODE_FIELD_WIDTH  3
#define TP_NIT_NET_FIELD_WIDTH          255
#define TP_NIT_FRAME_POINTER_NUM_MAX    15
#define TP_NIT_NEAR_NET_NUM_MAX         15
#define TP_VIDEO_STREAM_NUM_MAX         7
#define TP_AUDIO_STREAM_NUM_MAX         7

/* Return value type define */
#define TP_RET_SUC                      0
#define TP_RET_DATA_NONE_ERR            -1
#define TP_RET_VIDEO_BUF_ERR            -2
#define TP_RET_AUDIO_BUF_ERR            -3
#define TP_RET_CRC_ERR                  -4
#define TP_RET_REV_TIMEOUT_ERR          -5
#define TP_RET_DATA_BUF_FULL_ERR        -6
#define TP_RET_DATA_ERR                 -7
#define TP_RET_SEND_DATA_FAIL           -8
#define TP_RET_WAIT_RESPONSE_TIMEOUT    -9
#define TP_RET_RESPONSE_ERR             -10
#define TP_RET_TS0_DATA_NONE            -11
#define TP_RET_SERVICE_ID_ERR           -12
#define TP_RET_SERVICE_TOO_MUCH         -13
#define TP_RET_UNKNOW_ERR               -14


/**************************************************************
                       Data put out structure
***************************************************************/
typedef enum
{
    TP_VIDEO_ARITHMETIC_TYPE_AVS =0,
    TP_VIDEO_ARITHMETIC_TYPE_H264 =1,
    TP_VIDEO_ARITHMETIC_TYPE_OTHER =2    
}TP_VIDEO_ARITHMETIC_TYPE_E;

typedef enum
{
    TP_VIDEO_PRIORITY_LEVEL0 =0,
    TP_VIDEO_PRIORITY_LEVEL1 =1,
    TP_VIDEO_PRIORITY_LEVEL2 =2,
    TP_VIDEO_PRIORITY_LEVEL3 =3,
    TP_VIDEO_PRIORITY_LEVEL4 =4,
    TP_VIDEO_PRIORITY_LEVEL5 =5,
    TP_VIDEO_PRIORITY_LEVEL6 =6,
    TP_VIDEO_PRIORITY_LEVEL7 =7
}TP_VIDEO_PRIORITY_E;

typedef enum
{
    TP_VIDEO_FRAME_FREQ_25HZ =0,
    TP_VIDEO_FRAME_FREQ_30HZ =1,
    TP_VIDEO_FRAME_FREQ_12HZ =2,  //12.5hz
    TP_VIDEO_FRAME_FREQ_15HZ =3
}TP_VIDEO_FRAME_FREQ_E;

typedef enum
{
    TP_AUDIO_ARITHMETIC_TYPE_SJT11368 =0,
    TP_AUDIO_ARITHMETIC_TYPE_AAC =1
}TP_AUDIO_ARITHMETIC_TYPE_E;


typedef enum
{
    TP_AUDIO_SAMPLERATE_8KHZ =0,
    TP_AUDIO_SAMPLERATE_12KHZ =1,
    TP_AUDIO_SAMPLERATE_16KHZ =2,
    TP_AUDIO_SAMPLERATE_22KHZ =3,  //22.05Khz
    TP_AUDIO_SAMPLERATE_24KHZ =4,
    TP_AUDIO_SAMPLERATE_32KHZ =5,
    TP_AUDIO_SAMPLERATE_44KHZ =6,  //44.1Khz
    TP_AUDIO_SAMPLERATE_48KHZ =7,
    TP_AUDIO_SAMPLERATE_96KHZ =8,    TP_AUDIO_SAMPLERATE_MAX
}TP_AUDIO_SAMPLERATE_E;

typedef enum
{
    TP_VIDEO_FRAME_TYPE_I =0,
    TP_VIDEO_FRAME_TYPE_P =1,
    TP_VIDEO_FRAME_TYPE_B =2
}TP_VIDEO_FRAME_TYPE_E;

typedef enum
{
    TP_OTHER_DATA_TYPE_ESG =0,
    TP_OTHER_DATA_TYPE_ECM = 128,
    TP_OTHER_DATA_TYPE_EMM = 159
}TP_OTHER_DATA_TYPE_E;

typedef enum
{
    TP_FRAME_DATA_STATE_NONE =0,
    TP_FRAME_DATA_STATE_READING =1,
    TP_FRAME_DATA_STATE_READY =2,
    TP_FRAME_DATA_STATE_PLAYED =3
}TP_FRAME_DATA_STATE_E;

typedef enum
{
    TP_LANGUAGE_TYPE_CHINESE =0,
    TP_LANGUAGE_TYPE_ENGLISH =1,
    TP_LANGUAGE_TYPE_MAX
}TP_LANGUAGE_TYPE_E;


typedef struct
{
    TP_UINT16      FreqPointId;
    TP_UINT16      BandWidth;
    TP_UINT32      CentralFreq;
}TP_SYS_FREQPOINT_T;

typedef struct
{
    TP_UINT8       NetLevel;
    TP_UINT16      NetId;
    TP_SYS_FREQPOINT_T    FreqPoint;
}TP_SYS_NEAR_NET_T;

typedef struct
{
    TP_BOOL                 Updated;
    TP_FRAME_DATA_STATE_E   State;
    TP_UINT8                SysTime[TP_NIT_SYSTIME_FIELD_WIDTH];
    TP_UINT8                CountryCode[TP_NIT_COUNTRYCODE_FIELD_WIDTH];
    TP_UINT8                NetLevel;
    TP_UINT16               NetId;
    TP_UINT8                NetNameLength;
    TP_UINT8                NetName[TP_NIT_NET_FIELD_WIDTH+1];
    TP_UINT16               FreqPointId;
    TP_UINT32               CentralFreq;
    TP_UINT16               BandWidth;
    TP_UINT16               OtherFreqPointNum;
    TP_SYS_FREQPOINT_T    OtherFreqPoint[TP_NIT_FRAME_POINTER_NUM_MAX];
    TP_UINT8                NearNetNum;
    TP_SYS_NEAR_NET_T       NearNet[TP_NIT_NEAR_NET_NUM_MAX];
}TP_SYS_NIT_CONF_T;

typedef struct _SYS_SERVICE_T
{
    TP_UINT16               ServId;
    TP_UINT16               FreqPointId;
    struct _SYS_SERVICE_T   *next;
}TP_SYS_SERVICE_T;

typedef struct
{
    TP_BOOL                 Updated;
    TP_FRAME_DATA_STATE_E   State;
    TP_UINT16               ServiceNum;
    TP_SYS_SERVICE_T        *Service;
}TP_SYS_SERVICE_CONF_T;

typedef struct
{
    TP_BOOL                 Valid;
    TP_FRAME_DATA_STATE_E   State;
    TP_UINT16               DataLen;
    TP_UINT8                *Data;
}TP_SYS_EB_STREAM_T;

typedef struct _SYS_ESGDT_SERVICE_CONF_T
{
    TP_UINT8       EsgIndex;
    TP_UINT16      EsgServId;
    struct _SYS_ESGDT_SERVICE_CONF_T    *next;
}TP_SYS_ESGDT_SERVICE_CONF_T;

typedef struct _SYS_ESGDT_DATA_BLOCK_CONF_T
{
    TP_UINT8       BlockId;
    TP_UINT8       BlockVer;
    TP_UINT8       EsgIndex;
    struct _SYS_ESGDT_DATA_BLOCK_CONF_T *next;
}TP_SYS_ESGDT_DATA_BLOCK_CONF_T;

typedef struct _SYS_ESGDT_DATA_CONF_T
{
    TP_UINT8       DataType;
    TP_UINT8       DataBlockNum;
    TP_SYS_ESGDT_DATA_BLOCK_CONF_T *DataBlockConf;
    struct _SYS_ESGDT_DATA_CONF_T *next;
}TP_SYS_ESGDT_DATA_CONF_T;

typedef struct
{
    TP_BOOL                         Updated;
    TP_FRAME_DATA_STATE_E           State;
    TP_UINT8                        NetLevel;
    TP_UINT16                       NetId;
    TP_UINT8                        LocalTimePolarity;
    TP_UINT8                        LocalTimeOffset;
    TP_UINT8                        Charset;
    TP_UINT8                        ServConfNum;
    TP_UINT8                        DataConfNum;
    TP_SYS_ESGDT_SERVICE_CONF_T     *ServConf;
    TP_SYS_ESGDT_DATA_CONF_T        *DataConf;
}TP_SYS_ESGDT_CONF_T;

typedef struct _SYS_EADT_SERVICE_T
{
    TP_UINT16      CaId;
    TP_UINT16      ServiceId;
    TP_UINT8       EmmDataType;
    TP_UINT8       EcmDataType;
    struct _SYS_EADT_SERVICE_T *next;
}TP_SYS_EADT_SERVICE_T;

typedef struct
{

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?