📄 o_volume_control_config.c
字号:
/****************************************************************************************************
* 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 + -