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

📄 o_volume_control_config.c

📁 Zoran V966 DVD 解码 Soc芯片的源程序
💻 C
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************************************
*  Copyright (c) 2005 ZORAN Corporation, All Rights Reserved
*  THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
*  File: o_volume_control_config.c
*
* Description:
* =========
****************************************************************************************************/
#include "Config.h"   	// Global Configuration - do not remove!
/****************************************************************************************************
*	DEFINITION: Private constants 
****************************************************************************************************/
#ifdef D_GINGER_I96
#ifdef DAC_INTERNAL_DDX
#ifdef D_SEPARATE_CHANNEL_VOLUME_CONTROL
// maximum -1.5dB output in software side
static CONST UINT8 aVolumeValuesMain[] =
{
    0xff, 0xa0, 0x9c, 0x98, 0x94, 0x90, 0x8c, 0x88, 0x84, 0x80, 0x7c, 0x78, 0x74, 0x70, 0x6c, 0x68, 
    0x64, 0x60, 0x5c, 0x58, 0x54, 0x50, 0x4c, 0x48, 0x44, 0x40, 0x3c, 0x3a, 0x38, 0x36, 0x34, 0x32, 
    0x30, 0x2e, 0x2c, 0x2a, 0x28, 0x26, 0x24, 0x22, 0x20, 0x1e, 0x1c, 0x1a, 0x18, 0x16, 0x14, 0x13, 
    0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03
};
#else//D_SEPARATE_CHANNEL_VOLUME_CONTROL
//Leon.He_0106_06: Support V9 internal DAC volume adjust and fix the problem failed to compile through in V9
//20㏒(V2/V1)dB
static CONST UINT8 aVolumeValuesMain[] =
{
	//0	  16     15      14      13	   12	     11	10	  9 	    8	      7	 6	   5	     4	       3	   2	     1
	//0xff, 0x60, 0x40, 0x30, 0x24, 0x1D, 0x18, 0x14, 0x11, 0x0D, 0x0C, 0x0A, 0x08, 0x06, 0x05,  0x02, 0x00
	0xff, 0x60, 0x46, 0x36, 0x30, 0x24, 0x1E, 0x1A, 0x18, 0x15, 0x13, 0x10, 0x0D, 0x0C, 0x0A,  0x08, 0x06 //change by torranceF
};
#endif//D_SEPARATE_CHANNEL_VOLUME_CONTROL
#else  //DAC_INTERNAL_DDX
//#error FATAL: DAC INTERNAL DDX Not Defined
static CONST UINT16 aVolumeValuesMain[] =
{
	//0	        1              2        3         4               5          6           7          8             9          10         11         12        13          14         15          16
	0x0000, 0x0800, 0x1000, 0x1800, 0x2000, 0x2800, 0x3000, 0x3800, 0x4000, 0x4800, 0x5000, 0x5800, 0x6000, 0x6800,  0x7000, 0x7800, 0x7fff
};

#endif //DAC_INTERNAL_DDX

#else //D_GINGER_I96
#ifdef D_SEPARATE_CHANNEL_VOLUME_CONTROL
// maximum -1.5dB output in software side
static CONST UINT8 aVolumeValuesMain[] =
{
    0xff, 0xa0, 0x9c, 0x98, 0x94, 0x90, 0x8c, 0x88, 0x84, 0x80, 0x7c, 0x78, 0x74, 0x70, 0x6c, 0x68, 
    0x64, 0x60, 0x5c, 0x58, 0x54, 0x50, 0x4c, 0x48, 0x44, 0x40, 0x3c, 0x3a, 0x38, 0x36, 0x34, 0x32, 
    0x30, 0x2e, 0x2c, 0x2a, 0x28, 0x26, 0x24, 0x22, 0x20, 0x1e, 0x1c, 0x1a, 0x18, 0x16, 0x14, 0x13, 
    0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03
};
#else //D_SEPARATE_CHANNEL_VOLUME_CONTROL
static CONST UINT16 aVolumeValuesMain[] =
{
	//0	        1              2        3         4               5          6           7          8             9          10         11         12        13          14         15          16
	0x0000, 0x0800, 0x1000, 0x1800, 0x2000, 0x2800, 0x3000, 0x3800, 0x4000, 0x4800, 0x5000, 0x5800, 0x6000, 0x6800,  0x7000, 0x7800, 0x7fff
};
#endif //D_SEPARATE_CHANNEL_VOLUME_CONTROL
#endif //D_GINGER_I96

#ifdef  D_SEPARATE_CHANNEL_VOLUME_CONTROL
#ifdef D_AMPLIFIER_ENABLED
static CONST UINT8 aVolumeValuesSeparate[] = { 
0x1e, 0x1c, 0x1a, 0x18, 0x16,  0x14, 0x12, 0x10, 0x0e, 0x0c, 0x0a, 0x08, 0x06, 0x04, 0x02, 0x00
};
#else
static CONST UINT8 aVolumeValuesSeparate[] = { 
0x84, 0x80, 0x7c, 0x78, 0x74, 0x70, 0x6c, 0x68, 0x64, 0x60, 0x5c, 0x58, 0x54, 0x50, 0x4c, 0x48
};
#endif  // D_AMPLIFIER_ENABLED
#endif // D_SEPARATE_CHANNEL_VOLUME_CONTROL


STATIC CONST MS_PARAM_HSLIDER oMainVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_MAIN - 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oMainVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X,
			AREA_VOLUME_ITEM_Y,
			AREA_VOLUME_ITEM_W,
			AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oMainVolumeSliderParams
    	},
    	S_M_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_MainVolumeSliderAction
};

#ifdef D_SEPARATE_CHANNEL_VOLUME_CONTROL
/***************************************************************************************
*	Descriptor 	: 	oLeftChannelVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
#ifdef D_LEFT_RIGHT_CHANNEL_VOLUME
STATIC CONST MS_PARAM_HSLIDER oLeftChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oLeftChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oLeftChannelVolumeSliderParams
    	},
    	S_L_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_LeftChannelVolumeSliderAction
};
/***************************************************************************************
*	Descriptor 	: 	oRightChannelSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oRightChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oRightChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	HSliderOperationOnVList,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oRightChannelVolumeSliderParams
    	},
    	S_R_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_RightChannelVolumeSliderAction
};
#endif // #ifdef D_LEFT_RIGHT_CHANNEL_VOLUME
#ifdef D_CENTER_CHANNEL_VOLUME
/***************************************************************************************
*	Descriptor 	: 	oCentreChannelVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oCentreChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oCentreChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	_CenterChannelSliderOperation,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oCentreChannelVolumeSliderParams
    	},
    	S_CENTER_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_CentreChannelVolumeSliderAction
};
#endif // D_CENTER_CHANNEL_VOLUME

#ifdef D_SURROUND_CHANNEL_VOLUME
/***************************************************************************************
*	Descriptor 	: 	oLeftSurroundChannelVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oLeftSurroundChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oLeftSurroundChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	_SurroundChannelSliderOperation,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oLeftSurroundChannelVolumeSliderParams
    	},
    	S_L_SUR_VOLUME,
    	S_NULL,
    	S_NULL,
    	VOLUME_HSLIDER_BAR_HEIGHT,
    	VOLUME_HSLIDER_BAR_WIDTH,
    	VOLUME_HTAB_HEIGHT,
    	VOLUME_HTAB_WIDTH,
   	HS_HIGHLIGHT_ON_OBJECT,
    	TRUE,	// bDisplayCurrentValue
    	TRUE,	// bDisplayMinAndMaxValues
    	_LeftSurroundChannelVolumeSliderAction
};
/***************************************************************************************
*	Descriptor 	: 	oRightSurroundChannelVolumeSliderDescriptor
*
*	Purpose	 	:	The Edge control Horizontal slider control descriptor.
****************************************************************************************/
STATIC CONST MS_PARAM_HSLIDER oRightSurroundChannelVolumeSliderParams =
{
	MIN_VOLUME_SLIDER,
	(NUM_SLIDER_STEPS_CHANNEL- 1),
	INIT_VOLUME_SLIDER,
	STEP_INDEX_VOLUME_SLIDER
};

STATIC CONST MS_DESCRIPTOR_HSLIDER_VLIST oRightSurroundChannelVolumeSliderDescriptor =
{
	{
    		sizeof(MSO_HSLIDER),
        	MS_NAV_NULL,
        	MS_ATTR_FOCUSABLE | MS_ATTR_OSD_LAYER_1,
        	{
			AREA_VOLUME_ITEM_X, AREA_VOLUME_ITEM_Y, AREA_VOLUME_ITEM_W, AREA_VOLUME_ITEM_H
        	},
        	_SurroundChannelSliderOperation,
        	HSliderFillOSDSegOnVList,
        	(UINT8*)&oRightSurroundChannelVolumeSliderParams

⌨️ 快捷键说明

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