/* SPDX-License-Identifier: LGPL-2.1-only OR BSD-3-Clause */
/******************************************************************************
 *
 * This file is provided under a dual license.  When you use or
 * distribute this software, you may choose to be licensed under
 * version 2.1 of the GNU Lesser General Public License
 * ("LGPLv2.1 License") or BSD License.
 *
 * LGPLv2.1 License
 *
 * Copyright(C) 2019 MediaTek Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of version 2.1 of the GNU Lesser General Public
 * License as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html for more
 * details.
 *
 * BSD LICENSE
 *
 * Copyright(C) 2019 MediaTek Inc.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *  * Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *  * Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *  * Neither the name of the copyright holder nor the names of its
 *    contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 *****************************************************************************/


/*-----------------------------------------------------------------------------
 *
 * $Author$
 * $Date$
 * $RCSfile: mtk_QtyTbl.h,v $
 * $Revision$
 *
 *---------------------------------------------------------------------------*/

#ifndef _QTY_TBL_H_
#define _QTY_TBL_H_

#include "general.h"
#include "typedef.h"
#include "drv_default.h"

////////////////////////////////////////////////////////////////////////////////

UINT16 const DEMO_MODE_BEFORE_SCALER_ARG[][DEMO_MODE_BEFORE_SCALER_END] =
{
//   TDC    HS1    NR    DI   MJC
    {385,   358,  367,  366,  340},     // 480
    {378,   358,  367,  366,    0},     // 576
    {  0,   634,  648,    0,  702},     // 720
    {  0,   714,  726,  974,    0}      // 1080
};

UINT16 const DEMO_MODE_AFTER_SCALER_ARG[][DEMO_MODE_AFTER_SCALER_END] =
{
//  VS   MLC
    {678,  678},  // 768
    {964,  964}  // 1080
};

////////////////////////////////////////////////////////////////////////////////
tagDFT_QTY aDefaultQtyTbl[QUALITY_MAX] =
{
    // GENERAL
    {0x20, 0xFF, 0x80, FROM_DFT, QUALITY_CONTRAST},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CONTRAST_MSB},
    {0x00, 0xFF, 0x80, FROM_DFT, QUALITY_BRIGHTNESS},
    {0x00, 0xFF, 0x80, FROM_DFT, QUALITY_SATURATION},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SATURATION_MSB},
    {0x00, 0xFF, 0x80, FROM_DFT, QUALITY_HUE}, 
    {0x80, 0x80, 0x80, FROM_DFT, QUALITY_BACKLIGHT},
    // HSHARP
    {0x40, 0x60, 0x40, FROM_DFT, QUALITY_HSHARP_LOW},
    {0x40, 0x60, 0x40, FROM_DFT, QUALITY_HSHARP_LOW_NEG},
    {0x40, 0x55, 0x43, FROM_DFT, QUALITY_HSHARP_MID},
    {0x40, 0x55, 0x43, FROM_DFT, QUALITY_HSHARP_MID_NEG},
    {0x40, 0x55, 0x45, FROM_DFT, QUALITY_HSHARP_HIGH},
    {0x40, 0x55, 0x45, FROM_DFT, QUALITY_HSHARP_HIGH_NEG},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_LOW_CORING},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_MID_CORING},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_HIGH_CORING},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_LOW_LIMIT_POS},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_LOW_LIMIT_NEG},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_MID_LIMIT_POS},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_MID_LIMIT_NEG},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_HIGH_LIMIT_POS},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_HSHARP_HIGH_LIMIT_NEG},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_CLIP_POS_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_CLIP_NEG_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_POS_EN_L},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_NEG_EN_L},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_POS_EN_M},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_NEG_EN_M},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_POS_EN_H},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_GB_CLIP_NEG_EN_H},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_HSHARP_CLIP_FRONT_THR_LOW},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_HSHARP_CLIP_FRONT_THR_HIGH},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_HSHARP_CLIP_POS},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_HSHARP_CLIP_NEG},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_SOFT_CLIP_GAIN},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_LOW},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_LOW_NEG},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_MID},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_MID_NEG},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_HIGH},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_HSHARP_LC_HIGH_NEG},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_LC_LOW_CORING},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_LC_MID_CORING},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_LC_HIGH_CORING},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_LOW_LIMIT_POS},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_LOW_LIMIT_NEG},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_MID_LIMIT_POS},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_MID_LIMIT_NEG},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_HIGH_LIMIT_POS},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_HSHARP_LC_HIGH_LIMIT_NEG},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_LC_CLIP_POS_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_HSHARP_LC_CLIP_NEG_EN},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_HSHARP_LC_TABLE_SEL},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_HSHARP_LC_TABLE_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_LC_TABLE_OFFSET},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_AC_LPF_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_HSHARP_AC_LPF_COEF},
    // IBSE
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IBSE_ENA},
    {0x00, 0x00, 0x4B, FROM_DFT, QUALITY_IBSE_MID_BAND_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IBSE_MID_BAND_TBL_IDX},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IBSE_YLEV_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IBSE_YLEV_ADAP_ENA},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IBSE_YLEV_P1},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IBSE_YLEV_P2},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_IBSE_YLEV_P3},
    {0x00, 0x00, 0x0E, FROM_DFT, QUALITY_IBSE_YLEV_P4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IBSE_YLEV_G1},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_IBSE_YLEV_G2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_IBSE_YLEV_G3},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_IBSE_YLEV_G4},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_IBSE_COR_ZERO},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_IBSE_COR_RATIO},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IBSE_COR_THR},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_IBSE_GAIN},
    {0x00, 0x00, 0x18, FROM_DFT, QUALITY_IBSE_LIMIT},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_IBSE_LIMIT_RATIO},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_IBSE_BOUND},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IBSE_CLIP_EN},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_IBSE_CLIP_RATIO},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_IBSE_CLIP_THR},
    // IRR
    #if 0
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IRR_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_FILTER},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_IRR_FILTER_CLIP},
    {0x00, 0x00, 0x07, FROM_DFT, QUALITY_IRR_LEVEL},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_IRR_TAP},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_IRR_EDGE_TH},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_IRR_EDGE_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_LF_TH},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_LF_SLOPE},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_IRR_HF_TH},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_IRR_HF_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_RIPPLE_TH},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IRR_DEACY_ER},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_DEACY_TH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_FLAT_TH},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_IRR_FLAT_SLOPE},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_FLAT_LEVEL},
    #endif
    //TDSHARP
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_H3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_D1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_D2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_D3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_V1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_V2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_ZERO_V3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_H3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_D1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_D2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_D3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_V1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_V2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_RATIO_V3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_H3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_D1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_D2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_D3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_V1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_V2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COR_THR_V3},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_H1},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_H2},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_H3},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_D1},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_D2},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_D3},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_V1},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_V2},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_GAIN_V3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_H1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_H2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_H3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_D1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_D2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_D3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_V1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_V2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_LIMIT_V3},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_H1},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_H2},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_H3},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_D1},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_D2},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_D3},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_V1},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_V2},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARP_LIMIT_RATIO_V3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_H1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_H2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_H3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_D1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_D2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_D3},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_V1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_V2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_BOUND_V3},    
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_TDS_V_FILTER_SEL},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_TDS_H_FILTER_SEL},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_EDF_GAIN_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_EDF_SEL},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_COMBINE_MODE},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_EDGE_RANK_SEL},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_DETAIL_RANK_SEL},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_FLAT_STEP},
	{0x00, 0x00, 0x05, FROM_DFT, QUALITY_TDSHARP_FLAT_TH},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_DETAIL_STEP},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_DETAIL_TH},
	{0x00, 0x00, 0x08, FROM_DFT, QUALITY_TDSHARP_EDGE_STEP},
	{0x00, 0x00, 0x50, FROM_DFT, QUALITY_TDSHARP_EDGE_TH},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TDSHARP_CLIP_RATIO_H},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_CLIP_THR_H},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDGE_GAIN_H},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_DETAIL_GAIN_H},  
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TDSHARP_CLIP_RATIO_V},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_CLIP_THR_V},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDGE_GAIN_V},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_DETAIL_GAIN_V}, 
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TDSHARP_CLIP_RATIO_D},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARP_CLIP_THR_D},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDGE_GAIN_D},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_DETAIL_GAIN_D},
	{0x00, 0x00, 0x02, FROM_DFT, QUALITY_TDSHARP_EDF_FLAT_TH},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_TDSHARP_EDF_FLAT_SLOPE},
	{0x00, 0x00, 0x02, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_RISE_TH},
	{0x00, 0x00, 0x05, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_RISE_SLOPE},
	{0x00, 0x00, 0xA0, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_FALL_TH},
	{0x00, 0x00, 0x1A, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_FALL_SLOPE},
	{0x00, 0x00, 0xA0, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_TH},
	{0x00, 0x00, 0x1A, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_SLOPE},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_FLAT_GAIN_H},
	{0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_GAIN_H},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_H},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_H_NEG},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_FLAT_GAIN_D},
	{0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_GAIN_D},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_D},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_D_NEG},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_FLAT_GAIN_V},
	{0x00, 0x00, 0x40, FROM_DFT, QUALITY_TDSHARP_EDF_DETAIL_GAIN_V},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_V},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_TDSHARP_EDF_EDGE_GAIN_V_NEG},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_MODE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_CLIP_EN},
    {0x00, 0x00, 0x3F, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_LIMIT},
    {0x00, 0x00, 0x1F, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_RATIO},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_TDSHARP_TDS_TAP_SRATIO},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_TDS_VERT_TAP_APT_EN},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_TDSHARP_TDS_VERT_TAP_APT_SLOPE},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_TDSHARP_TDS_VERT_TAP_APT_EDGE},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_TDSHARP_TDS_VERT_TAP_APT_DIFF},
	{0x00, 0x00, 0x02, FROM_DFT, QUALITY_TDSHARP_TDS_VERT_TAP_APT_BACK},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_EN},
	{0x00, 0x00, 0x03, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_SLOPE},
	{0x00, 0x00, 0x03, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_EDGE},
	{0x00, 0x00, 0x06, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_DIFF},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_BACK_0},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_BACK_1},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_BACK_2},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_BACK_3},
	{0x00, 0x00, 0x08, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_BACK_H2},
	{0x00, 0x00, 0x08, FROM_DFT, QUALITY_TDSHARP_TDS_HORIZ_TAP_APT_EDGE_H2}, 
    // LTI
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_FLT_LTI_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_ZERO_LTI_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_RATIO_LTI_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_THR_LTI_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_GAIN_LTI_H1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_LIMIT_LTI_H1},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_LTI_LIMIT_RATIO_LTI_H1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_BOUND_LTI_H1},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_LTI_CLIP_RATIO_LTI_H1},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_CLIP_THR_LTI_H1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_FLT_LTI_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_ZERO_LTI_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_RATIO_LTI_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_THR_LTI_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_GAIN_LTI_H2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_LIMIT_LTI_H2},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_LTI_LIMIT_RATIO_LTI_H2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_BOUND_LTI_H2},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_LTI_CLIP_RATIO_LTI_H2},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_CLIP_THR_LTI_H2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_FLT_LTI_V},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_ZERO_LTI_V},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_RATIO_LTI_V},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_COR_THR_LTI_V},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LTI_GAIN_LTI_V},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_LIMIT_LTI_V},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_LTI_LIMIT_RATIO_LTI_V},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_BOUND_LTI_V},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_LTI_CLIP_RATIO_LTI_V},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LTI_CLIP_THR_LTI_V},
    // PBC
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC1_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC1_EDGE_EN},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_PBC_PBC1_EDGE_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC1_LPF_EN},   
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_PBC_PBC1_LPF_LEVEL},    
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_CORING_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_GAIN_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC1_LIMIT_V3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC2_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC2_EDGE_EN},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_PBC_PBC2_EDGE_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC2_LPF_EN},   
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_PBC_PBC2_LPF_LEVEL},    
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_CORING_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_GAIN_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC2_LIMIT_V3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC3_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC3_EDGE_EN},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_PBC_PBC3_EDGE_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_PBC_PBC3_LPF_EN},   
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_PBC_PBC3_LPF_LEVEL},    
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_CORING_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_GAIN_V3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_H1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_H2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_H3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_D1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_D2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_D3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_V1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_V2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_PBC_PBC3_LIMIT_V3},
    //TDSHARPALL
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_COR_ZERO},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_COR_RATIO},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_COR_THR},
    {0x00, 0x80, 0x20, FROM_DFT, QUALITY_TDSHARPALL_GAIN_POS},
    {0x00, 0x80, 0x20, FROM_DFT, QUALITY_TDSHARPALL_GAIN_NEG},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARPALL_LIMIT},
    {0x00, 0x00, 0x0F, FROM_DFT, QUALITY_TDSHARPALL_LIMIT_RATIO},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARPALL_BOUND},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TDSHARPALL_CLIP_RATIO},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARPALL_CLIP_POS},
    {0x00, 0x00, 0xFF, FROM_DFT, QUALITY_TDSHARPALL_CLIP_NEG},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_SAT_PROC},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_AC_LPF_COE},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARPALL_YLEV_EN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TDSHARPALL_YLEV_ALPHA},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_YLEV_SEL},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARPALL_YLEV_ADAP_ENA},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARPALL_YLEV_ADL_ENA},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARPALL_YLEV_APL_ENA},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARPALL_YLEV_ADL_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TDSHARPALL_YLEV_APL_ZERO},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_TDSHARPALL_YLEV_APL_THR},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_YLEV_P1},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_TDSHARPALL_YLEV_P2},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_TDSHARPALL_YLEV_P3},
    {0x00, 0x00, 0x0E, FROM_DFT, QUALITY_TDSHARPALL_YLEV_P4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TDSHARPALL_YLEV_G1},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_TDSHARPALL_YLEV_G2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARPALL_YLEV_G3},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_TDSHARPALL_YLEV_G4},
    // Quality Table of FREQ_ANALYZER
    {0x00, 0x00, 0x1E, FROM_DFT, QUALITY_FREQ_ANALYZER_VHPF_DEAD_ZONE},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_FREQ_ANALYZER_HHPF_DEAD_ZONE},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_FREQ_ANALYZER_HHPF_NORMALIZ},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_FREQ_ANALYZER_HBPF_DEAD_ZONE},
    {0x00, 0x00, 0x07, FROM_DFT, QUALITY_FREQ_ANALYZER_HBPF_NORMALIZ},
	// Quality Table of TDSHARP_3D	  
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TTD_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TTD_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TTD_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_VGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_HGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_DGAIN},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_VGAIN}, 

	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_FS_VCLIP},
	{0x00, 0x00, 0x70, FROM_DFT, QUALITY_TDSHARP_3D_TTD_HCLIP},
	{0x00, 0x00, 0x70, FROM_DFT, QUALITY_TDSHARP_3D_TTD_DCLIP},
	{0x00, 0x00, 0x70, FROM_DFT, QUALITY_TDSHARP_3D_TTD_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SBS_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_TB_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_SS_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_RD_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_LI_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_CB_VCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_HCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_DCLIP},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_TDSHARP_3D_DA_VCLIP},

    //CTIF
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CTIF_ENA},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CTIF_HD},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_LPF1},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_CTIF_LPF1_SEL},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_FLPF},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_CTIF_FLPF_SEL},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_CTIF_U_WND_SZ},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_CTIF_V_WND_SZ},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CTIF_U_STB_GAIN},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CTIF_V_STB_GAIN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_CTIF_U_STB_OFST1},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_CTIF_V_STB_OFST1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_U_STB_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_V_STB_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_FLAT_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_FLAT_OFST1},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_CTIF_FLAT_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIF_COR},
    // CTIR
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CTIR_ENA},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CTIR_HD},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_LPF1},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_CTIR_LPF1_SEL},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_FLPF},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_CTIR_FLPF_SEL},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_CTIR_U_WND_SZ},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_CTIR_V_WND_SZ},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CTIR_U_STB_GAIN},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CTIR_V_STB_GAIN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_CTIR_U_STB_OFST1},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_CTIR_V_STB_OFST1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_U_STB_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_V_STB_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_FLAT_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_FLAT_OFST1},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_CTIR_FLAT_OFST2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_CTIR_COR},
    // CBE
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CBE_WEI_IT3},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_CBE_WEI_IT5},
    // IRR //S Customization
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IRR_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_FILTER},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_IRR_FILTER_CLIP},
    {0x00, 0x00, 0x07, FROM_DFT, QUALITY_IRR_LEVEL},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_IRR_TAP},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_IRR_EDGE_TH},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_IRR_EDGE_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_LF_TH},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_LF_SLOPE},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_IRR_HF_TH},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_IRR_HF_SLOPE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_RIPPLE_TH},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_IRR_DEACY_ER},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_DEACY_TH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_IRR_FLAT_TH},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_IRR_FLAT_SLOPE},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_IRR_FLAT_LEVEL},
    //SRS    
    {0x00, 0xFF, 0x7F, FROM_DFT, QUALITY_SRS_GAIN},
	//Husky new add SRS
	
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SR_EN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_AMP_WGT_FB_M},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_AMP_WGT_FB_H},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_SRS_AMP_WGT_VEC_M},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_AMP_WGT_VEC_H},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_AMP_WGT_PK_M},
    {0x00, 0x00, 0x18, FROM_DFT, QUALITY_SRS_AMP_WGT_PK_H},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_SRS_GAIN_PK},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_CORING_RATIO_PK},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_CORING_THR_PK},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_SRS_CORING_ZERO_PK},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_SOFTLIMIT_PK_LIMIT},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_SRS_SOFTLIMIT_PK_BOUND},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_SOFTLIMIT_PK_RATIO},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SOFTLIMIT_PK_EN},
    {0x00, 0x00, 0x32, FROM_DFT, QUALITY_SRS_GAIN_VEC},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_CORING_RATIO_VEC},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_CORING_THR_VEC},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_SRS_CORING_ZERO_VEC},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_SOFTLIMIT_VEC_LIMIT},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_SRS_SOFTLIMIT_VEC_BOUND},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_SOFTLIMIT_VEC_RATIO},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SOFTLIMIT_VEC_EN},
    {0x00, 0x00, 0x50, FROM_DFT, QUALITY_SRS_GAIN_FB},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_CORING_RATIO_FB},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_CORING_THR_FB},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_SRS_CORING_ZERO_FB},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_SRS_SOFTLIMIT_FB_LIMIT},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_SRS_SOFTLIMIT_FB_BOUND},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_SRS_SOFTLIMIT_FB_RATIO},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SOFTLIMIT_FB_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_LOCALRANGE_EN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_LOCALRANGE_THR},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_LOCALRANGE_SLOPE},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_GAIN_SR_NEG},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_GAIN_SR_POS},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_CORING_RATIO_SR},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_CORING_ZERO_SR},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_SRS_CORING_THR_SR},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_SOFTLIMIT_LIMIT},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SOFTLIMIT_EN},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_SOFTLIMIT_RATIO},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_SRS_SOFTLIMIT_BOUND},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_SOFTCLIP_THR},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_SOFTCLIP_RATIO},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_SOFTCLIP_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_YLEV_EN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_YLEV_ALPHA},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_YLEV_SHP_P0},
    {0x00, 0x00, 0x18, FROM_DFT, QUALITY_SRS_YLEV_SHP_P16},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_YLEV_SHP_P32},
    {0x00, 0x00, 0x48, FROM_DFT, QUALITY_SRS_YLEV_SHP_P48},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_SRS_YLEV_SHP_P64},
    {0x00, 0x00, 0x68, FROM_DFT, QUALITY_SRS_YLEV_SHP_P80},
    {0x00, 0x00, 0x70, FROM_DFT, QUALITY_SRS_YLEV_SHP_P96},
    {0x00, 0x00, 0x78, FROM_DFT, QUALITY_SRS_YLEV_SHP_P112},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_SRS_YLEV_SHP_P128},
    {0x00, 0x00, 0x7B, FROM_DFT, QUALITY_SRS_YLEV_SHP_P144},
    {0x00, 0x00, 0x76, FROM_DFT, QUALITY_SRS_YLEV_SHP_P160},
    {0x00, 0x00, 0x70, FROM_DFT, QUALITY_SRS_YLEV_SHP_P176},
    {0x00, 0x00, 0x6B, FROM_DFT, QUALITY_SRS_YLEV_SHP_P192},
    {0x00, 0x00, 0x66, FROM_DFT, QUALITY_SRS_YLEV_SHP_P208},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_SRS_YLEV_SHP_P224},
    {0x00, 0x00, 0x5B, FROM_DFT, QUALITY_SRS_YLEV_SHP_P240},
    {0x00, 0x00, 0x56, FROM_DFT, QUALITY_SRS_YLEV_SHP_P256},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_SRS_AMP_LPF_COEF},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_AMP_LPF_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_PBC_LPF_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC1_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_PBC1_LPF_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SRS_PBC1_EDGE_EN},
    {0x00, 0x00, 0x30, FROM_DFT, QUALITY_SRS_PBC1_GAIN},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_SRS_PBC1_LPF_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC1_CONF_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC2_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC2_LPF_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC2_EDGE_EN},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_PBC2_GAIN},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_SRS_PBC2_LPF_GAIN},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_SRS_PBC2_CONF_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC3_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC3_LPF_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC3_EDGE_EN},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_SRS_PBC3_GAIN},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_SRS_PBC3_LPF_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_SRS_PBC3_CONF_GAIN},
    // 2DNR
    {0x04, 0x20, 0x10, FROM_DFT, QUALITY_2DNR_NX_BNR_GAIN},
    {0x04, 0x20, 0x10, FROM_DFT, QUALITY_2DNR_NX_MNR_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_EDGE_TH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_LERE_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_LERF_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_LFRE_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_UEDE_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_UEDF_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_UFDE_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_GROUPING_STR},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_MNR_STR_GAIN},
    {0x00, 0x08, 0x04, FROM_DFT, QUALITY_2DNR_NX_SNR_GAIN_Y},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_GAIN_C},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_COST_TH_DIR_ADAP},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_NOISE_COST_MODE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_NOISE_REMOVAL_AUTO_TH_EDGE_STR},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_NOISE_REMOVAL_AUTO_TH_GENERAL_STR},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NR_SNR_MANUAL_AUTO_RATIO},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_THM_SEL},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_THM_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_THM_OFST},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_CHROMA_PRESERVATION},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_DEAD_ZONE_BRIGHT},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_DEAD_ZONE_DARK},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_SNR_DEAD_ZONE_TRANSITION},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_NX_RNR_SNR_THD_RATIO},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_RNR_MAX_TH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_BNR_RNR_TH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_NL_THD_MIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_NL_THD_MAX},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_NL_GAIN_MIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_SNR_NL_GAIN_MAX},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_2DNR_DNR1_FILTER_EN},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_2DNR_DNR1_H_MM_TH},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_2DNR_DNR1_V_MM_TH},
    {0x00, 0x00, 0x3F, FROM_DFT, QUALITY_2DNR_DNR1_DOT_MAX_AMP_TH},
    // 3DNR
    {0x00, 0x00, 0x1, FROM_DFT, QUALITY_3DNR_MCNR_ENABLE},
    {0x00, 0x00, 0x0, FROM_DFT, QUALITY_3DNR_MCNR11_NOISE_METER_ENABLE},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_3DNR_TNR_ACNR_STRENGTH},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_DCNR_ALPHA},
    {0x00, 0x1F, 0x17, FROM_DFT, QUALITY_3DNR_NR_IIR_MAX_WEI},
    {0x00, 0x10, 0x08, FROM_DFT, QUALITY_3DNR_NR_IIR_MAX_WEI_E},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_NL_THD_MIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_NL_THD_MAX},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_8},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_E_8},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MIN_8},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO1_MAX_8},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MIN_8},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_1},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_2},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_TBL_THD_AUTO2_MAX_8},
    {0x0C, 0x24, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_0},
    {0x10, 0x2C, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_1},
    {0x0C, 0x28, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_2},
    {0x08, 0x20, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_3},
    {0x08, 0x14, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_4},
    {0x04, 0x0C, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_5},
    {0x04, 0x04, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_6},
    {0x04, 0x04, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_E_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MIN_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO1_MAX_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MIN_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_MA_AUTO2_MAX_7},
    {0x0C, 0x24, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_C_0},
    {0x10, 0x2C, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_C_1},
    {0x0C, 0x28, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_C_2},
    {0x08, 0x20, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_C_3},
    {0x08, 0x14, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_C_4},
    {0x04, 0x0C, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_C_5},
    {0x04, 0x04, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_C_6},
    {0x04, 0x04, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_C_7},
    {0x00, 0x00, 0x24, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_0},
    {0x00, 0x00, 0x2C, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_1},
    {0x00, 0x00, 0x28, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_4},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_5},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_6},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_NR_TBL_C_E_7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_MOVINGTXR_SUB_WEI_BASE_DFT},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_NR_MOVINGTXR_SUB_WEI_NL_NAG_GAIN_DFT},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_MA_NOISE_ADD_WEI_BASE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_MA_NOISE_ADD_WEI_NL_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_MA_PRTRBTN_ADD_WEI_BASE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_MA_PRTRBTN_ADD_WEI_STILL_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_STILL_GMV_ASSIST_DE_PRTRBTN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_CS_NOISE_ADD_WEI_BASE},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_CS_NOISE_ADD_WEI_NL_GAIN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_CHROMA_MOVINGTXR_SUB_WEI_MAX},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_CHROMA_DC_ADD_WEI_MAX},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_TNR_CHROMA_DC_DIFF_BND},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_3DNR_DNR0_EN},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_3DNR_DNR0_H_MM_TH},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_3DNR_DNR0_V_MM_TH},
    {0x00, 0x00, 0x3F, FROM_DFT, QUALITY_3DNR_DNR0_DOT_MAX_AMP_TH},
    //LCN
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCN_BYP},    
    {0x00, 0x00, 0x7F, FROM_DFT, QUALITY_LCN_LIRE_GAIN},    
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCN_LIRE_YTH},    
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCN_LIRE_YSLOPE}, 
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCN_LIRE_STH},     
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCN_LIRE_SSLOPE},     
    {0x00, 0x00, 0x7F, FROM_DFT, QUALITY_LCN_LSAT_GAIN},    
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_LCN_LSAT_STH},     
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_LCN_LSAT_SSLOPE},    
    //TNR
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_TNR_Y_EN},
    {0x04, 0x10, 0x08, FROM_DFT, QUALITY_TNR_BLEND_RATIO_BLKY},
    {0x04, 0x10, 0x08, FROM_DFT, QUALITY_TNR_BLEND_RATIO_DE}, 
    {0x10, 0x04, 0x08, FROM_DFT, QUALITY_TNR_BLEND_RATIO_TXTR},
    {0x10, 0x04, 0x08, FROM_DFT, QUALITY_TNR_BLEND_RATIO_MV}, 
    {0x10, 0x1F, 0x1C, FROM_DFT, QUALITY_TNR_FLT_STR_MAX},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_TNR_Q_NL},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_TNR_Q_SP},
    {0x00, 0x00, 0x1C, FROM_DFT, QUALITY_TNR_Q_BLKY_Y0},
    {0x00, 0x00, 0x1E, FROM_DFT, QUALITY_TNR_Q_BLKY_Y1},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_BLKY_Y2},
    {0x00, 0x00, 0x1A, FROM_DFT, QUALITY_TNR_Q_BLKY_Y3},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_BLKY_Y4},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_TNR_Q_BLKY_Y5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKY_Y6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKY_Y7},
    {0x00, 0x00, 0x18, FROM_DFT, QUALITY_TNR_Q_BLKC_Y0},
    {0x00, 0x00, 0x1A, FROM_DFT, QUALITY_TNR_Q_BLKC_Y1},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_TNR_Q_BLKC_Y2},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_TNR_Q_BLKC_Y3},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKC_Y4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKC_Y5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKC_Y6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_BLKC_Y7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y0},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y1},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y2},
    {0x00, 0x00, 0x15, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y3},
    {0x00, 0x00, 0x1B, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y4},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y5},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y6},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DETXTR_LVL_Y7},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y0},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y1},
    {0x00, 0x00, 0x1B, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y2},
    {0x00, 0x00, 0x15, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y3},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y5},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y6},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_DE1_BASE_Y7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y0},
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y1},
    {0x00, 0x00, 0x16, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y3},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y4},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y5},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y6},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_DE2TXTR_BASE_Y7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_MV_Y0},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_TNR_Q_MV_Y1},
    {0x00, 0x00, 0x07, FROM_DFT, QUALITY_TNR_Q_MV_Y2},
    {0x00, 0x00, 0x0E, FROM_DFT, QUALITY_TNR_Q_MV_Y3},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_TNR_Q_MV_Y4},
    {0x00, 0x00, 0x1A, FROM_DFT, QUALITY_TNR_Q_MV_Y5},
    {0x00, 0x00, 0x1E, FROM_DFT, QUALITY_TNR_Q_MV_Y6},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_TNR_Q_MV_Y7},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_WVAR_Y0},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_WVAR_Y1},
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_TNR_Q_WVAR_Y2},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_TNR_Q_WVAR_Y3},
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_TNR_Q_WVAR_Y4},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TNR_Q_WVAR_Y5},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TNR_Q_WVAR_Y6},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TNR_Q_WVAR_Y7},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_TNR_Q_WSM_Y0},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_TNR_Q_WSM_Y1},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_TNR_Q_WSM_Y2},
    {0x00, 0x00, 0x09, FROM_DFT, QUALITY_TNR_Q_WSM_Y3},
    {0x00, 0x00, 0x0E, FROM_DFT, QUALITY_TNR_Q_WSM_Y4},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_WSM_Y5},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_TNR_Q_WSM_Y6},
    {0x03, 0x1E, 0x10, FROM_DFT, QUALITY_TNR_Q_WSM_Y7},
    // Adaptive Luma 
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL_ON_1_OFF_0},  
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL2_AL_VERSION},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_HISTOGRAM_MODE},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL2_C_SHP_DSR_EN},
    // Adaptive Luma Version 1: MID
    {0x00, 0xE0, 0x40, FROM_DFT, QUALITY_AL_GAIN},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_AL_OFFSET},
    {0x00, 0x00, 0xC0, FROM_DFT, QUALITY_AL_LIMIT},
    // Adaptive Luma Version 2: MID
	{0x00, 0x00, 0x0F, FROM_DFT, QUALITY_AL2_WEIGHT1},
	{0x00, 0x00, 0x1C, FROM_DFT, QUALITY_AL2_WEIGHT2},	
	{0x40, 0xFF, 0xE1, FROM_DFT, QUALITY_AL2_MID_AC_GAIN},
	{0x00, 0x00, 0x49, FROM_DFT, QUALITY_AL2_MID_DC_GAIN},        
    // Adaptive Luma Version 1: Black Stretch
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL_BWS_BLACK_ON_1_OFF_0},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_AL_BWS_BLACK_LEVEL},
    {0x00, 0x60, 0x20, FROM_DFT, QUALITY_AL_BWS_BLACK_GAIN},
    {0x00, 0x20, 0x08, FROM_DFT, QUALITY_AL_BWS_BLACK_OFFSET},
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_AL_BWS_BLACK_RATIO},
    {0x00, 0x00, 0x14, FROM_DFT, QUALITY_AL_BWS_BLACK_LIMIT},
    // Adaptive Luma Version 2: Black Stretch
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_BWS_BK_EN},
	{0x00, 0x00, 0x07, FROM_DFT, QUALITY_AL2_BWS_BK_LEVEL},
	{0x40, 0xFF, 0x40, FROM_DFT, QUALITY_AL2_BWS_BK_AC_GAIN_RATIO},
	{0x00, 0x00, 0x73, FROM_DFT, QUALITY_AL2_BWS_BK_DC_GAIN_RATIO},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_BWS_BK_ADPTLMT_EN},
	{0x00, 0x00, 0x52, FROM_DFT, QUALITY_AL2_BWS_BK_RATIO},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_BWS_BK_STROFT_EN},
	{0x00, 0x30, 0x0E, FROM_DFT, QUALITY_AL2_BWS_BK_OFST_L},
	{0x20, 0x60, 0x60, FROM_DFT, QUALITY_AL2_BWS_BK_OFST_H},
	{0x00, 0x00, 0x09, FROM_DFT, QUALITY_AL2_BWS_BK_OFST_TH_L},
	{0x00, 0x00, 0x58, FROM_DFT, QUALITY_AL2_BWS_BK_OFST_TH_H},
    // Adaptive Luma Version 1: White Stretch
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL_BWS_WHITE_ON_1_OFF_0},
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_AL_BWS_WHITE_LEVEL},
    {0x00, 0x60, 0x40, FROM_DFT, QUALITY_AL_BWS_WHITE_GAIN},
    {0x00, 0x20, 0x00, FROM_DFT, QUALITY_AL_BWS_WHITE_OFFSET},
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_AL_BWS_WHITE_RATIO},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL_BWS_WHITE_LIMIT},         
    // Adaptive Luma Version 2: White Stretch
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_BWS_WT_EN},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_AL2_BWS_WT_LEVEL},
	{0x40, 0xFF, 0x4E, FROM_DFT, QUALITY_AL2_BWS_WT_AC_GAIN_RATIO},
	{0x00, 0x00, 0x56, FROM_DFT, QUALITY_AL2_BWS_WT_DC_GAIN_RATIO},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_BWS_WT_ADPTLMT_EN},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_AL2_BWS_WT_RATIO},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL2_BWS_WT_STROFT_EN},
	{0x00, 0x30, 0x12, FROM_DFT, QUALITY_AL2_BWS_WT_OFST_L},
	{0x20, 0x60, 0x2F, FROM_DFT, QUALITY_AL2_BWS_WT_OFST_H},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_AL2_BWS_WT_OFST_TH_L},
	{0x00, 0x00, 0x47, FROM_DFT, QUALITY_AL2_BWS_WT_OFST_TH_H},
	// ADL control by scene (SDR2HDR)
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL2_CTRL_BY_SCENE_EN},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_ADL_BINO_PROC_EN},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_AL2_ADL_BINOMIAL_AC},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_AL2_ADL_BINOMIAL_DC},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_ADL_DARK_PROC_EN},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_AL2_ADL_DARK_AC},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_AL2_ADL_DARK_DC},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL2_ADL_CONTOUR_FALLBK_EN},    
	{0x00, 0x00, 0x60, FROM_DFT, QUALITY_AL2_ADL_SPIKE_TH_LOW},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_AL2_ADL_SPIKE_TH_HIGH},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_AL2_ADL_SPIKE_WGT_LOWBND},
    {0x00, 0x00, 0x03, FROM_DFT, QUALITY_AL2_ADL_SPIKEBLEND_METHOD},
    // Adaptive Luma Version 1: Dynamic Black Stretch
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_AL_DYNBS_EN},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_AL_DYNBS_RANGE}, 
    {0x00, 0x00, 0x7D, FROM_DFT, QUALITY_AL_DYNBS_PXL_THD1},      // 250 >> 1
    {0x00, 0x00, 0xC8, FROM_DFT, QUALITY_AL_DYNBS_PXL_THD2},      // 400 >> 1
    {0x00, 0x00, 0xC8, FROM_DFT, QUALITY_AL_DYNBS_DIST_THDH},     // 200
    {0x00, 0x00, 0x8C, FROM_DFT, QUALITY_AL_DYNBS_DIST_THDM},     // 150
    {0x00, 0x00, 0x64, FROM_DFT, QUALITY_AL_DYNBS_DIST_THDL},     // 100   
    {0x00, 0x00, 0x74, FROM_DFT, QUALITY_AL_DYNBS_LMT_BTM},     // 116;   // -12
    {0x00, 0x00, 0xA4, FROM_DFT, QUALITY_AL_DYNBS_LMT_TOP},     // 164;   // +36
    {0x00, 0x00, 0x60, FROM_DFT, QUALITY_AL_DYNBS_GAIN_BTM},     // 96;   // -32
    {0x00, 0x00, 0x98, FROM_DFT, QUALITY_AL_DYNBS_GAIN_TOP},     // 152;  // +24
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_AL_DYNBS_OFST_BTM},     // 128;  // 0
    {0x00, 0x00, 0x98, FROM_DFT, QUALITY_AL_DYNBS_OFST_TOP},     // 152;  // +24
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_AL_BWS_KEEP_MID_ONOFF},
    {0x00, 0x00, 0x0D, FROM_DFT, QUALITY_AL_BWS_KEEP_MID_X_LVL},  // add 2 to represent real level
    {0x00, 0x00, 0x78, FROM_DFT, QUALITY_AL_BWS_KEEP_MID_Y_POS},  // 8 bit to represent 10 bit resolution, shift 2 bit
	
    // Adaptive Luma: Common setting
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_YGAMMA_DECAY_BRIGHT},         
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_ALCOM_YGAMMA_DECAY_LO},         
    {0x00, 0x00, 0x40, FROM_DFT, QUALITY_ALCOM_YGAMMA_DECAY_HI},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_YGAMMA_SEL},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_YGAMMA_MID_SEL},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_YGAMMA_SKIN_MID_SEL},        
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_SKIN_LUMA_BYP},
	{0x00, 0x00, 0x98, FROM_DFT, QUALITY_ALCOM_CURVE_WEIGHT},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_ALCOM_BLEND_METHOD},	
	{0x00, 0x00, 0x10, FROM_DFT, QUALITY_ALCOM_WIN_HBOUND},
	{0x00, 0x00, 0x10, FROM_DFT, QUALITY_ALCOM_WIN_VBOUND},	
	//local contrast enhancement
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_ON_1_OFF_0},
	{0x00, 0x00, 0x14, FROM_DFT, QUALITY_LCE_WEIGHT1},
	{0x00, 0x00, 0x2C, FROM_DFT, QUALITY_LCE_WEIGHT2},	
	{0x00, 0x00, 0xC0, FROM_DFT, QUALITY_LCE_MID_AC_GAIN},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCE_MID_DC_GAIN},

	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_BWS_BK_EN},
	{0x00, 0x00, 0x08, FROM_DFT, QUALITY_LCE_BWS_BK_LEVEL},
	{0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LCE_BWS_BK_AC_GAIN_RATIO},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCE_BWS_BK_DC_GAIN_RATIO},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_BK_ADPTLMT_EN},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_BK_RATIO},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_BK_STROFT_EN},
	{0x00, 0x30, 0x10, FROM_DFT, QUALITY_LCE_BWS_BK_OFST_L},
	{0x20, 0x60, 0x34, FROM_DFT, QUALITY_LCE_BWS_BK_OFST_H},
	{0x00, 0x00, 0x60, FROM_DFT, QUALITY_LCE_BWS_BK_OFST_TH_L},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_BWS_BK_OFST_TH_H},

	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_BWS_WT_EN},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_BWS_WT_LEVEL},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_BWS_WT_AC_GAIN_RATIO},
	{0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCE_BWS_WT_DC_GAIN_RATIO},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_WT_ADPTLMT_EN},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_WT_RATIO},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_WT_STROFT_EN},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BWS_WT_OFST_L},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCE_BWS_WT_OFST_H},
	{0x00, 0x00, 0x0A, FROM_DFT, QUALITY_LCE_BWS_WT_OFST_TH_L},
	{0x00, 0x00, 0x19, FROM_DFT, QUALITY_LCE_BWS_WT_OFST_TH_H},

	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_DRE_CURVE_EN},
	{0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_DRE_GAIN_FLT_EN},
	{0x30, 0xFF, 0xC0, FROM_DFT, QUALITY_LCE_DRE_STRENGTH_LEVEL},
	{0x00, 0x00, 0x10, FROM_DFT, QUALITY_LCE_DRE_ALI_PRTCT_VAL},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_DRE_DYNC_SPIKE_WGT_MIN},
	{0x00, 0x00, 0xFF, FROM_DFT, QUALITY_LCE_DRE_DYNC_SPIKE_WGT_MAX},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_DRE_DYNC_SPIKE_TH},
	{0x00, 0x00, 0x42, FROM_DFT, QUALITY_LCE_DRE_DYNC_SPIKE_SLOPE},
	{0x00, 0x00, 0x02, FROM_DFT, QUALITY_LCE_BSPIKEBLENDMETHOD},
	{0x00, 0x00, 0x02, FROM_DFT, QUALITY_LCE_BSKINBLENDMETHOD},
	{0x00, 0x00, 0x48, FROM_DFT, QUALITY_LCE_BSKINWGTSLOPE},
	{0x00, 0x00, 0x08, FROM_DFT, QUALITY_LCE_DRE_DYNC_FLT_COEF_MIN},
	{0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCE_DRE_DYNC_FLT_COEF_MAX},         
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCE_DRE_DYNC_FLT_OVR_PXL_TH},         
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCE_DRE_DYNC_FLT_OVR_PXL_SLOPE},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_DRE_IIR_FORCE_RANGE},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_LLPRATIO},        
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_APLCOMPRATIO},
	{0x00, 0x00, 0x2C, FROM_DFT, QUALITY_LCE_FLTCONFSLOPE},
	{0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_FLTCONFTH},
	{0x00, 0x00, 0x03, FROM_DFT, QUALITY_LCE_BLKHISTCOUNTRATIO},         
    {0x00, 0x00, 0xE0, FROM_DFT, QUALITY_LCE_BINIDXDIFFSLOPE},         
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BINIDXDIFFTH},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCE_BINIDXDIFFWGTOFT},
    {0x00, 0x00, 0x10, FROM_DFT, QUALITY_LCE_APLTH},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_APLSLOPE},        
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_APLWGTOFT},
	{0x00, 0x00, 0x10, FROM_DFT, QUALITY_LCE_APL2TH},
	{0x00, 0x00, 0x80, FROM_DFT, QUALITY_LCE_APL2SLOPE},	
	{0x00, 0x00, 0xC0, FROM_DFT, QUALITY_LCE_APL2WGTOFT},         
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_APL2WGTMAX},         
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_BLKSPAFLTEN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_BLKSPAFLTTYPE},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_LLPRATIO_MSB},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_APLCOMPRATIO_MSB},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_FLTCONFSLOPE_MSB},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCE_APL2WGTOFT_MSB},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_LCE_APL2WGTMAX_MSB},
    // RGB GAIN/OFFSET
    {0x9c, 0x64, 0x00, FROM_DFT, QUALITY_R_GAIN},
    {0x9c, 0x64, 0x00, FROM_DFT, QUALITY_G_GAIN},
    {0x9c, 0x64, 0x00, FROM_DFT, QUALITY_B_GAIN},
    {0x01, 0x02, 0x02, FROM_DFT, QUALITY_R_GAIN_MSB},
    {0x01, 0x02, 0x02, FROM_DFT, QUALITY_G_GAIN_MSB},
    {0x01, 0x02, 0x02, FROM_DFT, QUALITY_B_GAIN_MSB},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_R_OFFSET},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_G_OFFSET},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_B_OFFSET},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_R_OFFSET_MSB},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_G_OFFSET_MSB},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_B_OFFSET_MSB},
    // BLUE STRETCH
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_BLUE_STRETCH_ENABLE},
    {0x00, 0x00, 0x78, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_R},
    {0x00, 0x00, 0x78, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_G},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_B},
    {0x00, 0x00, 0xA0, FROM_DFT, QUALITY_BLUE_STRETCH_LUMA_THD},
    {0x00, 0x00, 0x0A, FROM_DFT, QUALITY_BLUE_STRETCH_SAT_THD},    
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN2_ENABLE},
    {0x00, 0x00, 0xC0, FROM_DFT, QUALITY_BLUE_STRETCH_BASE_1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_R_1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_G_1},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_B_1},
    {0x00, 0x00, 0xD0, FROM_DFT, QUALITY_BLUE_STRETCH_BASE_2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_R_2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_G_2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_B_2},
    {0x00, 0x00, 0xE0, FROM_DFT, QUALITY_BLUE_STRETCH_BASE_3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_R_3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_G_3},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_B_3},
    {0x00, 0x00, 0xF0, FROM_DFT, QUALITY_BLUE_STRETCH_BASE_4},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_R_4},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_G_4},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_BLUE_STRETCH_GAIN_B_4}, 
    //GAMMA
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_GAMMA_CURVE_SEL},
    //SCE
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_SCE_LUMA_GAIN},
    {0x40, 0xC0, 0x80, FROM_DFT, QUALITY_SCE_SAT_GAIN},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_SCE_HUE_GAIN},

    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CBOOST_ONOFF},    
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_CBOOST_MINUS_EN}, 
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_CBOOST_GAIN},     
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_CBOOST_RNG_SEL},    
    {0x00, 0x00, 0x98, FROM_DFT, QUALITY_CBOOST_LMT_U},     
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_CBOOST_LMT_L},    
	//LCN
	#if 0
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_LCN_BYP},    
    {0x00, 0x00, 0x7F, FROM_DFT, QUALITY_LCN_LIRE_GAIN},    
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCN_LIRE_YTH},    
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCN_LIRE_YSLOPE}, 
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_LCN_LIRE_STH},     
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_LCN_LIRE_SSLOPE},     
    {0x00, 0x00, 0x7F, FROM_DFT, QUALITY_LCN_LSAT_GAIN},    
    {0x00, 0x00, 0x05, FROM_DFT, QUALITY_LCN_LSAT_STH},     
    {0x00, 0x00, 0x06, FROM_DFT, QUALITY_LCN_LSAT_SSLOPE},    
	#endif
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_SKIN_ONOFF},    
    {0x00, 0x00, 0x57, FROM_DFT, QUALITY_SKIN_YMIN},    
    {0x00, 0x00, 0xB6, FROM_DFT, QUALITY_SKIN_YMAX},     
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_SKIN_YSLOPE}, 
    {0x00, 0x00, 0x11, FROM_DFT, QUALITY_SKIN_SMIN},    
    {0x00, 0x00, 0x1D, FROM_DFT, QUALITY_SKIN_SMAX},    
    {0x00, 0x00, 0x04, FROM_DFT, QUALITY_SKIN_SSLOPE},     
    {0x00, 0x00, 0x56, FROM_DFT, QUALITY_SKIN_HMIN},
    {0x00, 0x00, 0x67, FROM_DFT, QUALITY_SKIN_HMAX},    
    {0x00, 0x00, 0x02, FROM_DFT, QUALITY_SKIN_HSLOPE},
    
    // Y Bit Plus
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_Y_BITPLUS_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_Y_BITPLUS_RANDOM_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_Y_BITPLUS_SHIFT},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_Y_BITPLUS_YRANGE},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_Y_BITPLUS_P1},
    {0x00, 0x00, 0x4C, FROM_DFT, QUALITY_Y_BITPLUS_P2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_Y_BITPLUS_P3},
    {0x00, 0x00, 0xC0, FROM_DFT, QUALITY_Y_BITPLUS_P4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_Y_BITPLUS_Q1},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_Y_BITPLUS_Q2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_Y_BITPLUS_Q3},
    {0x00, 0x00, 0x3F, FROM_DFT, QUALITY_Y_BITPLUS_Q4},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_Y_BITPLUS_G12},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_Y_BITPLUS_G23},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_Y_BITPLUS_G34},
    
    // S Bit Plus
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_S_BITPLUS_EN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_S_BITPLUS_RANDOM_EN},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_S_BITPLUS_SHIFT},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_S_BITPLUS_YRANGE},
    {0x00, 0x00, 0x0C, FROM_DFT, QUALITY_S_BITPLUS_P1},
    {0x00, 0x00, 0x4C, FROM_DFT, QUALITY_S_BITPLUS_P2},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_S_BITPLUS_P3},
    {0x00, 0x00, 0xC0, FROM_DFT, QUALITY_S_BITPLUS_P4},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_S_BITPLUS_Q1},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_S_BITPLUS_Q2},
    {0x00, 0x00, 0x20, FROM_DFT, QUALITY_S_BITPLUS_Q3},
    {0x00, 0x00, 0x3F, FROM_DFT, QUALITY_S_BITPLUS_Q4},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_S_BITPLUS_G12},
    {0x00, 0x00, 0x00, FROM_DFT, QUALITY_S_BITPLUS_G23},
    {0x00, 0x00, 0x08, FROM_DFT, QUALITY_S_BITPLUS_G34},

    // SKIN    
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_SKIN_LUMA_GAIN},
    {0x40, 0xC0, 0x80, FROM_DFT, QUALITY_SKIN_SAT_GAIN},
    {0x00, 0x00, 0x80, FROM_DFT, QUALITY_SKIN_HUE_GAIN},

    // DEPTH
    {0x00, 0x40, 0x20, FROM_DFT, QUALITY_DEPTH_TTD_SCALAR},
    {0x00, 0x30, 0x20, FROM_DFT, QUALITY_DEPTH_TDDC_GLOBAL},
    {0x00, 0x40, 0x20, FROM_DFT, QUALITY_DEPTH_TDDC_LOCAL},

    // PROTRUDE
    {0x70, 0x90, 0x80, FROM_DFT, QUALITY_PROTRUDE_GLOBAL_SFT},

    //BLULIGHT
    {0x01, 0xFF, 0x80, FROM_DFT, QUALITY_BLULIGHT_BLU_LEVEL},

    // MODULE ON OFF
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_SNR},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_MNR},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_BNR},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_TNR},        
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_SUPER_RES},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_DERING},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_CTI},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_LTI},        
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_SHARPNESS},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_SCE},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_MATRIX},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_BLUE_STRETCH},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_XVYCC},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_RGB_GAIN},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_RGB_OFFSET},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_GAMMA},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_LCDIM},
    {0x00, 0x00, 0x01, FROM_DFT, QUALITY_MODULE_ONOFF_OD}    
};


/* bCustomQtyItem[]
 * This array describe the detail PQ item that can be fine tuned by NCSTool.
 * The other PQ items that is not included in this array will be referd to bDefaultQtyTbl[].
 */
UINT16 const wCustomQtyItem[FLASHPQ_NUM][CUSTOM_QTY_TBL_DIM + TBL_HEAD_HASH] =
{
    {
        #include "QTY_ITEM.h"
    },
    #if (FLASHPQ_NUM>=2)
    {
        #include "QTY_ITEM_2ND.h"
    },
    #endif
    
};

UINT8 bCustomSrcTimingTbl[SOURCE_TYPE_TIMING_MAX+1] =
{
	// RF NT_PAL60M
    SOURCE_TYPE_TIMING_RFTV_NTSC_358,
	SOURCE_TYPE_TIMING_RFTV_PAL_M,
	SOURCE_TYPE_TIMING_RFTV_PAL_60,
	
	//RF PAL
    SOURCE_TYPE_TIMING_RFTV_NTSC_443,
    SOURCE_TYPE_TIMING_RFTV_PAL,
	SOURCE_TYPE_TIMING_RFTV_PAL_N,
	
    //RF SECAM
	SOURCE_TYPE_TIMING_SECAM_RFTV,
	
	//CVBS NT_PAL60M
    SOURCE_TYPE_TIMING_CVBS_NTSC_358,    
    SOURCE_TYPE_TIMING_CVBS_PAL_M,
	SOURCE_TYPE_TIMING_CVBS_PAL_60,
    SOURCE_TYPE_TIMING_SV_NTSC_358,
    SOURCE_TYPE_TIMING_SV_NTSC_443,
    SOURCE_TYPE_TIMING_SV_PAL_M,
    SOURCE_TYPE_TIMING_CVBS_NTSC_358_OS,
    SOURCE_TYPE_TIMING_CVBS_PAL_M_OS,
    SOURCE_TYPE_TIMING_SV_NTSC_358_OS,
    SOURCE_TYPE_TIMING_SV_PAL_M_OS,
	SOURCE_TYPE_TIMING_SCART_AV_NTSC_358,
	SOURCE_TYPE_TIMING_SCART_SV_NTSC_358,
	SOURCE_TYPE_TIMING_SCART_SV_PAL_M,
	
    //CVBS PAL
    SOURCE_TYPE_TIMING_CVBS_PAL,
    SOURCE_TYPE_TIMING_CVBS_NTSC_443,
	SOURCE_TYPE_TIMING_CVBS_NTSC_443_OS,
	SOURCE_TYPE_TIMING_SV_NTSC_443_OS,
    SOURCE_TYPE_TIMING_CVBS_PAL_N,
    SOURCE_TYPE_TIMING_SV_PAL,
    SOURCE_TYPE_TIMING_SV_PAL_N,
    SOURCE_TYPE_TIMING_SV_PAL_60,
    SOURCE_TYPE_TIMING_CVBS_PAL_OS,
    SOURCE_TYPE_TIMING_CVBS_PAL_N_OS,
    SOURCE_TYPE_TIMING_CVBS_PAL_60_OS,
    SOURCE_TYPE_TIMING_SV_PAL_OS,
    SOURCE_TYPE_TIMING_SV_PAL_N_OS,
    SOURCE_TYPE_TIMING_SV_PAL_60_OS,
	SOURCE_TYPE_TIMING_SCART_RGB,
	SOURCE_TYPE_TIMING_SCART_AV_NTSC_443,
	SOURCE_TYPE_TIMING_SCART_AV_PAL,
	SOURCE_TYPE_TIMING_SCART_AV_PAL_M,
	SOURCE_TYPE_TIMING_SCART_AV_PAL_N,
	SOURCE_TYPE_TIMING_SCART_AV_PAL_60,
	SOURCE_TYPE_TIMING_SCART_SV_NTSC_443,
	SOURCE_TYPE_TIMING_SCART_SV_PAL,
	SOURCE_TYPE_TIMING_SCART_SV_PAL_N,
	SOURCE_TYPE_TIMING_SCART_SV_PAL_60,
	
	//CVBS SECAM
    SOURCE_TYPE_TIMING_SECAM_CVBS,
    SOURCE_TYPE_TIMING_SECAM_SV,
    SOURCE_TYPE_TIMING_SCART_AV_SECAM,
    SOURCE_TYPE_TIMING_SCART_SV_SECAM,

	//COMP_SDI
    SOURCE_TYPE_TIMING_YPBPR_SD_I_50,
    SOURCE_TYPE_TIMING_YPBPR_SD_I_60,
    SOURCE_TYPE_TIMING_YPBPR_SD_I_50_OS,
    SOURCE_TYPE_TIMING_YPBPR_SD_I_60_OS,

	//COMP_SDP
    SOURCE_TYPE_TIMING_YPBPR_SD_P_50,
    SOURCE_TYPE_TIMING_YPBPR_SD_P_60,
    SOURCE_TYPE_TIMING_YPBPR_SD_P_50_OS,
    SOURCE_TYPE_TIMING_YPBPR_SD_P_60_OS,

	//COMP_720P
    SOURCE_TYPE_TIMING_YPBPR_720P_24,
    SOURCE_TYPE_TIMING_YPBPR_720P_25,
    SOURCE_TYPE_TIMING_YPBPR_720P_50,
    SOURCE_TYPE_TIMING_YPBPR_720P_60,

	//COMP_1080IP
    SOURCE_TYPE_TIMING_YPBPR_1080I_50,
    SOURCE_TYPE_TIMING_YPBPR_1080I_60,

    SOURCE_TYPE_TIMING_YPBPR_1080P_24,
    SOURCE_TYPE_TIMING_YPBPR_1080P_25,   
    SOURCE_TYPE_TIMING_YPBPR_1080P_50,
    SOURCE_TYPE_TIMING_YPBPR_1080P_60,

	//HDMI_SDI
    SOURCE_TYPE_TIMING_DIGI_SD_I_50,
    SOURCE_TYPE_TIMING_DIGI_SD_I_60,
    SOURCE_TYPE_TIMING_3D_480I_60_FP,
    SOURCE_TYPE_TIMING_3D_576I_60_FP, 

	//HDMI_SDP
    SOURCE_TYPE_TIMING_DIGI_SD_P_50,
    SOURCE_TYPE_TIMING_DIGI_SD_P_60,
    SOURCE_TYPE_TIMING_3D_576p_50_FP,
    SOURCE_TYPE_TIMING_3D_480p_60_FP,    

	//HDMI_720P
    SOURCE_TYPE_TIMING_DIGI_720P_24,
    SOURCE_TYPE_TIMING_DIGI_720P_25,    
    SOURCE_TYPE_TIMING_DIGI_720P_50,
    SOURCE_TYPE_TIMING_DIGI_720P_60,
    SOURCE_TYPE_TIMING_3D_720p_24_FP,
    SOURCE_TYPE_TIMING_3D_720p_30_FP,
    SOURCE_TYPE_TIMING_3D_720p_50_FP, 
    SOURCE_TYPE_TIMING_3D_720p_60_FP,

	//HDMI_1080I
    SOURCE_TYPE_TIMING_DIGI_1080I_50,
    SOURCE_TYPE_TIMING_DIGI_1080I_60,
    SOURCE_TYPE_TIMING_3D_1080I_50_FP,
    SOURCE_TYPE_TIMING_3D_1080I_60_FP, 

	//HDMI_1080P
    SOURCE_TYPE_TIMING_DIGI_1080P_24,
    SOURCE_TYPE_TIMING_DIGI_1080P_25,
    SOURCE_TYPE_TIMING_3D_1080p_24_FP,
    SOURCE_TYPE_TIMING_3D_1080p_30_FP,    
    SOURCE_TYPE_TIMING_3D_1080p_50_FP,    
    SOURCE_TYPE_TIMING_3D_1080p_60_FP,
    SOURCE_TYPE_TIMING_3D_1650_750_60_FP,
    SOURCE_TYPE_TIMING_3D_1650_1500_30_FP,

    SOURCE_TYPE_TIMING_3D_640_480p_60_FP,
    SOURCE_TYPE_TIMING_3D_1440_240p_60_FP,
    SOURCE_TYPE_TIMING_3D_1440_288p_50_FP,
    SOURCE_TYPE_TIMING_3D_1440_576p_50_FP,
    SOURCE_TYPE_TIMING_3D_720p_25_FP,
    SOURCE_TYPE_TIMING_3D_1080p_25_FP,
    SOURCE_TYPE_TIMING_3D_1080I_1250TOTAL_50_FP,

    SOURCE_TYPE_TIMING_3D_1080p_24_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_1080p_30_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_1080I_50_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_1080I_60_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_1080p_50_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_1080p_60_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_720p_24_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_720p_30_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_720p_50_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_720p_60_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_480p_60_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_576p_50_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_480I_60_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_576I_50_SBS_FULL,
    SOURCE_TYPE_TIMING_3D_640_480p_60_SBS_FULL,

    SOURCE_TYPE_TIMING_3D_640_480p_60_LA,
    SOURCE_TYPE_TIMING_3D_480p_60_LA,
    SOURCE_TYPE_TIMING_3D_576p_50_LA,
    SOURCE_TYPE_TIMING_3D_720p_60_LA,
    SOURCE_TYPE_TIMING_3D_720p_50_LA,
    SOURCE_TYPE_TIMING_3D_1080p_24_LA,

    SOURCE_TYPE_TIMING_3D_480I_60_FA,
    SOURCE_TYPE_TIMING_3D_1080I_60_FA,
    SOURCE_TYPE_TIMING_3D_1080I_50_FA,

    SOURCE_TYPE_TIMING_DIGI_1080P_50,
    SOURCE_TYPE_TIMING_DIGI_1080P_60,
    SOURCE_TYPE_TIMING_DIGI_1080P_100,
    SOURCE_TYPE_TIMING_DIGI_1080P_120,
    SOURCE_TYPE_TIMING_DIGI_3840_1080P_100,
    SOURCE_TYPE_TIMING_DIGI_3840_1080P_120,

    SOURCE_TYPE_TIMING_PC_RGB,
    SOURCE_TYPE_TIMING_PC_YCBCR,
    
	//HDMI 4k2k 30P
    SOURCE_TYPE_TIMING_DIGI_2160P_24,
	SOURCE_TYPE_TIMING_DIGI_2160P_25,
	SOURCE_TYPE_TIMING_DIGI_2160P_30,
	
	//HDMI 4k2k 60P
	SOURCE_TYPE_TIMING_DIGI_2160P_50,	
	SOURCE_TYPE_TIMING_DIGI_2160P_60,

	//DTV_SDI
    SOURCE_TYPE_TIMING_DTV_SD_I_50,
    SOURCE_TYPE_TIMING_DTV_SD_I_60,

	//DTV_SDP
    SOURCE_TYPE_TIMING_DTV_SD_P_50,
    SOURCE_TYPE_TIMING_DTV_SD_P_60,

	//DTV_720P
    SOURCE_TYPE_TIMING_DTV_720P_24,
    SOURCE_TYPE_TIMING_DTV_720P_25,    
    SOURCE_TYPE_TIMING_DTV_720P_50,
    SOURCE_TYPE_TIMING_DTV_720P_60,

	//DTV_1080IP
    SOURCE_TYPE_TIMING_DTV_1080I_50,
    SOURCE_TYPE_TIMING_DTV_1080I_60,
    SOURCE_TYPE_TIMING_DTV_1080P_24,
    SOURCE_TYPE_TIMING_DTV_1080P_25,    
    SOURCE_TYPE_TIMING_DTV_1080P_50,
    SOURCE_TYPE_TIMING_DTV_1080P_60,

	//DTV 4k2k 30P
    SOURCE_TYPE_TIMING_DTV_2160P_24,
	SOURCE_TYPE_TIMING_DTV_2160P_25,
	SOURCE_TYPE_TIMING_DTV_2160P_30,

	//DTV 4k2k 60P
	SOURCE_TYPE_TIMING_DTV_2160P_50,
	SOURCE_TYPE_TIMING_DTV_2160P_60,

	//MM SDI
    SOURCE_TYPE_TIMING_MM_SD_I,    
	SOURCE_TYPE_TIMING_NET_SD_I,

	//MM SDP
    SOURCE_TYPE_TIMING_MM_SD_P,
	SOURCE_TYPE_TIMING_NET_SD_P,

	//MM 720P
    SOURCE_TYPE_TIMING_MM_720P_SD,
    SOURCE_TYPE_TIMING_MM_720P_HD,
	SOURCE_TYPE_TIMING_NET_720P,

	//MM 1080I
	SOURCE_TYPE_TIMING_MM_1080I_50, 
	SOURCE_TYPE_TIMING_MM_1080I_60, 

	//MM_1080P
	SOURCE_TYPE_TIMING_MM_1080P_24,
	SOURCE_TYPE_TIMING_MM_1080P_25,
	SOURCE_TYPE_TIMING_MM_1080P_50,
	SOURCE_TYPE_TIMING_MM_1080P_60,
    SOURCE_TYPE_TIMING_NET_1080IP, 

	//MM 4k2k 30P
	SOURCE_TYPE_TIMING_MM_2160P_24,
	SOURCE_TYPE_TIMING_MM_2160P_25,
	SOURCE_TYPE_TIMING_MM_2160P_30,

	//MM 4k2k 60P
	SOURCE_TYPE_TIMING_MM_2160P_50,
	SOURCE_TYPE_TIMING_MM_2160P_60,

    SOURCE_TYPE_TIMING_MAX
};
/* bCustomSourceGroup[][QTY_IDX_RANGE_DIM]
 * Customer re-define the input source timing index groups.
 * The 1st column is the begin timing index.
 * The 2nd column is the end timing index.
 * The 2nd column should be larger than or equal to 1st column.
 * The last row should be fix to {SOURCE_TYPE_TIMING_MAX, SOURCE_TYPE_TIMING_MAX}
 */
UINT8 bCustomSourceGroup[][QTY_IDX_RANGE_DIM] =
{
    {SOURCE_TYPE_TIMING_RFTV_NTSC_358,      SOURCE_TYPE_TIMING_RFTV_PAL_60},        // [0]	 	RF  NTSC
    {SOURCE_TYPE_TIMING_RFTV_NTSC_443,      SOURCE_TYPE_TIMING_RFTV_PAL_N},         // [1]		RF PAL	
    {SOURCE_TYPE_TIMING_SECAM_RFTV,         SOURCE_TYPE_TIMING_SECAM_RFTV},       	// [2]		RF SECAM
    {SOURCE_TYPE_TIMING_CVBS_NTSC_358,      SOURCE_TYPE_TIMING_SCART_SV_PAL_M},     // [3]		CVBS NTSC
    {SOURCE_TYPE_TIMING_CVBS_PAL,         	SOURCE_TYPE_TIMING_SCART_SV_PAL_60},    // [4]		CVBS PAL
    {SOURCE_TYPE_TIMING_SECAM_CVBS,         SOURCE_TYPE_TIMING_SCART_SV_SECAM},     // [5]		CVBS SECAM
    {SOURCE_TYPE_TIMING_YPBPR_SD_I_50,  	SOURCE_TYPE_TIMING_YPBPR_SD_I_60_OS},   // [6]		COMP_SDI
    {SOURCE_TYPE_TIMING_YPBPR_SD_P_50,      SOURCE_TYPE_TIMING_YPBPR_SD_P_60_OS},   // [7]		COMP_SDP
    {SOURCE_TYPE_TIMING_YPBPR_720P_24,      SOURCE_TYPE_TIMING_YPBPR_720P_60},      // [8]		COMP_720P
    {SOURCE_TYPE_TIMING_YPBPR_1080I_50,     SOURCE_TYPE_TIMING_YPBPR_1080P_60},     // [9]		COMP_1080IP
    {SOURCE_TYPE_TIMING_DIGI_SD_I_50,       SOURCE_TYPE_TIMING_3D_576I_60_FP},      // [10]		HDMI_SDI
    {SOURCE_TYPE_TIMING_DIGI_SD_P_50,       SOURCE_TYPE_TIMING_3D_480p_60_FP},      // [11]		HDMI_SDP
    {SOURCE_TYPE_TIMING_DIGI_720P_24,       SOURCE_TYPE_TIMING_3D_720p_60_FP},      // [12]		HDMI_720P
    {SOURCE_TYPE_TIMING_DIGI_1080I_50,      SOURCE_TYPE_TIMING_3D_1080I_60_FP},     // [13]		HDMI_1080I
	{SOURCE_TYPE_TIMING_DIGI_1080P_24,		SOURCE_TYPE_TIMING_PC_YCBCR}, 			// [14] 		HDMI_1080P
    {SOURCE_TYPE_TIMING_DIGI_2160P_24,		SOURCE_TYPE_TIMING_DIGI_2160P_30},		//[15]		DHMI_4k2k_30P
	{SOURCE_TYPE_TIMING_DIGI_2160P_50,		SOURCE_TYPE_TIMING_DIGI_2160P_60},		//[16]		DHMI_4k2k_60P
    {SOURCE_TYPE_TIMING_DTV_SD_I_50,        SOURCE_TYPE_TIMING_DTV_SD_I_60},        // [17]		DTV_SDI
    {SOURCE_TYPE_TIMING_DTV_SD_P_50,        SOURCE_TYPE_TIMING_DTV_SD_P_60},        // [18]		DTV_SDP
    {SOURCE_TYPE_TIMING_DTV_720P_24,        SOURCE_TYPE_TIMING_DTV_720P_60},        // [19]		DTV_720P
    {SOURCE_TYPE_TIMING_DTV_1080I_50,       SOURCE_TYPE_TIMING_DTV_1080P_60},       // [20]		DTV_1080IP    
	{SOURCE_TYPE_TIMING_DTV_2160P_24,		SOURCE_TYPE_TIMING_DTV_2160P_30},		// [21] 		DTV_4k2k_30P		
    {SOURCE_TYPE_TIMING_DTV_2160P_50,       SOURCE_TYPE_TIMING_DTV_2160P_60},       // [22]		DTV_4k2k_60P		
    {SOURCE_TYPE_TIMING_MM_SD_I,            SOURCE_TYPE_TIMING_NET_SD_I},            // [23]		MM_SDI
    {SOURCE_TYPE_TIMING_MM_SD_P,            SOURCE_TYPE_TIMING_NET_SD_P},            // [24]		MM_SDP
    {SOURCE_TYPE_TIMING_MM_720P_SD,         SOURCE_TYPE_TIMING_NET_720P},          // [25]		MM_720P
    {SOURCE_TYPE_TIMING_MM_1080I_50,        SOURCE_TYPE_TIMING_MM_1080I_60},        // [26]		MM_1080I
    {SOURCE_TYPE_TIMING_MM_1080P_24,        SOURCE_TYPE_TIMING_NET_1080IP},         // [27]		MM_1080P
    {SOURCE_TYPE_TIMING_MM_2160P_24,        SOURCE_TYPE_TIMING_MM_2160P_30},        // [28]		MM_4k2k_30P
	{SOURCE_TYPE_TIMING_MM_2160P_50, 		SOURCE_TYPE_TIMING_MM_2160P_60},		// [29]		MM_4k2k_60P
    {SOURCE_TYPE_TIMING_MAX,                SOURCE_TYPE_TIMING_MAX}                 // Don't change this row.
};

UINT8 SceBySource[][QTY_IDX_RANGE_DIM]=
{
	{SOURCE_TYPE_TIMING_RFTV_NTSC_358,SOURCE_TYPE_TIMING_SCART_SV_SECAM},//[0]
	{SOURCE_TYPE_TIMING_YPBPR_SD_I_50,SOURCE_TYPE_TIMING_YPBPR_1080P_60},//[1]
	{SOURCE_TYPE_TIMING_DIGI_SD_I_50,SOURCE_TYPE_TIMING_DIGI_1080P_60},//[2]
	{SOURCE_TYPE_TIMING_MAX,SOURCE_TYPE_TIMING_MAX} // Don't change this row.
};

/* bCustomQtyTbl[][MDY_QTY_DIM]
 * This table store the fine tuned PQ date generated by NCSTool.
 * The dimension of bCustomQtyTbl[] should be exactly the same as (bCustomSourceGroup[]-1)
 */
UINT8 bCustomQtyTbl[FLASHPQ_NUM][CUSTOMIZE_FLASHPQ_TOTAL_TIMING][CUSTOM_QTY_TBL_DIM] =
{
    {
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_RFTV_NTSC_358,      SOURCE_TYPE_TIMING_RFTV_PAL_60},        // [0]	 	RF  NTSC
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_RFTV_NTSC_443,      SOURCE_TYPE_TIMING_RFTV_PAL_N},         // [1]		RF PAL
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_SECAM_RFTV,         SOURCE_TYPE_TIMING_SECAM_RFTV},        // [2]		RF SECAM
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_CVBS_NTSC_358,      SOURCE_TYPE_TIMING_SCART_SV_PAL_M},     // [3]		CVBS NTSC
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_CVBS_PAL,         	SOURCE_TYPE_TIMING_SCART_SV_PAL_60},    // [4]		CVBS PAL
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_SECAM_CVBS,         SOURCE_TYPE_TIMING_SECAM_SV},           // [5]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_SCART_RGB,          SOURCE_TYPE_TIMING_SCART_RGB},          // [6]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_SCART_AV_NTSC_358,  SOURCE_TYPE_TIMING_SCART_SV_SECAM},     // [7]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_YPBPR_SD_I_50,      SOURCE_TYPE_TIMING_YPBPR_SD_I_60_OS},   // [8]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_YPBPR_SD_P_50,      SOURCE_TYPE_TIMING_YPBPR_SD_P_60_OS},   // [9]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_YPBPR_720P_50,      SOURCE_TYPE_TIMING_YPBPR_720P_60},      // [10]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_YPBPR_1080I_50,     SOURCE_TYPE_TIMING_YPBPR_1080P_60},     // [11]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DIGI_SD_I_50,       SOURCE_TYPE_TIMING_DIGI_SD_I_60},       // [12]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DIGI_SD_P_50,       SOURCE_TYPE_TIMING_DIGI_SD_P_60},       // [13]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DIGI_720P_50,       SOURCE_TYPE_TIMING_DIGI_720P_60},       // [14]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DIGI_1080I_50,      SOURCE_TYPE_TIMING_DIGI_1080P_60},      // [15]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DTV_SD_I_50,        SOURCE_TYPE_TIMING_DTV_SD_I_60},        // [16]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DTV_SD_P_50,        SOURCE_TYPE_TIMING_DTV_SD_P_60},        // [17]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DTV_720P_50,        SOURCE_TYPE_TIMING_DTV_720P_60},        // [18]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_DTV_1080I_50,       SOURCE_TYPE_TIMING_DTV_1080P_60},       // [19]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_MM_SD_I,           	 SOURCE_TYPE_TIMING_MM_SD_P},            // [20]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_MM_720P_SD,         SOURCE_TYPE_TIMING_MM_720P_SD},         // [21]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_MM_720P_HD,         SOURCE_TYPE_TIMING_MM_720P_HD},         // [22]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_MM_1080IP_SD,       SOURCE_TYPE_TIMING_MM_1080IP_SD},       // [23]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_MM_1080IP_HD,       SOURCE_TYPE_TIMING_MM_1080IP_HD},       // [24]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_PC_RGB,            	 SOURCE_TYPE_TIMING_PC_YCBCR},           // [25]
        #include "QTY_TBL_DEFAULT.h"        // {SOURCE_TYPE_TIMING_PC_RGB,            	 SOURCE_TYPE_TIMING_PC_YCBCR},           // [26]
		#include "QTY_TBL_DEFAULT.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [27]
		#include "QTY_TBL_DEFAULT.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [28]
		#include "QTY_TBL_DEFAULT.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [29]
    },
    #if (FLASHPQ_NUM>=2)
    {
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_RFTV_NTSC_358,      SOURCE_TYPE_TIMING_RFTV_PAL_60},        // [0]	 	RF  NTSC
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_RFTV_NTSC_443,      SOURCE_TYPE_TIMING_RFTV_PAL_N},         // [1]		RF PAL
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_SECAM_RFTV,         SOURCE_TYPE_TIMING_SECAM_RFTV},        // [2]		RF SECAM
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_CVBS_NTSC_358,      SOURCE_TYPE_TIMING_SCART_SV_PAL_M},     // [3]		CVBS NTSC
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_CVBS_PAL,         	SOURCE_TYPE_TIMING_SCART_SV_PAL_60},    // [4]		CVBS PAL
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_SECAM_CVBS,         SOURCE_TYPE_TIMING_SECAM_SV},           // [5]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_SCART_RGB,          SOURCE_TYPE_TIMING_SCART_RGB},          // [6]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_SCART_AV_NTSC_358,  SOURCE_TYPE_TIMING_SCART_SV_SECAM},     // [7]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_YPBPR_SD_I_50,      SOURCE_TYPE_TIMING_YPBPR_SD_I_60_OS},   // [8]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_YPBPR_SD_P_50,      SOURCE_TYPE_TIMING_YPBPR_SD_P_60_OS},   // [9]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_YPBPR_720P_50,      SOURCE_TYPE_TIMING_YPBPR_720P_60},      // [10]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_YPBPR_1080I_50,     SOURCE_TYPE_TIMING_YPBPR_1080P_60},     // [11]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DIGI_SD_I_50,       SOURCE_TYPE_TIMING_DIGI_SD_I_60},       // [12]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DIGI_SD_P_50,       SOURCE_TYPE_TIMING_DIGI_SD_P_60},       // [13]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DIGI_720P_50,       SOURCE_TYPE_TIMING_DIGI_720P_60},       // [14]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DIGI_1080I_50,      SOURCE_TYPE_TIMING_DIGI_1080P_60},      // [15]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DTV_SD_I_50,        SOURCE_TYPE_TIMING_DTV_SD_I_60},        // [16]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DTV_SD_P_50,        SOURCE_TYPE_TIMING_DTV_SD_P_60},        // [17]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DTV_720P_50,        SOURCE_TYPE_TIMING_DTV_720P_60},        // [18]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_DTV_1080I_50,       SOURCE_TYPE_TIMING_DTV_1080P_60},       // [19]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_MM_SD_I,           	 SOURCE_TYPE_TIMING_MM_SD_P},            // [20]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_MM_720P_SD,         SOURCE_TYPE_TIMING_MM_720P_SD},         // [21]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_MM_720P_HD,         SOURCE_TYPE_TIMING_MM_720P_HD},         // [22]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_MM_1080IP_SD,       SOURCE_TYPE_TIMING_MM_1080IP_SD},       // [23]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_MM_1080IP_HD,       SOURCE_TYPE_TIMING_MM_1080IP_HD},       // [24]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_PC_RGB,            	 SOURCE_TYPE_TIMING_PC_YCBCR},           // [25]
        #include "QTY_TBL_DEFAULT_2ND.h"        // {SOURCE_TYPE_TIMING_PC_RGB,            	 SOURCE_TYPE_TIMING_PC_YCBCR},           // [26]
		#include "QTY_TBL_DEFAULT_2ND.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [27]
		#include "QTY_TBL_DEFAULT_2ND.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [28]
		#include "QTY_TBL_DEFAULT_2ND.h"		// {SOURCE_TYPE_TIMING_PC_RGB,			   SOURCE_TYPE_TIMING_PC_YCBCR},		   // [29]
    },
    #endif
    
};

#endif // #ifndef _QTY_TBL_H_

