📄 tvpencoder.h
字号:
#ifndef TVP_ENCODER_DOT_H_IS_DEFINED
#define TVP_ENCODER_DOT_H_IS_DEFINED
/*****************************************************************************
* Property of Texas Instruments Incorporated, Copyright 2004
* All rights reserved
******************************************************************************/
/*****************************************************************************
*
* TvpEncoder.h contains all definitions for the HD/NTSC/PAL encoders
*
******************************************************************************
*
* $Revision: $
*
* $History: TvpEncoder.h $
*
******************************************************************************/
// When the system wishes to use the default HD coeficients and/or
// default LUT table, use TVP_ENC_USE_DEFAULTS in the tvpEncInit()
#define TVP_ENC_USE_DEFAULTS ((unsigned long *)0)
#define TVP_ENC_HD_COLOR 0
#define TVP_ENC_SD_COLOR 1
#define TVP_ENC_HD_OUTPUT 0 // v01.0B
#define TVP_ENC_SD_OUTPUT 1 // v01.0B
typedef enum
{
TVP_ENC_DAC_DISABLE,
TVP_ENC_DAC_ENABLE
} TvpEncDacControl;
typedef enum
{
TVP_DVO_RAW_DATA,
TVP_DVO_POST_GAMMA,
TVP_DVO_POST_COLOR
} TvpEncDvoSource;
typedef enum
{
TVP_DVO_SINGLE_8,
TVP_DVO_DOUBLE_8,
TVP_DVO_TRIPLE_8
} TvpEncDvoFormat;
typedef enum
{
TVP_DVO_ACTIVE_HIGH,
TVP_DVO_ACTIVE_LOW
} TvpEncDvoPolarity;
typedef enum
{
TVP_HD_480I,
TVP_HD_480P,
TVP_HD_720P,
TVP_HD_1080I,
TVP_HD_576I, // v02.00.encoder
TVP_HD_576P, // v02.00.encoder
TVP_HD_WVGA,
TVP_HD_WXGA,
TVP_HD_PAL,
TVP_HD_720P_50,
TVP_HD_1080I_50,
TVP_HD_720P_60 = TVP_HD_720P, // original default // v01.05.encoder
TVP_HD_1080I_60 = TVP_HD_1080I // original default // v01.05.encoder
} TvpEncHdMode;
typedef enum
{
TVP_HD_FRAME_RATE_60, // default
TVP_HD_FRAME_RATE_50
} TvpEncFrameRate; // v01.04.encoder
typedef enum
{
TVP_HD_RGB,
TVP_HD_YUV
} TvpEncHdColorSpace;
typedef enum
{
TVP_VIDEO_RANGE,
TVP_GRAPHIC_RANGE
} TvpEncDataOutputRange;
typedef enum
{
TVP_BYPASS_GAMMA_DISABLED,
TVP_BYPASS_GAMMA
} TvpBypassGamma;
typedef enum
{
TVP_BYPASS_COLOR_DISABLED,
TVP_BYPASS_COLOR
} TvpBypassColorConvert;
typedef enum
{
TVP_BYPASS_UP_SAMPLE_DISABLED,
TVP_BYPASS_UP_SAMPLE
} TvpBypass2XupSample;
typedef enum
{
TVP_HD_COLOR_BAR_DISABLED,
TVP_HD_COLOR_BAR
} TvpColorBar;
typedef enum
{
TVP_NTSC_MJ_NO_PEDESTAL=0,
TVP_NTSC_443_NO_PEDESTAL=1,
TVP_NTSC_MJ_PEDESTAL=2,
TVP_NTSC_443_PEDESTAL=3,
TVP_PAL_M=4,
TVP_PAL_N=5,
TVP_PAL_BDGHI=6
} TvpNtscPalMode;
typedef enum
{
TVP_CC,
TVP_EDS,
TVP_DISABLE_CC_EDS
} TvpEncCcType;
typedef unsigned char TvpEncCcData;
#define TVP_ENC_HD_CTRL_REG_0 0
#define TVP_ENC_HD_CTRL_REG_1 1
#define TVP_ENC_HD_CTRL_REG_2 2
#define TVP_ENC_HD_CTRL_REG_3 3
#define TVP_ENC_HD_CTRL_REG_4 4
#define TVP_ENC_HD_CTRL_REG_5 5
#define TVP_ENC_HD_CTRL_REG_6 6
#define TVP_ENC_HD_CTRL_REG_7 7
#define TVP_ENC_HD_CTRL_REG_8 8
#define TVP_ENC_HD_CTRL_REG_9 9
#define TVP_ENC_HD_CTRL_REG_10 10
#define TVP_ENC_HD_CTRL_REG_11 11
#define TVP_ENC_HD_CTRL_REG_12 12
#define TVP_ENC_HD_CTRL_REG_13 13
#define TVP_ENC_HD_CTRL_REG_14 14
#define TVP_ENC_HD_CTRL_REG_15 15
#define TVP_ENC_HD_CTRL_REG_MAX TVP_ENC_HD_CTRL_REG_15
#define TVP_ENC_NTSC_CTRL_REG_0 0x1400 // 0x55000
#define TVP_ENC_NTSC_CTRL_REG_1 0x1401 // 0x55004
#define TVP_ENC_NTSC_CTRL_REG_2 0x1402 // 0x55008
#define TVP_ENC_NTSC_CTRL_REG_3 0x1403 // 0x5500c
#define TVP_ENC_NTSC_CTRL_REG_4 0x1404 // 0x55010
#define TVP_ENC_NTSC_CTRL_REG_5 0x1405 // 0x55014
#define TVP_ENC_NTSC_CTRL_REG_6 0x1406 // 0x55018
#define TVP_ENC_NTSC_CTRL_REG_7 0x1407 // 0x5501c
#define TVP_ENC_NTSC_CTRL_REG_8 0x1408 // 0x55020
#define TVP_ENC_NTSC_CTRL_REG_9 0x1409 // 0x55024
#define TVP_ENC_NTSC_CTRL_REG_MAX TVP_ENC_NTSC_CTRL_REG_9
#define TVP_ENC_HD_CTRL_REG2_16 0x140A // 0x55028
#define TVP_ENC_HD_CTRL_REG2_17 0x140B // 0x5502C
#define TVP_ENC_HD_CTRL_REG2_18 0x140C // 0x55030
#define TVP_ENC_HD_CTRL_REG2_19 0x140D // 0x55034
#define TVP_ENC_HD_CTRL_REG2_20 0x140E // 0x55038
#define TVP_ENC_HD_CTRL_REG2_21 0x140F // 0x5503C
#define TVP_ENC_HD_CTRL_REG2_MAX TVP_ENC_HD_CTRL_REG2_21
#define TVP_ENC_HD_CTRL_REG2_0 TVP_ENC_HD_CTRL_REG2_16
#define TVP_ENC_HD_CTRL_REG_10_USER 0x20 // HdEncReg10User; // v02.09.29_97
#define TVP_ENC_HD_CTRL_REG_10_USER_DELTA 0x21 // HdEncReg10UserAdd; // v02.09.29_97
#define TVP_ENC_NTSC_CTRL_REG_0_USER_SLOW 0x22 // NtscEncReg0UserNtscSlow; // v02.09.29_97
#define TVP_ENC_NTSC_CTRL_REG_0_USER_FAST 0x23 // NtscEncReg0UserNtscFast; // v02.09.29_97
#define TVP_ENC_NTSC_LLEN1_OFFSET_USER_SLOW 0x24 // NtscEncOff1CUserNtscSlow;// v02.09.29_97
#define TVP_ENC_NTSC_LLEN1_OFFSET_USER_FAST 0x25 // NtscEncOff1CUserNtscFast;// v02.09.29_97
#define TVP_ENC_PAL_CTRL_REG_0_USER_SLOW 0x26 // NtscEncReg0UserPalSlow; // v02.09.29_97
#define TVP_ENC_PAL_CTRL_REG_0_USER_FAST 0x27 // NtscEncReg0UserPalFast; // v02.09.29_97
#define TVP_ENC_PAL_LLEN1_OFFSET_USER_SLOW 0x28 // NtscEncOff1CUserPalSlow; // v02.09.29_97
#define TVP_ENC_PAL_LLEN1_OFFSET_USER_FAST 0x29 // NtscEncOff1CUserPalFast; // v02.09.29_97
#define TVP_ENC_HD_USER_REG_MIN TVP_ENC_HD_CTRL_REG_10_USER // v02.09.29_97
#define TVP_ENC_HD_USER_REG_MAX TVP_ENC_PAL_LLEN1_OFFSET_USER_FAST // v02.09.29_97
#define TVP_ENC_BRIGHTNESS_MIN 0x000 // = 0 // v01.07.Bright
#define TVP_ENC_BRIGHTNESS_NOM 0x200 // = 512 // v01.07.Bright
#define TVP_ENC_BRIGHTNESS_MAX 0x3FF // = 1023 // v01.07.Bright
#define TVP_ENC_SATURATION_MIN 0x000 // = 0 // v01.07.Bright
#define TVP_ENC_SATURATION_NOM 0x200 // = 512 // v01.07.Bright
#define TVP_ENC_SATURATION_MAx 0x3FF // = 1023 // v01.07.Bright
#define TVP_ENC_HUE_MIN 0x000 // = 0 // v01.0D.Hue
#define TVP_ENC_HUE_NOM 0x200 // = 512 // v01.0D.Hue
#define TVP_ENC_HUE_MAX 0x3FF // = 1023 // v01.0D.Hue
/*------------**
** Prototypes **
**------------*/
#ifdef __cplusplus
extern "C" {
#endif
void tvpEncInit( unsigned long *lut0, unsigned long *lut1, unsigned long *lut2,
unsigned long *coefTable );
void tvpEncDacControl (TvpEncDacControl dac0, TvpEncDacControl dac1,
TvpEncDacControl dac2, TvpEncDacControl dac3,
TvpEncDacControl dac4, TvpEncDacControl dac5);
TVP_FERROR tvpEncHdConfig (TvpEncHdMode hdMode,
TvpEncHdColorSpace colorSpace,
TvpEncDvoSource dvoSource,
TvpEncDvoFormat dvoFormat,
TvpEncDvoPolarity dvoPolarity);
TVP_FERROR tvpEncHdCustomControl(TvpBypassGamma bypassGamma,
TvpBypassColorConvert bypassColorConvert,
TvpBypass2XupSample bypassUpSample,
TvpColorBar colorBar );
TVP_FERROR tvpEncNtscPalConfig (TvpNtscPalMode ntsPalMode,
TvpEncDataOutputRange dataRange);
TVP_FERROR tvpEncWriteCcData (TvpEncCcData data1, TvpEncCcData data2, TvpEncCcType type);
TVP_FERROR tvpEncGammaConfig (unsigned long *lut_Y, // v01.01.Gamma
unsigned long *lut_U,
unsigned long *lut_V);
TVP_FERROR tvpEncHdRegRead (unsigned short offset, // v01.01.HdReg
unsigned long *data);
TVP_FERROR tvpEncHdRegWrite (unsigned short offset, // v01.01.HdReg
unsigned long data);
TVP_FERROR tvpEncBrightness (unsigned long brightness ); // v01.07.Bright
TVP_FERROR tvpEncSaturation (unsigned long saturation ); // v01.07.Bright
TVP_FERROR tvpEncHue (unsigned long hue ); // v01.0D.HUe
#ifdef __cplusplus
};
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -