📄 mv_drvl.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. */
/*==========================================================================*/
/********************************************************
* Driver local header file
* 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)
*
* Copyright Philips Export B.V.
*******************************************************/
#ifndef _MV_DRVL_INCLUDED_
#define _MV_DRVL_INCLUDED_
/*===========================================================================*/
/* Device Register Type */
/*===========================================================================*/
typedef volatile unsigned long MV_REG_TYPE;
/*===========================================================================*/
/* Structure of device register layout to use as overlay in memory */
/*===========================================================================*/
typedef struct MV_REG_STRUCT_TAG
{
MV_REG_TYPE dec_storing_hrz_size_cur;
MV_REG_TYPE dec_storing_y_odd_ptr_cur;
MV_REG_TYPE dec_storing_y_even_ptr_cur;
MV_REG_TYPE dec_storing_c_odd_ptr_cur;
MV_REG_TYPE dec_storing_c_even_ptr_cur;
MV_REG_TYPE dec_storing_hrz_size_nxt;
MV_REG_TYPE dec_storing_y_odd_ptr_nxt;
MV_REG_TYPE dec_storing_y_even_ptr_nxt;
MV_REG_TYPE dec_storing_c_odd_ptr_nxt;
MV_REG_TYPE dec_storing_c_even_ptr_nxt;
MV_REG_TYPE dec_use_storing_cur;
MV_REG_TYPE dec_past_y_odd_ptr_cur;
MV_REG_TYPE dec_past_y_even_ptr_cur;
MV_REG_TYPE dec_past_c_odd_ptr_cur;
MV_REG_TYPE dec_past_c_even_ptr_cur;
MV_REG_TYPE dec_future_y_odd_ptr_cur;
MV_REG_TYPE dec_future_y_even_ptr_cur;
MV_REG_TYPE dec_future_c_odd_ptr_cur;
MV_REG_TYPE dec_future_c_even_ptr_cur;
MV_REG_TYPE dec_recovery_y_odd_ptr_cur;
MV_REG_TYPE dec_recovery_y_even_ptr_cur;
MV_REG_TYPE dec_recovery_c_odd_ptr_cur;
MV_REG_TYPE dec_recovery_c_even_ptr_cur;
MV_REG_TYPE dec_use_storing_nxt;
MV_REG_TYPE dec_past_y_odd_ptr_nxt;
MV_REG_TYPE dec_past_c_odd_ptr_nxt;
MV_REG_TYPE dec_future_y_odd_ptr_nxt;
MV_REG_TYPE dec_future_c_odd_ptr_nxt;
MV_REG_TYPE dec_recovery_y_odd_ptr_nxt;
MV_REG_TYPE dec_recovery_c_odd_ptr_nxt;
MV_REG_TYPE dec_past_y_even_ptr_nxt;
MV_REG_TYPE dec_past_c_even_ptr_nxt;
MV_REG_TYPE dec_future_y_even_ptr_nxt;
MV_REG_TYPE dec_future_c_even_ptr_nxt;
MV_REG_TYPE dec_recovery_y_even_ptr_nxt;
MV_REG_TYPE dec_recovery_c_even_ptr_nxt;
MV_REG_TYPE video_fifo_start;
MV_REG_TYPE video_fifo_size;
MV_REG_TYPE video_fifo_under;
MV_REG_TYPE video_fifo_over;
MV_REG_TYPE cmd_video_fifo;
MV_REG_TYPE video_fifo_nxt_value;
MV_REG_TYPE video_fifo_rdpt_cur;
MV_REG_TYPE video_fifo_bfmu_cur;
MV_REG_TYPE video_fifo_bfmo_cur;
MV_REG_TYPE still_fifo_start;
MV_REG_TYPE still_fifo_size;
MV_REG_TYPE setup_video_fifo;
MV_REG_TYPE dec_storing_ctx_cur;
MV_REG_TYPE dec_storing_ctx_nxt;
MV_REG_TYPE disp_ctx_cur;
MV_REG_TYPE disp_ctx_nxt;
MV_REG_TYPE info_lines_status;
MV_REG_TYPE setup_buffer_number;
MV_REG_TYPE setup_error_concealment;
MV_REG_TYPE cmd_fbm;
MV_REG_TYPE info_seq_header;
MV_REG_TYPE info_userdata_seq;
MV_REG_TYPE info_gop_header;
MV_REG_TYPE info_userdata_gop;
MV_REG_TYPE info_pict_header;
MV_REG_TYPE info_userdata_pict;
MV_REG_TYPE info_slice_header;
MV_REG_TYPE info_pes_header_2;
MV_REG_TYPE info_pes_header_1;
MV_REG_TYPE info_last_video_pts;
MV_REG_TYPE info_last_video_dts;
MV_REG_TYPE info_video_time_stamp;
MV_REG_TYPE info_video_stca;
MV_REG_TYPE info_video_stcb;
MV_REG_TYPE setup_video_time_stamp;
MV_REG_TYPE setup_video_time_stamp_offset;
MV_REG_TYPE setup_system_format;
MV_REG_TYPE setup_system;
MV_REG_TYPE setup_video_stc;
MV_REG_TYPE setup_video_stc_choice;
MV_REG_TYPE cmd_video;
MV_REG_TYPE bitstr_vbv_delay;
MV_REG_TYPE bitstr_vbv_buffer_size;
MV_REG_TYPE bitstr_video_bitrate;
MV_REG_TYPE bitstr_seq_hor_size;
MV_REG_TYPE bitstr_seq_ver_size;
MV_REG_TYPE bitstr_centre_hor_offset;
MV_REG_TYPE bitstr_centre_ver_offset;
MV_REG_TYPE bitstr_disp_hor_size;
MV_REG_TYPE bitstr_disp_ver_size;
MV_REG_TYPE bitstr_param;
MV_REG_TYPE bitstr_temporal_reference;
MV_REG_TYPE cmd_video_reset;
MV_REG_TYPE hole0[911];
MV_REG_TYPE video_int_status;
MV_REG_TYPE video_int_enable;
MV_REG_TYPE video_int_clear;
MV_REG_TYPE video_int_set;
MV_REG_TYPE system_event;
MV_REG_TYPE system_event_enable;
MV_REG_TYPE system_event_clear;
MV_REG_TYPE system_event_set;
MV_REG_TYPE fbm_event;
MV_REG_TYPE fbm_event_enable;
MV_REG_TYPE fbm_event_clear;
MV_REG_TYPE fbm_event_set;
MV_REG_TYPE error_event;
MV_REG_TYPE error_event_enable;
MV_REG_TYPE error_event_clear;
MV_REG_TYPE error_event_set;
MV_REG_TYPE video_event;
MV_REG_TYPE video_event_enable;
MV_REG_TYPE video_event_clear;
MV_REG_TYPE video_event_set;
MV_REG_TYPE hole1[1];
MV_REG_TYPE video_powerdown;
MV_REG_TYPE hole2[1];
MV_REG_TYPE video_module_id;
} MV_REG_STRUCT;
/*===========================================================================*/
/* Pointer to structure overlayed over memory mapped device */
/*===========================================================================*/
#ifndef MV_IO_MAPPED
# ifdef EMBEDDED
extern volatile MV_REG_STRUCT *MV_REG_PTR;
# else
volatile MV_REG_STRUCT *MV_REG_PTR;
# ifdef _REGISTER_LOG_
extern char GV_reg_log;
extern FILE *GV_reg_log_file_ptr;
# endif /* _REGISTER_LOG_ */
# endif /* EMBEDDED */
#endif /*MV_IO_MAPPED*/
/*===========================================================================*/
/* Structure to hold copy of write only registers */
/*===========================================================================*/
typedef struct MV_COPY_STRUCT_TAG
{
MV_REG_TYPE cmd_fbm;
} MV_COPY_STRUCT;
/*===========================================================================*/
/* Structure to hold copies of write only settings. */
/*===========================================================================*/
extern MV_COPY_STRUCT MV_REG_COPY;
/* Setting store_hrz_size_cur */
#define MV_STORE_HRZ_SIZE_CUR_REG dec_storing_hrz_size_cur
#define MV_STORE_HRZ_SIZE_CUR_START 0
#define MV_STORE_HRZ_SIZE_CUR_MASK 0x3FF
/* Setting store_y_even_base_add_cur */
#define MV_STORE_Y_EVEN_BASE_ADD_CUR_REG dec_storing_y_even_ptr_cur
#define MV_STORE_Y_EVEN_BASE_ADD_CUR_START 0
#define MV_STORE_Y_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting store_y_odd_base_add_cur */
#define MV_STORE_Y_ODD_BASE_ADD_CUR_REG dec_storing_y_odd_ptr_cur
#define MV_STORE_Y_ODD_BASE_ADD_CUR_START 0
#define MV_STORE_Y_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting store_c_even_base_add_cur */
#define MV_STORE_C_EVEN_BASE_ADD_CUR_REG dec_storing_c_even_ptr_cur
#define MV_STORE_C_EVEN_BASE_ADD_CUR_START 0
#define MV_STORE_C_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting store_c_odd_base_add_cur */
#define MV_STORE_C_ODD_BASE_ADD_CUR_REG dec_storing_c_odd_ptr_cur
#define MV_STORE_C_ODD_BASE_ADD_CUR_START 0
#define MV_STORE_C_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting use_storing_bottom_cur */
#define MV_USE_STORING_BOTTOM_CUR_REG dec_use_storing_cur
#define MV_USE_STORING_BOTTOM_CUR_START 1
#define MV_USE_STORING_BOTTOM_CUR_MASK 0x2
/* Setting use_storing_top_cur */
#define MV_USE_STORING_TOP_CUR_REG dec_use_storing_cur
#define MV_USE_STORING_TOP_CUR_START 0
#define MV_USE_STORING_TOP_CUR_MASK 0x1
/* Setting dec_frame_check_cur */
#define MV_DEC_FRAME_CHECK_CUR_REG dec_storing_ctx_cur
#define MV_DEC_FRAME_CHECK_CUR_START 4
#define MV_DEC_FRAME_CHECK_CUR_MASK 0x10
/* Setting dec_picture_structure_cur */
#define MV_DEC_PICTURE_STRUCTURE_CUR_REG dec_storing_ctx_cur
#define MV_DEC_PICTURE_STRUCTURE_CUR_START 2
#define MV_DEC_PICTURE_STRUCTURE_CUR_MASK 0xC
/* Setting dec_tab_label_cur */
#define MV_DEC_TAB_LABEL_CUR_REG dec_storing_ctx_cur
#define MV_DEC_TAB_LABEL_CUR_START 1
#define MV_DEC_TAB_LABEL_CUR_MASK 0x2
/* Setting dec_storing_format_cur */
#define MV_DEC_STORING_FORMAT_CUR_REG dec_storing_ctx_cur
#define MV_DEC_STORING_FORMAT_CUR_START 0
#define MV_DEC_STORING_FORMAT_CUR_MASK 0x1
/* Setting past_y_odd_base_add_cur */
#define MV_PAST_Y_ODD_BASE_ADD_CUR_REG dec_past_y_odd_ptr_cur
#define MV_PAST_Y_ODD_BASE_ADD_CUR_START 0
#define MV_PAST_Y_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting past_y_even_base_add_cur */
#define MV_PAST_Y_EVEN_BASE_ADD_CUR_REG dec_past_y_even_ptr_cur
#define MV_PAST_Y_EVEN_BASE_ADD_CUR_START 0
#define MV_PAST_Y_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting past_c_odd_base_add_cur */
#define MV_PAST_C_ODD_BASE_ADD_CUR_REG dec_past_c_odd_ptr_cur
#define MV_PAST_C_ODD_BASE_ADD_CUR_START 0
#define MV_PAST_C_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting past_c_even_base_add_cur */
#define MV_PAST_C_EVEN_BASE_ADD_CUR_REG dec_past_c_even_ptr_cur
#define MV_PAST_C_EVEN_BASE_ADD_CUR_START 0
#define MV_PAST_C_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting future_y_odd_base_add_cur */
#define MV_FUTURE_Y_ODD_BASE_ADD_CUR_REG dec_future_y_odd_ptr_cur
#define MV_FUTURE_Y_ODD_BASE_ADD_CUR_START 0
#define MV_FUTURE_Y_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting future_y_even_base_add_cur */
#define MV_FUTURE_Y_EVEN_BASE_ADD_CUR_REG dec_future_y_even_ptr_cur
#define MV_FUTURE_Y_EVEN_BASE_ADD_CUR_START 0
#define MV_FUTURE_Y_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting future_c_odd_base_add_cur */
#define MV_FUTURE_C_ODD_BASE_ADD_CUR_REG dec_future_c_odd_ptr_cur
#define MV_FUTURE_C_ODD_BASE_ADD_CUR_START 0
#define MV_FUTURE_C_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting future_c_even_base_add_cur */
#define MV_FUTURE_C_EVEN_BASE_ADD_CUR_REG dec_future_c_even_ptr_cur
#define MV_FUTURE_C_EVEN_BASE_ADD_CUR_START 0
#define MV_FUTURE_C_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting recovery_y_odd_base_add_cur */
#define MV_RECOVERY_Y_ODD_BASE_ADD_CUR_REG dec_recovery_y_odd_ptr_cur
#define MV_RECOVERY_Y_ODD_BASE_ADD_CUR_START 0
#define MV_RECOVERY_Y_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting recovery_y_even_base_add_cur */
#define MV_RECOVERY_Y_EVEN_BASE_ADD_CUR_REG dec_recovery_y_even_ptr_cur
#define MV_RECOVERY_Y_EVEN_BASE_ADD_CUR_START 0
#define MV_RECOVERY_Y_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting recovery_c_odd_base_add_cur */
#define MV_RECOVERY_C_ODD_BASE_ADD_CUR_REG dec_recovery_c_odd_ptr_cur
#define MV_RECOVERY_C_ODD_BASE_ADD_CUR_START 0
#define MV_RECOVERY_C_ODD_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting recovery_c_even_base_add_cur */
#define MV_RECOVERY_C_EVEN_BASE_ADD_CUR_REG dec_recovery_c_even_ptr_cur
#define MV_RECOVERY_C_EVEN_BASE_ADD_CUR_START 0
#define MV_RECOVERY_C_EVEN_BASE_ADD_CUR_MASK 0xFFFFFFFF
/* Setting store_hrz_size_nxt */
#define MV_STORE_HRZ_SIZE_NXT_REG dec_storing_hrz_size_nxt
#define MV_STORE_HRZ_SIZE_NXT_START 0
#define MV_STORE_HRZ_SIZE_NXT_MASK 0x3FF
/* Setting store_y_even_base_add_nxt */
#define MV_STORE_Y_EVEN_BASE_ADD_NXT_REG dec_storing_y_even_ptr_nxt
#define MV_STORE_Y_EVEN_BASE_ADD_NXT_START 0
#define MV_STORE_Y_EVEN_BASE_ADD_NXT_MASK 0xFFFFFFFF
/* Setting store_y_odd_base_add_nxt */
#define MV_STORE_Y_ODD_BASE_ADD_NXT_REG dec_storing_y_odd_ptr_nxt
#define MV_STORE_Y_ODD_BASE_ADD_NXT_START 0
#define MV_STORE_Y_ODD_BASE_ADD_NXT_MASK 0xFFFFFFFF
/* Setting store_c_even_base_add_nxt */
#define MV_STORE_C_EVEN_BASE_ADD_NXT_REG dec_storing_c_even_ptr_nxt
#define MV_STORE_C_EVEN_BASE_ADD_NXT_START 0
#define MV_STORE_C_EVEN_BASE_ADD_NXT_MASK 0xFFFFFFFF
/* Setting store_c_odd_base_add_nxt */
#define MV_STORE_C_ODD_BASE_ADD_NXT_REG dec_storing_c_odd_ptr_nxt
#define MV_STORE_C_ODD_BASE_ADD_NXT_START 0
#define MV_STORE_C_ODD_BASE_ADD_NXT_MASK 0xFFFFFFFF
/* Setting use_storing_bottom_nxt */
#define MV_USE_STORING_BOTTOM_NXT_REG dec_use_storing_nxt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -