📄 vp_api.h
字号:
/******************************************************************************
* Filename : Vp_api.h *
* Start date : *
* By : *
* Contact : *
* Description : low level api headers.(for only high level api) *
* *
******************************************************************************
*/
#ifndef _VP_API_H_
#define _VP_API_H_
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************
* Data types
*********************************************/
#define VP_BASE 0x310000
/*********************************************
* VP Active Register
*********************************************/
#define rVP_ENABLE_H ( *(volatile unsigned int *) (VP_BASE + 0x00) )
#define rVP_ENABLE_L ( *(volatile unsigned int *) (VP_BASE + 0x02) )
#define rVP_FIELD_ID_H ( *(volatile unsigned int *) (VP_BASE + 0x04) )
#define rVP_FIELD_ID_L ( *(volatile unsigned int *) (VP_BASE + 0x06) )
#define rVP_MODE_H ( *(volatile unsigned int *) (VP_BASE + 0x08) )
#define rVP_MODE_L ( *(volatile unsigned int *) (VP_BASE + 0x0A) )
//FROM 5000
//#define rVP_H_WIPE_H ( *(volatile unsigned int *) (VP_BASE + 0x0C) )
//#define rVP_H_WIPE_L ( *(volatile unsigned int *) (VP_BASE + 0x0E) )
//TO HERE
//FROM 9908
#define rVP_H_DELAY_H ( *(volatile unsigned int *) (VP_BASE + 0x0C) )
#define rVP_H_DELAY_L ( *(volatile unsigned int *) (VP_BASE + 0x0E) )
//TO HERE
//FROM 5000
//#define rVP_V_WIPE_H ( *(volatile unsigned int *) (VP_BASE + 0x10) )
//#define rVP_V_WIPE_L ( *(volatile unsigned int *) (VP_BASE + 0x12) )
//TO HERE
//FROM 9908
#define rVP_FRAG_H ( *(volatile unsigned int *) (VP_BASE + 0x10) )
#define rVP_FRAG_L ( *(volatile unsigned int *) (VP_BASE + 0x12) )
//TO HERE
//FROM 5000
#define rVP_BLENDING_H ( *(volatile unsigned int*) (VP_BASE + 0x14) )
#define rVP_BLENDING_L ( *(volatile unsigned int *) (VP_BASE + 0x16) )
//TO HERE
//FROM 9908
#define rVP_LOOP_DELAY_H ( *(volatile unsigned int*) (VP_BASE + 0x14) )
#define rVP_LOOP_DELAY_L ( *(volatile unsigned int *) (VP_BASE + 0x16) )
//TO HERE
//B2R test
#define rVP_Addr_Mode_H (*(volatile unsigned int*)(VP_BASE + 0x18))
#define rVP_Addr_Mode_L (*(volatile unsigned int*)(VP_BASE + 0x1A))
#define rVP_Y_PTR_H (*(volatile unsigned int *)(VP_BASE+0x2C))
#define rVP_Y_PTR_L (*(volatile unsigned int*)(VP_BASE+0x2E))
#define rVP_C_PTR_H (*(volatile unsigned int *) (VP_BASE +0x30))
#define rVP_C_PTR_L (*(volatile unsigned int *) (VP_BASE +0x32))
#define rVP_Pic_Height_H (*(volatile unsigned int*)(VP_BASE +0x3C))
#define rVP_Pic_Height_L (*(volatile unsigned int*)(VP_BASE +0x3E))
#define rVP_Pic_Width_H (*(volatile unsigned int*)(VP_BASE +0x40))
#define rVP_Pic_Width_L (*(volatile unsigned int*)(VP_BASE +0x42))
#define rVP_SRC_H_POSITION_H (*(volatile unsigned int *) (VP_BASE +0x44))
#define rVP_SRC_H_POSITION_L (*(volatile unsigned int *) (VP_BASE +0x46))
#define rVP_SRC_V_POSITION_H (*(volatile unsigned int *) (VP_BASE +0x48))
#define rVP_SRC_V_POSITION_L (*(volatile unsigned int *) (VP_BASE +0x4A))
#define rVP_SRC_WIDTH_H (*(volatile unsigned int *) (VP_BASE +0x4C))
#define rVP_SRC_WIDTH_L (*(volatile unsigned int *) (VP_BASE +0x4E))
#define rVP_SRC_HEIGHT_H (*(volatile unsigned int *) (VP_BASE +0x50))
#define rVP_SRC_HEIGHT_L (*(volatile unsigned int *) (VP_BASE +0x52))
#define rVP_DST_H_POSITION_H (*(volatile unsigned int *) (VP_BASE +0x54))
#define rVP_DST_H_POSITION_L (*(volatile unsigned int *) (VP_BASE +0x56))
#define rVP_DST_V_POSITION_H (*(volatile unsigned int *) (VP_BASE +0x58))
#define rVP_DST_V_POSITION_L (*(volatile unsigned int *) (VP_BASE +0x5A))
#define rVP_DST_WIDTH_H (*(volatile unsigned int *) (VP_BASE +0x5C))
#define rVP_DST_WIDTH_L (*(volatile unsigned int *) (VP_BASE +0x5E))
#define rVP_DST_HEIGHT_H (*(volatile unsigned int *) (VP_BASE +0x60))
#define rVP_DST_HEIGHT_L (*(volatile unsigned int *) (VP_BASE +0x62))
#define rVP_H_RATIO_H (*(volatile unsigned int *) (VP_BASE +0x64))
#define rVP_H_RATIO_L (*(volatile unsigned int *) (VP_BASE +0x66))
#define rVP_V_RATIO_H (*(volatile unsigned int *) (VP_BASE +0x68))
#define rVP_V_RATIO_L (*(volatile unsigned int *) (VP_BASE +0x6A))
#define rVP_POLY4_0_LL_H (*(volatile unsigned int *) (VP_BASE +0x12C))
#define rVP_POLY4_0_LL_L (*(volatile unsigned int *) (VP_BASE +0x12E))
#define rVP_POLY4_0_LH_H (*(volatile unsigned int *) (VP_BASE +0x130))
#define rVP_POLY4_0_LH_L (*(volatile unsigned int *) (VP_BASE +0x132))
#define rVP_POLY4_0_HL_H (*(volatile unsigned int *) (VP_BASE +0x134))
#define rVP_POLY4_0_HL_L (*(volatile unsigned int *) (VP_BASE +0x136))
#define rVP_POLY4_0_HH_H (*(volatile unsigned int *) (VP_BASE +0x138))
#define rVP_POLY4_0_HH_L (*(volatile unsigned int *) (VP_BASE +0x13A))
#define rVP_POLY4_1_LL_H (*(volatile unsigned int *) (VP_BASE +0x13C))
#define rVP_POLY4_1_LL_L (*(volatile unsigned int *) (VP_BASE +0x13E))
#define rVP_POLY4_1_LH_H (*(volatile unsigned int *) (VP_BASE +0x140))
#define rVP_POLY4_1_LH_L (*(volatile unsigned int *) (VP_BASE +0x142))
#define rVP_POLY4_1_HL_H (*(volatile unsigned int *) (VP_BASE +0x144))
#define rVP_POLY4_1_HL_L (*(volatile unsigned int *) (VP_BASE +0x146))
#define rVP_POLY4_1_HH_H (*(volatile unsigned int *) (VP_BASE +0x148))
#define rVP_POLY4_1_HH_L (*(volatile unsigned int *) (VP_BASE +0x14A))
#define rVP_PP_BYPASS_H (*(volatile unsigned int *)(VP_BASE +0x200))
#define rVP_PP_BYPASS_L (*(volatile unsigned int *)(VP_BASE +0x202))
#define rVP_PP_SATURATION_H (*(volatile unsigned int *)(VP_BASE +0x20c))
#define rVP_PP_SATURATION_L (*(volatile unsigned int *)(VP_BASE +0x20E))
#define rVP_PP_CONTRAST_H (*(volatile unsigned int *)(VP_BASE +0x218))
#define rVP_PP_CONTRAST_L (*(volatile unsigned int *)(VP_BASE +0x21A))
#define rVP_PP_BRIGHTNESS_H (*(volatile unsigned int *)(VP_BASE +0x21c))
#define rVP_PP_BRIGHTNESS_L (*(volatile unsigned int *)(VP_BASE +0x21e))
/*********************************************
* VP Active Register
*********************************************/
#define rVP_ENABLE ( *(volatile UINT *) (VP_BASE + 0x00) )
#define rVP_FIELD_ID ( *(volatile UINT *) (VP_BASE + 0x04) )
#define rVP_MODE ( *(volatile UINT *) (VP_BASE + 0x08) )
#define rVP_H_WIPE ( *(volatile UINT *) (VP_BASE + 0x0C) )
#define rVP_V_WIPE ( *(volatile UINT *) (VP_BASE + 0x10) )
#define rVP_BLENDING ( *(volatile UINT *) (VP_BASE + 0x14) )
#define rVP_IPC_THRESHOLD ( *(volatile UINT *) (VP_BASE + 0x18) )
#if 1
#define rVP_ASV_PTR1 ( *(volatile UINT *) (VP_BASE + 0x1C) )
#define rVP_ASV_PTR0 ( *(volatile UINT *) (VP_BASE + 0x20) )
#define rVP_PREV_PTR1 ( *(volatile UINT *) (VP_BASE + 0x24) )
#define rVP_PREV_PTR0 ( *(volatile UINT *) (VP_BASE + 0x28) )
#define rVP_CURR_PTR1 ( *(volatile UINT *) (VP_BASE + 0x2C) )
#define rVP_CURR_PTR0 ( *(volatile UINT *) (VP_BASE + 0x30) )
#define rVP_NEXT_PTR1 ( *(volatile UINT *) (VP_BASE + 0x34) )
#define rVP_NEXT_PTR0 ( *(volatile UINT *) (VP_BASE + 0x38) )
#else
#define rVP_ASV_PTR0 ( *(volatile UINT *) (VP_BASE + 0x1C) )
#define rVP_ASV_PTR1 ( *(volatile UINT *) (VP_BASE + 0x20) )
#define rVP_PREV_PTR0 ( *(volatile UINT *) (VP_BASE + 0x24) )
#define rVP_PREV_PTR1 ( *(volatile UINT *) (VP_BASE + 0x28) )
#define rVP_CURR_PTR0 ( *(volatile UINT *) (VP_BASE + 0x2C) )
#define rVP_CURR_PTR1 ( *(volatile UINT *) (VP_BASE + 0x30) )
#define rVP_NEXT_PTR0 ( *(volatile UINT *) (VP_BASE + 0x34) )
#define rVP_NEXT_PTR1 ( *(volatile UINT *) (VP_BASE + 0x38) )
#endif
#define rVP_PIC_WIDTH ( *(volatile UINT *) (VP_BASE + 0x3C) )
#define rVP_PIC_HEIGHT ( *(volatile UINT *) (VP_BASE + 0x40) )
#define rVP_SRC_H_POSITION ( *(volatile UINT *) (VP_BASE + 0x44) )
#define rVP_SRC_V_POSITION ( *(volatile UINT *) (VP_BASE + 0x48) )
#define rVP_SRC_WIDTH ( *(volatile UINT *) (VP_BASE + 0x4C) )
#define rVP_SRC_HEIGHT ( *(volatile UINT *) (VP_BASE + 0x50) )
#define rVP_DST_H_POSITION ( *(volatile UINT *) (VP_BASE + 0x54) )
#define rVP_DST_V_POSITION ( *(volatile UINT *) (VP_BASE + 0x58) )
#define rVP_DST_WIDTH ( *(volatile UINT *) (VP_BASE + 0x5C) )
#define rVP_DST_HEIGHT ( *(volatile UINT *) (VP_BASE + 0x60) )
#define rVP_H_RATIO ( *(volatile UINT *) (VP_BASE + 0x64) )
#define rVP_V_RATIO ( *(volatile UINT *) (VP_BASE + 0x68) )
#define rVP_POLY8_Y0_LL ( *(volatile UINT *) (VP_BASE + 0x6C) )
#define rVP_POLY8_Y0_LH ( *(volatile UINT *) (VP_BASE + 0x70) )
#define rVP_POLY8_Y0_HL ( *(volatile UINT *) (VP_BASE + 0x74) )
#define rVP_POLY8_Y0_HH ( *(volatile UINT *) (VP_BASE + 0x78) )
#define rVP_POLY8_Y1_LL ( *(volatile UINT *) (VP_BASE + 0x7C) )
#define rVP_POLY8_Y1_LH ( *(volatile UINT *) (VP_BASE + 0x80) )
#define rVP_POLY8_Y1_HL ( *(volatile UINT *) (VP_BASE + 0x84) )
#define rVP_POLY8_Y1_HH ( *(volatile UINT *) (VP_BASE + 0x88) )
#define rVP_POLY8_Y2_LL ( *(volatile UINT *) (VP_BASE + 0x8C) )
#define rVP_POLY8_Y2_LH ( *(volatile UINT *) (VP_BASE + 0x90) )
#define rVP_POLY8_Y2_HL ( *(volatile UINT *) (VP_BASE + 0x94) )
#define rVP_POLY8_Y2_HH ( *(volatile UINT *) (VP_BASE + 0x98) )
#define rVP_POLY8_Y3_LL ( *(volatile UINT *) (VP_BASE + 0x9C) )
#define rVP_POLY8_Y3_LH ( *(volatile UINT *) (VP_BASE + 0xA0) )
#define rVP_POLY8_Y3_HL ( *(volatile UINT *) (VP_BASE + 0xA4) )
#define rVP_POLY8_Y3_HH ( *(volatile UINT *) (VP_BASE + 0xA8) )
#define rVP_POLY8_Y4_LL ( *(volatile UINT *) (VP_BASE + 0xAC) )
#define rVP_POLY8_Y4_LH ( *(volatile UINT *) (VP_BASE + 0xB0) )
#define rVP_POLY8_Y4_HL ( *(volatile UINT *) (VP_BASE + 0xB4) )
#define rVP_POLY8_Y4_HH ( *(volatile UINT *) (VP_BASE + 0xB8) )
#define rVP_POLY8_Y5_LL ( *(volatile UINT *) (VP_BASE + 0xBC) )
#define rVP_POLY8_Y5_LH ( *(volatile UINT *) (VP_BASE + 0xC0) )
#define rVP_POLY8_Y5_HL ( *(volatile UINT *) (VP_BASE + 0xC4) )
#define rVP_POLY8_Y5_HH ( *(volatile UINT *) (VP_BASE + 0xC8) )
#define rVP_POLY8_Y6_LL ( *(volatile UINT *) (VP_BASE + 0xCC) )
#define rVP_POLY8_Y6_LH ( *(volatile UINT *) (VP_BASE + 0xD0) )
#define rVP_POLY8_Y6_HL ( *(volatile UINT *) (VP_BASE + 0xD4) )
#define rVP_POLY8_Y6_HH ( *(volatile UINT *) (VP_BASE + 0xD8) )
#define rVP_POLY8_Y7_LL ( *(volatile UINT *) (VP_BASE + 0xDC) )
#define rVP_POLY8_Y7_LH ( *(volatile UINT *) (VP_BASE + 0xE0) )
#define rVP_POLY8_Y7_HL ( *(volatile UINT *) (VP_BASE + 0xE4) )
#define rVP_POLY8_Y7_HH ( *(volatile UINT *) (VP_BASE + 0xE8) )
#define rVP_POLY4_Y0_LL ( *(volatile UINT *) (VP_BASE + 0xEC) )
#define rVP_POLY4_Y0_LH ( *(volatile UINT *) (VP_BASE + 0xF0) )
#define rVP_POLY4_Y0_HL ( *(volatile UINT *) (VP_BASE + 0xF4) )
#define rVP_POLY4_Y0_HH ( *(volatile UINT *) (VP_BASE + 0xF8) )
#define rVP_POLY4_Y1_LL ( *(volatile UINT *) (VP_BASE + 0xFC) )
#define rVP_POLY4_Y1_LH ( *(volatile UINT *) (VP_BASE + 0x100) )
#define rVP_POLY4_Y1_HL ( *(volatile UINT *) (VP_BASE + 0x104) )
#define rVP_POLY4_Y1_HH ( *(volatile UINT *) (VP_BASE + 0x108) )
#define rVP_POLY4_Y2_LL ( *(volatile UINT *) (VP_BASE + 0x10C) )
#define rVP_POLY4_Y2_LH ( *(volatile UINT *) (VP_BASE + 0x110) )
#define rVP_POLY4_Y2_HL ( *(volatile UINT *) (VP_BASE + 0x114) )
#define rVP_POLY4_Y2_HH ( *(volatile UINT *) (VP_BASE + 0x118) )
#define rVP_POLY4_Y3_LL ( *(volatile UINT *) (VP_BASE + 0x11C) )
#define rVP_POLY4_Y3_LH ( *(volatile UINT *) (VP_BASE + 0x120) )
#define rVP_POLY4_Y3_HL ( *(volatile UINT *) (VP_BASE + 0x124) )
#define rVP_POLY4_Y3_HH ( *(volatile UINT *) (VP_BASE + 0x128) )
#define rVP_POLY4_C0_LL ( *(volatile UINT *) (VP_BASE + 0x12C) )
#define rVP_POLY4_C0_LH ( *(volatile UINT *) (VP_BASE + 0x130) )
#define rVP_POLY4_C0_HL ( *(volatile UINT *) (VP_BASE + 0x134) )
#define rVP_POLY4_C0_HH ( *(volatile UINT *) (VP_BASE + 0x138) )
#define rVP_POLY4_C1_LL ( *(volatile UINT *) (VP_BASE + 0x13C) )
#define rVP_POLY4_C1_LH ( *(volatile UINT *) (VP_BASE + 0x140) )
#define rVP_POLY4_C1_HL ( *(volatile UINT *) (VP_BASE + 0x144) )
#define rVP_POLY4_C1_HH ( *(volatile UINT *) (VP_BASE + 0x148) )
#define rVP_POLY4_C2_LL ( *(volatile UINT *) (VP_BASE + 0x14C) )
#define rVP_POLY4_C2_LH ( *(volatile UINT *) (VP_BASE + 0x150) )
#define rVP_POLY4_C2_HL ( *(volatile UINT *) (VP_BASE + 0x154) )
#define rVP_POLY4_C2_HH ( *(volatile UINT *) (VP_BASE + 0x158) )
#define rVP_POLY4_C3_LL ( *(volatile UINT *) (VP_BASE + 0x15C) )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -