summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--Android.mk14
-rw-r--r--screen_source/Android.mk31
-rw-r--r--screen_source/aml_screen.cpp296
-rw-r--r--screen_source/v4l2_vdin.cpp676
-rw-r--r--screen_source/v4l2_vdin.h144
-rw-r--r--tv_callback.h18
-rw-r--r--tv_input.cpp263
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h98
-rw-r--r--tvapi/android/include/ITvClient.h56
-rw-r--r--tvapi/android/include/ITvService.h66
-rw-r--r--tvapi/android/include/Tv.h158
-rw-r--r--tvapi/android/include/tvcmd.h1212
-rw-r--r--tvapi/android/jni/Android.mk135
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp18
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/jni/com_droidlogic_app_tv_TvControlManager.cpp (renamed from tvapi/android/jni/android_amlogic_tv.cpp)929
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp292
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp116
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp100
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tv/Android.mk23
-rw-r--r--tvapi/android/tv/CTv.cpp104
-rw-r--r--tvapi/android/tv/CTv.h54
-rw-r--r--tvapi/android/tvserver/Android.mk164
-rw-r--r--tvapi/android/tvserver/TvService.cpp8911
-rw-r--r--tvapi/android/tvserver/TvService.h170
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rw-r--r--tvapi/android/tvserver/tv_callback.h18
-rw-r--r--[-rwxr-xr-x]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/build/include/xxxconfig.h1
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk12
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.cpp126
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.h31
-rw-r--r--tvapi/libtv/audio/CTvAudio.cpp30
-rw-r--r--tvapi/libtv/audio/CTvAudio.h76
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2073
-rw-r--r--tvapi/libtv/audio/audio_alsa.h257
-rw-r--r--tvapi/libtv/audio/audio_android.cpp1035
-rw-r--r--tvapi/libtv/audio/audio_android.h78
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp591
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h65
-rw-r--r--tvapi/libtv/audio/audio_api.cpp2470
-rw-r--r--tvapi/libtv/audio/audio_api.h323
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp356
-rw-r--r--tvapi/libtv/audio/audio_effect.h58
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h308
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h316
-rw-r--r--tvapi/libtv/include/ve.h461
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp425
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.cpp150
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.h41
-rw-r--r--tvapi/libtv/tv/CAv.cpp116
-rw-r--r--tvapi/libtv/tv/CAv.h24
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp443
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h25
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp198
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h19
-rw-r--r--tvapi/libtv/tv/CTv.cpp13003
-rw-r--r--tvapi/libtv/tv/CTv.h1453
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h166
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp24
-rw-r--r--tvapi/libtv/tv/CTvEv.h12
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h92
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h42
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp335
-rw-r--r--tvapi/libtv/tv/CTvScanner.h26
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1279
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp361
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h484
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp6
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp4
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h282
-rw-r--r--tvapi/libtv/tv/ScreenCatch.cpp379
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf58
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp106
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h40
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp694
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h574
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp25
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h188
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp86
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h194
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp483
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h170
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h60
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1806
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1066
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h84
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp38
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp478
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.h73
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp203
-rw-r--r--tvapi/libtv/tvin/CTvin.h191
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h100
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp403
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h152
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h52
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h74
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4658
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.h30
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h782
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp10
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2726
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.h64
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp2575
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h239
-rw-r--r--tvapi/libtv/tvutils/CCondition.h2
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp65
-rw-r--r--tvapi/libtv/tvutils/CFile.h3
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp2
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp31
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h3
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h96
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp18
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp8
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h12
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp2
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp25
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h4
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp66
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h70
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3931
-rw-r--r--tvapi/libtv/tvutils/tvutils.h222
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp2
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3509
-rw-r--r--tvapi/libtv/vpp/CPQdb.h340
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp5602
-rw-r--r--tvapi/libtv/vpp/CVpp.h230
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp2
-rw-r--r--tvapi/tvtests/comm_test.cpp4
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
151 files changed, 45277 insertions, 47437 deletions
diff --git a/tvapi/libtv/tvsetting/audio_cfg.cpp b/tvapi/libtv/tvsetting/audio_cfg.cpp
index 5607561..f19ff35 100644
--- a/tvapi/libtv/tvsetting/audio_cfg.cpp
+++ b/tvapi/libtv/tvsetting/audio_cfg.cpp
@@ -1,1853 +1,722 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <android/log.h>
-#include <cutils/properties.h>
-
-#include "../tvsetting/CTvSetting.h"
-#include "../tvconfig/tvconfig.h"
-#include "audio_cfg.h"
-
-#define LOG_TAG "audio_cfg"
-#include "CTvLog.h"
-
-#define CS_AUDIO_AMP_MASTER_NOLINE_SWITCH_CFG_NAME "audio.amp.master.noline.switch"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_CNT_CFG_NAME "audio.amp.master.noline.point.cnt"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_IND_BUF_CFG_NAME "audio.amp.master.noline.point.ind.buf"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_DEF_BUF_CFG_NAME "audio.amp.master.noline.point.data.defbuf"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_IND_DEF_BUF_CFG_NAME "audio.amp.master.noline.point.ind.defbuf"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_TV_BUF_CFG_NAME "audio.amp.master.noline.point.data.tv"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_AV_BUF_CFG_NAME "audio.amp.master.noline.point.data.av"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_COMP_BUF_CFG_NAME "audio.amp.master.noline.point.data.comp"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_HDMI_BUF_CFG_NAME "audio.amp.master.noline.point.data.hdmi"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_VGA_BUF_CFG_NAME "audio.amp.master.noline.point.data.vga"
-#define CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_MPEG_BUF_CFG_NAME "audio.amp.master.noline.point.data.mpeg"
-
-#define CS_AUDIO_AMP_SUPPERBASS_NOLINE_SWITCH_CFG_NAME "audio.amp.supperbass.noline.switch"
-#define CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_CNT_CFG_NAME "audio.amp.supperbass.noline.point.cnt"
-#define CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_IND_BUF_CFG_NAME "audio.amp.supperbass.noline.point.ind.buf"
-#define CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_DATA_DEF_BUF_CFG_NAME "audio.amp.supperbass.noline.point.data.defbuf"
-#define CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_IND_DEF_BUF_CFG_NAME "audio.amp.supperbass.noline.point.ind.defbuf"
-
-#define CS_AUDIO_AMP_BALANCE_EXCHG_CFG_NAME "audio.amp.balance.exchg"
-
-#define CS_EQ_MOUDLE_DISABLE_CFG_NAME "audio.eq.module.disable"
-#define CS_EQ_USING_ANDROID_CFG_NAME "audio.eq.using.android"
-#define CS_EQ_PRESETBUF_CFG_NAME "audio.eq.presetbuf"
-#define CS_EQ_GAIN_RANGE_CFG_NAME "audio.eq.gain.range"
-#define CS_EQ_UI_GAIN_RANGE_CFG_NAME "audio.eq.uigain.range"
-#define CS_EQ_AMP_MASTER_GAIN_CFG_NAME "audio.eq.ampmaster.gain"
-#define CS_EQ_AMP_SUPPERBASS_GAIN_CFG_NAME "audio.eq.ampsupperbass.gain"
-
-#define CS_AUDIO_AMP_MAINVOL_TV_LUTBUF_CFG_NAME "audio.amp.mainvol.tv.lutbuf"
-#define CS_AUDIO_AMP_MAINVOL_AV_LUTBUF_CFG_NAME "audio.amp.mainvol.av.lutbuf"
-#define CS_AUDIO_AMP_MAINVOL_COMP_LUTBUF_CFG_NAME "audio.amp.mainvol.comp.lutbuf"
-#define CS_AUDIO_AMP_MAINVOL_HDMI_LUTBUF_CFG_NAME "audio.amp.mainvol.hdmi.lutbuf"
-#define CS_AUDIO_AMP_MAINVOL_VGA_LUTBUF_CFG_NAME "audio.amp.mainvol.vga.lutbuf"
-#define CS_AUDIO_AMP_MAINVOL_MPEG_LUTBUF_CFG_NAME "audio.amp.mainvol.mpeg.lutbuf"
-
-#define CS_AUDIO_AMP_SUPPERBASSVOL_TV_LUTBUF_CFG_NAME "audio.amp.supbassvol.tv.lutbuf"
-#define CS_AUDIO_AMP_SUPPERBASSVOL_AV_LUTBUF_CFG_NAME "audio.amp.supbassvol.av.lutbuf"
-#define CS_AUDIO_AMP_SUPPERBASSVOL_COMP_LUTBUF_CFG_NAME "audio.amp.supbassvol.comp.lutbuf"
-#define CS_AUDIO_AMP_SUPPERBASSVOL_HDMI_LUTBUF_CFG_NAME "audio.amp.supbassvol.hdmi.lutbuf"
-#define CS_AUDIO_AMP_SUPPERBASSVOL_VGA_LUTBUF_CFG_NAME "audio.amp.supbassvol.vga.lutbuf"
-#define CS_AUDIO_AMP_SUPPERBASSVOL_MPEG_LUTBUF_CFG_NAME "audio.amp.supbassvol.mpeg.lutbuf"
-
-#define CS_SRS_MOUDLE_DISABLE_CFG_NAME "audio.srs.module.disable"
-#define CS_SRS_SOURROUND_DISABLE_CFG_NAME "audio.srs.sourround.disable"
-#define CS_SRS_TRUBASS_DISABLE_CFG_NAME "audio.srs.trubass.disable"
-#define CS_SRS_DIALOGCLARITY_DISABLE_CFG_NAME "audio.srs.dialogclarity.disable"
-#define CS_SRS_SOURROUND_GAIN_CFG_NAME "audio.srs.sourround.gain"
-#define CS_SRS_SOURROUND_AMP_MASTER_GAIN_CFG_NAME "audio.srs.sourround.ampmaster.gain"
-#define CS_SRS_SOURROUND_AMP_SUPPERBASS_GAIN_CFG_NAME "audio.srs.sourround.ampsupperbass.gain"
-#define CS_SRS_TRUBASS_ONLY_GAIN_CFG_NAME "audio.srs.trubass.only.gain"
-#define CS_SRS_TRUBASS_ONLY_AMP_MASTER_GAIN_CFG_NAME "audio.srs.trubass.only.ampmaster.gain"
-#define CS_SRS_TRUBASS_ONLY_AMP_SUPPERBASS_GAIN_CFG_NAME "audio.srs.trubass.only.ampsupperbass.gain"
-#define CS_SRS_DIALOGCLARITY_ONLY_GAIN_CFG_NAME "audio.srs.dialogclarity.only.gain"
-#define CS_SRS_DIALOGCLARITY_ONLY_AMP_MASTER_GAIN_CFG_NAME "audio.srs.dialogclarity.only.ampmaster.gain"
-#define CS_SRS_DIALOGCLARITY_ONLY_AMP_SUPPERBASS_GAIN_CFG_NAME "audio.srs.dialogclarity.only.ampsupperbass.gain"
-#define CS_SRS_DIALOGCLARITY_ONLY_DEFINITION_GAIN_CFG_NAME "audio.srs.dialogclarity.only.definition.gain"
-#define CS_SRS_TRUBASS_DIALOGCLARITY_TRUBASS_GAIN_CFG_NAME "audio.srs.turbass.dialogclarity.trubass.gain"
-#define CS_SRS_TRUBASS_DIALOGCLARITY_DIALOGCLARITY_GAIN_CFG_NAME "audio.srs.turbass.dialogclarity.dialogclarity.gain"
-#define CS_SRS_TRUBASS_DIALOGCLARITY_DEFINITION_GAIN_CFG_NAME "audio.srs.turbass.dialogclarity.definition.gain"
-#define CS_SRS_TRUBASS_DIALOGCLARITY_AMP_MASTER_GAIN_CFG_NAME "audio.srs.turbass.dialogclarity.ampmaster.gain"
-#define CS_SRS_TRUBASS_DIALOGCLARITY_AMP_SUPPERBASS_GAIN_CFG_NAME "audio.srs.turbass.dialogclarity.ampsupperbass.gain"
-#define CS_SRS_SUPPERBASS_ON_TRUBASS_SPEAKER_SIZE_CFG_NAME "audio.srs.supperbasson.turbass.speakersize"
-#define CS_SRS_SUPPERBASS_OFF_TRUBASS_SPEAKER_SIZE_CFG_NAME "audio.srs.supperbassoff.turbass.speakersize"
-
-#define CS_AUDIO_DUMP_DATA_ENABLE_CFG_NAME "audio.dump.data.en"
-#define CS_KEY_MUTE_CFG_NAME "audio.mute.keymute"
-#define CS_AVOUT_INIT_MUTE_CFG_NAME "audio.avout.init.mute"
-#define CS_SUPPERBASS_MODULE_DISABLE_CFG_NAME "audio.supperbass.module.disable"
-#define CS_SUPPERBASS_SWITCH_DISABLE_CFG_NAME "audio.supperbass.switch.disable"
-#define CS_DVI_SUPPORT_ENABLE_CFG_NAME "audio.dvi.support.enable"
-#define CS_SRC_INPUT_TV_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.tv.vol"
-#define CS_SRC_INPUT_AV_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.av.vol"
-#define CS_SRC_INPUT_COMP_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.comp.vol"
-#define CS_SRC_INPUT_HDMI_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.hdmi.vol"
-#define CS_SRC_INPUT_VGA_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.vga.vol"
-#define CS_SRC_INPUT_MPEG_LINEIN_VOL_CFG_NAME "audio.srcinput.linein.mpeg.vol"
-#define CS_SRC_INPUT_TV_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.tv.vol"
-#define CS_SRC_INPUT_AV_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.av.vol"
-#define CS_SRC_INPUT_COMP_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.comp.vol"
-#define CS_SRC_INPUT_HDMI_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.hdmi.vol"
-#define CS_SRC_INPUT_VGA_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.vga.vol"
-#define CS_SRC_INPUT_MPEG_LINEOUT_VOL_CFG_NAME "audio.srcinput.lineout.mpeg.vol"
-#define CS_SRC_INPUT_MPEG_LINEOUT_VOL_CFG_NAME_OLD "audio.srcinput.lineout.vol"
-
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_TV_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.tv"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_AV_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.av"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_COMP_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.comp"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_HDMI_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.hdmi"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_VGA_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.vga"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_MPEG_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.mpeg"
-#define CS_AMP_MAINVOL_LUTBUF_COMPENSATION_DTV_CFG_NAME "audio.amp.mainvol.lutbuf.compensation.dtv"
-
-#define CS_AUDIO_NOISE_GATE_ENABLE_CFG_NAME "audio.noise.gate.enable"
-#define CS_AUDIO_NOISE_GATE_THRESHOLD_CFG_NAME "audio.noise.gate.threshold"
-#define CS_AUDIO_NOISE_GATE_UPPER_BOUND_CFG_NAME "audio.noise.gate.upper.bound"
-
-#define CS_DISABLE_RESET_SYSTEM_FRAMESIZE_CFG_NAME "audio.reset.system.framesize.disable"
-#define CS_AUDIO_SYSTEM_FRAMESIZE_CFG_NAME "audio.reset.system.framesize"
-
-#define CS_AUDIO_ARCHITECTURE_TYPE_CFG_NAME "audio.architecture.type"
-#define CS_AUDIO_RESAMPLE_TYPE_CFG_NAME "audio.resample.type"
-
-
-#define CC_MAX_SUP_LUT_CFG_INDEX (32)
-
-static int gMasterNoLinePointsIndexBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gMasterNoLinePointsDefDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gMasterNoLinePointsDefIndexBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-
-static int gSupperBassNoLinePointsIndexBuffer[CC_NO_LINE_POINTS_MAX_CNT] =
-{ -1 };
-static int gSupperBassNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gSupperBassNoLinePointsDefDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = {
- -1
-};
-static int gSupperBassNoLinePointsDefIndexBuffer[CC_NO_LINE_POINTS_MAX_CNT] = {
- -1
-};
-
-static int gTVMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gAVMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gCOMPMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gHDMIMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gVGAMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gMPEGMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = { -1 };
-static int gHDMI4K2KMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = {
- -1
-};
-static int gUSB4K2KMasterNoLinePointsDataBuffer[CC_NO_LINE_POINTS_MAX_CNT] = {
- -1
-};
-
-static int mTVMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mAVMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mCOMPMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mHDMIMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mVGAMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mMPEGMainVolumeDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-
-static int mTVSupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mAVSupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mCOMPSupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mHDMISupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mVGASupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-static int mMPEGSupperBassDigitLutBuf_XX[CC_LUT_BUF_SIZE];
-
-static int mEQPresetValueBuf_XX[CC_EQ_PRESET_BUF_SIZE];
-static int mEQPresetDefBuf[CC_EQ_PRESET_BUF_SIZE] = {
- //
- 50, 50, 50, 50, 50, 50, // SM_STD
- 70, 60, 50, 60, 70, 50, // SM_MUSIC
- 25, 50, 70, 66, 25, 50, // SM_NEWS
- 75, 65, 50, 65, 75, 50, // SM_THEATER
-};
-
-static int GetAudioCfgData(const char *key_str, int *buf_item_count, int radix,
- int data_buf[])
-{
- int cfg_item_count = 0;
- char *token = NULL;
- const char *strDelimit = ",";
- const char *config_value;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
-
- config_value = config_get_str("TV", key_str, "null");
- if (strcasecmp(config_value, "null") == 0) {
- //LOGE("%s, can't get config \"%s\"!!!\n", "TV", key_str);
- return -1;
- }
-
- cfg_item_count = 0;
-
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- token = strtok(data_str, strDelimit);
- while (token != NULL) {
- if (cfg_item_count < *buf_item_count) {
- data_buf[cfg_item_count] = strtol(token, NULL, radix);
-
- token = strtok(NULL, strDelimit);
- cfg_item_count += 1;
- } else {
- LOGE("%s, we get data count more than desire count (%d)!!!\n",
- __FUNCTION__ , *buf_item_count);
- return -1;
- }
- }
-
- *buf_item_count = cfg_item_count;
-
- return 0;
-}
-
-static int GetAudioCfgBufferData(const char *key_str, int *bufs_count,
- int *buf_item_count, int radix, int data_buf[])
-{
- int cfg_item_count = 0, tmpTotalItemCount = 0;
- char *token = NULL;
- const char *strDelimit = ",";
- const char *config_value;
- char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
-
- config_value = config_get_str("TV", key_str, "null");
- if (strcasecmp(config_value, "null") == 0) {
- // LOGE("%s, can't get config \"%s\"!!!\n", "TV", key_str);
- *bufs_count = 0;
- *buf_item_count = 0;
- return -1;
- }
-
- tmpTotalItemCount = 0;
-
- memset((void *)data_str, 0, sizeof(data_str));
- strncpy(data_str, config_value, sizeof(data_str) - 1);
- token = strtok(data_str, strDelimit);
- while (token != NULL) {
- if (cfg_item_count == 0) {
- *bufs_count = strtol(token, NULL, radix);
- } else if (cfg_item_count == 1) {
- *buf_item_count = strtol(token, NULL, radix);
- } else if (cfg_item_count >= 2) {
- data_buf[tmpTotalItemCount] = strtol(token, NULL, radix);
- tmpTotalItemCount += 1;
- }
-
- token = strtok(NULL, strDelimit);
- cfg_item_count += 1;
- }
-
- if ((*bufs_count) * (*buf_item_count) != tmpTotalItemCount) {
- LOGE("%s, get item count error!!! should be %d, real is %d.\n",
- __FUNCTION__, (*bufs_count) * (*buf_item_count),
- tmpTotalItemCount);
- *bufs_count = 0;
- *buf_item_count = 0;
- return -1;
- }
-
- return 0;
-}
-
-static int GetAudioCfgSingleIntData(const char *key_str, int def_val)
-{
- const char *config_value;
-
- config_value = config_get_str("TV", key_str, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return def_val;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-template<typename T>
-static int CheckNoLinePoints(int point_cnt, T points_buf[])
-{
- int i = 0, same_cnt = 0, tmp_direct = -1, error_flag = 0;
-
- if (point_cnt <= 1) {
- LOGD("%s, point is less than 2.\n", __FUNCTION__);
- return 0;
- }
-
- for (i = 0; i < point_cnt - 1; i++) {
- if (points_buf[i] < points_buf[i + 1]) {
- if (tmp_direct == -1) {
- tmp_direct = 0;
- } else if (tmp_direct == 1) {
- LOGD("%s, check have direct error.\n", __FUNCTION__);
- return -1;
- }
- } else if (points_buf[i] > points_buf[i + 1]) {
- if (tmp_direct == -1) {
- tmp_direct = 1;
- } else if (tmp_direct == 0) {
- LOGD("%s, check have direct error.\n", __FUNCTION__);
- return -1;
- }
- } else {
- same_cnt += 1;
- }
- }
-
- if (same_cnt == i) {
- LOGD("%s, check have same error.\n", __FUNCTION__);
- return -1;
- }
-
- LOGD("%s, check no error.\n", __FUNCTION__);
- return 0;
-}
-
-int *GetAudioAmplifierNoLinePointsIndexBuffer(int lut_buf_type, int get_type)
-{
- if (lut_buf_type == CC_LUT_BUF_SUPPERBASS) {
- return GetAudioAmplifierSupperBassNoLinePointsIndexBuffer(get_type);
- }
-
- return NULL;
-}
-
-int *GetAudioAmplifierNoLinePointsDataBuffer(int lut_buf_type, int get_type)
-{
- if (lut_buf_type == CC_LUT_BUF_SUPPERBASS) {
- return GetAudioAmplifierSupperBassNoLinePointsDataBuffer(get_type);
- }
-
- return NULL;
-}
-
-int GetAudioAmplifierMasterNoLineSwitchFlag()
-{
- const char *config_value;
- config_value = config_get_str("TV",
- CS_AUDIO_AMP_MASTER_NOLINE_SWITCH_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierSupperBassNoLineSwitchFlag()
-{
- const char *config_value;
- config_value = config_get_str("TV",
- CS_AUDIO_AMP_SUPPERBASS_NOLINE_SWITCH_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierMasterNoLinePointsCount()
-{
- const char *config_value;
- config_value = config_get_str("TV",
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_CNT_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 11;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioAmplifierSupperBassNoLinePointsCount()
-{
- const char *config_value;
- config_value = config_get_str("TV",
- CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_CNT_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 5;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-static int GetAudioAmplifierNoLinePointsBuffer(const char *key_str,
- int buf_item_count, int data_buf[])
-{
- int i = 0, tmp_item_count = 0;
- int tmp_buf[CC_NO_LINE_POINTS_MAX_CNT] = { 0 };
-
- // if (data_buf[0] >= 0 && data_buf[0] <= 100) {
- // LOGD("%s, we have get the index buffer.\n", "TV");
- // return 0;
- // }
-
- tmp_item_count = buf_item_count;
- if (GetAudioCfgData(key_str, &tmp_item_count, 10, tmp_buf) < 0) {
- LOGE("%s, get index buffer data error, set default.\n", __FUNCTION__);
- return -1;
- }
-
- if (tmp_item_count != buf_item_count) {
- LOGE(
- "%s, get index buffer data error(buf item count error), set default.\n",
- __FUNCTION__);
- return -1;
- }
-
- for (i = 0; i < buf_item_count; i++) {
- data_buf[i] = tmp_buf[i];
- }
-
- return 0;
-}
-
-int *GetAudioAmplifierSupperBassNoLinePointsIndexBuffer(int get_type)
-{
- int buf_item_count = 0;
-
- buf_item_count = GetAudioAmplifierSupperBassNoLinePointsCount();
- if (GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_IND_BUF_CFG_NAME,
- buf_item_count, gSupperBassNoLinePointsIndexBuffer) < 0) {
- return GetAudioAmplifierSupperBassNoLinePointsDefIndexBuffer();
- }
-
- if (CheckNoLinePoints(buf_item_count, gSupperBassNoLinePointsIndexBuffer)
- < 0) {
- return GetAudioAmplifierSupperBassNoLinePointsDefIndexBuffer();
- }
-
- return gSupperBassNoLinePointsIndexBuffer;
-}
-
-int *GetAudioAmplifierMasterNoLinePointsDataBuffer(int get_type)
-{
- int i = 0, buf_item_count = 0, tmp_offset = 0;
- int *tmpPtr = NULL;
- unsigned char tmp_buf[CC_NO_LINE_POINTS_MAX_CNT] = { 0 };
-
- buf_item_count = GetAudioAmplifierMasterNoLinePointsCount();
-
- if (get_type == CC_GET_LUT_TV) {
- tmpPtr = gTVMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- } else if (get_type == CC_GET_LUT_AV) {
- tmpPtr = gAVMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- } else if (get_type == CC_GET_LUT_COMP) {
- tmpPtr = gCOMPMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- } else if (get_type == CC_GET_LUT_HDMI) {
- tmpPtr = gHDMIMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- } else if (get_type == CC_GET_LUT_VGA) {
- tmpPtr = gVGAMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- } else if (get_type == CC_GET_LUT_MPEG) {
- tmpPtr = gMPEGMasterNoLinePointsDataBuffer;
- tmp_offset = get_type * buf_item_count;
- }
-
- if (tmpPtr != NULL && tmpPtr[0] != -1) {
- return tmpPtr;
- }
-
- if (SSMReadAudioNoLinePoints(tmp_offset, buf_item_count, tmp_buf) < 0) {
- return GetAudioAmplifierMasterNoLinePointsDefDataBuffer(get_type);
- }
-
- if (CheckNoLinePoints(buf_item_count, tmp_buf) < 0) {
- return GetAudioAmplifierMasterNoLinePointsDefDataBuffer(get_type);
- }
-
- for (i = 0; i < buf_item_count; i++) {
- tmpPtr[i] = tmp_buf[i];
- }
-
- return tmpPtr;
-}
-
-int *GetAudioAmplifierSupperBassNoLinePointsDataBuffer(int get_type)
-{
- int i = 0, buf_item_count = 0, tmp_offset = 0;
- int *tmpPtr = NULL;
- unsigned char tmp_buf[CC_NO_LINE_POINTS_MAX_CNT] = { 0 };
-
- buf_item_count = GetAudioAmplifierSupperBassNoLinePointsCount();
-
- tmpPtr = gSupperBassNoLinePointsDataBuffer;
- if (tmpPtr != NULL && tmpPtr[0] != -1) {
- return tmpPtr;
- }
-
- tmp_offset = CC_GET_TYPE_CNT * GetAudioAmplifierMasterNoLinePointsCount();
-
- if (SSMReadAudioNoLinePoints(tmp_offset, buf_item_count, tmp_buf) < 0) {
- return GetAudioAmplifierSupperBassNoLinePointsDefDataBuffer();
- }
-
- if (CheckNoLinePoints(buf_item_count, tmp_buf) < 0) {
- return GetAudioAmplifierSupperBassNoLinePointsDefDataBuffer();
- }
-
- for (i = 0; i < buf_item_count; i++) {
- tmpPtr[i] = tmp_buf[i];
- }
-
- return tmpPtr;
-}
-
-int *GetAudioAmplifierMasterNoLinePointsDefIndexBuffer()
-{
- int i = 0, buf_item_count = 0;
-
- buf_item_count = GetAudioAmplifierMasterNoLinePointsCount();
- if (GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_IND_DEF_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefIndexBuffer) < 0) {
- gMasterNoLinePointsDefIndexBuffer[0] = 1;
-
- for (i = 1; i <= 10; i++) {
- gMasterNoLinePointsDefIndexBuffer[i] = i * 10;
- }
- }
-
- if (CheckNoLinePoints(buf_item_count, gMasterNoLinePointsDefIndexBuffer)
- < 0) {
- gMasterNoLinePointsDefIndexBuffer[0] = 1;
-
- for (i = 1; i <= 10; i++) {
- gMasterNoLinePointsDefIndexBuffer[i] = i * 10;
- }
- }
-
- return gMasterNoLinePointsDefIndexBuffer;
-}
-
-int *GetAudioAmplifierSupperBassNoLinePointsDefIndexBuffer()
-{
- int i = 0, buf_item_count = 0;
-
- buf_item_count = GetAudioAmplifierSupperBassNoLinePointsCount();
- if (GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_IND_DEF_BUF_CFG_NAME,
- buf_item_count, gSupperBassNoLinePointsDefIndexBuffer) < 0) {
- gSupperBassNoLinePointsDefIndexBuffer[0] = 1;
-
- for (i = 1; i <= 4; i++) {
- gSupperBassNoLinePointsDefIndexBuffer[i] = i * 25;
- }
- }
-
- if (CheckNoLinePoints(buf_item_count, gSupperBassNoLinePointsDefIndexBuffer)
- < 0) {
- gSupperBassNoLinePointsDefIndexBuffer[0] = 1;
-
- for (i = 1; i <= 4; i++) {
- gSupperBassNoLinePointsDefIndexBuffer[i] = i * 25;
- }
- }
-
- return gSupperBassNoLinePointsDefIndexBuffer;
-}
-
-int *GetAudioAmplifierMasterNoLinePointsDefDataBuffer(int buf_type)
-{
- int i = 0, buf_item_count = 0, point_buffer_flag = 0;
-
- buf_item_count = GetAudioAmplifierMasterNoLinePointsCount();
-
- switch (buf_type) {
- case CC_GET_LUT_TV:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_TV_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- case CC_GET_LUT_AV:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_AV_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- case CC_GET_LUT_COMP:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_COMP_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- case CC_GET_LUT_HDMI:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_HDMI_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- case CC_GET_LUT_VGA:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_VGA_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- case CC_GET_LUT_MPEG:
- point_buffer_flag = GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_MASTER_NOLINE_POINT_DATA_MPEG_BUF_CFG_NAME,
- buf_item_count, gMasterNoLinePointsDefDataBuffer);
- break;
- default:
- point_buffer_flag = -1;
- // LOGE("buffer type is wrong ,please check input Parameter !");
- break;
- }
-
- if (point_buffer_flag < 0) {
- for (i = 0; i < buf_item_count; i++) {
- gMasterNoLinePointsDefDataBuffer[i] = 100 + i;
- }
-
- return gMasterNoLinePointsDefDataBuffer;
- }
-
- if (CheckNoLinePoints(buf_item_count, gMasterNoLinePointsDefDataBuffer)
- < 0) {
- for (i = 0; i < buf_item_count; i++) {
- gMasterNoLinePointsDefDataBuffer[i] = 100 + i;
- }
- }
-
- return gMasterNoLinePointsDefDataBuffer;
-}
-
-int *GetAudioAmplifierSupperBassNoLinePointsDefDataBuffer()
-{
- int i = 0, buf_item_count = 0;
-
- buf_item_count = GetAudioAmplifierSupperBassNoLinePointsCount();
- if (GetAudioAmplifierNoLinePointsBuffer(
- CS_AUDIO_AMP_SUPPERBASS_NOLINE_POINT_DATA_DEF_BUF_CFG_NAME,
- buf_item_count, gSupperBassNoLinePointsDefDataBuffer) < 0) {
- for (i = 0; i < buf_item_count; i++) {
- gSupperBassNoLinePointsDefDataBuffer[i] = 100 + i;
- }
- }
-
- if (CheckNoLinePoints(buf_item_count, gSupperBassNoLinePointsDefDataBuffer)
- < 0) {
- for (i = 0; i < buf_item_count; i++) {
- gSupperBassNoLinePointsDefDataBuffer[i] = 100 + i;
- }
- }
-
- return gSupperBassNoLinePointsDefDataBuffer;
-}
-
-int GetAudioAmplifierBalanceExchangeCFG()
-{
- const char *config_value;
- config_value = config_get_str("TV", CS_AUDIO_AMP_BALANCE_EXCHG_CFG_NAME,
- "null");
- if (strcmp(config_value, "null") == 0) {
- return 0; //return 0 to disable balance exchange
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufCFGIndexModifyEnable()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", "audio.amp.master.cfgindex.mod.en",
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufNameModifyUbootenvCFG()
-{
- char config_value[PROPERTY_VALUE_MAX];
-
- memset(config_value, '\0', 32);
-
- property_get("ubootenv.var.ampindex", config_value, "null");
- if (strcasecmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufNameModifyFromUbootenv()
-{
- const char *config_value;
-
- config_value = config_get_str("TV",
- "audio.amp.mainvol.lutbufname.mod.ubootenv", "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufNameModifyEnableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", "audio.amp.mainvol.lutbufname.mod.en",
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioMainVolLutBufNameCFG(int get_type, char name_buf[])
-{
- if (get_type == CC_GET_LUT_TV) {
- strcpy(name_buf, "audio.amp.mainvol.tv.lb.name");
- } else if (get_type == CC_GET_LUT_AV) {
- strcpy(name_buf, "audio.amp.mainvol.av.lb.name");
- } else if (get_type == CC_GET_LUT_COMP) {
- strcpy(name_buf, "audio.amp.mainvol.comp.lb.name");
- } else if (get_type == CC_GET_LUT_HDMI) {
- strcpy(name_buf, "audio.amp.mainvol.hdmi.lb.name");
- } else if (get_type == CC_GET_LUT_VGA) {
- strcpy(name_buf, "audio.amp.mainvol.vga.lb.name");
- } else if (get_type == CC_GET_LUT_MPEG) {
- strcpy(name_buf, "audio.amp.mainvol.mpeg.lb.name");
- } else if (get_type == CC_GET_LUT_HDMI_4K2K) {
- strcpy(name_buf, "audio.amp.mainvol.hdmi4k2k.lb.name");
- } else if (get_type == CC_GET_LUT_USB_4K2K) {
- strcpy(name_buf, "audio.amp.mainvol.usb4k2k.lb.name");
- } else {
- return -1;
- }
-
- return 0;
-}
-
-static int GetAudioMainVolLutBufDataByModifyName(int get_type,
- int *VolumeDigitLutBuf_XX)
-{
- int i = 0, buf_count = 0, buf_item_count = 0;
- char key_buf[128];
- const char *value_buf;
-
- memset(key_buf, '\0', 128);
-
- GetAudioMainVolLutBufNameCFG(get_type, key_buf);
-
- value_buf = config_get_str("TV", key_buf, (char *) "");
-
- if (strcmp(value_buf, "") != 0) {
- if (GetAudioCfgBufferData(value_buf, &buf_count, &buf_item_count, 10,
- VolumeDigitLutBuf_XX) == 0) {
- return 0;
- }
- }
-
- return -1;
-}
-
-int *GetAudioAmplifierMasterVolumeLUTBufferPtr(int get_type, int audio_std)
-{
- int buf_count = 0, buf_item_count = 0;
- int name_en = GetAudioMainVolLutBufNameModifyEnableCFG();
-
- if (name_en == 1) {
- if (get_type == CC_GET_LUT_TV) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mTVMainVolumeDigitLutBuf_XX) == 0) {
- return mTVMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_AV) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mAVMainVolumeDigitLutBuf_XX) == 0) {
- return mAVMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_COMP) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mCOMPMainVolumeDigitLutBuf_XX) == 0) {
- return mCOMPMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_HDMI) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mHDMIMainVolumeDigitLutBuf_XX) == 0) {
- return mHDMIMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_VGA) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mVGAMainVolumeDigitLutBuf_XX) == 0) {
- return mVGAMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_MPEG) {
- if (GetAudioMainVolLutBufDataByModifyName(get_type,
- mMPEGMainVolumeDigitLutBuf_XX) == 0) {
- return mMPEGMainVolumeDigitLutBuf_XX;
- }
- }
- } else {
- if (get_type == CC_GET_LUT_TV) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_TV_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mTVMainVolumeDigitLutBuf_XX) == 0) {
- return mTVMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_AV) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_AV_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mAVMainVolumeDigitLutBuf_XX) == 0) {
- return mAVMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_COMP) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_COMP_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mCOMPMainVolumeDigitLutBuf_XX) == 0) {
- return mCOMPMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_HDMI) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_HDMI_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mHDMIMainVolumeDigitLutBuf_XX) == 0) {
- return mHDMIMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_VGA) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_VGA_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mVGAMainVolumeDigitLutBuf_XX) == 0) {
- return mVGAMainVolumeDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_MPEG) {
- if (GetAudioCfgBufferData(CS_AUDIO_AMP_MAINVOL_MPEG_LUTBUF_CFG_NAME,
- &buf_count, &buf_item_count, 10,
- mMPEGMainVolumeDigitLutBuf_XX) == 0) {
- return mMPEGMainVolumeDigitLutBuf_XX;
- }
- }
- }
- return NULL;
-}
-
-int GetAudioSupperBassVolLutBufCFGIndexModifyEnable()
-{
- const char *config_value;
- config_value = config_get_str("TV", "audio.amp.supperbass.cfgindex.mod.en",
- "null");
- //LOGD("%s, get audio.amp.supperbass.cfgindex.mod.en is %s \n", "TV",
- // config_value);
-
- if (strcmp(config_value, "null") == 0) {
- // LOGD(
- // "%s, get config modify value \"%s\", return audio.amp.supperbass.cfgindex.mod.en.\n",
- // "TV", config_value);
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSupperBassVolLutBufNameModifyEnableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV",
- "audio.amp.supbassvol.lutbufname.mod.en", "null");
- //LOGD("%s, audio.amp.supbassvol.lutbufname.mod.en is %s \n", "TV",
- // config_value);
-
- if (strcmp(config_value, "null") == 0) {
- // LOGD(
- // "%s, get config enable value \"%s\", return 0 to not enable moidfy lut buffer name.\n",
- // "TV", config_value);
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSupperBassVolLutBufNameCFG(int get_type, char name_buf[])
-{
- if (get_type == CC_GET_LUT_TV) {
- strcpy(name_buf, "audio.amp.supbassvol.tv.lb.name");
- } else if (get_type == CC_GET_LUT_AV) {
- strcpy(name_buf, "audio.amp.supbassvol.av.lb.name");
- } else if (get_type == CC_GET_LUT_COMP) {
- strcpy(name_buf, "audio.amp.supbassvol.comp.lb.name");
- } else if (get_type == CC_GET_LUT_HDMI) {
- strcpy(name_buf, "audio.amp.supbassvol.hdmi.lb.name");
- } else if (get_type == CC_GET_LUT_VGA) {
- strcpy(name_buf, "audio.amp.supbassvol.vga.lb.name");
- } else if (get_type == CC_GET_LUT_MPEG) {
- strcpy(name_buf, "audio.amp.supbassvol.mpeg.lb.name");
- } else if (get_type == CC_GET_LUT_HDMI_4K2K) {
- strcpy(name_buf, "audio.amp.supbassvol.hdmi4k2k.lb.name");
- } else if (get_type == CC_GET_LUT_USB_4K2K) {
- strcpy(name_buf, "audio.amp.supbassvol.usb4k2k.lb.name");
- } else {
- return -1;
- }
-
- return 0;
-}
-
-static int GetAudioSupperBassByModifyName(int get_type,
- int *VolumeDigitLutBuf_XX)
-{
- int i = 0, buf_count = 0, buf_item_count = 0;
- char key_buf[128];
- const char *value_buf;
-
- memset(key_buf, '\0', 128);
-
- GetAudioSupperBassVolLutBufNameCFG(get_type, key_buf);
-
- value_buf = config_get_str("TV", key_buf, (char *) "");
- //LOGD("%s, get_type = %d, key_buf = %s, value_buf = %s \n", "TV",
- // get_type, key_buf, value_buf);
-
- if (strcmp(value_buf, "") != 0) {
- if (GetAudioCfgBufferData(value_buf, &buf_count, &buf_item_count, 10,
- VolumeDigitLutBuf_XX) == 0) {
- return 0;
- }
- }
-
- return -1;
-}
-
-int *GetAudioAmplifierSupperBassVolumeLUTBufferPtr(int get_type,
- int audio_std)
-{
- int buf_count = 0, buf_item_count = 0;
-
- int name_en = GetAudioSupperBassVolLutBufNameModifyEnableCFG();
-
- if (name_en == 1) {
- if (get_type == CC_GET_LUT_TV) {
- if (GetAudioSupperBassByModifyName(get_type,
- mTVSupperBassDigitLutBuf_XX) == 0) {
- return mTVSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_AV) {
- if (GetAudioSupperBassByModifyName(get_type,
- mAVSupperBassDigitLutBuf_XX) == 0) {
- return mAVSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_COMP) {
- if (GetAudioSupperBassByModifyName(get_type,
- mCOMPSupperBassDigitLutBuf_XX) == 0) {
- return mCOMPSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_HDMI) {
- if (GetAudioSupperBassByModifyName(get_type,
- mHDMISupperBassDigitLutBuf_XX) == 0) {
- return mHDMISupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_VGA) {
- if (GetAudioSupperBassByModifyName(get_type,
- mVGASupperBassDigitLutBuf_XX) == 0) {
- return mVGASupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_MPEG) {
- if (GetAudioSupperBassByModifyName(get_type,
- mMPEGSupperBassDigitLutBuf_XX) == 0) {
- return mMPEGSupperBassDigitLutBuf_XX;
- }
- }
- } else {
- if (get_type == CC_GET_LUT_TV) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_TV_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mTVSupperBassDigitLutBuf_XX) == 0) {
- return mTVSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_AV) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_AV_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mAVSupperBassDigitLutBuf_XX) == 0) {
- return mAVSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_COMP) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_COMP_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mCOMPSupperBassDigitLutBuf_XX) == 0) {
- return mCOMPSupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_HDMI) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_HDMI_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mHDMISupperBassDigitLutBuf_XX) == 0) {
- return mHDMISupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_VGA) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_VGA_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mVGASupperBassDigitLutBuf_XX) == 0) {
- return mVGASupperBassDigitLutBuf_XX;
- }
- } else if (get_type == CC_GET_LUT_MPEG) {
- if (GetAudioCfgBufferData(
- CS_AUDIO_AMP_SUPPERBASSVOL_MPEG_LUTBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, mMPEGSupperBassDigitLutBuf_XX) == 0) {
- return mMPEGSupperBassDigitLutBuf_XX;
- }
- }
- }
-
- return NULL;
-}
-
-int *GetAudioEQPresetBufferPtr()
-{
- int buf_count = 0, buf_item_count = 0;
- int *tmpDataBufPtr = NULL;
-
- tmpDataBufPtr = mEQPresetValueBuf_XX;
-
- memset((void *) tmpDataBufPtr, 0, sizeof(int) * CC_EQ_PRESET_BUF_SIZE);
-
- if (GetAudioCfgBufferData(CS_EQ_PRESETBUF_CFG_NAME, &buf_count,
- &buf_item_count, 10, tmpDataBufPtr) == 0) {
- return tmpDataBufPtr;
- }
-
- return mEQPresetDefBuf;
-}
-
-int GetAudioDVISupportEnable()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_DVI_SUPPORT_ENABLE_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetTvAudioCardID(char tv_card_id_buf[])
-{
- const char *value;
- value = config_get_str("TV", "audio.tv.card.id", "null");
- //LOGD("%s, get card id is \"%s\".\n", "TV", tv_card_id_buf);
-
- strcpy(tv_card_id_buf, value);
- if (strcmp(value, "null") == 0) {
- strcpy(tv_card_id_buf, "0");
- // LOGD("%s, card id not config, we set to default \"%s\".\n",
- // "TV", "0");
- }
-
- return 0;
-}
-
-int GetTvAudioCardName(char tv_card_name_buf[])
-{
- const char *value;
- value = config_get_str("TV", "audio.tv.card.name", "null");
- //LOGD("%s, get card name is \"%s\".\n", "TV", tv_card_name_buf);
-
- strcpy(tv_card_name_buf, value);
- if (strcmp(value, "null") == 0) {
- strcpy(tv_card_name_buf, "AMLSYNO9629");
- // LOGD("%s, card name not config, we set to default \"%s\".\n",
- // "TV", "AML-M2");
- }
-
- return 0;
-}
-
-int GetTvAudioCardNeedSet()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", "audio.tv.card.needset", "null");
- //LOGD("%s, get \"%s\" is \"%s\".\n", "TV", "audio.tv.card.needset",
- // config_value);
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- if (strtoul(config_value, NULL, 10) == 0) {
- return 0;
- }
-
- return 1;
-}
-
-static int GetAudioEffectAmplifierGainCfg(const char *cfg_name,
- int def_gain_val, int max_gain_val)
-{
- int tmp_val;
- const char *config_value;
-
- config_value = config_get_str("TV", cfg_name, "null");
- //LOGD("%s, get %s is \"%s\".\n", "TV", cfg_name, config_value);
-
- if (strcmp(config_value, "null") == 0) {
- // LOGD(
- // "%s, get config \"%s\" is \"%s\", return default audio effect amplifier gain value(%d).\n",
- // "TV", cfg_name, config_value, def_gain_val);
- return def_gain_val;
- }
-
- tmp_val = strtoul(config_value, NULL, 10);
- if (tmp_val < 0 || tmp_val > max_gain_val) {
- // LOGD(
- // "%s, get config \"%s\" is error, it(%d) should between %d and %d, return default audio effect amplifier gain value(%d)\n",
- // "TV", cfg_name, tmp_val, 0, max_gain_val, def_gain_val);
- tmp_val = def_gain_val;
- }
-
- return tmp_val;
-}
-
-int GetAudioSRSModuleDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SRS_MOUDLE_DISABLE_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSRSSourroundDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SRS_SOURROUND_DISABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSRSTrubassDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SRS_TRUBASS_DISABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSRSDialogClarityDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SRS_DIALOGCLARITY_DISABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-static int GetAudioSRSGainCfg(const char *cfg_name, int def_gain_val)
-{
- int tmp_val;
- const char *config_value;
-
- config_value = config_get_str("TV", cfg_name, "null");
- //LOGD("%s, get %s is \"%s\".\n", "TV", cfg_name, config_value);
-
- if (strcmp(config_value, "null") == 0) {
- // LOGD(
- // "%s, get config \"%s\" is \"%s\", return -1 to use default gain value.\n",
- // "TV", cfg_name, config_value);
- return -1;
- }
-
- tmp_val = strtoul(config_value, NULL, 10);
- if (tmp_val < 0 || tmp_val > 100) {
- tmp_val = def_gain_val;
- // LOGD("%s, get config \"%s\" is error, we set it to %d\n", "TV",
- // cfg_name, tmp_val);
- }
-
- return tmp_val;
-}
-
-static int GetAudioSRSAmplifierGainCfg(const char *cfg_name, int def_gain_val)
-{
- return GetAudioEffectAmplifierGainCfg(cfg_name, def_gain_val, 24);
-}
-
-static int GetAudioEQAmplifierGainCfg(const char *cfg_name, int def_gain_val)
-{
- return GetAudioEffectAmplifierGainCfg(cfg_name, def_gain_val, 24);
-}
-
-int GetAudioSRSSourroundGainCfg()
-{
- return GetAudioSRSGainCfg(CS_SRS_SOURROUND_GAIN_CFG_NAME,
- CC_SRS_SURROUND_GAIN_VAL);
-}
-
-int GetAudioSRSSourroundAmplifierMasterGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_SOURROUND_AMP_MASTER_GAIN_CFG_NAME,
- CC_SRS_SURROUND_AMP_MASTER_GAIN_VAL);
-}
-
-int GetAudioSRSSourroundAmplifierSupperBassGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_SOURROUND_AMP_SUPPERBASS_GAIN_CFG_NAME,
- CC_SRS_SURROUND_AMP_SUPPERBASS_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassOnlyGainCfg()
-{
- return GetAudioSRSGainCfg(CS_SRS_TRUBASS_ONLY_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_ONLY_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassOnlyAmplifierMasterGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_TRUBASS_ONLY_AMP_MASTER_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_ONLY_AMP_MASTER_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassOnlyAmplifierSupperBassGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_TRUBASS_ONLY_AMP_SUPPERBASS_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_ONLY_AMP_SUPPERBASS_GAIN_VAL);
-}
-
-int GetAudioSRSDialogClarityOnlyGainCfg()
-{
- return GetAudioSRSGainCfg(CS_SRS_DIALOGCLARITY_ONLY_GAIN_CFG_NAME,
- CC_SRS_DIALOGCLARITY_ONLY_GAIN_VAL);
-}
-
-int GetAudioSRSDialogClarityOnlyAmplifierMasterGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_DIALOGCLARITY_ONLY_AMP_MASTER_GAIN_CFG_NAME,
- CC_SRS_DIALOGCLARITY_ONLY_AMP_MASTER_GAIN_VAL);
-}
-
-int GetAudioSRSDialogClarityOnlyAmplifierSupperBassGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_DIALOGCLARITY_ONLY_AMP_SUPPERBASS_GAIN_CFG_NAME,
- CC_SRS_DIALOGCLARITY_ONLY_AMP_SUPPERBASS_GAIN_VAL);
-}
-
-int GetAudioSRSDialogClarityOnlyDefinitionGainCfg()
-{
- return GetAudioSRSGainCfg(
- CS_SRS_DIALOGCLARITY_ONLY_DEFINITION_GAIN_CFG_NAME,
- CC_SRS_DIALOGCLARITY_ONLY_DEFINITION_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassAndDialogClarityTrubassGainCfg()
-{
- return GetAudioSRSGainCfg(
- CS_SRS_TRUBASS_DIALOGCLARITY_TRUBASS_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_DIALOGCLARITY_TRUBASS_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassAndDialogClarityDialogClarityGainCfg()
-{
- return GetAudioSRSGainCfg(
- CS_SRS_TRUBASS_DIALOGCLARITY_DIALOGCLARITY_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_DIALOGCLARITY_DIALOGCLARITY_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassAndDialogClarityDefinitionGainCfg()
-{
- return GetAudioSRSGainCfg(
- CS_SRS_TRUBASS_DIALOGCLARITY_DEFINITION_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_DIALOGCLARITY_DEFINITION_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassAndDialogClarityAmplifierMasterGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_TRUBASS_DIALOGCLARITY_AMP_MASTER_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_DIALOGCLARITY_AMP_MASTER_GAIN_VAL);
-}
-
-int GetAudioSRSTrubassAndDialogClarityAmplifierSupperBassGainCfg()
-{
- return GetAudioSRSAmplifierGainCfg(
- CS_SRS_TRUBASS_DIALOGCLARITY_AMP_SUPPERBASS_GAIN_CFG_NAME,
- CC_SRS_TRUBASS_DIALOGCLARITY_AMP_SUPPERBASS_GAIN_VAL);
-}
-
-int GetAudioSRSSupperBassTrubassSpeakerSizeCfg(int get_flag)
-{
- int tmp_val;
- char cfg_name[128] = { 0 };
- const char *config_value;
-
- if (get_flag == 0) {
- strcpy(cfg_name, CS_SRS_SUPPERBASS_OFF_TRUBASS_SPEAKER_SIZE_CFG_NAME);
- } else {
- strcpy(cfg_name, CS_SRS_SUPPERBASS_ON_TRUBASS_SPEAKER_SIZE_CFG_NAME);
- }
-
- config_value = config_get_str("TV", cfg_name, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return -1;
- }
-
- tmp_val = strtoul(config_value, NULL, 10);
- if (tmp_val < 0 || tmp_val > 7) {
- tmp_val = -1;
- }
-
- return tmp_val;
-}
-
-int GetAudioEQAmplifierMasterAddGainCfg()
-{
- return GetAudioEQAmplifierGainCfg(CS_EQ_AMP_MASTER_GAIN_CFG_NAME,
- CC_EQ_AMP_MASTER_GAIN_VAL);
-}
-
-int GetAudioEQAmplifierSupperBassAddGainCfg()
-{
- return GetAudioEQAmplifierGainCfg(CS_EQ_AMP_SUPPERBASS_GAIN_CFG_NAME,
- CC_EQ_AMP_SUPPERBASS_GAIN_VAL);
-}
-
-int GetAudioEqModuleDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_EQ_MOUDLE_DISABLE_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioEqUsingAndroidCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_EQ_USING_ANDROID_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioEQGainRangeCFG(int *min_val, int *max_val)
-{
- int i = 0, buf_item_count = 0, tmp_item_count = 0;
- int tmp_buf[16] = { 0 };
-
- buf_item_count = 2;
- tmp_item_count = buf_item_count;
- if (GetAudioCfgData(CS_EQ_GAIN_RANGE_CFG_NAME, &tmp_item_count, 10, tmp_buf)
- < 0) {
- return -1;
- }
-
- if (tmp_item_count != buf_item_count) {
- return -1;
- }
-
- *min_val = tmp_buf[0];
- *max_val = tmp_buf[1];
-
- return 0;
-}
-
-int GetAudioEQUIGainRangeCFG(int *min_val, int *max_val)
-{
- int i = 0, buf_item_count = 0, tmp_item_count = 0;
- int tmp_buf[16] = { 0 };
-
- buf_item_count = 2;
- tmp_item_count = buf_item_count;
- if (GetAudioCfgData(CS_EQ_UI_GAIN_RANGE_CFG_NAME, &tmp_item_count, 10,
- tmp_buf) < 0) {
- return -1;
- }
-
- if (tmp_item_count != buf_item_count) {
- return -1;
- }
-
- *min_val = tmp_buf[0];
- *max_val = tmp_buf[1];
-
- return 0;
-}
-
-int GetAudioDumpDataEnableFlagCfg()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_AUDIO_DUMP_DATA_ENABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioKeyMuteCfg()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_KEY_MUTE_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioAVOutInitMuteStatusCFG()
-{
- const char *config_value;
- int status = 0;
-
- config_value = config_get_str("TV", CS_AVOUT_INIT_MUTE_CFG_NAME, "null");
- LOGD("%s, get %s is \"%s\".\n", __FUNCTION__, CS_AVOUT_INIT_MUTE_CFG_NAME,
- config_value);
-
- if (strcmp(config_value, "enable") == 0) {
- status = 1;
- } else {
- status = 0;
- }
-
- return status;
-}
-
-int GetAudioSupperBassModuleDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SUPPERBASS_MODULE_DISABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioSupperBassSwitchDisableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_SUPPERBASS_SWITCH_DISABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-static int GetAudioSrcInputLineInVol(const char *cfg_str, int *l_vol,
- int *r_vol)
-{
- int buf_item_count = 2;
- int data_buf[2] = { -1, -1 };
-
- if (GetAudioCfgData(cfg_str, &buf_item_count, 10, data_buf) < 0) {
- return -1;
- }
-
- if (buf_item_count < 2) {
- return -1;
- }
-
- *l_vol = data_buf[0];
- *r_vol = data_buf[1];
-
- return 0;
-}
-
-int GetAudioSrcInputTVLineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_TV_LINEIN_VOL_CFG_NAME, l_vol,
- r_vol);
-}
-
-int GetAudioSrcInputAVLineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_AV_LINEIN_VOL_CFG_NAME, l_vol,
- r_vol);
-}
-
-int GetAudioSrcInputCOMPLineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_COMP_LINEIN_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputHDMILineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_HDMI_LINEIN_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputVGALineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_VGA_LINEIN_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputMPEGLineInVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineInVol(CS_SRC_INPUT_MPEG_LINEIN_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-static int GetAudioSrcInputLineOutVol(const char *cfg_str, int *l_vol,
- int *r_vol)
-{
- int buf_item_count = 2;
- int data_buf[2] = { -1, -1 };
-
- if (GetAudioCfgData(cfg_str, &buf_item_count, 10, data_buf) < 0) {
- return -1;
- }
-
- if (buf_item_count < 2) {
- return -1;
- }
-
- *l_vol = data_buf[0];
- *r_vol = data_buf[1];
-
- return 0;
-}
-
-int GetAudioSrcInputTVLineOutVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineOutVol(CS_SRC_INPUT_TV_LINEOUT_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputAVLineOutVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineOutVol(CS_SRC_INPUT_AV_LINEOUT_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputCOMPLineOutVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineOutVol(CS_SRC_INPUT_COMP_LINEOUT_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputHDMILineOutVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineOutVol(CS_SRC_INPUT_HDMI_LINEOUT_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputVGALineOutVol(int *l_vol, int *r_vol)
-{
- return GetAudioSrcInputLineOutVol(CS_SRC_INPUT_VGA_LINEOUT_VOL_CFG_NAME,
- l_vol, r_vol);
-}
-
-int GetAudioSrcInputMPEGLineOutVol(int *l_vol, int *r_vol)
-{
- int tmp_val = 0;
- const char *config_value;
-
- config_value = config_get_str("TV",
- CS_SRC_INPUT_MPEG_LINEOUT_VOL_CFG_NAME_OLD, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return GetAudioSrcInputLineOutVol(
- CS_SRC_INPUT_MPEG_LINEOUT_VOL_CFG_NAME, l_vol, r_vol);
- }
-
- tmp_val = strtol(config_value, NULL, 10);
-
- *l_vol = tmp_val;
- *r_vol = tmp_val;
-
- return 0;
-}
-
-int GetAudioWallEffectTypeCfg()
-{
- return GetAudioCfgSingleIntData("audio.walleffect.type", 0);
-}
-
-static int GetAudioMainVolumeLutBufCompensation(const char *cfg_str,
- int *cfg_flag)
-{
- const char *config_value;
-
- config_value = config_get_str("TV", cfg_str, "null");
- //LOGD("%s, get \"%s\" is \"%s\".\n", "TV", cfg_str, config_value);
-
- if (strcmp(config_value, "null") == 0) {
- if (cfg_flag != NULL) {
- *cfg_flag = 0;
- }
-
- //LOGD(
- // "%s, get config \"%s\" is \"%s\", return 0 to not compensation lut buffer.\n",
- // "TV", cfg_str, config_value);
- return 0;
- }
-
- if (cfg_flag != NULL) {
- *cfg_flag = 1;
- }
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioMainVolumeLutBufTVCompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_TV_CFG_NAME, NULL);
-}
-
-int GetAudioMainVolumeLutBufAVCompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_AV_CFG_NAME, NULL);
-}
-
-int GetAudioMainVolumeLutBufCOMPCompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_COMP_CFG_NAME, NULL);
-}
-
-int GetAudioMainVolumeLutBufHDMICompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_HDMI_CFG_NAME, NULL);
-}
-
-int GetAudioMainVolumeLutBufVGACompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_VGA_CFG_NAME, NULL);
-}
-
-int GetAudioMainVolumeLutBufMPEGCompensation()
-{
- int tmp_ret = 0, cfg_flag = 0;
-
- tmp_ret = GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_MPEG_CFG_NAME, &cfg_flag);
-
- if (cfg_flag == 0) {
- tmp_ret = GetAudioMainVolumeLutBufDTVCompensation();
- }
-
- return tmp_ret;
-}
-
-int GetAudioMainVolumeLutBufDTVCompensation()
-{
- return GetAudioMainVolumeLutBufCompensation(
- CS_AMP_MAINVOL_LUTBUF_COMPENSATION_DTV_CFG_NAME, NULL);
-}
-
-int GetAudioNoiseGateEnableCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_AUDIO_NOISE_GATE_ENABLE_CFG_NAME,
- "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-int GetAudioNoiseGateUpperBoundCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV",
- CS_AUDIO_NOISE_GATE_UPPER_BOUND_CFG_NAME, "254");
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetAudioNoiseGateThresholdCFG()
-{
- const char *config_value;
-
- config_value = config_get_str("TV", CS_AUDIO_NOISE_GATE_THRESHOLD_CFG_NAME,
- "-1");
-
- return strtol(config_value, NULL, 10);
-}
-
-int GetDisableResetSystemFrameSize()
-{
- const char *config_value;
- config_value = config_get_str("TV",
- CS_DISABLE_RESET_SYSTEM_FRAMESIZE_CFG_NAME, "null");
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
-
-static int gDisableResetSystemFrameSizeFlag = -1;
-int GetDisableReset_System_framesizeCFG(void)
-{
- if (gDisableResetSystemFrameSizeFlag == -1) {
- const char *config_value;
-
- config_value = config_get_str("TV", CS_AUDIO_SYSTEM_FRAMESIZE_CFG_NAME,
- "null");
- LOGD("%s, get %s is \"%s\".\n",
- __FUNCTION__, CS_AUDIO_SYSTEM_FRAMESIZE_CFG_NAME, config_value);
-
- if (strcmp(config_value, "disable") == 0) {
- gDisableResetSystemFrameSizeFlag = 0x55;
- } else {
- gDisableResetSystemFrameSizeFlag = 0;
- }
- }
-
- return gDisableResetSystemFrameSizeFlag;
-}
-
-int GetAudioArchitectureTypeCFG()
-{
- static int architecture_type = -1;
- const char *config_value = NULL;
-
- if (architecture_type == -1) {
- config_value = config_get_str ( "TV", CS_AUDIO_ARCHITECTURE_TYPE_CFG_NAME, "null" );
- if (strcasecmp(config_value, "null") == 0) {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_OFF_BOARD_FBC;
- } else if(strcasecmp(config_value, "t866_external_dac_offboard_fbc") == 0) {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_OFF_BOARD_FBC;
- } else if(strcasecmp(config_value, "t866_external_dac_offboard_customer_lib") == 0) {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_OFF_BOARD_CUSTOMER_LIB;
- } else if(strcasecmp(config_value, "t866_external_dac_offboard_digital") == 0) {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_OFF_BOARD_DIGITAL;
- } else if (strcasecmp(config_value, "t866_external_dac_onboard") == 0) {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_ON_BOARD;
- } else if (strcasecmp(config_value, "t866_iternal_dac") == 0) {
- architecture_type = CC_DAC_T866_INTERNAL_DAC;
- } else if (strcasecmp(config_value, "m6c") == 0) {
- architecture_type = CC_DAC_M6C_EXTERNAL_DAC_ON_BOARD;
- } else {
- architecture_type = CC_DAC_T866_EXTERNAL_DAC_OFF_BOARD_FBC;
- }
- }
-
- return architecture_type;
-}
-
-static int gAudioResampleType = -1;
-int GetAudioResampleTypeCFG()
-{
- char *token = NULL;
- const char *strDelimit = ",";
- const char *config_value = NULL;
- char cfg_buf[1024];
-
- if (gAudioResampleType == -1) {
- gAudioResampleType = 0;
-
- config_value = config_get_str ( "TV", CS_AUDIO_RESAMPLE_TYPE_CFG_NAME, "null" );
- strncpy(cfg_buf, config_value, sizeof(cfg_buf));
- if (strcmp(cfg_buf, "") != 0) {
- token = strtok(cfg_buf, strDelimit);
- while (token != NULL) {
- if (strcasecmp(token, "hw") == 0) {
- gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_HW;
- } else if (strcasecmp(token, "sw") == 0) {
- gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_SW;
- }
-
- token = strtok(NULL, strDelimit);
- }
- } else {
- gAudioResampleType = CC_AUD_RESAMPLE_TYPE_SW; //if can't find config string, allow sw resample
- }
- }
-
- return gAudioResampleType;
-}
-
-int GetamAudioDisableFlagCFG()
-{
- static int am_audio_disable_flag = -1;
- const char *config_value = NULL;
-
- if (am_audio_disable_flag == -1) {
- config_value = config_get_str ( "TV", "audio.amaudio.disable", "null" );
- if (strcasecmp(config_value, "null") == 0 || strcasecmp(config_value, "false") == 0) {
- am_audio_disable_flag = 0;
- } else if (strcasecmp(config_value, "true") == 0) {
- am_audio_disable_flag = 1;
- } else {
- am_audio_disable_flag = 0;
- }
- }
-
- return am_audio_disable_flag;
-}
-
-int GetAudioFirstInitSetTypeCFG()
-{
- const char *config_value;
- config_value = config_get_str ( "TV", "audio.firstinitset.type", "null" );
-
- if (strcmp(config_value, "null") == 0) {
- return 0;
- }
-
- return strtoul(config_value, NULL, 10);
-}
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <android/log.h>
+#include <cutils/properties.h>
+
+#include "../tvsetting/CTvSetting.h"
+#include "../tvconfig/tvconfig.h"
+#include "audio_cfg.h"
+
+#define LOG_TAG "audio_cfg"
+#include "CTvLog.h"
+
+static const char AudioAmpMainVolLutBaseNameTable[CC_GET_TYPE_CNT][128] = {"audio.amp.mainvol.tv.lutbuf",//0
+ "audio.amp.mainvol.av.lutbuf",//1
+ "audio.amp.mainvol.comp.lutbuf",//2
+ "audio.amp.mainvol.hdmi.lutbuf",//3
+ "audio.amp.mainvol.vga.lutbuf",//4
+ "audio.amp.mainvol.mpeg.lutbuf",//5
+ "audio.amp.mainvol.hdmi4k2k.lutbuf",//6
+ "audio.amp.mainvol.usb4k2k.lutbuf"//7
+ };
+
+static const int Default_EQGain_Table[24] = {
+ //
+ 50, 50, 50, 50, 50, 50, // SM_STD
+ 70, 60, 50, 60, 70, 50, // SM_MUSIC
+ 25, 50, 70, 66, 25, 50, // SM_NEWS
+ 75, 65, 50, 65, 75, 50, // SM_THEATER
+};
+
+static const int Default_AVoutGain_Table[9] = {
+ //PGA_IN ADC_Capture DAC_Playback
+ 11, 92, 255, // CC_AUDIO_IN_SOURCE_LINEIN
+ 11, 92, 255, //CC_AUDIO_IN_SOURCE_HDMI
+ 11, 92, 255, //CC_AUDIO_IN_SOURCE_ATV
+};
+
+int GetAudioAmpMasterNolinePointData(int get_type, const char *value_buf, int data_buf[])
+{
+ const char *config_value;
+ if (value_buf != NULL) {
+ config_value = config_get_str("TV", value_buf, "null");
+ } else {
+ switch (get_type) {
+ case CC_GET_LUT_TV: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.tv", "null");
+ }
+ break;
+ case CC_GET_LUT_AV: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.av", "null");
+ }
+ break;
+ case CC_GET_LUT_COMP: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.comp", "null");
+ }
+ break;
+ case CC_GET_LUT_HDMI: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.hdmi", "null");
+ }
+ break;
+ case CC_GET_LUT_VGA: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.vga", "null");
+ }
+ break;
+ case CC_GET_LUT_MPEG: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.mpeg", "null");
+ }
+ break;
+ case CC_GET_LUT_HDMI_4K2K: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.hdmi4k2k", "null");
+ }
+ break;
+ case CC_GET_LUT_USB_4K2K: {
+ config_value = config_get_str("TV", "audio.amp.master.noline.point.data.usb4k2k", "null");
+ }
+ break;
+ default: {
+ config_value = "null";
+ }
+ break;
+ }
+ }
+ if (strcasecmp(config_value, "null") == 0) {
+ //LOGE("%s, can't get config \"%s\"!!!\n", "TV", key_str);
+ return -1;
+ }
+
+ char *pSave;
+ char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
+
+ memset((void *)data_str, 0, sizeof(data_str));
+ strncpy(data_str, config_value, sizeof(data_str) - 1);
+ char *token = strtok_r(data_str, ",", &pSave);
+ int bufferDataIndex = 0;
+ while (token != NULL) {
+ data_buf[bufferDataIndex] = strtol(token, NULL, 10);
+ bufferDataIndex ++;
+ token = strtok_r(NULL, ",", &pSave);
+ }
+
+ return 0;
+}
+
+int GetDefault_EQGain_Table(int *EqTable)
+{
+ memcpy(EqTable, Default_EQGain_Table, sizeof(Default_EQGain_Table));
+
+ return 0;
+}
+
+int GetAudioEQPresetBufferPtr(int *EqTable)
+{
+ int bufs_count = 0, buf_item_count = 0;
+ const char *config_value = config_get_str("TV", "audio.eq.presetbuf", "null");
+ if (strcasecmp(config_value, "null") == 0) {
+ return -1;
+ }
+
+ char *pSave;
+ char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
+
+ memset((void *)data_str, 0, sizeof(data_str));
+ strncpy(data_str, config_value, sizeof(data_str) - 1);
+ char *token = strtok_r(data_str, ",", &pSave);
+ int allIndex = 0, bufferDataIndex = 0;
+ while (token != NULL) {
+ if (allIndex == 0) {
+ bufs_count = strtol(token, NULL, 10);
+ } else if (allIndex == 1) {
+ buf_item_count = strtol(token, NULL, 10);
+ } else if (allIndex >= 2) {
+ EqTable[bufferDataIndex] = strtol(token, NULL, 10);
+ bufferDataIndex ++;
+ }
+
+ token = strtok_r(NULL, ",", &pSave);
+ allIndex ++;
+ }
+
+ return 0;
+}
+
+/**
+ * @param:get_type
+ * @return:data_buf
+ */
+const char *GetAudioAmpMainvolTableBaseName(int get_type)
+{
+ return AudioAmpMainVolLutBaseNameTable[get_type];
+}
+
+int GetAudioAmpMainvolBuf(const char *TableKeyName, int data_buf[])
+{
+ int bufs_count = 0, buf_item_count = 0;
+ const char *config_value;
+
+ config_value = config_get_str("TV", TableKeyName, "null");
+ if (strcasecmp(config_value, "null") == 0) {
+ return -1;
+ }
+ char *pSave;
+ char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
+ memset((void *)data_str, 0, sizeof(data_str));
+ strncpy(data_str, config_value, sizeof(data_str) - 1);
+ char *token = strtok_r(data_str, ",", &pSave);
+ int allIndex = 0, bufferDataIndex = 0;
+ while (token != NULL) {
+ if (allIndex == 0) {
+ bufs_count = strtol(token, NULL, 10);
+ } else if (allIndex == 1) {
+ buf_item_count = strtol(token, NULL, 10);
+ } else if (allIndex >= 2) {
+ data_buf[bufferDataIndex] = strtol(token, NULL, 10);
+ bufferDataIndex ++;
+ }
+ token = strtok_r(NULL, ",", &pSave);
+ allIndex ++;
+ }
+
+ return 0;
+}
+
+/**
+ * @param:get_type
+ * @return:data_buf
+ */
+int GetAudioAmpSupbassvolBuf(int get_type, int data_buf[])
+{
+ int bufs_count = 0, buf_item_count = 0;
+ const char *config_value;
+
+ switch (get_type) {
+ case CC_GET_LUT_TV: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.tv.lutbuf", "null");
+ }
+
+ break;
+ case CC_GET_LUT_AV: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.av.lutbuf", "null");
+ }
+ break;
+ case CC_GET_LUT_COMP: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.comp.lutbuf", "null");
+ }
+ break;
+ case CC_GET_LUT_HDMI: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.hdmi.lutbuf", "null");
+ }
+ break;
+ case CC_GET_LUT_VGA: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.vga.lutbuf", "null");
+ }
+
+ break;
+ case CC_GET_LUT_MPEG: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.mpeg.lutbuf", "null");
+ }
+
+ break;
+ case CC_GET_LUT_HDMI_4K2K: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.hdmi4k2k.lb.name", "null");
+ }
+
+ break;
+ case CC_GET_LUT_USB_4K2K: {
+ config_value = config_get_str("TV", "audio.amp.supbassvol.usb4k2k.lb.name", "null");
+ }
+
+ break;
+ default: {
+ config_value = "null";
+ }
+ break;
+ }
+
+ if (strcasecmp(config_value, "null") == 0) {
+ return -1;
+ }
+ char *pSave;
+ char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
+ memset((void *)data_str, 0, sizeof(data_str));
+ strncpy(data_str, config_value, sizeof(data_str) - 1);
+ char *token = strtok_r(data_str, ",", &pSave);
+ int allIndex = 0, bufferDataIndex = 0;
+ while (token != NULL) {
+ if (allIndex == 0) {
+ bufs_count = strtol(token, NULL, 10);
+ } else if (allIndex == 1) {
+ buf_item_count = strtol(token, NULL, 10);
+ } else if (allIndex >= 2) {
+ data_buf[bufferDataIndex] = strtol(token, NULL, 10);
+ bufferDataIndex ++;
+ }
+ token = strtok_r(NULL, ",", &pSave);
+ allIndex ++;
+ }
+
+ return 0;
+}
+
+int GetAudioAmplifierMasterNoLineSwitchFlag()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.master.noline.switch", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioAmplifierSupperBassNoLineSwitchFlag()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.supperbass.noline.switch", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioAmplifierMasterNoLinePointsCount()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.master.noline.point.cnt", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 11;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioAmplifierSupperBassNoLinePointsCount()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.supperbass.noline.point.cnt", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 5;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioAmplifierBalanceExchangeCFG()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.balance.exchg", "null");
+
+ // if (data_buf[0] >= 0 && data_buf[0] <= 100) {
+ // LOGD("%s, we have get the index buffer.\n", "TV");
+ // return 0;
+ // }
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0; //return 0 to disable balance exchange
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioMainVolLutBufCFGIndexModifyEnable()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.master.cfgindex.mod.en", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+int GetAudioMainVolLutBufNameModifyUbootenvCFG()
+{
+ char config_value[PROPERTY_VALUE_MAX];
+
+ memset(config_value, '\0', 32);
+ property_get("ubootenv.var.ampindex", config_value, "null");
+
+ if (strcasecmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+
+int GetAudioMainVolLutBufNameModifyEnableCFG()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.mainvol.lutbufname.mod.en", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+
+int GetAudioSupperBassVolLutBufCFGIndexModifyEnable()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.supperbass.cfgindex.mod.en", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+int GetAudioSupperBassVolLutBufNameModifyEnableCFG()
+{
+ const char *config_value = config_get_str("TV", "audio.amp.supbassvol.lutbufname.mod.en", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+
+int GetAudioDVISupportEnable()
+{
+ const char *config_value = config_get_str("TV", "audio.dvi.support.enable", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+
+int GetTvAudioCardName(char tv_card_name_buf[])
+{
+ const char *value = config_get_str("TV", "audio.tv.card.name", "null");
+
+ strcpy(tv_card_name_buf, value);
+ if (strcmp(value, "null") == 0) {
+ strcpy(tv_card_name_buf, "AMLSYNO9629");
+ }
+
+ return 0;
+}
+
+int GetTvAudioCardNeedSet()
+{
+ const char *config_value = config_get_str("TV", "audio.tv.card.needset", "null");
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ if (strtoul(config_value, NULL, 10) == 0) {
+ return 0;
+ }
+
+ return 1;
+}
+
+int GetAudioEffectAmplifierGainCfg(const char *cfg_name, int def_gain_val, int max_gain_val)
+{
+ int tmp_val;
+ const char *config_value = config_get_str("TV", cfg_name, "null");
+ if (strcmp(config_value, "null") == 0) {
+ tmp_val = def_gain_val;
+ } else {
+ tmp_val = strtoul(config_value, NULL, 10);
+ if (tmp_val < 0 || tmp_val > max_gain_val) {
+ tmp_val = def_gain_val;
+ }
+ }
+ LOGD("%s = %d\n", cfg_name, tmp_val);
+ return tmp_val;
+}
+
+
+int GetAudioSRSSourroundEnableCFG()
+{
+ const char *config_value = config_get_str("TV", "audio.srs.sourround.enable", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+int GetAudioSRSGainCfg(const char *cfg_name, int def_gain_val)
+{
+ int tmp_val = 0;
+ const char *config_value = config_get_str("TV", cfg_name, "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ tmp_val = def_gain_val;
+ } else {
+ if (tmp_val < 0 || tmp_val > 100) {
+ tmp_val = def_gain_val;
+ LOGE("Error setting: %s = %d (0~100)\n", cfg_name, tmp_val);
+ }
+ tmp_val = strtoul(config_value, NULL, 10);
+ }
+ //LOGD(" %s = %d\n", cfg_name, tmp_val);
+ return tmp_val;
+}
+
+int GetAudioSRSSupperBassTrubassSpeakerSizeCfg()
+{
+ char cfg_name[128] = { 0 };
+
+ strcpy(cfg_name, "audio.srs.turbass.speakersize");
+
+ const char *config_value = config_get_str("TV", cfg_name, "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return -1;
+ }
+
+ int tmp_val = strtoul(config_value, NULL, 10);
+ if (tmp_val < 0 || tmp_val > 7) {
+ tmp_val = -1;
+ }
+
+ return tmp_val;
+}
+
+int GetAudioDumpDataEnableFlagCfg()
+{
+ const char *config_value = config_get_str("TV", "audio.dump.data.en", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioSupperBassSwitchDisableCFG()
+{
+ const char *config_value = config_get_str("TV", "audio.supperbass.switch.disable", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+int GetAudioWallEffectTypeCfg()
+{
+ const char *config_value = config_get_str("TV", "audio.walleffect.type", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 0;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int Get2d4gHeadsetEnable()
+{
+ const char *config_value = config_get_str ( "TV", "tvin.2d4G.headset.en", "null" );
+ if (strcmp(config_value, "enable") == 1) {
+ return 1;
+ }
+
+
+ return 0;
+}
+
+const char *GetAudExtDacLibPath()
+{
+ return config_get_str("TV", "audio.external.dac.libpath", "/system/lib/libdac.so");
+}
+
+int GetKaraokAvEnable()
+{
+ const char *config_value = config_get_str("TV", "audio.switch.karaok.av.enable", "null");
+ if (strtoul(config_value, NULL, 10) == 1)
+ return 1;
+
+ return 0;
+}
+
+int GetDefaultAvOutGainBuf(int *nAvoutTable)
+{
+ memcpy(nAvoutTable, Default_AVoutGain_Table, sizeof(Default_AVoutGain_Table));
+
+ return 0;
+}
+
+int GetAvOutGainBuf_Cfg(int *nAvoutTable)
+{
+ int bufs_count = 0, buf_item_count = 0;
+ const char *config_value = config_get_str("TV", "audio.avoutgain.presetbuf", "null");
+ if (strcasecmp(config_value, "null") == 0) {
+ // LOGE("%s, can't get config \"%s\"!!!\n", "TV", key_str);
+ return -1;
+ }
+
+ char *pSave;
+ char data_str[CC_CFG_VALUE_STR_MAX_LEN] = { 0 };
+
+ memset((void *)data_str, 0, sizeof(data_str));
+ strncpy(data_str, config_value, sizeof(data_str) - 1);
+ char *token = strtok_r(data_str, ",", &pSave);
+ int allIndex = 0, bufferDataIndex = 0;
+ while (token != NULL) {
+ if (allIndex == 0) {
+ bufs_count = strtol(token, NULL, 10);
+ } else if (allIndex == 1) {
+ buf_item_count = strtol(token, NULL, 10);
+ } else if (allIndex >= 2) {
+ nAvoutTable[bufferDataIndex] = strtol(token, NULL, 10);
+ bufferDataIndex ++;
+ }
+
+ token = strtok_r(NULL, ",", &pSave);
+ allIndex ++;
+ }
+
+ return 0;
+}
+
+int GetADCDigitalCaptureVol_Cfg(void)
+{
+ int capture_vol = 0;
+ const char *config_value = config_get_str("TV", "audio.adc.digital.capture.vol", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return -1;
+ }
+
+ return strtoul(config_value, NULL, 10);
+}
+
+int GetAudioInternalDacPGAInGain_Cfg(void)
+{
+ const char *config_value = config_get_str("TV", "audio.internal.dac.pga_in.gain", "null");
+
+ if (strcmp(config_value, "null") == 0) {
+ return 16;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioInternalDACDigitalPlayBackVolume_Cfg(int audio_src_in_type)
+{
+ const char *config_value = NULL;
+
+ if (audio_src_in_type == 2) { // CC_AUDIO_IN_SOURCE_HDMI
+ config_value = config_get_str("TV", "audio.internal.dac.playback.volume_hdmi", "null");
+ } else if (audio_src_in_type == 0) { // CC_AUDIO_IN_SOURCE_LINEIN
+ config_value = config_get_str("TV", "audio.internal.dac.playback.volume_linein", "null");
+ } else if (audio_src_in_type == 1) { // CC_AUDIO_IN_SOURCE_ATV
+ config_value = config_get_str("TV", "audio.internal.dac.playback.volume_atv", "null");
+ }
+
+ if (strcmp(config_value, "null") == 0) {
+ return 255;
+ }
+
+ return strtol(config_value, NULL, 10);
+}
+
+int GetAudioOutputSwapStatus(tv_source_input_t source_input)
+{
+ int sw_status = 0;
+ const char *config_value = config_get_str("TV", "audio.output.swap.enable", "null");
+ if ( strcmp ( config_value, "enable" ) == 0 ) {
+ switch (source_input) {
+ case SOURCE_AV1:
+ config_value = config_get_str("TV", "audio.output.swap.av1", "null");
+ break;
+ case SOURCE_AV2:
+ config_value = config_get_str("TV", "audio.output.swap.av2", "null");
+ break;
+ case SOURCE_HDMI1:
+ config_value = config_get_str("TV", "audio.output.swap.hdmi1", "null");
+ break;
+ case SOURCE_HDMI2:
+ config_value = config_get_str("TV", "audio.output.swap.hdmi2", "null");
+ break;
+ case SOURCE_HDMI3:
+ config_value = config_get_str("TV", "audio.output.swap.hdmi3", "null");
+ break;
+ case SOURCE_TV:
+ config_value = config_get_str("TV", "audio.output.swap.tv", "null");
+ break;
+ case SOURCE_DTV:
+ config_value = config_get_str("TV", "audio.output.swap.dtv", "null");
+ break;
+ case SOURCE_MPEG:
+ config_value = config_get_str("TV", "audio.output.swap.mpeg", "null");
+ break;
+ default:
+ break;
+ }
+
+ }
+
+ sw_status = atoi ( config_value );
+ return sw_status;
+}
+
+int GetAudioArchitectureTypeCFG()
+{
+ static int architecture_type = -1;
+ const char *config_value = NULL;
+
+ config_value = config_get_str ( "TV", "audio.architecture.type", "null" );
+ if (strcasecmp(config_value, "null") == 0) {
+ architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC;
+ } else if ((strcasecmp(config_value, "t866_external_dac_offboard_fbc") == 0) || (strcasecmp(config_value, "g9tv_external_dac_offboard_fbc") == 0)) {
+ architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_OFF_BOARD_FBC;
+ } else if ((strcasecmp(config_value, "t866_external_dac_offboard_customer_lib") == 0) || (strcasecmp(config_value, "g9tv_external_dac_customer_lib") == 0)) {
+ architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_CUSTOMER_LIB;
+ } else if ((strcasecmp(config_value, "t866_external_dac_offboard_digital") == 0) || (strcasecmp(config_value, "g9tv_external_dac_digital") == 0)) {
+ architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_DIGITAL;
+ } else if ((strcasecmp(config_value, "t866_external_dac_onboard") == 0) || (strcasecmp(config_value, "g9tv_external_dac_onboard") == 0)) {
+ architecture_type = CC_DAC_G9TV_EXTERNAL_DAC_ON_BOARD;
+ } else if ((strcasecmp(config_value, "t866_iternal_dac") == 0) || (strcasecmp(config_value, "g9tv_iternal_dac") == 0)) {
+ architecture_type = CC_DAC_G9TV_INTERNAL_DAC;
+ }
+
+ return architecture_type;
+}
+
+static int gAudioResampleType = -1;
+int GetAudioResampleTypeCFG()
+{
+ char *token = NULL;
+ const char *strDelimit = ",";
+ const char *config_value = NULL;
+ char cfg_buf[1024];
+
+ if (gAudioResampleType == -1) {
+ gAudioResampleType = 0;
+
+ char *pSave;
+ config_value = config_get_str ( "TV", "audio.resample.type", "null" );
+ strncpy(cfg_buf, config_value, sizeof(cfg_buf));
+ if (strcmp(cfg_buf, "") != 0) {
+ token = strtok_r(cfg_buf, strDelimit, &pSave);
+ while (token != NULL) {
+ if (strcasecmp(token, "hw") == 0) {
+ gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_HW;
+ } else if (strcasecmp(token, "sw") == 0) {
+ gAudioResampleType |= CC_AUD_RESAMPLE_TYPE_SW;
+ }
+
+ token = strtok_r(NULL, strDelimit, &pSave);
+ }
+ } else {
+ gAudioResampleType = CC_AUD_RESAMPLE_TYPE_SW; //if can't find config string, allow sw resample
+ }
+ }
+
+ return gAudioResampleType;
+}
+