📄 tvpencodermem.h
字号:
#define TVP_ENC_NTSC_LLEN1_PAL_FAST 0x5E // v02.05.29_97 // 0x5F ?? v02.08.02 match
#define TVP_ENC_NTSC_LLEN2_PAL 0x03
#define TVP_ENC_NTSC_FLENS1_PAL 0x70
#define TVP_ENC_NTSC_FLENS2_PAL 0x02
#define TVP_ENC_NTSC_HFLTR_CTRL_PAL 0x00
#define TVP_ENC_NTSC_CC_CARR1_PAL 0xED
#define TVP_ENC_NTSC_CC_CARR2_PAL 0x25
#define TVP_ENC_NTSC_WSS_CARR1_PAL 0x00
#define TVP_ENC_NTSC_WSS_CARR2_PAL 0x00
#define TVP_ENC_NTSC_C_PHASE_PAL 0x00
#define TVP_ENC_NTSC_GAIN_U1_PAL 0x11
#define TVP_ENC_NTSC_GAIN_U2_PAL 0x01
#define TVP_ENC_NTSC_GAIN_V1_PAL 0x81
#define TVP_ENC_NTSC_GAIN_V2_PAL 0x01
#define TVP_ENC_NTSC_GAIN_Y1_PAL 0x40
#define TVP_ENC_NTSC_GAIN_Y2_PAL 0x01
#define TVP_ENC_NTSC_BLACK_LVL_PAL 0x3B
#define TVP_ENC_NTSC_BLANK_LVL_PAL 0x3B
#define TVP_ENC_NTSC_X_COLOR_PAL 0x00
#define TVP_ENC_NTSC_M_CONTROL_PAL 0x02
#define TVP_ENC_NTSC_BSTAMP_PAL 0x3F
#define TVP_ENC_NTSC_WSS_DATA1_PAL 0x00
#define TVP_ENC_NTSC_WSS_DATA2_PAL 0x00
#define TVP_ENC_NTSC_WSS_DATA3_PAL 0x00
#define TVP_ENC_NTSC_LINE21_O1_PAL 0x00
#define TVP_ENC_NTSC_LINE21_O2_PAL 0x00
#define TVP_ENC_NTSC_LINE21_E1_PAL 0x00
#define TVP_ENC_NTSC_LINE21_E2_PAL 0x00
#define TVP_ENC_NTSC_LN_SEL_PAL 0x15
#define TVP_ENC_NTSC_L21_PAL 0x00
#define TVP_ENC_NTSC_WC_CTL_PAL 0x17
#define TVP_ENC_NTSC_HTRIGGER1_PAL 0x00
#define TVP_ENC_NTSC_HTRIGGER2_PAL 0x00
#define TVP_ENC_NTSC_VTRIGGER1_PAL 0x00
#define TVP_ENC_NTSC_VTRIGGER2_PAL 0x00
#define TVP_ENC_NTSC_SAVID1_PAL 0x08
#define TVP_ENC_NTSC_SAVID2_PAL 0x01
#define TVP_ENC_NTSC_EAVID1_PAL 0xA7
#define TVP_ENC_NTSC_EAVID2_PAL 0x06
#define TVP_ENC_NTSC_FLEN1_PAL 0x70
#define TVP_ENC_NTSC_FLEN2_PAL 0x02
#define TVP_ENC_NTSC_FAL1_PAL 0x18
#define TVP_ENC_NTSC_FAL2_PAL 0x00
#define TVP_ENC_NTSC_LAL1_PAL 0x36
#define TVP_ENC_NTSC_LAL2_PAL 0x01
#define TVP_ENC_NTSC_PHASE_RESET_PAL 0x04
#define TVP_ENC_NTSC_HS_INT_STRT_X1_PAL 0x58
#define TVP_ENC_NTSC_HS_INT_STRT_X2_PAL 0x03
#define TVP_ENC_NTSC_HS_INT_STOP_X1_PAL 0x88
#define TVP_ENC_NTSC_HS_INT_STOP_X2_PAL 0x00
#define TVP_ENC_NTSC_HS_EXT_STRT_X1_PAL 0x5F
#define TVP_ENC_NTSC_HS_EXT_STRT_X2_PAL 0x03
#define TVP_ENC_NTSC_HS_EXT_STOP_X1_PAL 0x0F
#define TVP_ENC_NTSC_HS_EXT_STOP_X2_PAL 0x00
#define TVP_ENC_NTSC_VS_INT_STRT_X1_PAL 0xA7
#define TVP_ENC_NTSC_VS_INT_STRT_X2_PAL 0x01
#define TVP_ENC_NTSC_VS_INT_STOP_X1_PAL 0xA7
#define TVP_ENC_NTSC_VS_INT_STOP_X2_PAL 0x01
#define TVP_ENC_NTSC_VS_INT_STRT_Y1_PAL 0x6F
#define TVP_ENC_NTSC_VS_INT_STRT_Y2_PAL 0x02
#define TVP_ENC_NTSC_VS_INT_STOP_Y1_PAL 0x2E
#define TVP_ENC_NTSC_VS_INT_STOP_Y2_PAL 0x00
#define TVP_ENC_NTSC_VS_EXT_STRT_X1_PAL 0xAF
#define TVP_ENC_NTSC_VS_EXT_STRT_X2_PAL 0x01
#define TVP_ENC_NTSC_VS_EXT_STOP_X1_PAL 0xAF
#define TVP_ENC_NTSC_VS_EXT_STOP_X2_PAL 0x01
#define TVP_ENC_NTSC_VS_EXT_STRT_Y1_PAL 0x71
#define TVP_ENC_NTSC_VS_EXT_STRT_Y2_PAL 0x02
#define TVP_ENC_NTSC_VS_EXT_STOP_Y1_PAL 0x05
#define TVP_ENC_NTSC_VS_EXT_STOP_Y2_PAL 0x00
#define TVP_ENC_NTSC_AVID_STRT_X1_PAL 0x83
#define TVP_ENC_NTSC_AVID_STRT_X2_PAL 0x00
#define TVP_ENC_NTSC_AVID_STOP_X1_PAL 0x53
#define TVP_ENC_NTSC_AVID_STOP_X2_PAL 0x03
#define TVP_ENC_NTSC_AVID_STRT_Y1_PAL 0x2E
#define TVP_ENC_NTSC_AVID_STRT_Y2_PAL 0x00
#define TVP_ENC_NTSC_AVID_STOP_Y1_PAL 0x6E
#define TVP_ENC_NTSC_AVID_STOP_Y2_PAL 0x02
#define TVP_ENC_NTSC_FID_INT_STRT_X1_PAL 0x8A
#define TVP_ENC_NTSC_FID_INT_STRT_X2_PAL 0x00
#define TVP_ENC_NTSC_FID_INT_STRT_Y1_PAL 0x05
#define TVP_ENC_NTSC_FID_INT_STRT_Y2_PAL 0x00
#define TVP_ENC_NTSC_FID_INT_OFFSET_Y1_PAL 0x38
#define TVP_ENC_NTSC_FID_INT_OFFSET_Y2_PAL 0x01
#define TVP_ENC_NTSC_FID_EXT_STRT_X1_PAL 0x2E
#define TVP_ENC_NTSC_FID_EXT_STRT_X2_PAL 0x00
#define TVP_ENC_NTSC_FID_EXT_STRT_Y1_PAL 0x05
#define TVP_ENC_NTSC_FID_EXT_STRT_Y2_PAL 0x00
#define TVP_ENC_NTSC_FID_EXT_OFFSET_Y1_PAL 0x38
#define TVP_ENC_NTSC_FID_EXT_OFFSET_Y2_PAL 0x01
#define TVP_ENC_NTSC_TVDETGP_INT_STRT_X1_PAL 0x01
#define TVP_ENC_NTSC_TVDETGP_INT_STRT_X2_PAL 0x00
#define TVP_ENC_NTSC_TVDETGP_INT_STOP_X1_PAL 0x14
#define TVP_ENC_NTSC_TVDETGP_INT_STOP_X2_PAL 0x00
#define TVP_ENC_NTSC_TVDETGP_INT_STRT_Y1_PAL 0x01
#define TVP_ENC_NTSC_TVDETGP_INT_STRT_Y2_PAL 0x00
#define TVP_ENC_NTSC_TVDETGP_INT_STOP_Y1_PAL 0x01
#define TVP_ENC_NTSC_TVDETGP_INT_STOP_Y2_PAL 0x00
#define TVP_ENC_NTSC_TVDETGP_EN_PAL 0x00
#define TVP_ENC_NTSC_SYNC_POLARTIY_PAL 0xFF
#define TVP_ENC_NTSC_UVPHASE_POLARITY_PAL 0x00
#define TVP_ENC_NTSC_S_CARR1_PALM_601 0xE3
#define TVP_ENC_NTSC_S_CARR2_PALM_601 0xEF
#define TVP_ENC_NTSC_S_CARR3_PALM_601 0xE6
#define TVP_ENC_NTSC_S_CARR4_PALM_601 0x21
#define TVP_ENC_NTSC_S_CARR1_PALN_601 0xE3
#define TVP_ENC_NTSC_S_CARR2_PALN_601 0xEF
#define TVP_ENC_NTSC_S_CARR3_PALN_601 0xE6
#define TVP_ENC_NTSC_S_CARR4_PALN_601 0x21
#define TVP_ENC_NTSC_S_CARR1_PALBDGHI_601 0xCB
#define TVP_ENC_NTSC_S_CARR2_PALBDGHI_601 0x8A
#define TVP_ENC_NTSC_S_CARR3_PALBDGHI_601 0x09
#define TVP_ENC_NTSC_S_CARR4_PALBDGHI_601 0x2A
#define TVP_ENC_NTSC_S_CARR1_PALM_SQ 0x1E
#define TVP_ENC_NTSC_S_CARR2_PALM_SQ 0xC0
#define TVP_ENC_NTSC_S_CARR3_PALM_SQ 0x15
#define TVP_ENC_NTSC_S_CARR4_PALM_SQ 0x1F
#define TVP_ENC_NTSC_S_CARR1_PALN_SQ 0x1E
#define TVP_ENC_NTSC_S_CARR2_PALN_SQ 0xC0
#define TVP_ENC_NTSC_S_CARR3_PALN_SQ 0x15
#define TVP_ENC_NTSC_S_CARR4_PALN_SQ 0x1F
#define TVP_ENC_NTSC_S_CARR1_PALBDGHI_SQ 0xAD
#define TVP_ENC_NTSC_S_CARR2_PALBDGHI_SQ 0xD4
#define TVP_ENC_NTSC_S_CARR3_PALBDGHI_SQ 0x4A
#define TVP_ENC_NTSC_S_CARR4_PALBDGHI_SQ 0x25
/*--------------------------**
** DAC TST Register Values **
**--------------------------*/
#define TVP_ENC_NTSC_DAC_A_ENABLE 0x0
#define TVP_ENC_NTSC_DAC_A_DISABLE 0x1
#define TVP_ENC_NTSC_DAC_B_ENABLE 0x0
#define TVP_ENC_NTSC_DAC_B_DISABLE 0x2
#define TVP_ENC_NTSC_DAC_C_ENABLE 0x0
#define TVP_ENC_NTSC_DAC_C_DISABLE 0x4
/*----------------------------------------------**
** NTSC/PAL Encoder Status Register Definitions **
**----------------------------------------------*/
#define TVP_ENC_NTSC_CCO 0x4
#define TVP_ENC_NTSC_CCE 0x8
/*---------------------------------------**
** LINE21 CC/EDS Encode Control Register **
**---------------------------------------*/
#define TVP_ENC_NTSC_CC_ENCODE_ODD_FIELD 0x1
#define TVP_ENC_NTSC_CC_ENCODE_EVEN_FIELD 0x2
#define TVP_ENC_NTSC_CC_ENCODE_OFF 0
#define TVP_ENC_LAST_NTSC_OFFSET 0xff
#define TVP_ENC_TIMEOUT_COUNT 50
typedef enum
{
TVP_ENC_PAL_VALUES,
TVP_ENC_NTSC_VALUES,
TVP_ENC_480I_VALUES,
TVP_ENC_480P_VALUES,
TVP_ENC_576I_VALUES, // v02.00.encoder
TVP_ENC_576P_VALUES, // v02.00.encoder
TVP_ENC_720P_VALUES,
TVP_ENC_1080I_VALUES,
TVP_ENC_WVGA_VALUES,
TVP_ENC_WXGA_VALUES,
TVP_ENC_PAL_HD_VALUES,
TVP_ENC_HD_HD_VALUES, // v01.0B
TVP_ENC_SD_SD_VALUES, // v01.0B
TVP_ENC_HD_SD_VALUES, // v01.0B
TVP_ENC_SD_HD_VALUES // v01.0B
} TvpEncValueType;
#define TVP_ENC_SLOW_480I 0x8420d35a
#define TVP_ENC_SLOW_480P 0x8420d35a
#define TVP_ENC_SLOW_720P 0x842ee673 // v02.08.02 match
#define TVP_ENC_SLOW_1080I 0x8446589A // v02.08.02 match
#define TVP_ENC_SLOW_WVGA 0x00205440
#define TVP_ENC_SLOW_WXGA 0x0031b700
#define TVP_ENC_SLOW_PAL 0x84271360
#define TVP_ENC_FAST_480I 0x8420d359
#define TVP_ENC_FAST_480P 0x8420d359
#define TVP_ENC_FAST_720P 0x842ee672 // v02.08.02 match
#define TVP_ENC_FAST_1080I 0x84465898
#define TVP_ENC_FAST_WVGA 0x00205440
#define TVP_ENC_FAST_WXGA 0x0031b700
#define TVP_ENC_FAST_PAL 0x8427135F // ?? 360 // v02.08.02 match
#define TVP_ENC_SLOW_720P_50 0x842EE7BC // v01.04.encoder
#define TVP_ENC_SLOW_1080I_50 0x84465A50 // v01.04.encoder
#define TVP_ENC_SLOW_NTSC0 0x0035a20d
#define TVP_ENC_FAST_NTSC0 0x0035920d
/*------------**
** Structures **
**------------*/
// The following structure maps the memory in the encoder
typedef struct
{
volatile unsigned long cfg0;
volatile unsigned long cfg1;
volatile unsigned long cfg2;
volatile unsigned long cfg3;
volatile unsigned long cfg4;
volatile unsigned long cfg5;
volatile unsigned long cfg6;
volatile unsigned long cfg7;
volatile unsigned long cfg8;
volatile unsigned long cfg9;
volatile unsigned long cfg10;
volatile unsigned long cfg11;
volatile unsigned long cfg12;
volatile unsigned long cfg13;
volatile unsigned long cfg14;
volatile unsigned long cfg15;
} TvpEncHDMemMap_s;
typedef struct
{
volatile unsigned long cfg16;
volatile unsigned long cfg17;
volatile unsigned long cfg18;
volatile unsigned long cfg19;
volatile unsigned long cfg20;
volatile unsigned long cfg21;
} TvpEncHDMemMap2_s; // v02.00.Encoder
typedef struct {
volatile unsigned long ntsc0;
volatile unsigned long ntsc1;
volatile unsigned long ntsc2;
volatile unsigned long ntsc3;
volatile unsigned long ntsc4;
volatile unsigned long ntsc5;
volatile unsigned long ntsc6;
volatile unsigned long ntsc7;
volatile unsigned long ntsc8;
volatile unsigned long ntsc9;
} TvpEncNtscMemMap_s;
/*------------**
** Prototypes **
**------------*/
#ifdef __cplusplus
extern "C" {
#endif
TVP_FERROR tvpEncNtscCommandWrite (unsigned long offset, unsigned long data);
TVP_FERROR tvpEncNtscCommandRead (unsigned long offset, unsigned long *data);
unsigned char *tvpEncValueAddrGet (TvpEncValueType type,
TvpEncHdColorSpace colorSpace);
unsigned char *tvpEncValueAddrGet2(TvpEncValueType type, // v02.00.encoder
TvpEncHdColorSpace colorSpace);
unsigned char *tvpEncOffsetAddrGet(void);
#ifdef __cplusplus
};
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -