⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tvpencodermem.h

📁 ti的数字电视芯片 tvp9000的源码
💻 H
📖 第 1 页 / 共 3 页
字号:
#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 + -