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

📄 mv_drv.h

📁 tuner扫描
💻 H
📖 第 1 页 / 共 5 页
字号:
/*==========================================================================*/
/*     (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_drv.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. 
 *******************************************************/

#ifndef INCLUDED_MV_DRIVER
#define INCLUDED_MV_DRIVER
#ifndef EMBEDDED
#include <stdio.h>
#endif

#include "standard.h"		/* Standard type definitions */
#include "mv_drvl.h"		/* Register Type definition */
#include "mv_xs.h"		/* Register Access Macros */
typedef unsigned long MV_STATUS;
typedef unsigned long MV_MASK;
typedef enum {
      MV_BIT_OFF = 0,
      MV_BIT_ON    } MV_BIT;
typedef enum {
      MV_ENABLE_OFF = 0,
      MV_ENABLE_ON    } MV_ENABLE;
typedef unsigned char MV_T1BITS;
typedef unsigned char MV_T2BITS;
typedef unsigned char MV_T3BITS;
typedef unsigned char MV_T4BITS;
typedef unsigned char MV_T5BITS;
typedef unsigned char MV_T6BITS;
typedef unsigned char MV_T7BITS;
typedef unsigned char MV_T8BITS;
typedef unsigned short MV_T9BITS;
typedef unsigned short MV_T10BITS;
typedef unsigned short MV_T11BITS;
typedef unsigned short MV_T12BITS;
typedef unsigned short MV_T13BITS;
typedef unsigned short MV_T14BITS;
typedef unsigned short MV_T15BITS;
typedef unsigned short MV_T16BITS;
typedef unsigned long MV_T18BITS;
typedef unsigned long MV_T20BITS;
typedef unsigned long MV_T21BITS;
typedef unsigned long MV_T22BITS;
typedef unsigned long MV_T24BITS;
typedef unsigned long MV_REG_SIZE;
typedef enum {
      MV_VIDEO_INT_STATUS_ALL_EVENTS = 262141,
      MV_VIDEO_INT_STATUS_STILL_FIFO_READ = 131072,
      MV_VIDEO_INT_STATUS_VIDEO_FIFO_PTR_UPDATED = 65536,
      MV_VIDEO_INT_STATUS_VIDEO_FIFO_UNDERFLOW = 32768,
      MV_VIDEO_INT_STATUS_VIDEO_FIFO_OVERFLOW = 16384,
      MV_VIDEO_INT_STATUS_VIDEO_FIFO_EMPTY = 8192,
      MV_VIDEO_INT_STATUS_VIDEO_FIFO_FULL = 4096,
      MV_VIDEO_INT_STATUS_NEW_VIDEO_PTS = 2048,
      MV_VIDEO_INT_STATUS_NEW_VIDEO_DTS = 1024,
      MV_VIDEO_INT_STATUS_NEW_VIDEO_PES = 512,
      MV_VIDEO_INT_STATUS_VIDEO_INSYNC = 256,
      MV_VIDEO_INT_STATUS_SYSTEM_EVENT = 128,
      MV_VIDEO_INT_STATUS_END_OF_PICTURE_DECODING = 64,
      MV_VIDEO_INT_STATUS_END_OF_PICTURE_HEADER = 32,
      MV_VIDEO_INT_STATUS_FBM_EVENT = 16,
      MV_VIDEO_INT_STATUS_ERROR_EVENT = 8,
      MV_VIDEO_INT_STATUS_VIDEO_EVENT = 4,
      MV_VIDEO_INT_STATUS_UNUSED = 2,
      MV_VIDEO_INT_STATUS_RESET_DONE = 1,
      MV_VIDEO_INT_STATUS_NO_EVENT = 0    } MV_VIDEO_INT_STATUS;
typedef enum {
      MV_SYSTEM_EVENT_ALL_EVENTS = 3,
      MV_SYSTEM_EVENT_NEED_VIDEO_TIME_STAMP = 2,
      MV_SYSTEM_EVENT_VIDEO_TIME_STAMP_EMULATION = 1,
      MV_SYSTEM_EVENT_NO_EVENT = 0    } MV_SYSTEM_EVENT;
typedef enum {
      MV_VIDEO_EVENT_ALL_EVENTS = 2047,
      MV_VIDEO_EVENT_END_OF_SEQUENCE = 1,
      MV_VIDEO_EVENT_PICTURE_USER_DATA_START_CODE = 2,
      MV_VIDEO_EVENT_PICTURE_EXTENSION_START_CODE = 4,
      MV_VIDEO_EVENT_PICTURE_START_CODE = 8,
      MV_VIDEO_EVENT_GOP_USER_DATA_START_CODE = 16,
      MV_VIDEO_EVENT_GOP_START_CODE = 32,
      MV_VIDEO_EVENT_SEQUENCE_USER_DATA_START_CODE = 64,
      MV_VIDEO_EVENT_SEQUENCE_EXTENSION_START_CODE = 128,
      MV_VIDEO_EVENT_SEQUENCE_HEADER_START_CODE = 256,
      MV_VIDEO_EVENT_PES_HEADER_START_CODE_1 = 512,
      MV_VIDEO_EVENT_PES_HEADER_START_CODE_2 = 1024,
      MV_VIDEO_EVENT_NO_EVENT = 0    } MV_VIDEO_EVENT;
typedef enum {
      MV_FBM_EVENT_ALL_EVENTS = 63,
      MV_FBM_EVENT_END_OF_PICT_DISPLAYING = 32,
      MV_FBM_EVENT_BRANCH = 16,
      MV_FBM_EVENT_ABORT_DECODING_FAILED = 8,
      MV_FBM_EVENT_ABORT_DECODING_COEF = 4,
      MV_FBM_EVENT_ABORT_DECODING_SLICE = 2,
      MV_FBM_EVENT_BUFFER_FULL = 1,
      MV_FBM_EVENT_NO_EVENTS = 0    } MV_FBM_EVENT;
typedef enum {
      MV_ERROR_EVENT_ALL_EVENTS = 524287,
      MV_ERROR_EVENT_PES_ERROR = 262144,
      MV_ERROR_EVENT_PROFILE_ERROR = 131072,
      MV_ERROR_EVENT_SEQUENCE_ERROR = 65536,
      MV_ERROR_EVENT_GOP_ERROR = 32768,
      MV_ERROR_EVENT_PICTURE_ERROR = 16384,
      MV_ERROR_EVENT_SLICE_ERROR = 8192,
      MV_ERROR_EVENT_HIGH_FLAGED_ERROR = 4096,
      MV_ERROR_EVENT_MEDIUM_FLAGED_ERROR = 2048,
      MV_ERROR_EVENT_LOW_FLAGED_ERROR = 1024,
      MV_ERROR_EVENT_VLC_COEF_ERROR = 512,
      MV_ERROR_EVENT_VLC_EOB_MISS_ERROR = 256,
      MV_ERROR_EVENT_VLC_MB_ERROR = 128,
      MV_ERROR_EVENT_MB_NUMB_SLICE_ERROR = 64,
      MV_ERROR_EVENT_MB_NUMB_ERROR = 32,
      MV_ERROR_EVENT_VECT_ERROR = 16,
      MV_ERROR_EVENT_EOP_MISS_ERROR = 8,
      MV_ERROR_EVENT_EARLY_EOP_ERROR = 4,
      MV_ERROR_EVENT_SHIFT_COEF_ERROR = 2,
      MV_ERROR_EVENT_SHIFT_MB_ERROR = 1,
      MV_ERROR_EVENT_NO_EVENTS = 0    } MV_ERROR_EVENT;
typedef enum {
      MV_DATA_FORMAT_PES = 0,
      MV_DATA_FORMAT_MPEG1,
      MV_DATA_FORMAT_ES    } MV_DATA_FORMAT;
typedef enum {
      MV_VIDEO_BUF_CTRL_DTS_LOCKED = 0,
      MV_VIDEO_BUF_CTRL_STOP,
      MV_VIDEO_BUF_CTRL_START,
      MV_VIDEO_BUF_CTRL_RESET    } MV_VIDEO_BUF_CTRL;
typedef enum {
      MV_PICTURE_STRUCTURE_TOP_FIELD = 1,
      MV_PICTURE_STRUCTURE_BOTTOM_FIELD,
      MV_PICTURE_STRUCTURE_FRAME_PICTURE    } MV_PICTURE_STRUCTURE;
typedef enum {
      MV_TAB_LABEL_ZERO = 0,
      MV_TAB_LABEL_ONE    } MV_TAB_LABEL;
typedef enum {
      MV_STORING_FORMAT_FRAME_ZONE = 0,
      MV_STORING_FORMAT_BUFFER_ZONE = 1    } MV_STORING_FORMAT;
typedef unsigned short MV_FBM_CMD_ALL;
typedef enum {
      MV_FBM_CMD_START_DECODING = 1,
      MV_FBM_CMD_START_DECODING_EOD = 2,
      MV_FBM_CMD_DO_NOT_DECODE = 4,
      MV_FBM_CMD_ABORT_DECODING = 8,
      MV_FBM_CMD_BEFREE_ALL_BUFFERS = 16,
      MV_FBM_CMD_BEFREE_ALL_BUFFERS_TAB0 = 96,
      MV_FBM_CMD_BEFREE_ALL_BUFFERS_TAB1 = 224,
      MV_FBM_CMD_BEFREE_TOP_BUFFERS_TAB0 = 32,
      MV_FBM_CMD_BEFREE_TOP_BUFFERS_TAB1 = 160,
      MV_FBM_CMD_BEFREE_BOTTOM_BUFFERS_TAB0 = 64,
      MV_FBM_CMD_BEFREE_BOTTOM_BUFFERS_TAB1 = 192,
      MV_FBM_CMD_CHECK = 256,
      MV_FBM_CMD_DO_NOT_CHECK = 512    } MV_FBM_CMD;
typedef enum {
      MV_TOP_FREE_NO = 0,
      MV_TOP_FREE_YES    } MV_TOP_FREE;
typedef enum {
      MV_BOTTOM_FREE_NO = 0,
      MV_BOTTOM_FREE_YES    } MV_BOTTOM_FREE;
typedef unsigned short MV_SEQ_HOR_SIZE;
typedef unsigned short MV_SEQ_VER_SIZE;
typedef unsigned short MV_CENTRE_HOR_OFFSET;
typedef unsigned short MV_CENTRE_VER_OFFSET;
typedef unsigned short MV_DISP_SIZE;
typedef enum {
      MV_PICTURE_CODING_TYPE_I = 1,
      MV_PICTURE_CODING_TYPE_P,
      MV_PICTURE_CODING_TYPE_B,
      MV_PICTURE_CODING_TYPE_D    } MV_PICTURE_CODING_TYPE;
typedef unsigned char MV_TEMPORAL_REFERENCE;
typedef enum {
      MV_FRAME_RATE_FORBIDDEN = 0,
      MV_FRAME_RATE_F23_97_HZ,
      MV_FRAME_RATE_F24_HZ,
      MV_FRAME_RATE_F25_HZ,
      MV_FRAME_RATE_F29_97_HZ,
      MV_FRAME_RATE_F30_HZ,
      MV_FRAME_RATE_F50_HZ,
      MV_FRAME_RATE_F59_94_HZ,
      MV_FRAME_RATE_F60_HZ    } MV_FRAME_RATE;
typedef unsigned char MV_PROFILE_LEVEL;
typedef unsigned char MV_ASPECT_RATIO;
typedef unsigned char MV_BUFFER_NUMBER;
typedef unsigned char MV_BUFFER_STATUS;
/*===========================================================================*/
/* Inline macros of read and write routines for the various settings.        */
/*===========================================================================*/
#define MV_drv_store_hrz_size_cur() \
(MV_T10BITS)( \
   MV_GET_RW_SETTING( \
		MV_STORE_HRZ_SIZE_CUR_REG, \
		MV_STORE_HRZ_SIZE_CUR_MASK, \
		MV_STORE_HRZ_SIZE_CUR_START) \
)

#define MV_drv_set_store_hrz_size_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_STORE_HRZ_SIZE_CUR_REG, \
		MV_STORE_HRZ_SIZE_CUR_MASK, \
		MV_STORE_HRZ_SIZE_CUR_START, \
		(MV_T10BITS)(x)); \
}

#define MV_drv_store_y_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_store_y_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_STORE_Y_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_store_y_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_STORE_Y_ODD_BASE_ADD_CUR_REG, \
		MV_STORE_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_STORE_Y_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_store_y_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_STORE_Y_ODD_BASE_ADD_CUR_REG, \
		MV_STORE_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_STORE_Y_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_store_c_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_STORE_C_EVEN_BASE_ADD_CUR_REG, \
		MV_STORE_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_STORE_C_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_store_c_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_STORE_C_EVEN_BASE_ADD_CUR_REG, \
		MV_STORE_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_STORE_C_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_store_c_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_STORE_C_ODD_BASE_ADD_CUR_REG, \
		MV_STORE_C_ODD_BASE_ADD_CUR_MASK, \
		MV_STORE_C_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_store_c_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_STORE_C_ODD_BASE_ADD_CUR_REG, \
		MV_STORE_C_ODD_BASE_ADD_CUR_MASK, \
		MV_STORE_C_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_use_storing_bottom_cur() \
(MV_BIT)( \
   MV_GET_RW_SETTING( \
		MV_USE_STORING_BOTTOM_CUR_REG, \
		MV_USE_STORING_BOTTOM_CUR_MASK, \
		MV_USE_STORING_BOTTOM_CUR_START) \
)

#define MV_drv_set_use_storing_bottom_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_USE_STORING_BOTTOM_CUR_REG, \
		MV_USE_STORING_BOTTOM_CUR_MASK, \
		MV_USE_STORING_BOTTOM_CUR_START, \
		(MV_BIT)(x)); \
}

#define MV_drv_use_storing_top_cur() \
(MV_BIT)( \
   MV_GET_RW_SETTING( \
		MV_USE_STORING_TOP_CUR_REG, \
		MV_USE_STORING_TOP_CUR_MASK, \
		MV_USE_STORING_TOP_CUR_START) \
)

#define MV_drv_set_use_storing_top_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_USE_STORING_TOP_CUR_REG, \
		MV_USE_STORING_TOP_CUR_MASK, \
		MV_USE_STORING_TOP_CUR_START, \
		(MV_BIT)(x)); \
}

#define MV_drv_dec_frame_check_cur() \
(MV_BIT)( \
   MV_GET_RW_SETTING( \
		MV_DEC_FRAME_CHECK_CUR_REG, \
		MV_DEC_FRAME_CHECK_CUR_MASK, \
		MV_DEC_FRAME_CHECK_CUR_START) \
)

#define MV_drv_set_dec_frame_check_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_DEC_FRAME_CHECK_CUR_REG, \
		MV_DEC_FRAME_CHECK_CUR_MASK, \
		MV_DEC_FRAME_CHECK_CUR_START, \
		(MV_BIT)(x)); \
}

#define MV_drv_dec_picture_structure_cur() \
(MV_PICTURE_STRUCTURE)( \
   MV_GET_RW_SETTING( \
		MV_DEC_PICTURE_STRUCTURE_CUR_REG, \
		MV_DEC_PICTURE_STRUCTURE_CUR_MASK, \
		MV_DEC_PICTURE_STRUCTURE_CUR_START) \
)

#define MV_drv_set_dec_picture_structure_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_DEC_PICTURE_STRUCTURE_CUR_REG, \
		MV_DEC_PICTURE_STRUCTURE_CUR_MASK, \
		MV_DEC_PICTURE_STRUCTURE_CUR_START, \
		(MV_PICTURE_STRUCTURE)(x)); \
}

#define MV_drv_dec_tab_label_cur() \
(MV_TAB_LABEL)( \
   MV_GET_RW_SETTING( \
		MV_DEC_TAB_LABEL_CUR_REG, \
		MV_DEC_TAB_LABEL_CUR_MASK, \
		MV_DEC_TAB_LABEL_CUR_START) \
)

#define MV_drv_set_dec_tab_label_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_DEC_TAB_LABEL_CUR_REG, \
		MV_DEC_TAB_LABEL_CUR_MASK, \
		MV_DEC_TAB_LABEL_CUR_START, \
		(MV_TAB_LABEL)(x)); \
}

#define MV_drv_dec_storing_format_cur() \
(MV_BIT)( \
   MV_GET_RW_SETTING( \
		MV_DEC_STORING_FORMAT_CUR_REG, \
		MV_DEC_STORING_FORMAT_CUR_MASK, \
		MV_DEC_STORING_FORMAT_CUR_START) \
)

#define MV_drv_set_dec_storing_format_cur( x ) \
{ \
   MV_SET_RW_SETTING( \
		MV_DEC_STORING_FORMAT_CUR_REG, \
		MV_DEC_STORING_FORMAT_CUR_MASK, \
		MV_DEC_STORING_FORMAT_CUR_START, \
		(MV_BIT)(x)); \
}

#define MV_drv_past_y_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_PAST_Y_ODD_BASE_ADD_CUR_REG, \
		MV_PAST_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_PAST_Y_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_past_y_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_PAST_Y_ODD_BASE_ADD_CUR_REG, \
		MV_PAST_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_PAST_Y_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_past_y_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_past_y_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_PAST_Y_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_past_c_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_PAST_C_ODD_BASE_ADD_CUR_REG, \
		MV_PAST_C_ODD_BASE_ADD_CUR_MASK, \
		MV_PAST_C_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_past_c_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_PAST_C_ODD_BASE_ADD_CUR_REG, \
		MV_PAST_C_ODD_BASE_ADD_CUR_MASK, \
		MV_PAST_C_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_past_c_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_PAST_C_EVEN_BASE_ADD_CUR_REG, \
		MV_PAST_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_PAST_C_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_past_c_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_PAST_C_EVEN_BASE_ADD_CUR_REG, \
		MV_PAST_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_PAST_C_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_future_y_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_REG, \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_future_y_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_REG, \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_FUTURE_Y_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_future_y_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_future_y_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_REG, \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_MASK, \
		MV_FUTURE_Y_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_future_c_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_REG, \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_MASK, \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_START) \
)

#define MV_drv_set_future_c_odd_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_REG, \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_MASK, \
		MV_FUTURE_C_ODD_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_future_c_even_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_REG, \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_START) \
)

#define MV_drv_set_future_c_even_base_add_cur( x ) \
{ \
   MV_SET_RWS_SETTING( \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_REG, \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_MASK, \
		MV_FUTURE_C_EVEN_BASE_ADD_CUR_START, \
		(MV_REG_SIZE)(x)); \
}

#define MV_drv_recovery_y_odd_base_add_cur() \
(MV_REG_SIZE)( \
   MV_GET_RW_SETTING( \
		MV_RECOVERY_Y_ODD_BASE_ADD_CUR_REG, \
		MV_RECOVERY_Y_ODD_BASE_ADD_CUR_MASK, \
		MV_RECOVERY_Y_ODD_BASE_ADD_CUR_START) \
)

⌨️ 快捷键说明

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