📄 tvpencodermem.h
字号:
#ifndef TVP_ENCODER_MEM_DOT_H_IS_DEFINED
#define TVP_ENCODER_MEM_DOT_H_IS_DEFINED
/*****************************************************************************
* Property of Texas Instruments Incorporated, Copyright 2004
* All rights reserved
******************************************************************************/
/*****************************************************************************
*
* TvpEncoderMem.h contains all memory and register definitions for the HD
* and NTSC/PAL encoders on the TVP9000
*
******************************************************************************
*
* $Revision: $
*
* $History: TvpEncoderMem.h $
*
******************************************************************************/
#define TVP_ENC_HD_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0x0))
#define TVP_ENC_HD2_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0x140A)) // v02.00.encoder
#define TVP_ENC_LUT0_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0x400))
#define TVP_ENC_LUT1_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0x800))
#define TVP_ENC_LUT2_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0xc00))
#define TVP_NUM_LUT_ENTRIES 256
#define TVP_ENC_NTSC_BASE ((volatile unsigned long *)(TVP_ENCODER_BASE + 0x1400))
#define TVP_ENC_NUM_HD_CFG_REGS 6
#define TVP_ENC_NUM_HD2_CFG_REGS 6 // v02.00.encoder
#define TVP_ENC_NUM_FMT_CFG_REGS 9
/*-----------------------**
** CFG0 Commands **
**-----------------------*/
#define TVP_ENC_DM_480I 0x0
#define TVP_ENC_DM_480P 0x1
#define TVP_ENC_DM_1080I 0x2
#define TVP_ENC_DM_720P 0x3
#define TVP_ENC_DM_576I 0x4 // v02.00.encoder
#define TVP_ENC_DM_576P 0x5 // v02.00.encoder
#define TVP_ENC_DM_WVGA TVP_ENC_DM_480P
#define TVP_ENC_DM_WXGA TVP_ENC_DM_480P
#define TVP_ENC_DM_PAL 0x0
#define TVP_ENC_DM_MASK 0xf
#define TVP_ENC_INTERLACED 0x8 // Interlaced (1) or Progressive(0)
#define TVP_ENC_BYPASS_2X 0x10 // Bypass 2X up sampling
#define TVP_ENC_BYPASS_CS 0x20 // Bypass Color Space Converter
#define TVP_ENC_YUV_CS 0x40 // YUV color space (1) or RGB(0)
#define TVP_ENC_PD_DAC0 0x80 // Power down DAC 0
#define TVP_ENC_PD_DAC1 0x100 // Power down DAC 1
#define TVP_ENC_PD_DAC2 0x200 // Power down DAC 2
#define TVP_ENC_DVO_DM 0 // DVO source from Data Manager
#define TVP_ENC_DVO_GC 0x800 // DVO source after Gamma Correction
#define TVP_ENC_DVO_COLOR 0x1000 // DVO source after color space conversion
#define TVP_ENC_DVO_OUT_MASK 0x1800 // Mask to clear
#define TVP_ENC_BYPASS_GC 0x2000 // Bypass Gamma Correction (1) or not(0)
#define TVP_ENC_RD_MEM 0x4000 // ARM enabled to read gamma correction memory
#define TVP_ENC_SELF_TEST 0x8000 // Self Test
#define TVP_ENC_DVO_SINGLE 0x0 // Single 8 bit single channel 656 for SD
#define TVP_ENC_DVO_DOUBLE 0x10000 // Two 8 bit 656 channels for HD
#define TVP_ENC_DVO_TRIPLE 0x20000 // Three 8 bit 656 channels with sync. 24bit RGB or YCrCb444
#define TVP_ENC_DVO_FMT_MASK 0x30000 // Mask to clear DVO Format bits
#define TVP_ENC_DVO_POL_LOW 0x40000 // Active Low DVO Polarity
#define TVP_ENC_DAC_RF_0 0x80000 // Power down reference voltage DACs 0-2
#define TVP_ENC_DAC_RF_1 0x100000 // Power down reference voltage DACs 3-5
#define TVP_ENC_CBCR_S_SHIFT 30 // Upper 2 bits of CBCR_S from CFG14
#define TVP_ENC_CS_MASK 0x1fff // Mask for all color space coefficients
/*-----------------------**
** CFG0 Commands **
**-----------------------*/
#define TVP_ENC_CFG0_IVT_FID 0x00200000 // v01.0A
/*-----------------------**
** CFG1 Commands **
**-----------------------*/
#define TVP_ENC_A0_SHIFT 0
#define TVP_ENC_B0_SHIFT 16
#define TVP_ENC_A0_WIDTH 13 // v01.0D
#define TVP_ENC_B0_WIDTH 13 // v01.0D
#define TVP_ENC_A0_MASK 0x1fff // v01.0D
#define TVP_ENC_B0_MASK 0x1fff // v01.0D
/*-----------------------**
** CFG2 Commands **
**-----------------------*/
#define TVP_ENC_C0_SHIFT 0
#define TVP_ENC_A1_SHIFT 16
#define TVP_ENC_C0_WIDTH 13
#define TVP_ENC_A1_WIDTH 13
#define TVP_ENC_C0_MASK 0x1fff
#define TVP_ENC_A1_MASK 0x1fff
/*-----------------------**
** CFG3 Commands **
**-----------------------*/
#define TVP_ENC_B1_SHIFT 0
#define TVP_ENC_C1_SHIFT 16
#define TVP_ENC_B1_WIDTH 13
#define TVP_ENC_C1_WIDTH 13
#define TVP_ENC_B1_MASK 0x1fff
#define TVP_ENC_C1_MASK 0x1fff
/*-----------------------**
** CFG4 Commands **
**-----------------------*/
#define TVP_ENC_A2_SHIFT 0
#define TVP_ENC_B2_SHIFT 16
#define TVP_ENC_A2_WIDTH 13
#define TVP_ENC_B2_WIDTH 13
#define TVP_ENC_A2_MASK 0x1fff
#define TVP_ENC_B2_MASK 0x1fff
/*-----------------------**
** CFG5 Commands **
**-----------------------*/
#define TVP_ENC_C2_SHIFT 0
#define TVP_ENC_D0_SHIFT 16
#define TVP_ENC_C2_WIDTH 13
#define TVP_ENC_D0_WIDTH 12
#define TVP_ENC_C2_MASK 0x1fff
#define TVP_ENC_D0_MASK 0xfff
/*-----------------------**
** CFG6 Commands **
**-----------------------*/
#define TVP_ENC_D1_SHIFT 0
#define TVP_ENC_D2_SHIFT 12 // PG1.0 = 16 // v01.0D
#define TVP_ENC_D1_WIDTH 12
#define TVP_ENC_D2_WIDTH 12
#define TVP_ENC_D1_MASK 0xfff
#define TVP_ENC_D2_MASK 0xfff
#define TVP_ENC_SCALE_MASK 0xfff
#define TVP_ENC_SHIFT_MASK 0xff
#define TVP_ENC_BL_MASK 0xfff
/*-----------------------**
** CFG7 Commands **
**-----------------------*/
#define TVP_ENC_SCALE0_SHIFT 0
#define TVP_ENC_SHIFT0_SHIFT 12
#define TVP_ENC_BL0_SHIFT 20
/*-----------------------**
** CFG8 Commands **
**-----------------------*/
#define TVP_ENC_SCALE1_SHIFT 0
#define TVP_ENC_SHIFT1_SHIFT 12
#define TVP_ENC_BL1_SHIFT 20
/*-----------------------**
** CFG9 Commands **
**-----------------------*/
#define TVP_ENC_SCALE2_SHIFT 0
#define TVP_ENC_SHIFT2_SHIFT 12
#define TVP_ENC_BL2_SHIFT 20
/*-----------------------**
** CFG15 Commands **
**-----------------------*/
#define TVP_ENC_ST_656_DVO_MASK 0xFFF // 12 bits 11:0
#define TVP_ENC_ST_656_DVO_SHIFT 0 //
/*-----------------------**
** CFG17 Commands **
**-----------------------*/
#define TVP_ENC_VB1_WD_DVO_MASK 0xFF // 8 bits 23:16
#define TVP_ENC_VB1_WD_DVO_SHIFT 16 //
#define TVP_ENC_VB2_WD_DVO_MASK 0xFF // 8 bits 31:24
#define TVP_ENC_VB2_WD_DVO_SHIFT 24 //
/*------------------**
** NTSC 0 Commands **
**------------------*/
#define TVP_ENC_NTSC0_LINES_MASK 0xfff
#define TVP_ENC_NTSC0_LINES_SHIFT 0
#define TVP_ENC_NTSC0_PIXELS_MASK 0xfff
#define TVP_ENC_NTSC0_PIXELS_SHIFT 12
#define TVP_ENC_NTSC0_SLOW_NTSC_DEFAULT ((525 << TVP_ENC_NTSC0_LINES_SHIFT) | \
(858 << TVP_ENC_NTSC0_PIXELS_SHIFT)) // v02.05.29_97
#define TVP_ENC_NTSC0_FAST_NTSC_DEFAULT ((525 << TVP_ENC_NTSC0_LINES_SHIFT) | \
(857 << TVP_ENC_NTSC0_PIXELS_SHIFT)) // v02.05.29_97
#define TVP_ENC_NTSC0_PAL_DEFAULT ((625 << TVP_ENC_NTSC0_LINES_SHIFT) | \
(864 << TVP_ENC_NTSC0_PIXELS_SHIFT)) // v02.05.29_97
#define TVP_ENC_NTSC0_SLOW_PAL_DEFAULT ((625 << TVP_ENC_NTSC0_LINES_SHIFT) | \
(864 << TVP_ENC_NTSC0_PIXELS_SHIFT)) // v02.05.29_97
#define TVP_ENC_NTSC0_FAST_PAL_DEFAULT ((625 << TVP_ENC_NTSC0_LINES_SHIFT) | \
(863 << TVP_ENC_NTSC0_PIXELS_SHIFT)) // v02.05.29_97 // 864 ?? v02.08.02 match
/*------------------**
** NTSC 1 Commands **
**------------------*/
#define TVP_ENC_NTSC1_VB_ST1_MASK 0x3ff
#define TVP_ENC_NTSC1_VB_ST1_SHIFT 0
#define TVP_ENC_NTSC1_VB_END1_MASK 0x3ff
#define TVP_ENC_NTSC1_VB_END1_SHIFT 10
#define TVP_ENC_NTSC1_VB_ST2_MASK 0x3ff
#define TVP_ENC_NTSC1_VB_ST2_SHIFT 20
#define TVP_ENC_NTSC1_NTSC_DEFAULT ((524 << TVP_ENC_NTSC1_VB_ST1_SHIFT) | \
(18 << TVP_ENC_NTSC1_VB_END1_SHIFT)| \
(261 << TVP_ENC_NTSC1_VB_ST2_SHIFT))
#define TVP_ENC_NTSC1_PAL_DEFAULT ((624 << TVP_ENC_NTSC1_VB_ST1_SHIFT) | \
(23 << TVP_ENC_NTSC1_VB_END1_SHIFT)| \
(310 << TVP_ENC_NTSC1_VB_ST2_SHIFT))
/*------------------**
** NTSC 2 Commands **
**------------------*/
#define TVP_ENC_NTSC2_END_FD1_MASK 0xfff
#define TVP_ENC_NTSC2_END_FD1_SHIFT 0
#define TVP_ENC_NTSC2_ST_HBI_MASK 0xff
#define TVP_ENC_NTSC2_ST_HBI_SHIFT 12
#define TVP_ENC_NTSC2_VB_END2_MASK 0x3ff
#define TVP_ENC_NTSC2_VB_END2_SHIFT 20
#define TVP_ENC_NTSC2_NTSC_DEFAULT ((263 << TVP_ENC_NTSC2_END_FD1_SHIFT) | \
(100 << TVP_ENC_NTSC2_ST_HBI_SHIFT) | \
(281 << TVP_ENC_NTSC2_VB_END2_SHIFT))
#define TVP_ENC_NTSC2_PAL_DEFAULT ((313 << TVP_ENC_NTSC2_END_FD1_SHIFT) | \
(100 << TVP_ENC_NTSC2_ST_HBI_SHIFT) | \
(337 << TVP_ENC_NTSC2_VB_END2_SHIFT))
/*------------------**
** NTSC 3 Commands **
**------------------*/
#define TVP_ENC_NTSC3_ADDR_MASK 0xff
/*------------------**
** NTSC 4 Commands **
**------------------*/
#define TVP_ENC_NTSC4_DATA_WR_MASK 0xff
/*------------------**
** NTSC 5 Commands **
**------------------*/
#define TVP_ENC_NTSC5_DATA_RD_MASK 0xff
#define TVP_ENC_NTSC5_RD_DONE 0x100
/*------------------**
** NTSC 6 Commands **
**------------------*/
#define TVP_ENC_NTSC6_NEW_READ 0x1
#define TVP_ENC_NTSC6_NEW_READ_DONE 0
/*------------------**
** NTSC 7 Commands **
**------------------*/
#define TVP_ENC_NTSC7_WR_DONE 0x1
/*------------------**
** NTSC 8 Commands **
**------------------*/
#define TVP_ENC_NTSC8_NEW_WRITE 0x1
#define TVP_ENC_NTSC8_NEW_WRITE_DONE 0
/*------------------**
** NTSC 9 Commands **
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -