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

📄 mv_xs.h

📁 tuner扫描
💻 H
字号:
/*==========================================================================*/
/*     (Copyright (C) 2003 Koninklijke Philips Electronics N.V.             */
/*     All rights reserved.                                                 */
/*     This source code and any compilation or derivative thereof is the    */
/*     proprietary information of Koninklijke Philips Electronics N.V.      */
/*     and is confidential in nature.                                       */
/*     Under no circumstances is this software to be exposed to or placed   */
/*     under an Open Source License of any type without the expressed       */
/*     written permission of Koninklijke Philips Electronics N.V.           */
/*==========================================================================*/
/********************************************************
 * File : mv_xs.h
 * 
 * Device version : P1284_133_MOD_ID 
 * 
 * Generated by GADGET, version 1.41 
 * GADGET generated by gcc version 2.95.2 19991024 (release)
 * Patched by dvp_gadget V1.1 (PERL 5.006001)
 * 
 * Options : -v -i 
 * 
 * Copyright Philips Semiconductors B.V. 
 *******************************************************/
/*===========================================================================*/
/* Register addresses used when IO_MAPPED access.                            */
/*===========================================================================*/
#  define MV_XS_dec_storing_hrz_size_cur_ADDR		0x0
#  define MV_XS_dec_storing_y_odd_ptr_cur_ADDR		0x4
#  define MV_XS_dec_storing_y_even_ptr_cur_ADDR		0x8
#  define MV_XS_dec_storing_c_odd_ptr_cur_ADDR		0xC
#  define MV_XS_dec_storing_c_even_ptr_cur_ADDR		0x10
#  define MV_XS_dec_storing_hrz_size_nxt_ADDR		0x14
#  define MV_XS_dec_storing_y_odd_ptr_nxt_ADDR		0x18
#  define MV_XS_dec_storing_y_even_ptr_nxt_ADDR		0x1C
#  define MV_XS_dec_storing_c_odd_ptr_nxt_ADDR		0x20
#  define MV_XS_dec_storing_c_even_ptr_nxt_ADDR		0x24
#  define MV_XS_dec_use_storing_cur_ADDR		0x28
#  define MV_XS_dec_past_y_odd_ptr_cur_ADDR		0x2C
#  define MV_XS_dec_past_y_even_ptr_cur_ADDR		0x30
#  define MV_XS_dec_past_c_odd_ptr_cur_ADDR		0x34
#  define MV_XS_dec_past_c_even_ptr_cur_ADDR		0x38
#  define MV_XS_dec_future_y_odd_ptr_cur_ADDR		0x3C
#  define MV_XS_dec_future_y_even_ptr_cur_ADDR		0x40
#  define MV_XS_dec_future_c_odd_ptr_cur_ADDR		0x44
#  define MV_XS_dec_future_c_even_ptr_cur_ADDR		0x48
#  define MV_XS_dec_recovery_y_odd_ptr_cur_ADDR		0x4C
#  define MV_XS_dec_recovery_y_even_ptr_cur_ADDR		0x50
#  define MV_XS_dec_recovery_c_odd_ptr_cur_ADDR		0x54
#  define MV_XS_dec_recovery_c_even_ptr_cur_ADDR		0x58
#  define MV_XS_dec_use_storing_nxt_ADDR		0x5C
#  define MV_XS_dec_past_y_odd_ptr_nxt_ADDR		0x60
#  define MV_XS_dec_past_c_odd_ptr_nxt_ADDR		0x64
#  define MV_XS_dec_future_y_odd_ptr_nxt_ADDR		0x68
#  define MV_XS_dec_future_c_odd_ptr_nxt_ADDR		0x6C
#  define MV_XS_dec_recovery_y_odd_ptr_nxt_ADDR		0x70
#  define MV_XS_dec_recovery_c_odd_ptr_nxt_ADDR		0x74
#  define MV_XS_dec_past_y_even_ptr_nxt_ADDR		0x78
#  define MV_XS_dec_past_c_even_ptr_nxt_ADDR		0x7C
#  define MV_XS_dec_future_y_even_ptr_nxt_ADDR		0x80
#  define MV_XS_dec_future_c_even_ptr_nxt_ADDR		0x84
#  define MV_XS_dec_recovery_y_even_ptr_nxt_ADDR		0x88
#  define MV_XS_dec_recovery_c_even_ptr_nxt_ADDR		0x8C
#  define MV_XS_video_fifo_start_ADDR		0x90
#  define MV_XS_video_fifo_size_ADDR		0x94
#  define MV_XS_video_fifo_under_ADDR		0x98
#  define MV_XS_video_fifo_over_ADDR		0x9C
#  define MV_XS_cmd_video_fifo_ADDR		0xA0
#  define MV_XS_video_fifo_nxt_value_ADDR		0xA4
#  define MV_XS_video_fifo_rdpt_cur_ADDR		0xA8
#  define MV_XS_video_fifo_bfmu_cur_ADDR		0xAC
#  define MV_XS_video_fifo_bfmo_cur_ADDR		0xB0
#  define MV_XS_still_fifo_start_ADDR		0xB4
#  define MV_XS_still_fifo_size_ADDR		0xB8
#  define MV_XS_setup_video_fifo_ADDR		0xBC
#  define MV_XS_dec_storing_ctx_cur_ADDR		0xC0
#  define MV_XS_dec_storing_ctx_nxt_ADDR		0xC4
#  define MV_XS_disp_ctx_cur_ADDR		0xC8
#  define MV_XS_disp_ctx_nxt_ADDR		0xCC
#  define MV_XS_info_lines_status_ADDR		0xD0
#  define MV_XS_setup_buffer_number_ADDR		0xD4
#  define MV_XS_setup_error_concealment_ADDR		0xD8
#  define MV_XS_cmd_fbm_ADDR		0xDC
#  define MV_XS_info_seq_header_ADDR		0xE0
#  define MV_XS_info_userdata_seq_ADDR		0xE4
#  define MV_XS_info_gop_header_ADDR		0xE8
#  define MV_XS_info_userdata_gop_ADDR		0xEC
#  define MV_XS_info_pict_header_ADDR		0xF0
#  define MV_XS_info_userdata_pict_ADDR		0xF4
#  define MV_XS_info_slice_header_ADDR		0xF8
#  define MV_XS_info_pes_header_2_ADDR		0xFC
#  define MV_XS_info_pes_header_1_ADDR		0x100
#  define MV_XS_info_last_video_pts_ADDR		0x104
#  define MV_XS_info_last_video_dts_ADDR		0x108
#  define MV_XS_info_video_time_stamp_ADDR		0x10C
#  define MV_XS_info_video_stca_ADDR		0x110
#  define MV_XS_info_video_stcb_ADDR		0x114
#  define MV_XS_setup_video_time_stamp_ADDR		0x118
#  define MV_XS_setup_video_time_stamp_offset_ADDR		0x11C
#  define MV_XS_setup_system_format_ADDR		0x120
#  define MV_XS_setup_system_ADDR		0x124
#  define MV_XS_setup_video_stc_ADDR		0x128
#  define MV_XS_setup_video_stc_choice_ADDR		0x12C
#  define MV_XS_cmd_video_ADDR		0x130
#  define MV_XS_bitstr_vbv_delay_ADDR		0x134
#  define MV_XS_bitstr_vbv_buffer_size_ADDR		0x138
#  define MV_XS_bitstr_video_bitrate_ADDR		0x13C
#  define MV_XS_bitstr_seq_hor_size_ADDR		0x140
#  define MV_XS_bitstr_seq_ver_size_ADDR		0x144
#  define MV_XS_bitstr_centre_hor_offset_ADDR		0x148
#  define MV_XS_bitstr_centre_ver_offset_ADDR		0x14C
#  define MV_XS_bitstr_disp_hor_size_ADDR		0x150
#  define MV_XS_bitstr_disp_ver_size_ADDR		0x154
#  define MV_XS_bitstr_param_ADDR		0x158
#  define MV_XS_bitstr_temporal_reference_ADDR		0x15C
#  define MV_XS_cmd_video_reset_ADDR		0x160
#  define MV_XS_video_int_status_ADDR		0xFA0
#  define MV_XS_video_int_enable_ADDR		0xFA4
#  define MV_XS_video_int_clear_ADDR		0xFA8
#  define MV_XS_video_int_set_ADDR		0xFAC
#  define MV_XS_system_event_ADDR		0xFB0
#  define MV_XS_system_event_enable_ADDR		0xFB4
#  define MV_XS_system_event_clear_ADDR		0xFB8
#  define MV_XS_system_event_set_ADDR		0xFBC
#  define MV_XS_fbm_event_ADDR		0xFC0
#  define MV_XS_fbm_event_enable_ADDR		0xFC4
#  define MV_XS_fbm_event_clear_ADDR		0xFC8
#  define MV_XS_fbm_event_set_ADDR		0xFCC
#  define MV_XS_error_event_ADDR		0xFD0
#  define MV_XS_error_event_enable_ADDR		0xFD4
#  define MV_XS_error_event_clear_ADDR		0xFD8
#  define MV_XS_error_event_set_ADDR		0xFDC
#  define MV_XS_video_event_ADDR		0xFE0
#  define MV_XS_video_event_enable_ADDR		0xFE4
#  define MV_XS_video_event_clear_ADDR		0xFE8
#  define MV_XS_video_event_set_ADDR		0xFEC
#  define MV_XS_video_powerdown_ADDR		0xFF4
#  define MV_XS_video_module_id_ADDR		0xFFC
/*===========================================================================*/
/* Macros to enable memory mapped or IO mapped access                        */
/*===========================================================================*/
#ifndef MV_IO_MAPPED
          /************************************************
          *!---------------------------------------------!*
          *!                MEMORY MAPPED                !*
          *!---------------------------------------------!*
          ************************************************/
#  ifdef EMBEDDED
          /*---------------------------------------------!
          !                   EMBEDDED                   !
          !---------------------------------------------*/
#define MV_XS_READ_REG(reg) (MV_REG_PTR->reg)
#define MV_XS_WRITE_REG(reg,val) (MV_REG_PTR->reg = val)
#  else /* End #ifdef EMBEDDED */
          /*---------------------------------------------!
          !                 _REGISTER_LOG_               !
          !---------------------------------------------*/
#    ifdef _REGISTER_LOG_
extern MV_REG_TYPE MV_READ_REG(
        MV_REG_TYPE reg,
        char tab[256]
        );
extern void MV_WRITE_REG(
        MV_REG_TYPE *p_reg,
        MV_REG_TYPE value,
        char tab[256]
        );
#define MV_XS_READ_REG(reg) (MV_READ_REG(MV_REG_PTR->reg, #reg))
#define MV_XS_WRITE_REG(reg,val) (MV_WRITE_REG(&(MV_REG_PTR->reg), val, #reg))
#    else /* End #ifdef _REGISTER_LOG_ */
          /*--------------------------------------------------!
          !                    NO _REGISTER_LOG_              !
          !--------------------------------------------------*/
#define MV_XS_READ_REG(reg) (MV_REG_PTR->reg)
#define MV_XS_WRITE_REG(reg,val) (MV_REG_PTR->reg = val)
#    endif /* End #ifdef _REGISTER_LOG_ else ...*/
#  endif /* End #ifdef EMBEDDED else ..*/
#else
          /************************************************
          *!---------------------------------------------!*
          *!                 IO MAPPED                   !*
          *!---------------------------------------------!*
          ************************************************/

extern MV_REG_TYPE 
MV_READ_REG( unsigned short address );
extern void 
MV_WRITE_REG( unsigned short address, MV_REG_TYPE value );
#  define MV_XS_READ_REG(reg)		(MV_READ_REG( MV_XS_ ## reg ## _ADDR ))
#  define MV_XS_WRITE_REG(reg,val)		(MV_WRITE_REG( MV_XS_ ## reg ## _ADDR, val))
#endif

/*===========================================================================*/
/* Access macros used by the generated routines.                             */
/*===========================================================================*/

/* Macro to set a setting in a register with ReadWrite access */
#define MV_SET_RW_SETTING(reg,mask,start,value) \
		MV_XS_WRITE_REG( reg ,((unsigned long)(((unsigned long)MV_XS_READ_REG(reg) & ~((unsigned long)mask))|\
		(((value) << (start))&(unsigned long)(mask)))))

/* Macro to set the only (single) setting in a register with ReadWrite access */
#define MV_SET_RWS_SETTING(reg,mask,start,value) \
		(MV_XS_WRITE_REG( reg ,((unsigned long)((value) << (start)))));

/* Macro to set a setting in a register with WriteOnly access */
#define MV_SET_W_SETTING(reg,mask,start,value) \
		(MV_REG_COPY.reg = (unsigned long)(((unsigned long)MV_REG_COPY.reg & ~((unsigned long)mask))|\
		(((value) << (start))&(unsigned long)(mask))));\
		(MV_XS_WRITE_REG( reg , (MV_REG_COPY.reg)))

/* Macro to set the only (single) setting in a register with WriteOnly access */
#define MV_SET_WS_SETTING(reg,mask,start,value) \
		(MV_REG_COPY.reg = ((unsigned long)((value) << (start))));\
		(MV_XS_WRITE_REG( reg , (MV_REG_COPY.reg)))

/* Macro to set a setting in a register with WriteOnly access and */
/* with no copy of the register in memory.                        */
#define MV_SET_WN_SETTING(reg,mask,start,value) \
		(MV_XS_WRITE_REG( reg ,((unsigned long)((value) << (start)))));


/* Macro to set the only (single) setting in a register with WriteOnly */
/* access with no copy of the register in memory.                      */
#define MV_SET_WNS_SETTING(reg,mask,start,value) \
		(MV_XS_WRITE_REG( reg , ((unsigned long)((value) << (start)))))

/* Macro to get a setting from a register with ReadWrite access */
#define MV_GET_RW_SETTING(reg,mask,start) \
		(((unsigned long)MV_XS_READ_REG(reg) & ((unsigned long)mask)) >> (start))

/* Macro to 'get' a setting from a register with ReadOnly access */
#define MV_GET_R_SETTING(reg,mask,start) \
		(((unsigned long)MV_XS_READ_REG(reg) & ((unsigned long)mask)) >> (start))

/* Macro to get a setting from a register with ReadOnly access with */
/* automatic reset to 0 after a read.                               */
#define MV_GET_R0_SETTING(reg,mask,start)\
                  ((((unsigned long)(MV_REG_COPY.reg |= MV_XS_READ_REG(reg)) & ((unsigned long)mask)) | \
                  ((/*(unsigned long)*/ MV_REG_COPY.reg &= ((unsigned long)~mask)) & (unsigned long)mask)) >> (start))

/* Macro to 'get' a setting from a register with WriteOnly access */
#define MV_GET_W_SETTING(reg,mask,start) \
		(((unsigned long)MV_REG_COPY.reg & ((unsigned long)mask)) >> (start))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -