blob: 5ce602d7f00cce1c00767e3dcdb5801f9720e52e [file] [log] [blame]
/*
* drivers/amlogic/media/deinterlace/register.h
*
* Copyright (C) 2017 Amlogic, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* 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 the GNU General Public License for
* more details.
*
*/
#ifndef __MACH_DEINTERLACE_REG_ADDR_H_
#define __MACH_DEINTERLACE_REG_ADDR_H_
#include <linux/amlogic/iomap.h>
#include <linux/amlogic/media/registers/regs/di_regs.h>
#include <linux/amlogic/media/registers/regs/viu_regs.h>
#include <linux/amlogic/media/registers/regs/vdin_regs.h>
#define Wr(adr, val) aml_write_vcbus(adr, val)
#define Rd(adr) aml_read_vcbus(adr)
#define Wr_reg_bits(adr, val, start, len) \
aml_vcbus_update_bits(adr, ((1<<len)-1)<<start, val<<start)
#define Rd_reg_bits(adr, start, len) \
((aml_read_vcbus(adr)&(((1UL<<len)-1UL)<<start))>>start)
unsigned int RDMA_WR(unsigned int adr, unsigned int val);
unsigned int RDMA_RD(unsigned int adr);
unsigned int RDMA_WR_BITS(unsigned int adr, unsigned int val,
unsigned int start, unsigned int len);
unsigned int RDMA_RD_BITS(unsigned int adr, unsigned int start,
unsigned int len);
void DI_Wr(unsigned int addr, unsigned int val);
void DI_Wr_reg_bits(unsigned int adr, unsigned int val,
unsigned int start, unsigned int len);
void DI_VSYNC_WR_MPEG_REG(unsigned int addr, unsigned int val);
void DI_VSYNC_WR_MPEG_REG_BITS(unsigned int addr,
unsigned int val, unsigned int start, unsigned int len);
#define HHI_VPU_CLKB_CNTL 0x83
#define DI_WRARB_REQEN_SLV_L1C1_OLD 0x2795
#define DI_RDARB_REQEN_SLV_L1C1_OLD 0x2791
#define DI_ARB_DBG_STAT_L1C1_OLD 0x27b4
#define VIUB_SW_RESET 0x2001
#define VIUB_SW_RESET0 0x2002
#define VIUB_MISC_CTRL0 0x2006
/* 0xd0108018 */
#define VIUB_GCLK_CTRL0 0x2007
#define VIUB_GCLK_CTRL1 0x2008
#define VIUB_GCLK_CTRL2 0x2009
#define VIUB_GCLK_CTRL3 0x200a
/* g12a add debug reg */
#define DI_DBG_CTRL 0x200b
#define DI_DBG_CTRL1 0x200c
#define DI_DBG_SRDY_INF 0x200d
#define DI_DBG_RRDY_INF 0x200e
/* txl add if2 */
#define DI_IF2_GEN_REG 0x2010
#define DI_IF2_CANVAS0 0x2011
#define DI_IF2_LUMA_X0 0x2012
#define DI_IF2_LUMA_Y0 0x2013
#define DI_IF2_CHROMA_X0 0x2014
#define DI_IF2_CHROMA_Y0 0x2015
#define DI_IF2_RPT_LOOP 0x2016
#define DI_IF2_LUMA0_RPT_PAT 0x2017
#define DI_IF2_CHROMA0_RPT_PAT 0x2018
#define DI_IF2_DUMMY_PIXEL 0x2019
#define DI_IF2_LUMA_FIFO_SIZE 0x201a
#define DI_IF2_RANGE_MAP_Y 0x201b
#define DI_IF2_RANGE_MAP_CB 0x201c
#define DI_IF2_RANGE_MAP_CR 0x201d
#define DI_IF2_GEN_REG2 0x201e
#define DI_IF2_FMT_CTRL 0x201f
#define DI_IF2_FMT_W 0x2020
#define DI_IF2_URGENT_CTRL 0x2021
#define DI_IF2_GEN_REG3 0x2022
/*txl new add end*/
/* g12 new added */
/* IF0 MIF */
#define DI_IF0_GEN_REG 0x2030
#define DI_IF0_CANVAS0 0x2031
#define DI_IF0_LUMA_X0 0x2032
#define DI_IF0_LUMA_Y0 0x2033
#define DI_IF0_CHROMA_X0 0x2034
#define DI_IF0_CHROMA_Y0 0x2035
#define DI_IF0_REPEAT_LOOP 0x2036
#define DI_IF0_LUMA0_RPT_PAT 0x2037
#define DI_IF0_CHROMA0_RPT_PAT 0x2038
#define DI_IF0_DUMMY_PIXEL 0x2039
#define DI_IF0_LUMA_FIFO_SIZE 0x203A
#define DI_IF0_RANGE_MAP_Y 0x203B
#define DI_IF0_RANGE_MAP_CB 0x203C
#define DI_IF0_RANGE_MAP_CR 0x203D
#define DI_IF0_GEN_REG2 0x203E
#define DI_IF0_FMT_CTRL 0x203F
#define DI_IF0_FMT_W 0x2040
#define DI_IF0_FMT_W 0x2040
#define DI_IF0_URGENT_CTRL 0x2041
#define DI_IF0_GEN_REG3 0x2042
/* AXI ARB */
#define DI_RDARB_MODE_L1C1 0x2050
#define DI_RDARB_REQEN_SLV_L1C1 0x2051
#define DI_RDARB_WEIGH0_SLV_L1C1 0x2052
#define DI_RDARB_WEIGH1_SLV_L1C1 0x2053
#define DI_WRARB_MODE_L1C1 0x2054
#define DI_WRARB_REQEN_SLV_L1C1 0x2055
#define DI_WRARB_WEIGH0_SLV_L1C1 0x2056
#define DI_WRARB_WEIGH1_SLV_L1C1 0x2057
#define DI_RDWR_ARB_STATUS_L1C1 0x2058
#define DI_ARB_DBG_CTRL_L1C1 0x2059
#define DI_ARB_DBG_STAT_L1C1 0x205a
#define DI_RDARB_UGT_L1C1 0x205b
#define DI_RDARB_LIMT0_L1C1 0x205c
#define DI_WRARB_UGT_L1C1 0x205d
#define DI_PRE_GL_CTRL 0x20ab
#define DI_PRE_GL_THD 0x20ac
#define DI_POST_GL_CTRL 0x20ad
#define DI_POST_GL_THD 0x20ae
#define DI_SUB_RDARB_MODE 0x37c0
#define DI_SUB_RDARB_REQEN_SLV 0x37c1
#define DI_SUB_RDARB_WEIGH0_SLV 0x37c2
#define DI_SUB_RDARB_WEIGH1_SLV 0x37c3
#define DI_SUB_RDARB_UGT 0x37c4
#define DI_SUB_RDARB_LIMT0 0x37c5
#define DI_SUB_WRARB_MODE 0x37c6
#define DI_SUB_WRARB_REQEN_SLV 0x37c7
#define DI_SUB_WRARB_WEIGH0_SLV 0x37c8
#define DI_SUB_WRARB_WEIGH1_SLV 0x37c9
#define DI_SUB_WRARB_UGT 0x37ca
#define DI_SUB_RDWR_ARB_STATUS 0x37cb
#define DI_SUB_ARB_DBG_CTRL 0x37cc
#define DI_SUB_ARB_DBG_STAT 0x37cd
#define CONTRD_CTRL1 0x37d0
#define CONTRD_CTRL2 0x37d1
#define CONTRD_SCOPE_X 0x37d2
#define CONTRD_SCOPE_Y 0x37d3
#define CONTRD_RO_STAT 0x37d4
#define CONT2RD_CTRL1 0x37d5
#define CONT2RD_CTRL2 0x37d6
#define CONT2RD_SCOPE_X 0x37d7
#define CONT2RD_SCOPE_Y 0x37d8
#define CONT2RD_RO_STAT 0x37d9
#define MTNRD_CTRL1 0x37da
#define MTNRD_CTRL2 0x37db
#define MTNRD_SCOPE_X 0x37dc
#define MTNRD_SCOPE_Y 0x37dd
#define MTNRD_RO_STAT 0x37de
#define MCVECRD_CTRL1 0x37df
#define MCVECRD_CTRL2 0x37e0
#define MCVECRD_SCOPE_X 0x37e1
#define MCVECRD_SCOPE_Y 0x37e2
#define MCVECRD_RO_STAT 0x37e3
#define MCINFRD_CTRL1 0x37e4
#define MCINFRD_CTRL2 0x37e5
#define MCINFRD_SCOPE_X 0x37e6
#define MCINFRD_SCOPE_Y 0x37e7
#define MCINFRD_RO_STAT 0x37e8
#define CONTWR_X 0x37e9
#define CONTWR_Y 0x37ea
#define CONTWR_CTRL 0x37eb
#define CONTWR_CAN_SIZE 0x37ec
#define MTNWR_X 0x37ed
#define MTNWR_Y 0x37ee
#define MTNWR_CTRL 0x37ef
#define MTNWR_CAN_SIZE 0x37f0
#define MCVECWR_X 0x37f1
#define MCVECWR_Y 0x37f2
#define MCVECWR_CTRL 0x37f3
#define MCVECWR_CAN_SIZE 0x37f4
#define MCINFWR_X 0x37f5
#define MCINFWR_Y 0x37f6
#define MCINFWR_CTRL 0x37f7
#define MCINFWR_CAN_SIZE 0x37f8
/* DI SCALE */
#define DI_SCO_FIFO_CTRL 0x374e
#define DI_SC_TOP_CTRL 0x374f
#define DI_SC_DUMMY_DATA 0x3750
#define DI_SC_LINE_IN_LENGTH 0x3751
#define DI_SC_PIC_IN_HEIGHT 0x3752
#define DI_SC_COEF_IDX 0x3753
#define DI_SC_COEF 0x3754
#define DI_VSC_REGION12_STARTP 0x3755
#define DI_VSC_REGION34_STARTP 0x3756
#define DI_VSC_REGION4_ENDP 0x3757
#define DI_VSC_START_PHASE_STEP 0x3758
#define DI_VSC_REGION0_PHASE_SLOPE 0x3759
#define DI_VSC_REGION1_PHASE_SLOPE 0x375a
#define DI_VSC_REGION3_PHASE_SLOPE 0x375b
#define DI_VSC_REGION4_PHASE_SLOPE 0x375c
#define DI_VSC_PHASE_CTRL 0x375d
#define DI_VSC_INI_PHASE 0x375e
#define DI_HSC_REGION12_STARTP 0x3760
#define DI_HSC_REGION34_STARTP 0x3761
#define DI_HSC_REGION4_ENDP 0x3762
#define DI_HSC_START_PHASE_STEP 0x3763
#define DI_HSC_REGION0_PHASE_SLOPE 0x3764
#define DI_HSC_REGION1_PHASE_SLOPE 0x3765
#define DI_HSC_REGION3_PHASE_SLOPE 0x3766
#define DI_HSC_REGION4_PHASE_SLOPE 0x3767
#define DI_HSC_PHASE_CTRL 0x3768
#define DI_SC_MISC 0x3769
#define DI_HSC_PHASE_CTRL1 0x376a
#define DI_HSC_INI_PAT_CTRL 0x376b
#define DI_SC_GCLK_CTRL 0x376c
#define DI_SC_HOLD_LINE 0x376d
/* NR DOWNSAMPLE */
#define NRDSWR_X 0x37f9
#define NRDSWR_Y 0x37fa
#define NRDSWR_CTRL 0x37fb
#define NRDSWR_CAN_SIZE 0x37fc
#define NR_DS_BUF_SIZE_REG 0x3740
#define NR_DS_CTRL 0x3741
#define NR_DS_OFFSET 0x3742
#define NR_DS_BLD_COEF 0x3743
/* di */
#define DI_IF1_URGENT_CTRL (0x20a3) /* << 2 + 0xd0100000*/
/* bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 ,
* low threshold for di inp chroma path
* bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 ,
* low threshold for di inp luma path
*/
#define DI_INP_URGENT_CTRL (0x20a4) /* << 2 + 0xd0100000*/
/* bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 ,
* low threshold for di mem chroma path
* bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 ,
* low threshold for di mem luma path
*/
#define DI_MEM_URGENT_CTRL (0x20a5) /* << 2 + 0xd0100000*/
/* bit15, auto enable; bit14, canvas write mode ;7:4, high threshold ;3:0 ,
* low threshold for di chan2 chroma path
* bit31, auto enable; bit30, canvas write mode ;23:20, high threshold ;19:16 ,
* low threshold for di chan2 luma path
*/
#define DI_CHAN2_URGENT_CTRL (0x20a6) /* << 2 + 0xd0100000*/
#define DI_PRE_CTRL ((0x1700)) /* << 2) + 0xd0100000) */
/* bit 31, cbus_pre_frame_rst */
/* bit 30, cbus_pre_soft_rst */
/* bit 29, pre_field_num */
/* bit 27:26, mode_444c422 */
/* bit 25, di_cont_read_en */
/* bit 24:23, mode_422c444 */
/* bit 22, mtn_after_nr */
/* bit 21:16, pre_hold_fifo_lines */
/* bit 15, nr_wr_by */
/* bit 14, use_vdin_go_line */
/* bit 13, di_prevdin_en */
/* bit 12, di_pre_viu_link */
/* bit 11, di_pre_repeat */
/* bit 10, di_pre_drop_1st */
/* bit 9, di_buf2_en */
/* bit 8, di_chan2_en */
/* bit 7, prenr_hist_en */
/* bit 6, chan2_hist_en */
/* bit 5, hist_check_en */
/* bit 4, check_after_nr */
/* bit 3, check222p_en */
/* bit 2, check322p_en */
/* bit 1, mtn_en */
/* bit 0, nr_en */
/* #define DI_POST_CTRL ((0x1701)) */
/* bit 31, cbus_post_frame_rst */
/* bit 30, cbus_post_soft_rst */
/* bit 29, post_field_num */
/* bit 21:16, post_hold_fifo_lines */
/* bit 13, prepost_link */
/* bit 12, di_post_viu_link */
/* bit 11, di_post_repeat */
/* bit 10, di_post_drop_1st */
/* bit 9, mif0_to_vpp_en */
/* bit 8, di_vpp_out_en */
/* bit 7, di_wr_bk_en */
/* bit 6, di_mux_en */
/* bit 5, di_blend_en */
/* bit 4, di_mtnp_read_en */
/* bit 3, di_mtn_buf_en */
/* bit 2, di_ei_en */
/* bit 1, di_buf1_en */
/* bit 0, di_buf0_en */
/* #define DI_POST_SIZE ((0x1702)) */
/* bit 28:16, vsize1post */
/* bit 12:0, hsize1post */
#define DI_PRE_SIZE ((0x1703)) /* << 2) + 0xd0100000) */
/* bit 28:16, vsize1pre */
/* bit 12:0, hsize1pre */
#define DI_EI_CTRL0 ((0x1704)) /* << 2) + 0xd0100000) */
/* bit 23:16, ei0_filter[2:+] abs_diff_left>filter &&
* ...right>filter && ...top>filter && ...bot>filter -> filter
*/
/* bit 15:8, ei0_threshold[2:+] */
/* bit 3, ei0_vertical */
/* bit 2, ei0_bpscf2 */
/* bit 1, ei0_bpsfar1 */
#define DI_EI_CTRL1 ((0x1705)) /* << 2) + 0xd0100000) */
/* bit 31:24, ei0_diff */
/* bit 23:16, ei0_angle45 */
/* bit 15:8, ei0_peak */
/* bit 7:0, ei0_cross */
#define DI_EI_CTRL2 ((0x1706)) /* << 2) + 0xd0100000) */
/* bit 31:24, ei0_close2 */
/* bit 23:16, ei0_close1 */
/* bit 15:8, ei0_far2 */
/* bit 7:0, ei0_far1 */
#define DI_NR_CTRL0 ((0x1707)) /* << 2) + 0xd0100000) */
/* bit 26, nr_cue_en */
/* bit 25, nr2_en */
#define DI_NR_CTRL1 ((0x1708)) /* << 2) + 0xd0100000) */
/* bit 31:30, mot_p1txtcore_mode */
/* bit 29:24, mot_p1txtcore_clmt */
/* bit 21:16, mot_p1txtcore_ylmt */
/* bit 15:8, mot_p1txtcore_crate */
/* bit 7:0, mot_p1txtcore_yrate */
#define DI_NR_CTRL2 ((0x1709)) /* << 2) + 0xd0100000) */
/* bit 29:24, mot_curtxtcore_clmt */
/* bit 21:16, mot_curtxtcore_ylmt */
/* bit 15:8, mot_curtxtcore_crate */
/* bit 7:0, mot_curtxtcore_yrate */
/* `define DI_NR_CTRL3 8'h0a */
/* no use */
/* `define DI_MTN_CTRL 8'h0b */
/* no use */
#define DI_MTN_CTRL1 ((0x170c)) /* << 2) + 0xd0100000) */
/* bit 13 , me enable */
/* bit 12 , me autoenable */
/* bit 11:8, mtn_paramtnthd */
/* bit 7:0, mtn_parafltthd */
#define DI_BLEND_CTRL ((0x170d)) /* << 2) + 0xd0100000) */
/* bit 31, blend_1_en */
/* bit 30, blend_mtn_lpf */
/* bit 28, post_mb_en */
/* bit 27, blend_mtn3p_max */
/* bit 26, blend_mtn3p_min */
/* bit 25, blend_mtn3p_ave */
/* bit 24, blend_mtn3p_maxtb */
/* bit 23, blend_mtn_flt_en */
/* bit 22, blend_data_flt_en */
/* bit 21:20, blend_top_mode */
/* bit 19, blend_reg3_enable */
/* bit 18, blend_reg2_enable */
/* bit 17, blend_reg1_enable */
/* bit 16, blend_reg0_enable */
/* bit 15:14, blend_reg3_mode */
/* bit 13:12, blend_reg2_mode */
/* bit 11:10, blend_reg1_mode */
/* bit 9:8, blend_reg0_mode */
/* bit 7:0, kdeint */
/* `define DI_BLEND_CTRL1 8'h0e */
/* no use */
/* `define DI_BLEND_CTRL2 8'h0f */
/* no use */
#define DI_ARB_CTRL ((0x170f)) /* << 2) + 0xd0100000) */
/* bit 31:26, di_arb_thd1 */
/* bit 25:20, di_arb_thd0 */
/* bit 19, di_arb_tid_mode */
/* bit 18, di_arb_arb_mode */
/* bit 17, di_arb_acq_en */
/* bit 16, di_arb_disable_clk */
/* bit 15:0, di_arb_req_en */
#define DI_BLEND_REG0_X ((0x1710)) /* << 2) + 0xd0100000) */
/* bit 27:16, blend_reg0_startx */
/* bit 11:0, blend_reg0_endx */
#define DI_BLEND_REG0_Y ((0x1711)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG1_X ((0x1712)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG1_Y ((0x1713)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG2_X ((0x1714)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG2_Y ((0x1715)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG3_X ((0x1716)) /* << 2) + 0xd0100000) */
#define DI_BLEND_REG3_Y ((0x1717)) /* << 2) + 0xd0100000) */
#define DI_CLKG_CTRL ((0x1718)) /* << 2) + 0xd0100000) */
/* bit 31:24, pre_gclk_ctrl no clk gate control. if ==1,
* module clk is not gated (always on). [3] for pulldown,[2]
* for mtn_1,[1] for mtn_0,[0] for nr
* bit 23:16, post_gclk_ctrl no clk gate control. [4]
* for ei_1, [3] for ei_0,[2] for ei_top, [1] for blend_1, [0] for blend_0
* bit 1, di_gate_all clk shut down. if ==1 ,
* all di clock shut down
* bit 0, di_no_clk_gate no clk gate control.
* if di_gated_all==0 and di_no_clk_gate ==1, all di clock is always working.
*/
#define DI_EI_CTRL3 ((0x1719)) /* << 2) + 0xd0100000) */
/* bit 31, reg_ei_1 */
/* bit 30, reg_demon_en */
/* bit 26:24, reg_demon_mux */
/* bit 23:20, reg_right_win */
/* bit 19:16, reg_left_win */
/* bit 7:4, reg_ei_sadm_quatize_margin */
/* bit 1:0, reg_ei_sad_relative_mode */
#define DI_EI_CTRL4 ((0x171a)) /* << 2) + 0xd0100000) */
/* bit 29, reg_ei_caldrt_ambliike2_biasvertical */
/* bit 28:24, reg_ei_caldrt_addxla2list_drtmax */
/* bit 22:20, reg_ei_caldrt_addxla2list_signm0th */
/* bit 19, reg_ei_caldrt_addxla2list_mode */
/* bit 18:16, reg_ei_signm_sad_cor_rate */
/* bit 15:12, reg_ei_signm_sadi_cor_rate */
/* bit 11:6, reg_ei_signm_sadi_cor_ofst */
/* bit 5:0, reg_ei_signm_sad_ofst */
#define DI_EI_CTRL5 ((0x171b)) /* << 2) + 0xd0100000) */
/* bit 30:28, reg_ei_caldrt_cnflcctchk_frcverthrd */
/* bit 26:24, reg_ei_caldrt_cnflctchk_mg */
/* bit 23:22, reg_ei_caldrt_cnflctchk_ws */
/* bit 21, reg_ei_caldrt_cnflctchk_en */
/* bit 20, reg_ei_caldrt_verfrc_final_en */
/* bit 19, reg_ei_caldrt_verfrc_retimflt_en */
/* bit 18:16, reg_ei_caldrt_verftc_eithratemth */
/* bit 15, reg_ei_caldrt_verfrc_retiming_en */
/* bit 14:12, reg_ei_caldrt_verfrc_bothratemth */
/* bit 11:9, reg_ei_caldrt_ver_thrd */
/* bit 8:4, reg_ei_caldrt_addxla2list_drtmin */
/* bit 3:0, reg_ei_caldrt_addxla2list_drtlimit */
#define DI_EI_CTRL6 ((0x171c)) /* << 2) + 0xd0100000) */
/* bit 31:24, reg_ei_caldrt_abext_sad12thhig */
/* bit 23:16, reg_ei_caldrt_abext_sad00thlow */
/* bit 15:8, reg_ei_caldrt_abext_sad12thlow */
/* bit 6:4, reg_ei_caldrt_abext_ratemth */
/* bit 2:0, reg_ei_caldrt_abext_drtthrd */
#define DI_EI_CTRL7 ((0x171d)) /* << 2) + 0xd0100000) */
/* bit 29, reg_ei_caldrt_xlanopeak_codien */
/* bit 28:24, reg_ei_caldrt_xlanopeak_drtmax */
/* bit 23, reg_ei_caldrt_xlanopeak_en */
/* bit 28:24, reg_ei_caldrt_abext_monotrnd_alpha */
/* bit 28:24, reg_ei_caldrt_abext_mononum12_thrd */
/* bit 28:24, reg_ei_caldrt_abext_mononum00_thrd */
/* bit 28:24, reg_ei_caldrt_abext_sad00rate */
/* bit 28:24, reg_ei_caldrt_abext_sad12rate */
/* bit 28:24, reg_ei_caldrt_abext_sad00thhig */
#define DI_EI_CTRL8 ((0x171e)) /* << 2) + 0xd0100000) */
/* bit 30:28, reg_ei_assign_headtail_magin */
/* bit 26:24, reg_ei_retime_lastcurpncnfltchk_mode */
/* bit 22:21, reg_ei_retime_lastcurpncnfltchk_drtth */
/* bit 20, reg_ei_caldrt_histchk_cnfid */
/* bit 19:16, reg_ei_caldrt_histchk_thrd */
/* bit 15, reg_ei_caldrt_histchk_abext */
/* bit 14, reg_ei_caldrt_histchk_npen */
/* bit 13:11, reg_ei_caldrt_amblike2_drtmg */
/* bit 10:8, reg_ei_caldrt_amblike2_valmg */
/* bit 7:4, reg_ei_caldrt_amblike2_alpha */
/* bit 3:0, reg_ei_caldrt_amblike2_drtth */
#define DI_EI_CTRL9 ((0x171f)) /* << 2) + 0xd0100000) */
/* bit 31:28, reg_ei_caldrt_hcnfcheck_frcvert_xla_th3 */
/* bit 27, reg_ei_caldrt_hcnfcheck_frcvert_xla_en */
/* bit 26:24, reg_ei_caldrt_conf_drtth */
/* bit 23:20, reg_ei_caldrt_conf_absdrtth */
/* bit 19:18, reg_ei_caldrt_abcheck_mode1 */
/* bit 17:16, reg_ei_caldrt_abcheck_mode0 */
/* bit 15:12, reg_ei_caldrt_abcheck_drth1 */
/* bit 11:8, reg_ei_caldrt_abcheck_drth0 */
/* bit 6:4, reg_ei_caldrt_abpnchk1_th */
/* bit 1, reg_ei_caldrt_abpnchk1_en */
/* bit 0, reg_ei_caldrt_abpnchk0_en */
#define DI_EI_CTRL10 ((0x1793)) /* << 2) + 0xd0100000) */
/* bit 31:28, reg_ei_caldrt_hstrrgchk_drtth */
/* bit 27:24, reg_ei_caldrt_hstrrgchk_frcverthrd */
/* bit 23:20, reg_ei_caldrt_hstrrgchk_mg */
/* bit 19, reg_ei_caldrt_hstrrgchk_1sidnul */
/* bit 18, reg_ei_caldrt_hstrrgchk_excpcnf */
/* bit 17:16, reg_ei_caldrt_hstrrgchk_ws */
/* bit 15, reg_ei_caldrt_hstrrgchk_en */
/* bit 14:13, reg_ei_caldrt_hpncheck_mode */
/* bit 12, reg_ei_caldrt_hpncheck_mute */
/* bit 11:9, reg_ei_caldrt_hcnfcheck_mg2 */
/* bit 8:6, reg_ei_caldrt_hcnfcheck_mg1 */
/* bit 5:4, reg_ei_caldrt_hcnfcheck_mode */
/* bit 3:0, reg_ei_caldrt_hcnfcheck_mg2 */
#define DI_EI_CTRL11 ((0x179e)) /* << 2) + 0xd0100000) */
/* bit 30:29, reg_ei_amb_detect_mode */
/* bit 28:24, reg_ei_amb_detect_winth */
/* bit 23:21, reg_ei_amb_decide_rppth */
/* bit 20:19, reg_ei_retime_lastmappncnfltchk_drtth */
/* bit 18:16, reg_ei_retime_lastmappncnfltchk_mode */
/* bit 15:14, reg_ei_retime_lastmapvertfrcchk_mode */
/* bit 13:12, reg_ei_retime_lastvertfrcchk_mode */
/* bit 11:8, reg_ei_retime_lastpnchk_drtth */
/* bit 6, reg_ei_retime_lastpnchk_en */
/* bit 5:4, reg_ei_retime_mode */
/* bit 3, reg_ei_retime_last_en */
/* bit 2, reg_ei_retime_ab_en */
/* bit 1, reg_ei_caldrt_hstrvertfrcchk_en */
/* bit 0, reg_ei_caldrt_hstrrgchk_mode */
#define DI_EI_CTRL12 ((0x179f)) /* << 2) + 0xd0100000) */
/* bit 31:28, reg_ei_drtdelay2_lmt */
/* bit 27:26, reg_ei_drtdelay2_notver_lrwin */
/* bit 25:24, reg_ei_drtdelay_mode */
/* bit 23, reg_ei_drtdelay2_mode */
/* bit 22:20, reg_ei_assign_xla_signm0th */
/* bit 19, reg_ei_assign_pkbiasvert_en */
/* bit 18, reg_ei_assign_xla_en */
/* bit 17:16, reg_ei_assign_xla_mode */
/* bit 15:12, reg_ei_assign_nlfilter_magin */
/* bit 11:8, reg_ei_localsearch_maxrange */
/* bit 7:4, reg_ei_xla_drtth */
/* bit 3:0, reg_ei_flatmsad_thrd */
#define DI_EI_CTRL13 ((0x17a8)) /* << 2) + 0xd0100000) */
/* bit 27:24, reg_ei_int_drt2x_chrdrt_limit */
/* bit 23:20, reg_ei_int_drt16x_core */
/* bit 19:16, reg_ei_int_drtdelay2_notver_cancv */
/* bit 15:8, reg_ei_int_drtdelay2_notver_sadth */
/* bit 7:0, reg_ei_int_drtdelay2_vlddrt_sadth */
#define DI_EI_XWIN0 ((0x1798)) /* << 2) + 0xd0100000) */
/* bit 27:16, ei_xend0 */
/* bit 11:0, ei_xstart0 */
#define DI_EI_XWIN1 ((0x1799)) /* << 2) + 0xd0100000) */
/* DEINTERLACE mode check. */
#define DI_MC_REG0_X ((0x1720)) /* << 2) + 0xd0100000) */
/* bit 27:16, mc_reg0_start_x */
/* bit 11:0, mc_reg0_end_x */
#define DI_MC_REG0_Y ((0x1721)) /* << 2) + 0xd0100000) */
#define DI_MC_REG1_X ((0x1722)) /* << 2) + 0xd0100000) */
#define DI_MC_REG1_Y ((0x1723)) /* << 2) + 0xd0100000) */
#define DI_MC_REG2_X ((0x1724)) /* << 2) + 0xd0100000) */
#define DI_MC_REG2_Y ((0x1725)) /* << 2) + 0xd0100000) */
#define DI_MC_REG3_X ((0x1726)) /* << 2) + 0xd0100000) */
#define DI_MC_REG3_Y ((0x1727)) /* << 2) + 0xd0100000) */
#define DI_MC_REG4_X ((0x1728)) /* << 2) + 0xd0100000) */
#define DI_MC_REG4_Y ((0x1729)) /* << 2) + 0xd0100000) */
#define DI_MC_32LVL0 ((0x172a)) /* << 2) + 0xd0100000) */
/* bit 31:24, mc_reg2_32lvl */
/* bit 23:16, mc_reg1_32lvl */
/* bit 15:8, mc_reg0_32lvl */
/* bit 7:0, field_32lvl */
#define DI_MC_32LVL1 ((0x172b)) /* << 2) + 0xd0100000) */
/* bit 15:8, mc_reg3_32lvl */
/* bit 7:0, mc_reg4_32lvl */
#define DI_MC_22LVL0 ((0x172c)) /* << 2) + 0xd0100000) */
/* bit 31:16, mc_reg0_22lvl */
/* bit 15:0, field_22lvl */
#define DI_MC_22LVL1 ((0x172d)) /* << 2) + 0xd0100000) */
/* bit 31:16, mc_reg2_22lvl */
/* bit 15:0, mc_reg1_22lvl */
#define DI_MC_22LVL2 ((0x172e)) /* << 2) + 0xd0100000) */
/* bit 31:16, mc_reg4_22lvl */
/* bit 15:0, mc_reg3_22lvl */
#define DI_MC_CTRL ((0x172f)) /* << 2) + 0xd0100000) */
/* bit 4, mc_reg4_en */
/* bit 3, mc_reg3_en */
/* bit 2, mc_reg2_en */
/* bit 1, mc_reg1_en */
/* bit 0, mc_reg0_en */
#define DI_INTR_CTRL ((0x1730)) /* << 2) + 0xd0100000) */
#define DI_INFO_ADDR ((0x1731)) /* << 2) + 0xd0100000) */
#define DI_INFO_DATA ((0x1732)) /* << 2) + 0xd0100000) */
#define DI_PRE_HOLD ((0x1733)) /* << 2) + 0xd0100000) */
#define DI_MTN_1_CTRL1 ((0x1740)) /* << 2) + 0xd0100000) */
/* bit 31, mtn_1_en */
/* bit 30, mtn_init */
/* bit 29, di2nr_txt_en */
/* bit 28, di2nr_txt_mode */
/* bit 27:24, mtn_def */
/* bit 23:16, mtn_adp_yc */
/* bit 15:8, mtn_adp_2c */
/* bit 7:0, mtn_adp_2y */
#define DI_MTN_1_CTRL2 ((0x1741)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_ykinter */
/* bit 23:16, mtn_ckinter */
/* bit 15:8, mtn_ykintra */
/* bit 7:0, mtn_ckintra */
#define DI_MTN_1_CTRL3 ((0x1742)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_tyrate */
/* bit 23:16, mtn_tcrate */
/* bit 15: 8, mtn_mxcmby */
/* bit 7: 0, mtn_mxcmbc */
#define DI_MTN_1_CTRL4 ((0x1743)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_tcorey */
/* bit 23:16, mtn_tcorec */
/* bit 15: 8, mtn_minth */
/* bit 7: 0, mtn_maxth */
#define DI_MTN_1_CTRL5 ((0x1744)) /* << 2) + 0xd0100000) */
/* bit 31:28, mtn_m1b_extnd */
/* bit 27:24, mtn_m1b_errod */
/* bit 19:18, mtn_replace_cbyy */
/* bit 17:16, mtn_replace_ybyc */
/* bit 15: 8, mtn_core_ykinter */
/* bit 7: 0, mtn_core_ckinter */
#define DI_MTN_1_CTRL6 ((0x17a9)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_m1b_extnd */
/* bit 23:16, mtn_m1b_errod */
/* bit 15: 8, mtn_core_ykinter */
/* bit 7: 0, mtn_core_ckinter */
#define DI_MTN_1_CTRL7 ((0x17aa)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_core_mxcmby */
/* bit 23:16, mtn_core_mxcmbc */
/* bit 15: 8, mtn_core_y */
/* bit 7: 0, mtn_core_c */
#define DI_MTN_1_CTRL8 ((0x17ab)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_fcore_ykinter */
/* bit 23:16, mtn_fcore_ckinter */
/* bit 15: 8, mtn_fcore_ykintra */
/* bit 7: 0, mtn_fcore_ckintra */
#define DI_MTN_1_CTRL9 ((0x17ac)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_fcore_2yrate */
/* bit 23:16, mtn_fcore_2crate */
/* bit 15: 8, mtn_fcore_y */
/* bit 7: 0, mtn_fcore_c */
#define DI_MTN_1_CTRL10 ((0x17ad)) /* << 2) + 0xd0100000) */
/* bit 27:24, mtn_motfld0 */
/* bit 19:16, mtn_stlfld0 */
/* bit 11: 8, mtn_motfld1 */
/* bit 3: 0, mtn_stlfld1 */
#define DI_MTN_1_CTRL11 ((0x17ae)) /* << 2) + 0xd0100000) */
/* bit 27:24, mtn_smotevn */
/* bit 20:16, mtn_smotodd */
/* bit 11: 8, mtn_sstlevn */
/* bit 4: 0, mtn_sstlodd */
#define DI_MTN_1_CTRL12 ((0x17af)) /* << 2) + 0xd0100000) */
/* bit 31:24, mtn_mgain */
/* bit 17:16, mtn_mmode */
/* bit 15: 8, mtn_sthrd */
/* bit 4: 0, mtn_sgain */
/* // DET 3D REG DEFINE BEGIN //// */
/* // 8'h34~8'h3f */
#define DET3D_MOTN_CFG ((0x1734)) /* << 2) + 0xd0100000) */
/* Bit 16, reg_det3d_intr_en Det3d interrupt enable
* Bit 9:8, reg_Det3D_Motion_Mode
* U2 Different mode for Motion Calculation of Luma and Chroma:
* 0: MotY, 1: (2*MotY + (MotU + MotV))/4;
* 2: Max(MotY, MotU,MotV); 3:Max(MotY, (MotU+MotV)/2)
* Bit 7:4, reg_Det3D_Motion_Core_Rate U4 K Rate to Edge (HV) details
* for coring of Motion Calculations, normalized to 32
* Bit 3:0, reg_Det3D_Motion_Core_Thrd
* U4 2X: static coring value for Motion Detection.
*/
#define DET3D_CB_CFG ((0x1735)) /* << 2) + 0xd0100000) */
/* Bit 7:4, reg_Det3D_ChessBd_NHV_ofst
* U4, Noise immune offset for NON-Horizotnal or vertical combing detection.
*
* Bit 3:0, reg_Det3D_ChessBd_HV_ofst
* U4, Noise immune offset for Horizotnal or vertical combing detection.
*/
#define DET3D_SPLT_CFG ((0x1736)) /* << 2) + 0xd0100000) */
/* Bit 7:4, reg_Det3D_SplitValid_ratio
* U4, Ratio between max_value and the avg_value of
* the edge mapping for split line valid detection.
* The smaller of this value, the easier of the split line detected.
* Bit 3:0, reg_Det3D_AvgIdx_ratio U4,Ratio to the avg_value of the
* edge mapping for split line position estimation.
*/
/* The smaller of this value,
* the more samples will be added to the estimation.
*/
#define DET3D_HV_MUTE ((0x1737)) /* << 2) + 0xd0100000) */
/* Bit 23:20, reg_Det3D_Edge_Ver_Mute U4 X2: Horizontal pixels to be mute
* from H/V Edge calculation Top and Bottom border part.
* Bit 19:16, reg_Det3D_Edge_Hor_Mute U4 X2: Horizontal pixels to be mute
* from H/V Edge calculation Left and right border part.
* Bit 15:12, reg_Det3D_ChessBd_Ver_Mute U4 X2: Horizontal pixels to
* be mute from ChessBoard statistics calculation in middle part
* Bit 11:8, reg_Det3D_ChessBd_Hor_Mute U4 X2: Horizontal pixels to
* be mute from ChessBoard statistics calculation in middle part
* Bit 7:4, reg_Det3D_STA8X8_Ver_Mute U4 1X: Vertical pixels to be
* mute from 8x8 statistics calculation in each block.
* Bit 3:0, reg_Det3D_STA8X8_Hor_Mute U4 1X: Horizontal pixels to
* be mute from 8x8 statistics calculation in each block.
*/
#define DET3D_MAT_STA_P1M1 ((0x1738)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_Det3D_STA8X8_P1_K0_R8 U8 SAD to SAI ratio to decide P1,
* normalized to 256 (0.8)
* Bit 23:16, reg_Det3D_STA8X8_P1_K1_R7 U8 SAD to ENG ratio to decide P1,
* normalized to 128 (0.5)
* Bit 15:8, reg_Det3D_STA8X8_M1_K0_R6
* U8 SAD to SAI ratio to decide M1, normalized to 64 (1.1)
* Bit 7:0, reg_Det3D_STA8X8_M1_K1_R6
* U8 SAD to ENG ratio to decide M1, normalized to 64 (0.8)
*/
#define DET3D_MAT_STA_P1TH ((0x1739)) /* << 2) + 0xd0100000) */
/* Bit 23:16, reg_Det3D_STAYUV_P1_TH_L4 U8 SAD to ENG Thrd offset to
* decide P1, X16 (100)
* Bit 15:8, reg_Det3D_STAEDG_P1_TH_L4 U8 SAD to ENG Thrd
* offset to decide P1, X16 (80)
* Bit 7:0, reg_Det3D_STAMOT_P1_TH_L4 U8 SAD to ENG Thrd
* offset to decide P1, X16 (48)
*/
#define DET3D_MAT_STA_M1TH ((0x173a)) /* << 2) + 0xd0100000) */
/* Bit 23:16, reg_Det3D_STAYUV_M1_TH_L4 U8 SAD to
* ENG Thrd offset to decide M1, X16 (100)
* Bit 15:8, reg_Det3D_STAEDG_M1_TH_L4
* U8 SAD to ENG Thrd offset to decide M1, X16 (80)
* Bit 7:0, reg_Det3D_STAMOT_M1_TH_L4
* U8 SAD to ENG Thrd offset to decide M1, X16 (64)
*/
#define DET3D_MAT_STA_RSFT ((0x173b)) /* << 2) + 0xd0100000) */
/* Bit 5:4, reg_Det3D_STAYUV_RSHFT U2 YUV statistics SAD and SAI
* calculation result right shift bits to accommodate the 12bits clipping:
* 0: mainly for images <=720x480:
* 1: mainly for images <=1366x768:
* 2: mainly
* for images <=1920X1080: 2; 3: other higher resolutions
* Bit 3:2, reg_Det3D_STAEDG_RSHFT U2 Horizontal and Vertical Edge
* Statistics SAD and SAI calculation result right shift bits to
* accommodate the 12bits clipping:
* 0: mainly for images <=720x480: 1: mainly for images <=1366x768:
* 2: mainly for images <=1920X1080: 2; 3: other higher resolutions
* Bit 1:0, reg_Det3D_STAMOT_RSHFT U2 Motion SAD and SAI
* calculation result right shift bits to accommodate the 12bits clipping:
* 0: mainly for images <=720x480: 1: mainly for images <=1366x768:
* 2: mainly for images <=1920X1080: 2; 3: other higher resolutions
*/
#define DET3D_MAT_SYMTC_TH ((0x173c)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_Det3D_STALUM_symtc_Th U8 threshold to decide
* if the Luma statistics is TB or LR symmetric.
* Bit 23:16, reg_Det3D_STACHR_symtc_Th U8 threshold to decide
* if the Chroma (UV) statistics is TB or LR symmetric.
* Bit 15:8, reg_Det3D_STAEDG_symtc_Th U8 threshold to
* decide if the Horizontal and Vertical Edge statistics is TB or LR symmetric.
* Bit 7:0, reg_Det3D_STAMOT_symtc_Th U8 threshold to
* decide if the Motion statistics is TB or LR symmetric.
*/
#define DET3D_RO_DET_CB_HOR ((0x173d)) /* << 2) + 0xd0100000) */
/* Bit 31:16, RO_Det3D_ChessBd_NHor_value U16 X64: number of Pixels
* of Horizontally Surely NOT matching Chessboard pattern.
* Bit 15:0, RO_Det3D_ChessBd_Hor_value U16 X64: number of
* Pixels of Horizontally Surely matching Chessboard pattern.
*/
#define DET3D_RO_DET_CB_VER ((0x173e)) /* << 2) + 0xd0100000) */
/* Bit 31:16, RO_Det3D_ChessBd_NVer_value U16 X64: number of
* Pixels of Vertically Surely NOT matching Chessboard pattern.
* Bit 15:0, RO_Det3D_ChessBd_Ver_value U16 X64: number
* of Pixels of Vertically Surely matching Chessboard pattern.
*/
#define DET3D_RO_SPLT_HT ((0x173f)) /* << 2) + 0xd0100000) */
/* Bit 24, RO_Det3D_Split_HT_valid U1 horizontal LR split border
* detected valid signal for top half picture
* Bit 20:16, RO_Det3D_Split_HT_pxnum U5 number of pixels included for the
* LR split position estimation for top half picture
* Bit 9:0, RO_Det3D_Split_HT_idxX4 S10 X4: horizontal pixel
* shifts of LR split position to the (ColMax/2) for top half picture
* // DET 3D REG DEFINE END ////
* // NR2 REG DEFINE BEGIN////
*/
#define NR2_MET_NM_CTRL ((0x1745)) /* << 2) + 0xd0100000) */
/* Bit 28, reg_NM_reset Reset to the status of the Loop filter.
* Bit 27:24, reg_NM_calc_length Length mode of the Noise
* measurement sample number for statistics.
* 0: 256 samples; 1: 512 samples; 2: 1024 samples;
* ¡­X: 2^(8+x) samples
* Bit 23:20, reg_NM_inc_step Loop filter input gain increase step.
* Bit 19:16, reg_NM_dec_step Loop filter input gain decrease step.
* Bit 15:8, reg_NM_YHPmot_thrd Luma channel HP portion motion
* for condition of pixels included in Luma Noise measurement.
* Bit 7:0, reg_NM_CHPmot_thrd Chroma channel HP portion motion
* for condition of pixels included in Chroma Noise measurement.
*/
#define NR2_MET_NM_YCTRL ((0x1746)) /* << 2) + 0xd0100000) */
/* Bit 31:28, reg_NM_YPLL_target Target rate of
* NM_Ynoise_thrd to mean of the Luma Noise
* Bit 27:24, reg_NM_YLPmot_thrd Luma channel LP
* portion motion for condition of pixels included in Luma Noise measurement.
* Bit 23:16, reg_NM_YHPmot_thrd_min Minimum threshold for
* Luma channel HP portion motion to decide whether the pixel
* will be included in Luma noise measurement.
* Bit 15:8, reg_NM_YHPmot_thrd_max Maximum threshold for Luma
* channel HP portion motion to decide whether the pixel will be included in
* Luma noise measurement.
* Bit 7:0, reg_NM_Ylock_rate Rate to decide whether the
* Luma noise measurement is lock or not.
*/
#define NR2_MET_NM_CCTRL ((0x1747)) /* << 2) + 0xd0100000) */
/* Bit 31:28, reg_NM_CPLL_target
* Target rate of NM_Cnoise_thrd to mean of the Chroma Noise
* Bit 27:24, reg_NM_CLPmot_thrd Chroma channel LP portion motion
* for condition of pixels included in Chroma Noise measurement.
* Bit 23:16, reg_NM_CHPmot_thrd_min Minimum threshold for Chroma channel
* HP portion motion to decide whether the pixel will be
* included in Chroma noise measurement.
* Bit 15:8, reg_NM_CHPmot_thrd_max Maximum threshold for Chroma
* channel HP portion motion to decide whether the pixel will be included in
* Chroma noise measurement.
* Bit 7:0, reg_NM_Clock_rate Rate to decide whether the Chroma
* noise measurement is lock or not;
*/
#define NR2_MET_NM_TNR ((0x1748)) /* << 2) + 0xd0100000) */
/* Bit 25, ro_NM_TNR_Ylock Read-only register to tell
* ifLuma channel noise measurement is locked or not.
* Bit 24, ro_NM_TNR_Clock Read-only register to tell
* if Chroma channel noise measurement is locked or not.
* Bit 23:12, ro_NM_TNR_Ylevel Read-only register to give Luma
* channel noise level. It was 16x of pixel difference in 8 bits of YHPmot.
* Bit 11:0, ro_NM_TNR_ClevelRead-only register to give Chroma channel noise
* level.It was 16x of pixel difference in 8 bits of CHPmot.
*/
#define NR2_MET_NMFRM_TNR_YLEV ((0x1749)) /* << 2) + 0xd0100000) */
/* Bit 28:0, ro_NMFrm_TNR_Ylevel Frame based Read-only register
* to give Luma channel noise level within one frame/field.
*/
#define NR2_MET_NMFRM_TNR_YCNT ((0x174a)) /* << 2) + 0xd0100000) */
/* Bit 23:0, ro_NMFrm_TNR_Ycount Number ofLuma channel pixels
* included in Frame/Field based noise level measurement.
*/
#define NR2_MET_NMFRM_TNR_CLEV ((0x174b)) /* << 2) + 0xd0100000) */
/* Bit 28:0, ro_NMFrm_TNR_Clevel Frame based Read-only register
* to give Chroma channel noise level within one frame/field.
*/
#define NR2_MET_NMFRM_TNR_CCNT ((0x174c)) /* << 2) + 0xd0100000) */
/* Bit 23:0, ro_NMFrm_TNR_Ccount Number of Chroma channel pixels
* included in Frame/Field based noise level measurement.
*/
#define NR2_3DEN_MODE ((0x174d)) /* << 2) + 0xd0100000) */
/* Bit 6:4, Blend_3dnr_en_r */
/* Bit 2:0, Blend_3dnr_en_l */
#define NR2_IIR_CTRL ((0x174e)) /* << 2) + 0xd0100000) */
/* Bit 15:14, reg_LP_IIR_8bit_mode LP IIR membitwidth mode:
* 0: 10bits will be store in memory;
* 1: 9bits will be store in memory;
* 2: 8bits will be store in memory;
* 3: 7bits will be store in memory;
* Bit 13:12, reg_LP_IIR_mute_mode Mode for the LP IIR mute,
* Bit 11:8,reg_LP_IIR_mute_thrd Threshold of LP IIR mute to avoid ghost:
* Bit 7:6, reg_HP_IIR_8bit_mode IIR membitwidth mode:
* 0: 10bits will be store in memory;
* 1: 9bits will be store in memory;
* 2: 8bits will be store in memory;
* 3: 7bits will be store in memory;
* Bit 5:4, reg_HP_IIR_mute_mode Mode for theLP IIR mute
* Bit 3:0,reg_HP_IIR_mute_thrd Threshold of HP IIR mute to avoid ghost
*/
#define NR2_SW_EN ((0x174f)) /* << 2) + 0xd0100000) */
/* Bit 17:8, Clk_gate_ctrl
* Bit 7, Cfr_enable
* Bit 5, Det3d_en
* Bit 4, Nr2_proc_en
* Bit 0, Nr2_sw_en
*/
#define NR2_FRM_SIZE ((0x1750)) /* << 2) + 0xd0100000) */
/* Bit 27:16, Frm_heigh Frame/field height */
/* Bit 11: 0, Frm_width Frame/field width */
#define NR2_SNR_SAD_CFG ((0x1751)) /* << 2) + 0xd0100000) */
/* Bit 12, reg_MATNR_SNR_SAD_CenRPL U1, Enable signal for Current
* pixel position SAD to be replaced by SAD_min.0: do not replace Current pixel
* position SAD by SAD_min;1: do replacements
* Bit 11:8, reg_MATNR_SNR_SAD_coring Coring value of the intra-frame
* SAD. sum = (sum - reg_MATNR_SNR_SAD_coring);
* sum = (sum<0) ? 0: (sum>255)? 255: sum;
* Bit 6:5, reg_MATNR_SNR_SAD_WinMod Unsigned, Intra-frame SAD
* matching window mode:0: 1x1; 1: [1 1 1] 2: [1 2 1]; 3: [1 2 2 2 1];
* Bit 4:0, Sad_coef_num Sad coeffient
*/
#define NR2_MATNR_SNR_OS ((0x1752)) /* << 2) + 0xd0100000) */
/* Bit 7:4, reg_MATNR_SNR_COS SNR Filter overshoot control
* margin for UV channel (X2 to u10 scale)
* Bit 3:0, reg_MATNR_SNR_YOS SNR Filter overshoot control
* margin for luma channel (X2 to u10 scale)
*/
#define NR2_MATNR_SNR_NRM_CFG ((0x1753)) /* << 2) + 0xd0100000) */
/* Bit 23:16, reg_MATNR_SNR_NRM_ofst Edge based SNR
* boosting normalization offset to SAD_max ;
* Bit 15:8, reg_MATNR_SNR_NRM_max
* Edge based SNR boosting normalization Max value
* Bit 7:0, reg_MATNR_SNR_NRM_min
* Edge based SNR boosting normalization Min value
*/
#define NR2_MATNR_SNR_NRM_GAIN ((0x1754)) /* << 2) + 0xd0100000) */
/* Bit 15:8, reg_MATNR_SNR_NRM_Cgain Edge based SNR boosting
* normalization Gain for Chrm channel (norm 32 as 1)
* Bit 7:0, reg_MATNR_SNR_NRM_Ygain Edge based SNR boosting
* normalization Gain for Luma channel (norm 32 as 1)
*/
#define NR2_MATNR_SNR_LPF_CFG ((0x1755)) /* << 2) + 0xd0100000) */
/* Bit 23:16,reg_MATNR_SNRLPF_SADmaxTH U8, Threshold to SADmax to use TNRLPF
* to replace SNRLPF. i.e.if (SAD_max<reg_MATNR_SNRLPF_SADmaxTH)
* SNRLPF_yuv[k] = TNRLPF_yuv[k];
* Bit 13:11,reg_MATNR_SNRLPF_Cmode
* LPF based SNR filtering mode on CHRM channel:
* 0: gradient LPF [1 1]/2, 1: gradient LPF [2 1 1]/4;
* 2: gradient LPF [3 3 2]/8; 3: gradient LPF [5 4 4 3]/16;
* 4: TNRLPF; 5 : CurLPF3x3_yuv[];
* 6: CurLPF3o3_yuv[] 7: CurLPF3x5_yuv[]
* Bit 10:8, reg_MATNR_SNRLPF_Ymode
* LPF based SNR filtering mode on LUMA channel:
* 0: gradient LPF //Bit [1 1]/2, 1: gradient LPF [2 1 1]/4;
* 2: gradient LPF [3 3 2]/8;3: gradient LPF [5 4 4 3]/16;
* 4: TNRLPF; 5 : CurLPF3x3_yuv[];
* 6: CurLPF3o3_yuv[] 7: CurLPF3x5_yuv[]
* Bit 7:4, reg_MATNR_SNRLPF_SADmin3TH Offset threshold to SAD_min to
* Discard SAD_min3 corresponding pixel in LPF SNR filtering. (X8 to u8 scale)
* Bit 3:0, reg_MATNR_SNRLPF_SADmin2TH Offset threshold to SAD_min to
* Discard SAD_min2 corresponding pixel in LPF SNR filtering. (X8 to u8 scale)
*/
#define NR2_MATNR_SNR_USF_GAIN ((0x1756)) /* << 2) + 0xd0100000) */
/* Bit 15:8, reg_MATNR_SNR_USF_Cgain
* Un-sharp (HP) compensate back Chrm portion gain, (norm 64 as 1)
* Bit 7:0, reg_MATNR_SNR_USF_Ygain
* Un-sharp (HP) compensate back Luma portion gain, (norm 64 as 1)
*/
#define NR2_MATNR_SNR_EDGE2B ((0x1757)) /* << 2) + 0xd0100000) */
/* Bit 15:8, reg_MATNR_SNR_Edge2Beta_ofst U8,
* Offset for Beta based on Edge.
* Bit 7:0, reg_MATNR_SNR_Edge2Beta_gain U8.
* Gain to SAD_min for Beta based on Edge. (norm 16 as 1)
*/
#define NR2_MATNR_BETA_EGAIN ((0x1758)) /* << 2) + 0xd0100000) */
/* Bit 15:8, reg_MATNR_CBeta_Egain U8,
* Gain to Edge based Beta for Chrm channel. (normalized to 32 as 1)
* Bit 7:0, reg_MATNR_YBeta_Egain U8,
* Gain to Edge based Beta for Luma channel. (normalized to 32 as 1)
*/
#define NR2_MATNR_BETA_BRT ((0x1759)) /* << 2) + 0xd0100000) */
/* Bit 31:28, reg_MATNR_beta_BRT_limt_hi U4,
* Beta adjustment based on Brightness high side Limit. (X16 to u8 scale)
* Bit 27:24, reg_MATNR_beta_BRT_slop_hi U4,
* Beta adjustment based on Brightness high side slope. Normalized to 16 as 1
* Bit 23:16, reg_MATNR_beta_BRT_thrd_hi U8,
* Beta adjustment based on Brightness high threshold.(u8 scale)
* Bit 15:12, reg_MATNR_beta_BRT_limt_lo U4,
* Beta adjustment based on Brightness low side Limit. (X16 to u8 scale)
* Bit 11:8, reg_MATNR_beta_BRT_slop_lo U4,
* Beta adjustment based on Brightness low side slope. Normalized to 16 as 1
* Bit 7:0, reg_MATNR_beta_BRT_thrd_lo U8,
* Beta adjustment based on Brightness low threshold.(u8 scale)
*/
#define NR2_MATNR_XBETA_CFG ((0x175a)) /* << 2) + 0xd0100000) */
/* Bit 19:18, reg_MATNR_CBeta_use_mode U2,
* Beta options (mux) from beta_motion and beta_edge for Chrm channel;
* Bit 17:16, reg_MATNR_YBeta_use_mode U2,
* Beta options (mux) from beta_motion and beta_edge for Luma channel;
* Bit 15: 8, reg_MATNR_CBeta_Ofst U8,
* Offset to Beta for Chrm channel.(after beta_edge and beta_motion mux)
* Bit 7: 0, reg_MATNR_YBeta_Ofst U8,
* Offset to Beta for Luma channel.(after beta_edge and beta_motion mux)
*/
#define NR2_MATNR_YBETA_SCL ((0x175b)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_YBeta_scale_min U8,
* Final step Beta scale low limit for Luma channel;
* Bit 23:16, reg_MATNR_YBeta_scale_max U8,
* Final step Beta scale high limit for Luma channe;
* Bit 15: 8, reg_MATNR_YBeta_scale_gain U8,
* Final step Beta scale Gain for Luma channel (normalized 32 to 1);
* Bit 7 : 0, reg_MATNR_YBeta_scale_ofst S8,
* Final step Beta scale offset for Luma channel ;
*/
#define NR2_MATNR_CBETA_SCL ((0x175c)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_CBeta_scale_min
* Final step Beta scale low limit for Chrm channel.Similar to Y
* Bit 23:16, reg_MATNR_CBeta_scale_max U8,
* Final step Beta scale high limit for Chrm channel.Similar to Y
* Bit 15: 8, reg_MATNR_CBeta_scale_gain U8,
* Final step Beta scale Gain for Chrm channel Similar to Y
* Bit 7: 0, reg_MATNR_CBeta_scale_ofst S8,
* Final step Beta scale offset for Chrm channel Similar to Y
*/
#define NR2_SNR_MASK ((0x175d)) /* << 2) + 0xd0100000) */
/* Bit 20:0, SAD_MSK Valid signal in the 3x7 SAD surface */
#define NR2_SAD2NORM_LUT0 ((0x175e)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_SAD2Norm_LUT_3
* SAD convert normal LUT node 3
* Bit 23:16, reg_MATNR_SAD2Norm_LUT_2
* SAD convert normal LUT node 2
* Bit 15: 8, reg_MATNR_SAD2Norm_LUT_1
* SAD convert normal LUT node 1
* Bit 7: 0, reg_MATNR_SAD2Norm_LUT_0
* SAD convert normal LUT node 0
*/
#define NR2_SAD2NORM_LUT1 ((0x175f)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_SAD2Norm_LUT_7
* SAD convert normal LUT node 7
* Bit 23:16, reg_MATNR_SAD2Norm_LUT_6
* SAD convert normal LUT node 6
* Bit 15: 8, reg_MATNR_SAD2Norm_LUT_5
* SAD convert normal LUT node 5
* Bit 7: 0, reg_MATNR_SAD2Norm_LUT_4
* SAD convert normal LUT node 4
*/
#define NR2_SAD2NORM_LUT2 ((0x1760)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_SAD2Norm_LUT_11
* SAD convert normal LUT node 11
* Bit 23:16, reg_MATNR_SAD2Norm_LUT_10
* SAD convert normal LUT node 10
* Bit 15: 8, reg_MATNR_SAD2Norm_LUT_9
* SAD convert normal LUT node 9
* Bit 7: 0, reg_MATNR_SAD2Norm_LUT_8
* SAD convert normal LUT node 8
*/
#define NR2_SAD2NORM_LUT3 ((0x1761)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_SAD2Norm_LUT_15 SAD convert normal LUT node 15 */
/* Bit 23:16, reg_MATNR_SAD2Norm_LUT_14 SAD convert normal LUT node 14 */
/* Bit 15:8, reg_MATNR_SAD2Norm_LUT_13 SAD convert normal LUT node 13 */
/* Bit 7:0, reg_MATNR_SAD2Norm_LUT_12 SAD convert normal LUT node 12 */
#define NR2_EDGE2BETA_LUT0 ((0x1762)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Edge2Beta_LUT_3 Edge convert beta LUT node 3 */
/* Bit 23:16, reg_MATNR_Edge2Beta_LUT_2 Edge convert beta LUT node 2 */
/* Bit 15: 8, reg_MATNR_Edge2Beta_LUT_1 Edge convert beta LUT node 1 */
/* Bit 7: 0, reg_MATNR_Edge2Beta_LUT_0 Edge convert beta LUT node 0 */
#define NR2_EDGE2BETA_LUT1 ((0x1763)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Edge2Beta_LUT_7 Edge convert beta LUT node 7 */
/* Bit 23:16, reg_MATNR_Edge2Beta_LUT_6 Edge convert beta LUT node 6 */
/* Bit 15: 8, reg_MATNR_Edge2Beta_LUT_5 Edge convert beta LUT node 5 */
/* Bit 7: 0, reg_MATNR_Edge2Beta_LUT_4 Edge convert beta LUT node 4 */
#define NR2_EDGE2BETA_LUT2 ((0x1764)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Edge2Beta_LUT_11 Edge convert beta LUT node 11 */
/* Bit 23:16, reg_MATNR_Edge2Beta_LUT_10 Edge convert beta LUT node 10 */
/* Bit 15: 8, reg_MATNR_Edge2Beta_LUT_9 Edge convert beta LUT node 9 */
/* Bit 7: 0, reg_MATNR_Edge2Beta_LUT_8 Edge convert beta LUT node 8 */
#define NR2_EDGE2BETA_LUT3 ((0x1765)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Edge2Beta_LUT_15 Edge convert beta LUT node 15 */
/* Bit 23:16, reg_MATNR_Edge2Beta_LUT_14 Edge convert beta LUT node 14 */
/* Bit 15: 8, reg_MATNR_Edge2Beta_LUT_13 Edge convert beta LUT node 13 */
/* Bit 7: 0, reg_MATNR_Edge2Beta_LUT_12 Edge convert beta LUT node 12 */
#define NR2_MOTION2BETA_LUT0 ((0x1766)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Mot2Beta_LUT_3 Motion convert beta LUT node 3 */
/* Bit 23:16, reg_MATNR_Mot2Beta_LUT_2 Motion convert beta LUT node 2 */
/* Bit 15: 8, reg_MATNR_Mot2Beta_LUT_1 Motion convert beta LUT node 1 */
/* Bit 7: 0, reg_MATNR_Mot2Beta_LUT_0 Motion convert beta LUT node 0 */
#define NR2_MOTION2BETA_LUT1 ((0x1767)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Mot2Beta_LUT_7 Motion convert beta LUT node 7 */
/* Bit 23:16, reg_MATNR_Mot2Beta_LUT_6 Motion convert beta LUT node 6 */
/* Bit 15: 8, reg_MATNR_Mot2Beta_LUT_5 Motion convert beta LUT node 5 */
/* Bit 7: 0, reg_MATNR_Mot2Beta_LUT_4 Motion convert beta LUT node 4 */
#define NR2_MOTION2BETA_LUT2 ((0x1768)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Mot2Beta_LUT_11 Motion convert beta LUT node 11 */
/* Bit 23:16, reg_MATNR_Mot2Beta_LUT_10 Motion convert beta LUT node 10 */
/* Bit 15: 8, reg_MATNR_Mot2Beta_LUT_9 Motion convert beta LUT node 9 */
/* Bit 7: 0, reg_MATNR_Mot2Beta_LUT_8 Motion convert beta LUT node 8 */
#define NR2_MOTION2BETA_LUT3 ((0x1769)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_Mot2Beta_LUT_15 Motion convert beta LUT node 15 */
/* Bit 23:16, reg_MATNR_Mot2Beta_LUT_14 Motion convert beta LUT node 14 */
/* Bit 15: 8, reg_MATNR_Mot2Beta_LUT_13 Motion convert beta LUT node 13 */
/* Bit 7: 0, reg_MATNR_Mot2Beta_LUT_12 Motion convert beta LUT node 12 */
#define NR2_MATNR_MTN_CRTL ((0x176a)) /* << 2) + 0xd0100000) */
/* Bit 25:24, reg_MATNR_Vmtn_use_mode Motion_yuvV channel motion selection
* mode: 0: Vmot;
* 1:Ymot/2 + (Umot+Vmot)/4;
* 2:Ymot/2 + max(Umot,Vmot)/2;
* 3: max(Ymot,Umot, Vmot)
* Bit 21:20, reg_MATNR_Umtn_use_mode Motion_yuvU channel motion selection
* mode: 0:Umot;
* 1:Ymot/2 + (Umot+Vmot)/4;
* 2:Ymot/2 + max(Umot,Vmot)/2;
* 3: max(Ymot,Umot, Vmot)
* Bit 17:16, reg_MATNR_Ymtn_use_mode Motion_yuvLuma channel motion selection
* mode: 0: Ymot,
* 1: Ymot/2 + (Umot+Vmot)/4;
* 2: Ymot/2 + max(Umot,Vmot)/2;
* 3: max(Ymot,Umot, Vmot)
* Bit 13:12, reg_MATNR_mtn_txt_mode
* Texture detection mode for adaptive coring of HP motion
* Bit 9: 8, reg_MATNR_mtn_cor_mode
* Coring selection mode based on texture detection;
* Bit 6: 4, reg_MATNR_mtn_hpf_mode
* video mode of current and previous frame/field for MotHPF_yuv[k] calculation:
* Bit 2: 0, reg_MATNR_mtn_lpf_mode LPF video mode of current and previous
* frame/field for MotLPF_yuv[k] calculation:
*/
#define NR2_MATNR_MTN_CRTL2 ((0x176b)) /* << 2) + 0xd0100000) */
/* Bit 18:16, reg_MATNR_iir_BS_Ymode IIR TNR filter Band split filter
* mode for Luma LPF result generation (Cur and Prev);
* Bit 15: 8, reg_MATNR_mtnb_alpLP_Cgain Scale of motion_brthp_uv to
* motion_brtlp_uv, normalized to 32 as 1
* Bit 7: 0, reg_MATNR_mtnb_alpLP_Ygain Scale of motion_brthp_y to
* motion_brtlp_y, normalized to 32 as 1
*/
#define NR2_MATNR_MTN_COR ((0x176c)) /* << 2) + 0xd0100000) */
/* Bit 15:12, reg_MATNR_mtn_cor_Cofst Coring Offset for Chroma Motion.
* Bit 11: 8, reg_MATNR_mtn_cor_Cgain Gain to texture based coring for
* Chroma Motion. Normalized to 16 as 1
* Bit 7: 4, reg_MATNR_mtn_cor_Yofst Coring Offset for Luma Motion.
* Bit 3: 0, reg_MATNR_mtn_cor_Ygain Gain to texture based coring for
* Luma Motion. Normalized to 16 as 1
*/
#define NR2_MATNR_MTN_GAIN ((0x176d)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_mtn_hp_Cgain Gain to MotHPF_yuv[k] Chrm channel for
* motion calculation, normalized to 64 as 1
* Bit 23:16, reg_MATNR_mtn_hp_Ygain Gain to MotHPF_yuv[k] Luma channel for
* motion calculation, normalized to 64 as 1
* Bit 15: 8, reg_MATNR_mtn_lp_Cgain Gain to MotLPF_yuv[k] Chrm channel for
* motion calculation, normalized to 32 as 1
* Bit 7: 0, reg_MATNR_mtn_lp_Ygain Gain to MotLPF_yuv[k] Luma channel for
* motion calculation, normalized to 32 as 1
*/
#define NR2_MATNR_DEGHOST ((0x176e)) /* << 2) + 0xd0100000) */
/* Bit 8, reg_MATNR_DeGhost_En
* Enable signal for DeGhost function:0: disable; 1: enable
* Bit 7:4, reg_MATNR_DeGhost_COS
* DeGhost Overshoot margin for UV channel, (X2 to u10 scale)
* Bit 3:0, reg_MATNR_DeGhost_YOS
* DeGhost Overshoot margin for Luma channel, (X2 to u10 scale)
*/
#define NR2_MATNR_ALPHALP_LUT0 ((0x176f)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaLP_LUT_3
* Matnr low-pass filter alpha LUT node 3
*/
/* Bit 23:16, reg_MATNR_AlphaLP_LUT_2
* Matnr low-pass filter alpha LUT node 2
*/
/* Bit 15: 8, reg_MATNR_AlphaLP_LUT_1
* Matnr low-pass filter alpha LUT node 1
*/
/* Bit 7: 0, reg_MATNR_AlphaLP_LUT_0
*Matnr low-pass filter alpha LUT node 0
*/
#define NR2_MATNR_ALPHALP_LUT1 ((0x1770)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaLP_LUT_7
* Matnr low-pass filter alpha LUT node 7
*/
/* Bit 23:16, reg_MATNR_AlphaLP_LUT_6
* Matnr low-pass filter alpha LUT node 6
*/
/* Bit 15: 8, reg_MATNR_AlphaLP_LUT_5
* Matnr low-pass filter alpha LUT node 5
*/
/* Bit 7: 0, reg_MATNR_AlphaLP_LUT_4
* Matnr low-pass filter alpha LUT node 4
*/
#define NR2_MATNR_ALPHALP_LUT2 ((0x1771)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaLP_LUT_11
* Matnr low-pass filter alpha LUT node 11
*/
/* Bit 23:16, reg_MATNR_AlphaLP_LUT_10
* Matnr low-pass filter alpha LUT node 10
*/
/* Bit 15: 8, reg_MATNR_AlphaLP_LUT_9
* Matnr low-pass filter alpha LUT node 9
*/
/* Bit 7: 0, reg_MATNR_AlphaLP_LUT_8
* Matnr low-pass filter alpha LUT node 8
*/
#define NR2_MATNR_ALPHALP_LUT3 ((0x1772)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaLP_LUT_15
* Matnr low-pass filter alpha LUT node 15
*/
/* Bit 23:16, reg_MATNR_AlphaLP_LUT_14
* Matnr low-pass filter alpha LUT node 14
*/
/* Bit 15: 8, reg_MATNR_AlphaLP_LUT_13
* Matnr low-pass filter alpha LUT node 13
*/
/* Bit 7: 0, reg_MATNR_AlphaLP_LUT_12
* Matnr low-pass filter alpha LUT node 12
*/
#define NR2_MATNR_ALPHAHP_LUT0 ((0x1773)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaHP_LUT_3
* Matnr high-pass filter alpha LUT node 3
*/
/* Bit 23:16, reg_MATNR_AlphaHP_LUT_2
* Matnr high-pass filter alpha LUT node 2
*/
/* Bit 15: 8, reg_MATNR_AlphaHP_LUT_1
* Matnr high-pass filter alpha LUT node 1
*/
/* Bit 7: 0, reg_MATNR_AlphaHP_LUT_0
* Matnr high-pass filter alpha LUT node 0
*/
#define NR2_MATNR_ALPHAHP_LUT1 ((0x1774)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaHP_LUT_7
* Matnr high-pass filter alpha LUT node 7
*/
/* Bit 23:16, reg_MATNR_AlphaHP_LUT_6
* Matnr high-pass filter alpha LUT node 6
*/
/* Bit 15: 8, reg_MATNR_AlphaHP_LUT_5
* Matnr high-pass filter alpha LUT node 5
*/
/* Bit 7: 0, reg_MATNR_AlphaHP_LUT_4
* Matnr high-pass filter alpha LUT node 4
*/
#define NR2_MATNR_ALPHAHP_LUT2 ((0x1775)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaHP_LUT_11
* Matnr high-pass filter alpha LUT node 11
*/
/* Bit 23:16, reg_MATNR_AlphaHP_LUT_10
* Matnr high-pass filter alpha LUT node 10
*/
/* Bit 15: 8, reg_MATNR_AlphaHP_LUT_9
* Matnr high-pass filter alpha LUT node 9
*/
/* Bit 7: 0, reg_MATNR_AlphaHP_LUT_8
* Matnr high-pass filter alpha LUT node 8
*/
#define NR2_MATNR_ALPHAHP_LUT3 ((0x1776)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_MATNR_AlphaHP_LUT_15
* Matnr high-pass filter alpha LUT node 15
*/
/* Bit 23:16, reg_MATNR_AlphaHP_LUT_14
* Matnr high-pass filter alpha LUT node 14
*/
/* Bit 15: 8, reg_MATNR_AlphaHP_LUT_13
* Matnr high-pass filter alpha LUT node 13
*/
/* Bit 7: 0, reg_MATNR_AlphaHP_LUT_12
*Matnr high-pass filter alpha LUT node 12
*/
#define NR2_MATNR_MTNB_BRT ((0x1777)) /* << 2) + 0xd0100000) */
/* Bit 31:28, reg_MATNR_mtnb_BRT_limt_hi Motion adjustment based on
* Brightness high side Limit. (X16 to u8 scale)
*/
/* Bit 27:24, reg_MATNR_mtnb_BRT_slop_hi Motion adjustment based on
* Brightness high side slope. Normalized to 16 as 1
*/
/* Bit 23:16, reg_MATNR_mtnb_BRT_thrd_hi Motion adjustment based on
* Brightness high threshold.(u8 scale)
*/
/* Bit 15:12, reg_MATNR_mtnb_BRT_limt_lo Motion adjustment based on
* Brightness low side Limit. (X16 to u8 scale)
*/
/* Bit 11: 8, reg_MATNR_mtnb_BRT_slop_lo Motion adjustment based on
* Brightness low side slope. Normalized to 16 as 1
*/
/* Bit 7: 0, reg_MATNR_mtnb_BRT_thrd_lo Motion adjustment based on
* Brightness low threshold.(u8 scale)
*/
#define NR2_CUE_MODE ((0x1778)) /* << 2) + 0xd0100000) */
/* Bit 9, Cue_enable_r Cue right half frame enable */
/* Bit 8, Cue_enable_l Cue left half frame enable */
/* Bit 6:4, reg_CUE_CON_RPLC_mode U3, CUE pixel chroma replace mode; */
/* Bit 2:0, reg_CUE_CHRM_FLT_mode U3, CUE improvement filter mode, */
#define NR2_CUE_CON_MOT_TH ((0x1779)) /* << 2) + 0xd0100000) */
/* Bit 31:24, reg_CUE_CON_Cmot_thrd2 U8, Motion Detection threshold of
* up/down two rows, Chroma channel in Chroma Up-sampling Error (CUE)
* Detection (tighter).
*/
/* Bit 23:16, reg_CUE_CON_Ymot_thrd2 U8, Motion Detection threshold of
* up/mid/down three rows, Luma channel in Chroma Up-sampling Error (CUE)
* Detection (tighter).
*/
/* Bit 15: 8, reg_CUE_CON_Cmot_thrd U8, Motion Detection threshold of
* up/down two rows, Chroma channel in Chroma Up-sampling Error (CUE) Detection.
*/
/* Bit 7: 0, reg_CUE_CON_Ymot_thrd U8, Motion Detection threshold of
* up/mid/down three rows, Luma channel in
* Chroma Up-sampling Error (CUE) Detection.
*/
#define NR2_CUE_CON_DIF0 ((0x177a)) /* << 2) + 0xd0100000) */
/* Bit 15:8, reg_CUE_CON_difP1_thrd U8, P1 field Intra-Field top/below
* line chroma difference threshold,
*/
/* Bit 7:0, reg_CUE_CON_difCur_thrd U8, Current Field/Frame Intra-Field
* up/down line chroma difference threshold,
*/
#define NR2_CUE_CON_DIF1 ((0x177b)) /* << 2) + 0xd0100000) */
/* Bit 19:16, reg_CUE_CON_rate0 U4, The Krate to decide CUE by
* relationship between CUE_diflG and CUE_difEG
*/
/* Bit 15: 8, reg_CUE_CON_difEG_thrd U8, Theshold to the difference between
* current Field/Frame middle line to down line color channel(CUE_difEG).
*/
/* Bit 7: 0, reg_CUE_CON_diflG_thrd U8, Threshold to the difference between
* P1 field top line to current Field/Frame down line color channel (CUE_diflG).
*/
#define NR2_CUE_CON_DIF2 ((0x177c)) /* << 2) + 0xd0100000) */
/* Bit 19:16, reg_CUE_CON_rate1 U4, The Krate to decide CUE by
* relationship between CUE_difnC and CUE_difEC
*/
/* Bit 15: 8, reg_CUE_CON_difEC_thrd U8, Theshold to the difference between
* current Field/Frame middle line to up line color channel(CUE_difEC).
*/
/* Bit 7: 0, reg_CUE_CON_difnC_thrd U8, Threshold to the difference between
* P1 field bot line to current Field/Frame up line color channel (CUE_difnC).
*/
#define NR2_CUE_CON_DIF3 ((0x177d)) /* << 2) + 0xd0100000) */
/* Bit 19:16, reg_CUE_CON_rate2 U4, The Krate to decide CUE by
* relationship between CUE_difP1 and CUE_difEP1
*/
/* Bit 15: 8, reg_CUE_CON_difEP1_thrd U8, Inter-Field top/below line to
* current field/frame middle line chroma difference (CUE_difEP1) threshold.
*/
/* Bit 7: 0, reg_CUE_CON_difP1_thrd2 U8, P1 field Intra-Field top/below line
* chroma difference threshold (tighter),
*/
/* change from txlx */
#define DI_EI_DRT_CTRL ((0x1778))
#define DI_EI_DRT_PIXTH ((0x1779))
#define DI_EI_DRT_CORRPIXTH ((0x177a))
#define DI_EI_DRT_RECTG_WAVE ((0x177b))
#define DI_EI_DRT_PIX_DIFFTH ((0x177c))
#define DI_EI_DRT_UNBITREND_TH ((0x177d))
#define NR2_CUE_PRG_DIF ((0x177e)) /* << 2) + 0xd0100000) */
/* Bit 20, reg_CUE_PRG_Enable Enable bit for progressive video CUE
* detection.If interlace input video,
*/
/* Bit 19:16, reg_CUE_PRG_rate U3, The Krate to decide CUE by
* relationship between CUE_difCur and (CUE_difEC+CUE_difEG)
*/
/* Bit 15: 8, reg_CUE_PRG_difCEG_thrd U8, Current Frame Intra-Field up-mid and
* mid-down line chroma difference threshold
* for progressive video CUE detection,
*/
/* Bit 7: 0, reg_CUE_PRG_difCur_thrd U8, Current Frame Intra-Field up/down
* line chroma difference threshold,
*/
#define NR2_CONV_MODE ((0x177f)) /* << 2) + 0xd0100000) */
/* Bit 3:2, Conv_c444_mode
* The format convert mode about 422 to 444 when data read out line buffer
*/
/* Bit 1:0, Conv_c422_mode
* the format convert mode about 444 to 422 when data write to line buffer
*/
/* // NR2 REG DEFINE END //// */
/* // DET 3D REG DEFINE BEGIN //// */
/* for gxlx */
#define DI_EI_DRT_CTRL_GXLX ((0x2028))
#define DI_EI_DRT_PIXTH_GXLX ((0x2029))
#define DI_EI_DRT_CORRPIXTH_GXLX ((0x202a))
#define DI_EI_DRT_RECTG_WAVE_GXLX ((0x202b))
#define DI_EI_DRT_PIX_DIFFTH_GXLX ((0x202c))
#define DI_EI_DRT_UNBITREND_TH_GXLX ((0x202d))
#define DET3D_RO_SPLT_HB ((0x1780)) /* << 2) + 0xd0100000) */
/* Bit 24, RO_Det3D_Split_HB_valid
* U1 horizontal LR split border detected valid signal for top half picture
*/
/* Bit 20:16, RO_Det3D_Split_HB_pxnum U5 number of pixels included for
* the LR split position estimation for top half picture
*/
/* Bit 9: 0, RO_Det3D_Split_HB_idxX4 S10 X4: horizontal pixel shifts of
* LR split position to the (ColMax/2) for top half picture
*/
#define DET3D_RO_SPLT_VL ((0x1781)) /* << 2) + 0xd0100000) */
/* Bit 24, RO_Det3D_Split_VL_valid U1 horizontal LR split
* border detected valid signal for top half picture
*/
/* Bit 20:16, RO_Det3D_Split_VL_pxnum U5 number of pixels included for
* the LR split position estimation for top half picture
*/
/* Bit 9: 0, RO_Det3D_Split_VL_idxX4 S10 X4: horizontal pixel shifts of
* LR split position to the (ColMax/2) for top half picture
*/
#define DET3D_RO_SPLT_VR ((0x1782)) /* << 2) + 0xd0100000) */
/* Bit 24 , RO_Det3D_Split_VR_valid U1 horizontal LR split border
* detected valid signal for top half picture
*/
/* Bit 20:16, RO_Det3D_Split_VR_pxnum U5 number of pixels included for
* the LR split position estimation for top half picture
*/
/* Bit 9: 0, RO_Det3D_Split_VR_idxX4 S10 X4: horizontal pixel shifts of
* LR split position to the (ColMax/2) for top half picture
*/
#define DET3D_RO_MAT_LUMA_LR ((0x1783)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Luma_LR_score S2*8 LUMA statistics left right
* decision score for each band (8bands vertically),
*/
/* it can be -1/0/1:-1: most likely not LR symmetric 0: not sure
* 1: most likely LR symmetric
*/
/* Bit 7:0, RO_Luma_LR_symtc U1*8 Luma statistics left
* right pure symmetric for each band (8bands vertically),
*/
/* it can be 0/1: 0: not sure 1: most likely LR is pure symmetric */
/* Bit 4:0, RO_Luma_LR_sum S5 Total score of 8x8 Luma
* statistics for LR like decision,
*/
/* the larger this score, the more confidence that this is a LR 3D video.
* It is sum of RO_Luma_LR_score[0~7]
*/
#define DET3D_RO_MAT_LUMA_TB ((0x1784)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Luma_TB_score S2*8 LUMA statistics Top/Bottom
* decision score for each band (8bands Horizontally),
*/
/* Bit 7:0, RO_Luma_TB_symtc Luma statistics Top/Bottompure
* symmetric for each band (8bands Horizontally),
*/
/* Bit 4:0, RO_Luma_TB_sum
* Total score of 8x8 Luma statistics for TB like decision,
*/
#define DET3D_RO_MAT_CHRU_LR ((0x1785)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_ChrU_LR_score S2*8 LUMA statistics left right
* decision score for each band (8bands vertically),
*/
/* Bit 7:0, RO_ChrU_LR_symtc CHRU statistics left right pure
* symmetric for each band (8bands vertically),
*/
/* Bit 4:0, RO_ChrU_LR_sum
* Total score of 8x8 ChrU statistics for LR like decision,
*/
#define DET3D_RO_MAT_CHRU_TB ((0x1786)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_ChrU_TB_score S2*8 CHRU statistics Top/Bottom
* decision score for each band (8bands Horizontally)
*/
/* Bit 7:0, RO_ChrU_TB_symtc CHRU statistics Top/Bottompure symmetric
* for each band (8bands Horizontally)
*/
/* Bit 4:0, RO_ChrU_TB_sum
* Total score of 8x8 ChrU statistics for TB like decision
*/
#define DET3D_RO_MAT_CHRV_LR ((0x1787)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_ChrV_LR_score S2*8 CHRUstatistics left right decision
* score for each band (8bands vertically)
*/
/* Bit 7:0, RO_ChrV_LR_symtc CHRV statistics left right pure
* symmetric for each band (8bands vertically)
*/
/* Bit 4:0, RO_ChrV_LR_sum
* Total score of 8x8 ChrV statistics for LR like decision
*/
#define DET3D_RO_MAT_CHRV_TB ((0x1788)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_ChrV_TB_score CHRV statistics Top/Bottom decision
* score for each band (8bands Horizontally)
*/
/* Bit 7:0, RO_ChrV_TB_symtc CHRV statistics Top/Bottompure
* symmetric for each band (8bands Horizontally)
*/
/* Bit 4:0, RO_ChrV_TB_sum Total score of 8x8 ChrV statistics
* for TB like decision
*/
#define DET3D_RO_MAT_HEDG_LR ((0x1789)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Hedg_LR_score Horizontal Edge statistics left right
* decision score for each band (8bands vertically)
*/
/* Bit 7:0, RO_Hedg_LR_symtc Horizontal Edge statistics left right
* pure symmetric for each band (8bands vertically)
*/
/* Bit 4:0, RO_Hedg_LR_sum Total score of 8x8 Hedg statistics for
* LR like decision
*/
#define DET3D_RO_MAT_HEDG_TB ((0x178a)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Hedg_TB_score Horizontal Edge statistics Top/Bottom
* decision score for each band (8bands Horizontally)
*/
/* Bit 7:0, RO_Hedg_TB_symtc Horizontal Edge statistics
* Top/Bottompure symmetric for each band (8bands Horizontally)
*/
/* Bit 4:0, RO_Hedg_TB_sum
* Total score of 8x8 Hedg statistics for TB like decision
*/
#define DET3D_RO_MAT_VEDG_LR ((0x178b)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Vedg_LR_score Vertical Edge statistics left right
* decision score for each band (8bands vertically)
*/
/* Bit 7:0, RO_Vedg_LR_symtc Vertical Edge statistics left right
* pure symmetric for each band (8bands vertically)
*/
/* Bit 4:0, RO_Vedg_LR_sum
* Total score of 8x8 Vedg statistics for LR like decision
*/
#define DET3D_RO_MAT_VEDG_TB ((0x178c)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Vedg_TB_score Vertical Edge statistics Top/Bottom
* decision score for each band (8bands Horizontally)
*/
/* Bit 7:0, RO_Vedg_TB_symtc Vertical Edge statistics Top/Bottompure
* symmetric for each band (8bands Horizontally)
*/
/* Bit 4:0, RO_Vedg_TB_sum
* Total score of 8x8 Vedg statistics for TB like decision
*/
#define DET3D_RO_MAT_MOTN_LR ((0x178d)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Motn_LR_score Motion statistics left right decision
* score for each band (8bands vertically)
*/
/* Bit 7:0, RO_Motn_LR_symtc Motion statistics left right pure
* symmetric for each band (8bands vertically)
*/
/* Bit 4:0, RO_Motn_LR_sum Total score of 8x8 Motion statistics for
* LR like decision
*/
#define DET3D_RO_MAT_MOTN_TB ((0x178e)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Motn_TB_score Motion statistics Top/Bottom decision
* score for each band (8bands Horizontally)
*/
/* Bit 7:0, RO_Motn_TB_symtc Motion statistics Top/Bottompure
* symmetric for each band (8bands Horizontally)
*/
/* Bit 4:0, RO_Motn_TB_sum
* Total score of 8x8 Motion statistics for TB like decision
*/
#define DET3D_RO_FRM_MOTN ((0x178f)) /* << 2) + 0xd0100000) */
/* Bit 15:0, RO_Det3D_Frame_Motion U16 frame based motion value sum for
* still image decision in FW.
*/
/* mat ram read enter addr */
#define DET3D_RAMRD_ADDR_PORT ((0x179a)) /* << 2) + 0xd0100000) */
#define DET3D_RAMRD_DATA_PORT ((0x179b)) /* << 2) + 0xd0100000) */
#define NR2_CFR_PARA_CFG0 ((0x179c)) /* << 2) + 0xd0100000) */
/* Bit 8, reg_CFR_CurDif_luma_mode Current Field Top/Bot line Luma
* difference calculation mode
*/
/* Bit 7:6, reg_MACFR_frm_phase U2 This will be a field based
* phase register that need to be set by FW phase to phase:
*/
/* this will be calculated based on dbdr_phase of the
* specific line of this frame.
*/
/* u1: dbdr_phase=1, center line is DB in current line; dbdr_phase=2, center
* line is Dr in current line;
*/
/* Bit 5:4, reg_CFR_CurDif_tran_mode U2 Current Field Top/Bot line
* Luma/Chroma transition level calculation mode,
*/
/* Bit 3:2, reg_CFR_alpha_mode U2 Alpha selection mode for
* CFR block from curAlp and motAlp i.e.
* 0: motAlp; 1: (motAlp+curAlp)/2;
* 2: min(motAlp,curAlp); 3: max(motAlp,curAlp);
*/
/* Bit 1:0, reg_CFR_Motion_Luma_mode U2 LumaMotion Calculation
* mode for MA-CFR.
* 0: top/bot Lumma motion;
* 1: middle Luma Motion
* 2: top/bot + middle motion;
* 3: max(top/tot motion, middle motion)
*/
#define NR2_CFR_PARA_CFG1 ((0x179d)) /* << 2) + 0xd0100000) */
/* Bit 23:16, reg_CFR_alpha_gain gain to map muxed curAlp and motAlp
* to alpha that will be used for final blending.
*/
/* Bit 15: 8, reg_CFR_Motion_ofst Offset to Motion to calculate the
* motAlp, e,g:motAlp= reg_CFR_Motion_ofst- Motion;This register can be seen as
* the level of motion that we consider it at moving.
*/
/* Bit 7: 0, reg_CFR_CurDif_gain
* gain to CurDif to map to alpha, normalized to 32;
*/
/* // DET 3D REG DEFINE END //// */
#define DI_NR_1_CTRL0 ((0x1794)) /* << 2) + 0xd0100000) */
#define DI_NR_1_CTRL1 ((0x1795)) /* << 2) + 0xd0100000) */
#define DI_NR_1_CTRL2 ((0x1796)) /* << 2) + 0xd0100000) */
#define DI_NR_1_CTRL3 ((0x1797)) /* << 2) + 0xd0100000) */
#define DI_CONTWR_X ((0x17a0)) /* << 2) + 0xd0100000) */
#define DI_CONTWR_Y ((0x17a1)) /* << 2) + 0xd0100000) */
#define DI_CONTWR_CTRL ((0x17a2)) /* << 2) + 0xd0100000) */
#define DI_CONTPRD_X ((0x17a3)) /* << 2) + 0xd0100000) */
#define DI_CONTPRD_Y ((0x17a4)) /* << 2) + 0xd0100000) */
#define DI_CONTP2RD_X ((0x17a5)) /* << 2) + 0xd0100000) */
#define DI_CONTP2RD_Y ((0x17a6)) /* << 2) + 0xd0100000) */
#define DI_CONTRD_CTRL ((0x17a7)) /* << 2) + 0xd0100000) */
#define DI_NRWR_X ((0x17c0)) /* << 2) + 0xd0100000) */
#define DI_NRWR_Y ((0x17c1)) /* << 2) + 0xd0100000) */
/* bit 31:30 nrwr_words_lim */
/* bit 29 nrwr_rev_y */
/* bit 28:16 nrwr_start_y */
/* bit 15 nrwr_ext_en */
/* bit 14 Nrwr bit10 mode */
/* bit 12:0 nrwr_end_y */
#define DI_NRWR_CTRL ((0x17c2)) /* << 2) + 0xd0100000) */
/* bit 31 pending_ddr_wrrsp_diwr */
/* bit 30 nrwr_reg_swap */
/* bit 29:26 nrwr_burst_lim */
/* bit 25 nrwr_canvas_syncen */
/* bit 24 nrwr_no_clk_gate */
/* bit 23:22 nrwr_rgb_mode
* 0:422 to one canvas;
* 1:4:4:4 to one canvas;
*/
/* bit 21:20 nrwr_hconv_mode */
/* bit 19:18 nrwr_vconv_mode */
/* bit 17 nrwr_swap_cbcr */
/* bit 16 nrwr_urgent */
/* bit 15:8 nrwr_canvas_index_chroma */
/* bit 7:0 nrwr_canvas_index_luma */
#define DI_MTNWR_X ((0x17c3)) /* << 2) + 0xd0100000) */
#define DI_MTNWR_Y ((0x17c4)) /* << 2) + 0xd0100000) */
#define DI_MTNWR_CTRL ((0x17c5)) /* << 2) + 0xd0100000) */
#define DI_DIWR_X ((0x17c6)) /* << 2) + 0xd0100000) */
#define DI_DIWR_Y ((0x17c7)) /* << 2) + 0xd0100000) */
/* bit 31:30 diwr_words_lim */
/* bit 29 diwr_rev_y */
/* bit 28:16 diwr_start_y */
/* bit 15 diwr_ext_en */
/* bit 12:0 diwr_end_y */
#define DI_DIWR_CTRL ((0x17c8)) /* << 2) + 0xd0100000) */
/* bit 31 pending_ddr_wrrsp_diwr */
/* bit 30 diwr_reg_swap */
/* bit 29:26 diwr_burst_lim */
/* bit 25 diwr_canvas_syncen */
/* bit 24 diwr_no_clk_gate */
/* bit 23:22 diwr_rgb_mode 0:422 to one canvas;
* 1:4:4:4 to one canvas;
*/
/* bit 21:20 diwr_hconv_mode */
/* bit 19:18 diwr_vconv_mode */
/* bit 17 diwr_swap_cbcr */
/* bit 16 diwr_urgent */
/* bit 15:8 diwr_canvas_index_chroma */
/* bit 7:0 diwr_canvas_index_luma */
/* `define DI_MTNCRD_X 8'hc9 */
/* `define DI_MTNCRD_Y 8'hca */
#define DI_MTNPRD_X ((0x17cb)) /* << 2) + 0xd0100000) */
#define DI_MTNPRD_Y ((0x17cc)) /* << 2) + 0xd0100000) */
#define DI_MTNRD_CTRL ((0x17cd)) /* << 2) + 0xd0100000) */
#define DI_INP_GEN_REG ((0x17ce)) /* << 2) + 0xd0100000) */
#define DI_INP_CANVAS0 ((0x17cf)) /* << 2) + 0xd0100000) */
#define DI_INP_LUMA_X0 ((0x17d0)) /* << 2) + 0xd0100000) */
#define DI_INP_LUMA_Y0 ((0x17d1)) /* << 2) + 0xd0100000) */
#define DI_INP_CHROMA_X0 ((0x17d2)) /* << 2) + 0xd0100000) */
#define DI_INP_CHROMA_Y0 ((0x17d3)) /* << 2) + 0xd0100000) */
#define DI_INP_RPT_LOOP ((0x17d4)) /* << 2) + 0xd0100000) */
#define DI_INP_LUMA0_RPT_PAT ((0x17d5)) /* << 2) + 0xd0100000) */
#define DI_INP_CHROMA0_RPT_PAT ((0x17d6)) /* << 2) + 0xd0100000) */
#define DI_INP_DUMMY_PIXEL ((0x17d7)) /* << 2) + 0xd0100000) */
#define DI_INP_LUMA_FIFO_SIZE ((0x17d8)) /* << 2) + 0xd0100000) */
#define DI_INP_RANGE_MAP_Y ((0x17ba)) /* << 2) + 0xd0100000) */
#define DI_INP_RANGE_MAP_CB ((0x17bb)) /* << 2) + 0xd0100000) */
#define DI_INP_RANGE_MAP_CR ((0x17bc)) /* << 2) + 0xd0100000) */
#define DI_INP_GEN_REG2 ((0x1791)) /* << 2) + 0xd0100000) */
#define DI_INP_FMT_CTRL ((0x17d9)) /* << 2) + 0xd0100000) */
#define DI_INP_FMT_W ((0x17da)) /* << 2) + 0xd0100000) */
#define DI_MEM_GEN_REG ((0x17db)) /* << 2) + 0xd0100000) */
#define DI_MEM_CANVAS0 ((0x17dc)) /* << 2) + 0xd0100000) */
#define DI_MEM_LUMA_X0 ((0x17dd)) /* << 2) + 0xd0100000) */
#define DI_MEM_LUMA_Y0 ((0x17de)) /* << 2) + 0xd0100000) */
#define DI_MEM_CHROMA_X0 ((0x17df)) /* << 2) + 0xd0100000) */
#define DI_MEM_CHROMA_Y0 ((0x17e0)) /* << 2) + 0xd0100000) */
#define DI_MEM_RPT_LOOP ((0x17e1)) /* << 2) + 0xd0100000) */
#define DI_MEM_LUMA0_RPT_PAT ((0x17e2)) /* << 2) + 0xd0100000) */
#define DI_MEM_CHROMA0_RPT_PAT ((0x17e3)) /* << 2) + 0xd0100000) */
#define DI_MEM_DUMMY_PIXEL ((0x17e4)) /* << 2) + 0xd0100000) */
#define DI_MEM_LUMA_FIFO_SIZE ((0x17e5)) /* << 2) + 0xd0100000) */
#define DI_MEM_RANGE_MAP_Y ((0x17bd)) /* << 2) + 0xd0100000) */
#define DI_MEM_RANGE_MAP_CB ((0x17be)) /* << 2) + 0xd0100000) */
#define DI_MEM_RANGE_MAP_CR ((0x17bf)) /* << 2) + 0xd0100000) */
#define DI_MEM_GEN_REG2 ((0x1792)) /* << 2) + 0xd0100000) */
#define DI_MEM_FMT_CTRL ((0x17e6)) /* << 2) + 0xd0100000) */
#define DI_MEM_FMT_W ((0x17e7)) /* << 2) + 0xd0100000) */
/* #define DI_IF1_GEN_REG ((0x17e8)) + 0xd0100000) */
#define DI_IF1_CANVAS0 ((0x17e9)) /* << 2) + 0xd0100000) */
#define DI_IF1_LUMA_X0 ((0x17ea)) /* << 2) + 0xd0100000) */
#define DI_IF1_LUMA_Y0 ((0x17eb)) /* << 2) + 0xd0100000) */
#define DI_IF1_CHROMA_X0 ((0x17ec)) /* << 2) + 0xd0100000) */
#define DI_IF1_CHROMA_Y0 ((0x17ed)) /* << 2) + 0xd0100000) */
#define DI_IF1_RPT_LOOP ((0x17ee)) /* << 2) + 0xd0100000) */
#define DI_IF1_LUMA0_RPT_PAT ((0x17ef)) /* << 2) + 0xd0100000) */
#define DI_IF1_CHROMA0_RPT_PAT ((0x17f0)) /* << 2) + 0xd0100000) */
#define DI_IF1_DUMMY_PIXEL ((0x17f1)) /* << 2) + 0xd0100000) */
#define DI_IF1_LUMA_FIFO_SIZE ((0x17f2)) /* << 2) + 0xd0100000) */
#define DI_IF1_RANGE_MAP_Y ((0x17fc)) /* << 2) + 0xd0100000) */
#define DI_IF1_RANGE_MAP_CB ((0x17fd)) /* << 2) + 0xd0100000) */
#define DI_IF1_RANGE_MAP_CR ((0x17fe)) /* << 2) + 0xd0100000) */
#define DI_IF1_GEN_REG2 ((0x1790)) /* << 2) + 0xd0100000) */
#define DI_IF1_FMT_CTRL ((0x17f3)) /* << 2) + 0xd0100000) */
#define DI_IF1_FMT_W ((0x17f4)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_GEN_REG ((0x17f5)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_CANVAS0 ((0x17f6)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_LUMA_X0 ((0x17f7)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_LUMA_Y0 ((0x17f8)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_CHROMA_X0 ((0x17f9)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_CHROMA_Y0 ((0x17fa)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_RPT_LOOP ((0x17fb)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_LUMA0_RPT_PAT ((0x17b0)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_CHROMA0_RPT_PAT ((0x17b1)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_DUMMY_PIXEL ((0x17b2)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_LUMA_FIFO_SIZE ((0x17b3)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_RANGE_MAP_Y ((0x17b4)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_RANGE_MAP_CB ((0x17b5)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_RANGE_MAP_CR ((0x17b6)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_GEN_REG2 ((0x17b7)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_FMT_CTRL ((0x17b8)) /* << 2) + 0xd0100000) */
#define DI_CHAN2_FMT_W ((0x17b9)) /* << 2) + 0xd0100000) */
#define DI_CANVAS_URGENT0 ((0x170a)) /* << 2) + 0xd0100000) */
#define DI_CANVAS_URGENT1 ((0x170b)) /* << 2) + 0xd0100000) */
#define DI_MTN_CTRL ((0x170b)) /* << 2) + 0xd0100000) */
#define DI_CANVAS_URGENT2 ((0x170e)) /* << 2) + 0xd0100000) */
#define VD1_IF0_GEN_REG 0x1a50
/* ((0x1a50 << 2) + 0xd0100000) */
#define VD1_IF0_LUMA_FIFO_SIZE 0x1a63
/* ((0x1a63 << 2) + 0xd0100000) */
#define VIU_VD1_FMT_CTRL 0x1a68
/* ((0x1a68 << 2) + 0xd0100000) */
/* Bit 31 it true, disable clock, otherwise enable clock */
/* Bit 30 soft rst bit */
/* Bit 28 if true, horizontal formatter use repeating to */
/* generete pixel, otherwise use bilinear interpolation */
/* Bit 27:24 horizontal formatter initial phase */
/* Bit 23 horizontal formatter repeat pixel 0 enable */
/* Bit 22:21 horizontal Y/C ratio, 00: 1:1, 01: 2:1, 10: 4:1 */
/* Bit 20 horizontal formatter enable */
/* Bit 19 if true, always use phase0 while vertical formater, */
/* meaning always repeat data, no interpolation */
/* Bit 18 if true, disable vertical formatter chroma repeat last line */
/* Bit 17 veritcal formatter dont need repeat */
/* line on phase0, 1: enable, 0: disable */
/* Bit 16 veritcal formatter repeat line 0 enable */
/* Bit 15:12 vertical formatter skip line num at the beginning */
/* Bit 11:8 vertical formatter initial phase */
/* Bit 7:1 vertical formatter phase step (3.4) */
/* Bit 0 vertical formatter enable */
#define VIU_VD1_FMT_W 0x1a69
/* ((0x1a69 << 2) + 0xd0100000) */
/* Bit 27:16 horizontal formatter width */
/* Bit 11:0 vertical formatter width */
#define VD1_IF0_GEN_REG2 0x1a6d
#define DI_INP_GEN_REG3 0x20a8
/* 0xd01082a0 */
/*bit9:8 bit mode: 0 = 8bits, 1=10bits 422, 2 = 10bits 444 */
#define DI_MEM_GEN_REG3 0x20a9
/* 0xd01082a4 */
/*bit9:8 bit mode: 0 = 8bits, 1=10bits 422, 2 = 10bits 444 */
#define DI_CHAN2_GEN_REG3 0x20aa
/* 0xd01082a8 */
/* dnr Base Addr: 0xd0100000 */
#define DNR_CTRL ((0x2d00))
/* Bit 31:17, reserved */
/* Bit 16, reg_dnr_en,
* dnr enable . unsigned , default = 1
*/
/* Bit 15, reg_dnr_db_vdbstep ,
* vdb step, 0: 4, 1: 8 . unsigned , default = 1
*/
/* Bit 14, reg_dnr_db_vdbprten ,
* vdb protectoin enable . unsigned , default = 1
*/
/* Bit 13, reg_dnr_gbs_difen ,
* enable dif (between LR and LL/RR) condition for gbs stat..
* unsigned , default = 0
*/
/* Bit 12, reg_dnr_luma_en ,
* enable ycbcr2luma module . unsigned , default = 1
*/
/* Bit 11:10, reg_dnr_db_mod ,
* deblocking mode, 0: disable, 1: horizontal deblocking, 2: vertical
* deblocking, 3: horizontal & vertical deblocking. unsigned , default = 3
*/
/* Bit 9, reg_dnr_db_chrmen ,
* enable chroma deblocking . unsigned , default = 1
*/
/* Bit 8, reg_dnr_hvdif_mod ,
* 0: calc. difs by original Y, 1: by new luma. unsigned , default = 1
*/
/* Bit 7, reserved */
/* Bit 6: 4, reg_dnr_demo_lften ,
* b0: Y b1:U b2:V . unsigned , default = 7
*/
/* Bit 3, reserved */
/* Bit 2: 0, reg_dnr_demo_rgten ,
* b0: Y b1:U b2:V . unsigned , default = 7
*/
#define DNR_HVSIZE ((0x2d01))
/* Bit 31:29, reserved */
/* Bit 28:16, reg_dnr_hsize ,
* hsize . unsigned , default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 0, reg_dnr_vsize ,
* vsize . unsigned , default = 0
*/
#define DNR_DBLK_BLANK_NUM ((0x2d02))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_dblk_hblank_num ,
* deblock hor blank num . unsigned , default = 16
*/
/* Bit 7: 0, reg_dblk_vblank_num ,
* deblock ver blank num . unsigned , default = 45
*/
#define DNR_BLK_OFFST ((0x2d03))
/* Bit 31: 7, reserved */
/* Bit 6: 4, reg_dnr_hbofst ,
* horizontal block offset may provide by software calc.. unsigned ,
* default = 0
*/
/* Bit 3, reserved */
/* Bit 2: 0, reg_dnr_vbofst ,
* vertical block offset may provide by software calc.. unsigned , default = 0
*/
#define DNR_GBS ((0x2d04))
/* Bit 31: 2, reserved */
/* Bit 1: 0, reg_dnr_gbs ,
* global block strength may update by software calc.. unsigned , default = 0
*/
#define DNR_HBOFFST_STAT ((0x2d05))
/* Bit 31:24, reg_dnr_hbof_difthd ,
* dif threshold (>=) between LR and LL/RR. unsigned , default = 2
*/
/* Bit 23:16, reg_dnr_hbof_edgethd ,
* edge threshold (<=) for LR . unsigned , default = 32
*/
/* Bit 15: 8, reg_dnr_hbof_flatthd ,
* flat threshold (>=) for LR . unsigned , default = 0
*/
/* Bit 7, reserved */
/* Bit 6: 4, reg_dnr_hbof_delta ,
* delta for weighted bin accumulator. unsigned , default = 1
*/
/* Bit 3, reserved */
/* Bit 2: 0, reg_dnr_hbof_statmod ,
* statistic mode for horizontal block offset, 0: count flags for 8-bin,
* 1: count LRs for 8-bin, 2: count difs for 8-bin,
* 3: count weighted flags for 8-bin, 4: count flags for first 32-bin,
* 5: count LRs for first 32-bin, 6 or 7: count difs for first 32-bin.
* unsigned , default = 2
*/
#define DNR_VBOFFST_STAT ((0x2d06))
/* Bit 31:24, reg_dnr_vbof_difthd ,
* dif threshold (>=) between Up and Dw. unsigned , default = 1
*/
/* Bit 23:16, reg_dnr_vbof_edgethd ,
* edge threshold (<=) for Up/Dw. unsigned , default = 16
*/
/* Bit 15: 8, reg_dnr_vbof_flatthd ,
* flat threshold (>=) for Up/Dw. unsigned , default = 0
*/
/* Bit 7, reserved */
/* Bit 6: 4, reg_dnr_vbof_delta ,
* delta for weighted bin accumulator. unsigned , default = 1
*/
/* Bit 3, reserved */
/* Bit 2: 0, reg_dnr_vbof_statmod ,
* statistic mode for vertical block offset, 0: count flags for 8-bin,
* 1: count Ups for 8-bin, 2: count difs for 8-bin, 3: count weighted
* flags for 8-bin, 4: count flags for first 32-bin, 5: count Ups for
* first 32-bin, 6 or 7: count difs for first 32-bin. unsigned , default = 2
*/
#define DNR_GBS_STAT ((0x2d07))
/* Bit 31:24, reg_dnr_gbs_edgethd ,
* edge threshold (<=) for LR . unsigned , default = 32
*/
/* Bit 23:16, reg_dnr_gbs_flatthd ,
* flat threshold (>=) for LR . unsigned , default = 0
*/
/* Bit 15: 8, reg_dnr_gbs_varthd ,
* variation threshold (<=) for Lvar/Rvar. unsigned , default = 16
*/
/* Bit 7: 0, reg_dnr_gbs_difthd ,
* dif threshold (>=) between LR and LL/RR. unsigned , default = 2
*/
#define DNR_STAT_X_START_END ((0x2d08))
/* Bit 31:30, reserved */
/* Bit 29:16, reg_dnr_stat_xst . unsigned , default = 24 */
/* Bit 15:14, reserved */
/* Bit 13: 0, reg_dnr_stat_xed . unsigned , default = HSIZE - 25 */
#define DNR_STAT_Y_START_END ((0x2d09))
/* Bit 31:30, reserved */
/* Bit 29:16, reg_dnr_stat_yst . unsigned , default = 24 */
/* Bit 15:14, reserved */
/* Bit 13: 0, reg_dnr_stat_yed . unsigned , default = VSIZE - 25 */
#define DNR_LUMA ((0x2d0a))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_dnr_luma_sqrtshft ,
* left shift for fast squart of chroma, [0, 4]. unsigned , default = 2
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_dnr_luma_sqrtoffst ,
* offset for fast squart of chroma. signed , default = 0
*/
/* Bit 15, reserved */
/* Bit 14:12, reg_dnr_luma_wcmod ,
* theta related to warm/cool segment line, 0: 0, 1: 45, 2: 90, 3: 135,
* 4: 180, 5: 225, 6: 270, 7: 315. . unsigned , default = 3
*/
/* Bit 11: 8, reg_dnr_luma_cshft ,
* shift for calc. delta part, 0~8, . unsigned , default = 8
*/
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_dnr_luma_cgain ,
* final gain for delta part, 32 normalized to "1". unsigned , default = 4
*/
#define DNR_DB_YEDGE_THD ((0x2d0b))
/* Bit 31:24, reg_dnr_db_yedgethd0 ,
* edge threshold0 for luma . unsigned , default = 12
*/
/* Bit 23:16, reg_dnr_db_yedgethd1 ,
* edge threshold1 for luma . unsigned , default = 15
*/
/* Bit 15: 8, reg_dnr_db_yedgethd2 ,
* edge threshold2 for luma . unsigned , default = 18
*/
/* Bit 7: 0, reg_dnr_db_yedgethd3 ,
* edge threshold3 for luma . unsigned , default = 25
*/
#define DNR_DB_CEDGE_THD ((0x2d0c))
/* Bit 31:24, reg_dnr_db_cedgethd0 ,
* edge threshold0 for chroma . unsigned , default = 12
*/
/* Bit 23:16, reg_dnr_db_cedgethd1 ,
* edge threshold1 for chroma . unsigned , default = 15
*/
/* Bit 15: 8, reg_dnr_db_cedgethd2 ,
* edge threshold2 for chroma . unsigned , default = 18
*/
/* Bit 7: 0, reg_dnr_db_cedgethd3 ,
* edge threshold3 for chroma . unsigned , default = 25
*/
#define DNR_DB_HGAP ((0x2d0d))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_dnr_db_hgapthd ,
* horizontal gap thd (<=) for very sure blockiness . unsigned , default = 8
*/
/* Bit 15: 8, reg_dnr_db_hgapdifthd ,
* dif thd between hgap and lft/rgt hdifs. unsigned , default = 1
*/
/* Bit 7: 1, reserved */
/* Bit 0, reg_dnr_db_hgapmod ,
* horizontal gap calc. mode, 0: just use current col x,
* 1: find max between (x-1, x, x+1) . unsigned , default = 0
*/
#define DNR_DB_HBS ((0x2d0e))
/* Bit 31: 6, reserved */
/* Bit 5: 4, reg_dnr_db_hbsup ,
* horizontal bs up value . unsigned , default = 1
*/
/* Bit 3: 2, reg_dnr_db_hbsmax ,
* max value of hbs for global control. unsigned , default = 3
*/
/* Bit 1: 0, reg_dnr_db_hgbsthd ,
* gbs thd (>=) for hbs calc. . unsigned , default = 1
*/
#define DNR_DB_HACT ((0x2d0f))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_dnr_db_hactthd0 ,
* thd0 of hact, for block classification. unsigned , default = 10
*/
/* Bit 7: 0, reg_dnr_db_hactthd1 ,
* thd1 of hact, for block classification. unsigned , default = 32
*/
#define DNR_DB_YHDELTA_GAIN ((0x2d10))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_dnr_db_yhdeltagain1 ,
* (p1-q1) gain for Y's delta calc. when bs=1, normalized 8 as "1" .
* unsigned , default = 2
*/
/* Bit 23, reserved */
/* Bit 22:20, reg_dnr_db_yhdeltagain2 ,
* (p1-q1) gain for Y's delta calc. when bs=2, normalized 8 as "1" .
* unsigned , default = 0
*/
/* Bit 19, reserved */
/* Bit 18:16, reg_dnr_db_yhdeltagain3 ,
* (p1-q1) gain for Y's delta calc. when bs=3, normalized 8 as "1" .
* unsigned , default = 0
*/
/* Bit 15, reserved */
/* Bit 14: 8, reg_dnr_db_yhdeltaadjoffst ,
* offset for adjust Y's hdelta (-64, 63). signed , default = 0
*/
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_dnr_db_yhdeltaadjgain ,
* gain for adjust Y's hdelta, normalized 32 as "1" . unsigned , default = 32
*/
#define DNR_DB_YHDELTA2_GAIN ((0x2d11))
/* Bit 31:30, reserved */
/* Bit 29:24, reg_dnr_db_yhdelta2gain2 ,
* gain for bs=2's adjust Y's hdelta2, normalized 64 as "1" .
* unsigned , default = 8
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_dnr_db_yhdelta2offst2 ,
* offset for bs=2's adjust Y's hdelta2 (-16, 15). signed , default = 0
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_dnr_db_yhdelta2gain3 ,
* gain for bs=3's adjust Y's hdelta2, normalized 64 as "1" .
* unsigned , default = 4
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_db_yhdelta2offst3 ,
* offset for bs=3's adjust Y's hdelta2 (-16, 15). signed , default = 0
*/
#define DNR_DB_CHDELTA_GAIN ((0x2d12))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_dnr_db_chdeltagain1 ,
* (p1-q1) gain for UV's delta calc. when bs=1, normalized 8 as "1".
* unsigned , default = 2
*/
/* Bit 23, reserved */
/* Bit 22:20, reg_dnr_db_chdeltagain2 ,
* (p1-q1) gain for UV's delta calc. when bs=2,
* normalized 8 as "1". unsigned , default = 0
*/
/* Bit 19, reserved */
/* Bit 18:16, reg_dnr_db_chdeltagain3 ,
* (p1-q1) gain for UV's delta calc. when bs=3, normalized 8 as "1".
* unsigned , default = 0
*/
/* Bit 15, reserved */
/* Bit 14: 8, reg_dnr_db_chdeltaadjoffst ,
* offset for adjust UV's hdelta (-64, 63). signed , default = 0
*/
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_dnr_db_chdeltaadjgain ,
* gain for adjust UV's hdelta, normalized 32 as "1". unsigned , default = 32
*/
#define DNR_DB_CHDELTA2_GAIN ((0x2d13))
/* Bit 31:30, reserved */
/* Bit 29:24, reg_dnr_db_chdelta2gain2 ,
* gain for bs=2's adjust UV's hdelta2, normalized 64 as "1" .
* unsigned , default = 8
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_dnr_db_chdelta2offst2 ,
* offset for bs=2's adjust UV's hdelta2 (-16, 15). signed , default = 0
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_dnr_db_chdelta2gain3 ,
* gain for bs=2's adjust UV's hdelta2, normalized 64 as "1" .
* unsigned , default = 4
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_db_chdelta2offst3 ,
* offset for bs=2's adjust UV's hdelta2 (-16, 15). signed , default = 0
*/
#define DNR_DB_YC_VEDGE_THD ((0x2d14))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_dnr_db_yvedgethd ,
* special Y's edge thd for vdb. unsigned , default = 12
*/
/* Bit 7: 0, reg_dnr_db_cvedgethd ,
* special UV's edge thd for vdb. unsigned , default = 12
*/
#define DNR_DB_VBS_MISC ((0x2d15))
/* Bit 31:24, reg_dnr_db_vgapthd ,
* vertical gap thd (<=) for very sure blockiness . unsigned , default = 8
*/
/* Bit 23:16, reg_dnr_db_vactthd ,
* thd of vact, for block classification . unsigned , default = 10
*/
/* Bit 15: 8, reg_dnr_db_vgapdifthd ,
* dif thd between vgap and vact. unsigned , default = 4
*/
/* Bit 7: 4, reserved */
/* Bit 3: 2, reg_dnr_db_vbsmax ,
* max value of vbs for global control. unsigned , default = 2
*/
/* Bit 1: 0, reg_dnr_db_vgbsthd ,
* gbs thd (>=) for vbs calc. . unsigned , default = 1
*/
#define DNR_DB_YVDELTA_GAIN ((0x2d16))
/* Bit 31:30, reserved */
/* Bit 29:24, reg_dnr_db_yvdeltaadjgain ,
* gain for adjust Y's vdelta, normalized 32 as "1". unsigned , default = 32
*/
/* Bit 23, reserved */
/* Bit 22:16, reg_dnr_db_yvdeltaadjoffst ,
* offset for adjust Y's vdelta (-64, 63). signed , default = 0
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_dnr_db_yvdelta2gain ,
* gain for adjust Y's vdelta2, normalized 64 as "1". unsigned , default = 8
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_db_yvdelta2offst ,
* offset for adjust Y's vdelta2 (-16, 15). signed , default = 0
*/
#define DNR_DB_CVDELTA_GAIN ((0x2d17))
/* Bit 31:30, reserved */
/* Bit 29:24, reg_dnr_db_cvdeltaadjgain ,
* gain for adjust UV's vdelta, normalized 32 as "1". unsigned , default = 32
*/
/* Bit 23, reserved */
/* Bit 22:16, reg_dnr_db_cvdeltaadjoffst ,
* offset for adjust UV's vdelta (-64, 63). signed , default = 0
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_dnr_db_cvdelta2gain ,
* gain for adjust UV's vdelta2, normalized 64 as "1". unsigned , default = 8
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_db_cvdelta2offst ,
* offset for adjust UV's vdelta2 (-16, 15). signed , default = 0
*/
#define DNR_RO_GBS_STAT_LR ((0x2d18))
/* Bit 31: 0, ro_gbs_stat_lr
* . unsigned , default = 0
*/
#define DNR_RO_GBS_STAT_LL ((0x2d19))
/* Bit 31: 0, ro_gbs_stat_ll
* . unsigned , default = 0
*/
#define DNR_RO_GBS_STAT_RR ((0x2d1a))
/* Bit 31: 0, ro_gbs_stat_rr
* . unsigned , default = 0
*/
#define DNR_RO_GBS_STAT_DIF ((0x2d1b))
/* Bit 31: 0, ro_gbs_stat_dif
* . unsigned , default = 0
*/
#define DNR_RO_GBS_STAT_CNT ((0x2d1c))
/* Bit 31: 0, ro_gbs_stat_cnt
* . unsigned , default = 0
*/
#define DNR_RO_HBOF_STAT_CNT_0 ((0x2d1d))
/* Bit 31: 0, ro_hbof_stat_cnt0
* . unsigned , default = 0
*/
#define DNR_RO_HBOF_STAT_CNT_1 ((0x2d1e))
/* Bit 31: 0, ro_hbof_stat_cnt1
* . unsigned , default = 0
*/
#define DNR_RO_HBOF_STAT_CNT_2 ((0x2d1f))
/* Bit 31: 0, ro_hbof_stat_cnt2
* . unsigned , default = 0
*/
#define DNR_RO_HBOF_STAT_CNT_3 ((0x2d20))
/* Bit 31: 0, ro_hbof_stat_cnt3 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_4 ((0x2d21))
/* Bit 31: 0, ro_hbof_stat_cnt4 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_5 ((0x2d22))
/* Bit 31: 0, ro_hbof_stat_cnt5 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_6 ((0x2d23))
/* Bit 31: 0, ro_hbof_stat_cnt6 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_7 ((0x2d24))
/* Bit 31: 0, ro_hbof_stat_cnt7 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_8 ((0x2d25))
/* Bit 31: 0, ro_hbof_stat_cnt8 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_9 ((0x2d26))
/* Bit 31: 0, ro_hbof_stat_cnt9 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_10 ((0x2d27))
/* Bit 31: 0, ro_hbof_stat_cnt10 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_11 ((0x2d28))
/* Bit 31: 0, ro_hbof_stat_cnt11 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_12 ((0x2d29))
/* Bit 31: 0, ro_hbof_stat_cnt12 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_13 ((0x2d2a))
/* Bit 31: 0, ro_hbof_stat_cnt13 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_14 ((0x2d2b))
/* Bit 31: 0, ro_hbof_stat_cnt14 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_15 ((0x2d2c))
/* Bit 31: 0, ro_hbof_stat_cnt15 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_16 ((0x2d2d))
/* Bit 31: 0, ro_hbof_stat_cnt16 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_17 ((0x2d2e))
/* Bit 31: 0, ro_hbof_stat_cnt17 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_18 ((0x2d2f))
/* Bit 31: 0, ro_hbof_stat_cnt18 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_19 ((0x2d30))
/* Bit 31: 0, ro_hbof_stat_cnt19 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_20 ((0x2d31))
/* Bit 31: 0, ro_hbof_stat_cnt20 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_21 ((0x2d32))
/* Bit 31: 0, ro_hbof_stat_cnt21 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_22 ((0x2d33))
/* Bit 31: 0, ro_hbof_stat_cnt22 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_23 ((0x2d34))
/* Bit 31: 0, ro_hbof_stat_cnt23 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_24 ((0x2d35))
/* Bit 31: 0, ro_hbof_stat_cnt24 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_25 ((0x2d36))
/* Bit 31: 0, ro_hbof_stat_cnt25 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_26 ((0x2d37))
/* Bit 31: 0, ro_hbof_stat_cnt26 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_27 ((0x2d38))
/* Bit 31: 0, ro_hbof_stat_cnt27 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_28 ((0x2d39))
/* Bit 31: 0, ro_hbof_stat_cnt28 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_29 ((0x2d3a))
/* Bit 31: 0, ro_hbof_stat_cnt29 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_30 ((0x2d3b))
/* Bit 31: 0, ro_hbof_stat_cnt30 . unsigned , default = 0 */
#define DNR_RO_HBOF_STAT_CNT_31 ((0x2d3c))
/* Bit 31: 0, ro_hbof_stat_cnt31 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_0 ((0x2d3d))
/* Bit 31: 0, ro_vbof_stat_cnt0 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_1 ((0x2d3e))
/* Bit 31: 0, ro_vbof_stat_cnt1 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_2 ((0x2d3f))
/* Bit 31: 0, ro_vbof_stat_cnt2 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_3 ((0x2d40))
/* Bit 31: 0, ro_vbof_stat_cnt3 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_4 ((0x2d41))
/* Bit 31: 0, ro_vbof_stat_cnt4 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_5 ((0x2d42))
/* Bit 31: 0, ro_vbof_stat_cnt5 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_6 ((0x2d43))
/* Bit 31: 0, ro_vbof_stat_cnt6 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_7 ((0x2d44))
/* Bit 31: 0, ro_vbof_stat_cnt7 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_8 ((0x2d45))
/* Bit 31: 0, ro_vbof_stat_cnt8 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_9 ((0x2d46))
/* Bit 31: 0, ro_vbof_stat_cnt9 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_10 ((0x2d47))
/* Bit 31: 0, ro_vbof_stat_cnt10 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_11 ((0x2d48))
/* Bit 31: 0, ro_vbof_stat_cnt11 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_12 ((0x2d49))
/* Bit 31: 0, ro_vbof_stat_cnt12 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_13 ((0x2d4a))
/* Bit 31: 0, ro_vbof_stat_cnt13 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_14 ((0x2d4b))
/* Bit 31: 0, ro_vbof_stat_cnt14 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_15 ((0x2d4c))
/* Bit 31: 0, ro_vbof_stat_cnt15 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_16 ((0x2d4d))
/* Bit 31: 0, ro_vbof_stat_cnt16 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_17 ((0x2d4e))
/* Bit 31: 0, ro_vbof_stat_cnt17 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_18 ((0x2d4f))
/* Bit 31: 0, ro_vbof_stat_cnt18 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_19 ((0x2d50))
/* Bit 31: 0, ro_vbof_stat_cnt19 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_20 ((0x2d51))
/* Bit 31: 0, ro_vbof_stat_cnt20 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_21 ((0x2d52))
/* Bit 31: 0, ro_vbof_stat_cnt21 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_22 ((0x2d53))
/* Bit 31: 0, ro_vbof_stat_cnt22 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_23 ((0x2d54))
/* Bit 31: 0, ro_vbof_stat_cnt23 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_24 ((0x2d55))
/* Bit 31: 0, ro_vbof_stat_cnt24 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_25 ((0x2d56))
/* Bit 31: 0, ro_vbof_stat_cnt25 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_26 ((0x2d57))
/* Bit 31: 0, ro_vbof_stat_cnt26 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_27 ((0x2d58))
/* Bit 31: 0, ro_vbof_stat_cnt27 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_28 ((0x2d59))
/* Bit 31: 0, ro_vbof_stat_cnt28 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_29 ((0x2d5a))
/* Bit 31: 0, ro_vbof_stat_cnt29 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_30 ((0x2d5b))
/* Bit 31: 0, ro_vbof_stat_cnt30 . unsigned , default = 0 */
#define DNR_RO_VBOF_STAT_CNT_31 ((0x2d5c))
/* Bit 31: 0, ro_vbof_stat_cnt31 . unsigned , default = 0 */
#define DNR_DM_CTRL ((0x2d60))
/* Bit 31:13, reserved */
/* Bit 12, reg_dnr_dm_fedgeflg_en ,
* enable edge flag calc. of each frame. unsigned , default = 1
*/
/* Bit 11, reg_dnr_dm_fedgeflg_cl ,
* clear frame edge flag if needed. unsigned , default = 1
*/
/* Bit 10, reg_dnr_dm_fedgeflg_df ,
* user defined edge when reg_dnr_dm_fedgeflg_en=0, default = 1
*/
/* Bit 9, reg_dnr_dm_en ,
* enable demosquito function . unsigned , default = 1
*/
/* Bit 8, reg_dnr_dm_chrmen ,
* enable chrome processing for demosquito. unsigned , default = 1
*/
/* Bit 7: 6, reg_dnr_dm_level ,
* demosquito level . unsigned , default = 3
*/
/* Bit 5: 4, reg_dnr_dm_leveldw0 ,
* level down when gbs is small. unsigned , default = 1
*/
/* Bit 3: 2, reg_dnr_dm_leveldw1 ,
* level down for no edge/flat blocks. unsigned , default = 1
*/
/* Bit 1: 0, reg_dnr_dm_gbsthd ,
* small/large threshold for gbs (<=). unsigned , default = 0
*/
#define DNR_DM_NR_BLND ((0x2d61))
/* Bit 31:25, reserved */
/* Bit 24, reg_dnr_dm_defalpen ,
* enable user define alpha for dm & nr blend. unsigned , default = 0
*/
/* Bit 23:16, reg_dnr_dm_defalp ,
* user define alpha for dm & nr blend if enable. unsigned , default = 0
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_dnr_dm_alpgain ,
* gain for nr/dm alpha, normalized 32 as "1". unsigned , default = 32
*/
/* Bit 7: 0, reg_dnr_dm_alpoffst ,
* (-128, 127), offset for nr/dm alpha. signed , default = 0
*/
#define DNR_DM_RNG_THD ((0x2d62))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_dnr_dm_rngminthd . unsigned , default = 2 */
/* Bit 15: 8, reg_dnr_dm_rngmaxthd . unsigned , default = 64 */
/* Bit 7: 0, reg_dnr_dm_rngdifthd . unsigned , default = 4 */
#define DNR_DM_RNG_GAIN_OFST ((0x2d63))
/* Bit 31:14, reserved */
/* Bit 13: 8, reg_dnr_dm_rnggain ,
* normalized 16 as "1" . unsigned , default = 16
*/
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_dnr_dm_rngofst . unsigned , default = 0 */
#define DNR_DM_DIR_MISC ((0x2d64))
/* Bit 31:30, reserved */
/* Bit 29, reg_dnr_dm_diralpen . unsigned , default = 1 */
/* Bit 28:24, reg_dnr_dm_diralpgain . unsigned , default = 0 */
/* Bit 23:22, reserved */
/* Bit 21:16, reg_dnr_dm_diralpofst . unsigned , default = 0 */
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_diralpmin . unsigned , default = 0 */
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_diralpmax . unsigned , default = 31 */
#define DNR_DM_COR_DIF ((0x2d65))
/* Bit 31: 4, reserved */
/* Bit 3: 1, reg_dnr_dm_cordifshft . unsigned , default = 3 */
/* Bit 0, reg_dnr_dm_cordifmod ,
* 0:use max dir dif as cordif, 1: use max3x3 - min3x3 as cordif.
* unsigned , default = 1
*/
#define DNR_DM_FLT_THD ((0x2d66))
/* Bit 31:24, reg_dnr_dm_fltthd00 ,
* block flat threshold0 for block average difference when gbs is small,
* for flat block detection. unsigned , default = 4
*/
/* Bit 23:16, reg_dnr_dm_fltthd01 ,
* block flat threshold1 for block average difference when gbs is small,
* for flat block detection. unsigned , default = 6
*/
/* Bit 15: 8, reg_dnr_dm_fltthd10 ,
* block flat threshold0 for block average difference when gbs is large,
* for flat block detection. unsigned , default = 9
*/
/* Bit 7: 0, reg_dnr_dm_fltthd11 ,
* block flat threshold1 for block average difference when gbs is large,
* for flat block detection. unsigned , default = 12
*/
#define DNR_DM_VAR_THD ((0x2d67))
/* Bit 31:24, reg_dnr_dm_varthd00 ,
* block variance threshold0 (>=) when gbs is small, for flat block
* detection. unsigned , default = 2
*/
/* Bit 23:16, reg_dnr_dm_varthd01 ,
* block variance threshold1 (<=) when gbs is small, for flat block
* detection. unsigned , default = 15
*/
/* Bit 15: 8, reg_dnr_dm_varthd10 ,
* block variance threshold0 (>=) when gbs is large, for flat block
* detection. unsigned , default = 3
*/
/* Bit 7: 0, reg_dnr_dm_varthd11 ,
* block variance threshold1 (<=) when gbs is large, for flat block
* detection. unsigned , default = 24
*/
#define DNR_DM_EDGE_DIF_THD ((0x2d68))
/* Bit 31:24, reg_dnr_dm_edgethd0 ,
* block edge threshold (<=) when gbs is small, for flat block detection.
* unsigned , default = 32
*/
/* Bit 23:16, reg_dnr_dm_edgethd1 ,
* block edge threshold (<=) when gbs is large, for flat block detection.
* unsigned , default = 48
*/
/* Bit 15: 8, reg_dnr_dm_difthd0 ,
* block dif threshold (<=) when gbs is small, for flat block detection.
* unsigned , default = 48
*/
/* Bit 7: 0, reg_dnr_dm_difthd1 ,
* block dif threshold (<=) when gbs is large, for flat block detection.
* unsigned , default = 64
*/
#define DNR_DM_AVG_THD ((0x2d69))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_dnr_dm_avgthd0 ,
* block average threshold (>=), for flat block detection.
* unsigned ,default = 160
*/
/* Bit 7: 0, reg_dnr_dm_avgthd1 ,
* block average threshold (<=), for flat block detection. unsigned
* , default = 128
*/
#define DNR_DM_AVG_VAR_DIF_THD ((0x2d6a))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_dnr_dm_avgdifthd ,
* block average dif threshold (<) between cur and up block, for flat
* block detection. unsigned , default = 12
*/
/* Bit 7: 0, reg_dnr_dm_vardifthd ,
* block variance dif threshold (>=) between cur and up block, for flat
* block detection. unsigned , default = 1
*/
#define DNR_DM_VAR_EDGE_DIF_THD2 ((0x2d6b))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_dnr_dm_varthd2, block variance threshold (>=),
* for edge block detection.unsigned, default = 24
*/
/* Bit 15: 8, reg_dnr_dm_edgethd2 ,
* block edge threshold (>=), for edge block detection. unsigned , default = 40
*/
/* Bit 7: 0, reg_dnr_dm_difthd2 ,
* block dif threshold (>=), for edge block detection. unsigned , default = 80
*/
#define DNR_DM_DIF_FLT_MISC ((0x2d6c))
/* Bit 31:28, reg_dnr_dm_ldifoob ,
* pre-defined large dif when pixel out of blocks. unsigned , default = 0
*/
/* Bit 27:24, reg_dnr_dm_bdifoob ,
* pre-defined block dif when pixel out of blocks;. unsigned , default = 0
*/
/* Bit 23:16, reg_dnr_dm_fltalp ,
* pre-defined alpha for dm and nr blending, when block is flat
* with mos.. unsigned , default = 200
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_dnr_dm_fltminbdif ,
* pre-defined min block dif for dm filter,
* when block is flat with mos.. unsigned , default = 12
*/
/* Bit 7, reserved */
/* Bit 6: 2, reg_dnr_dm_difnormgain ,
* gain for pixel dif normalization for dm filter,
* normalized 16 as "1". unsigned , default = 16
*/
/* Bit 1, reg_dnr_dm_difnormen ,
* enable pixel dif normalization for dm filter. unsigned , default = 1
*/
/* Bit 0, reg_dnr_dm_difupden ,
* enable block dif update using max of left, cur, right difs.
* unsigned , default = 0
*/
#define DNR_DM_SDIF_LUT0_2 ((0x2d6d))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_sdiflut0 ,
* normally 0-16 . unsigned , default = 16
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_sdiflut1 ,
* normally 0-16 . unsigned , default = 14
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_sdiflut2 ,
* normally 0-16 . unsigned , default = 13
*/
#define DNR_DM_SDIF_LUT3_5 ((0x2d6e))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_sdiflut3 ,
* normally 0-16 . unsigned , default = 10
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_sdiflut4 ,
* normally 0-16 . unsigned , default = 7
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_sdiflut5 ,
* normally 0-16 . unsigned , default = 5
*/
#define DNR_DM_SDIF_LUT6_8 ((0x2d6f))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_sdiflut6 ,
* normally 0-16 . unsigned , default = 3
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_sdiflut7 ,
* normally 0-16 . unsigned , default = 1
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_sdiflut8 ,
* normally 0-16 . unsigned , default = 0
*/
#define DNR_DM_LDIF_LUT0_2 ((0x2d70))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_ldiflut0 ,
* normally 0-16 . unsigned , default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_ldiflut1 ,
* normally 0-16 . unsigned , default = 4
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_ldiflut2 ,
* normally 0-16 . unsigned , default = 12
*/
#define DNR_DM_LDIF_LUT3_5 ((0x2d71))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_ldiflut3 ,
* normally 0-16 . unsigned , default = 14
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_ldiflut4 ,
* normally 0-16 . unsigned , default = 15
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_ldiflut5 ,
* normally 0-16 . unsigned , default = 16
*/
#define DNR_DM_LDIF_LUT6_8 ((0x2d72))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_ldiflut6 ,
* normally 0-16 . unsigned , default = 16
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_ldiflut7 ,
* normally 0-16 . unsigned , default = 16
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_ldiflut8 ,
* normally 0-16 . unsigned , default = 16
*/
#define DNR_DM_DIF2NORM_LUT0_2 ((0x2d73))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_dif2normlut0 ,
* normally 0-16 . unsigned , default = 16
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_dif2normlut1 ,
* normally 0-16 . unsigned , default = 5
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_dif2normlut2 ,
* normally 0-16 . unsigned , default = 3
*/
#define DNR_DM_DIF2NORM_LUT3_5 ((0x2d74))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_dif2normlut3 ,
* normally 0-16 . unsigned , default = 2
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_dif2normlut4 ,
* normally 0-16 . unsigned , default = 2
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_dif2normlut5 ,
* normally 0-16 . unsigned , default = 1
*/
#define DNR_DM_DIF2NORM_LUT6_8 ((0x2d75))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_dnr_dm_dif2normlut6 ,
* normally 0-16 . unsigned , default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_dnr_dm_dif2normlut7 ,
* normally 0-16 . unsigned , default = 1
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_dnr_dm_dif2normlut8 ,
* normally 0-16 . unsigned , default = 1
*/
#define DNR_DM_GMS_THD ((0x2d76))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_gms_stat_thd0 . unsigned , default = 0 */
/* Bit 7: 0, reg_gms_stat_thd1 . unsigned , default = 128 */
#define DNR_RO_DM_GMS_STAT_CNT ((0x2d77))
/* Bit 31: 0, ro_dm_gms_stat_cnt . unsigned , default = 0 */
#define DNR_RO_DM_GMS_STAT_MS ((0x2d78))
/* Bit 31: 0, ro_dm_gms_stat_ms . unsigned , default = 0 */
/* txl added */
#define DECOMB_DET_VERT_CON0 (0x2d80)
#define DECOMB_DET_VERT_CON1 (0x2d81)
#define DECOMB_DET_EDGE_CON0 (0x2d82)
#define DECOMB_DET_EDGE_CON1 (0x2d83)
#define DECOMB_PARA (0x2d84)
#define DECOMB_BLND_CON0 (0x2d85)
#define DECOMB_BLND_CON1 (0x2d86)
#define DECOMB_YC_THRD (0x2d87)
#define DECOMB_MTN_GAIN_OFST (0x2d88)
#define DECOMB_CMB_SEL_GAIN_OFST (0x2d89)
#define DECOMB_WIND00 (0x2d8a)
#define DECOMB_WIND01 (0x2d8b)
#define DECOMB_WIND10 (0x2d8c)
#define DECOMB_WIND11 (0x2d8d)
#define DECOMB_MODE (0x2d8e)
#define DECOMB_FRM_SIZE (0x2d8f)
#define DECOMB_HV_BLANK (0x2d90)
#define NR2_POLAR3_MODE (0x2d98)
#define NR2_POLAR3_THRD (0x2d99)
#define NR2_POLAR3_PARA0 (0x2d9a)
#define NR2_POLAR3_PARA1 (0x2d9b)
#define NR2_POLAR3_CTRL (0x2d9c)
#define NR2_RO_POLAR3_NUMOFPIX (0x2d9d)
#define NR2_RO_POLAR3_SMOOTHMV (0x2d9e)
#define NR2_RO_POLAR3_M1 (0x2d9f)
#define NR2_RO_POLAR3_P1 (0x2da0)
#define NR2_RO_POLAR3_M2 (0x2da1)
#define NR2_RO_POLAR3_P2 (0x2da2)
#define NR2_RO_POLAR3_32 (0x2da3)
/* txl end */
#define VPU_VD1_MMC_CTRL (0x2703)
#define VPU_VD2_MMC_CTRL (0x2704)
#define VPU_DI_IF1_MMC_CTRL (0x2705)
#define VPU_DI_MEM_MMC_CTRL (0x2706)
#define VPU_DI_INP_MMC_CTRL (0x2707)
#define VPU_DI_MTNRD_MMC_CTRL (0x2708)
#define VPU_DI_CHAN2_MMC_CTRL (0x2709)
#define VPU_DI_MTNWR_MMC_CTRL (0x270a)
#define VPU_DI_NRWR_MMC_CTRL (0x270b)
#define VPU_DI_DIWR_MMC_CTRL (0x270c)
#define MCDI_PD_22_CHK_WND0_X (0x2f59)
#define MCDI_PD_22_CHK_WND0_Y (0x2f5a)
#define MCDI_PD_22_CHK_WND1_X (0x2f5b)
#define MCDI_PD_22_CHK_WND1_Y (0x2f5c)
#define MCDI_PD_22_CHK_FLG_CNT (0x2f5e)
/* mc di */
/* //=================================================================//// */
/* // memc di core 0 */
/* //=================================================================//// */
#define MCDI_HV_SIZEIN ((0x2f00))
/* Bit 31:29, reserved */
/* Bit 28:16, reg_mcdi_hsize
* image horizontal size (number of cols) default=1024
*/
/* Bit 15:13, reserved */
/* Bit 12: 0, reg_mcdi_vsize
* image vertical size (number of rows) default=1024
*/
#define MCDI_HV_BLKSIZEIN ((0x2f01))
/* Bit 31, reg_mcdi_vrev default = 0 */
/* Bit 30, reg_mcdi_hrev default = 0 */
/* Bit 29:28, reserved */
/* Bit 27:16, reg_mcdi_blkhsize
* image horizontal blk size (number of cols) default=1024
*/
/* Bit 15:13, reserved */
/* Bit 11: 0, reg_mcdi_blkvsize
* image vertical blk size (number of rows) default=1024
*/
#define MCDI_BLKTOTAL ((0x2f02))
/* Bit 31:24, reserved */
/* Bit 23: 0, reg_mcdi_blktotal */
#define MCDI_MOTINEN ((0x2f03))
/* Bit 31: 2, reserved */
/* Bit 1, reg_mcdi_motionrefen.
* enable motion refinement of MA, default = 1
*/
/* Bit 0, reg_mcdi_motionparadoxen.
* enable motion paradox detection, default = 1
*/
#define MCDI_CTRL_MODE ((0x2f04))
/* Bit 31:28, reserved */
/* Bit 27:26, reg_mcdi_lmvlocken
* 0:disable, 1: use max Lmv, 2: use no-zero Lmv,
* lmv lock enable mode, default = 2
*/
/* Bit 25, reg_mcdi_reldetrptchken */
/* 0: unable; 1: enable, enable repeat pattern
* check (not repeat mv detection) in rel det part, default = 1
*/
/* Bit 24, reg_mcdi_reldetgmvpd22chken */
/* 0: unable; 1: enable, enable pull-down 22 mode
* check in gmv lock mode for rel det, default = 1
*/
/* Bit 23, reg_mcdi_pd22chken */
/* 0: unable; 1: enable, enable pull-down 22
* mode check (lock) function, default = 1
*/
/* Bit 22, reg_mcdi_reldetlpfen */
/* 0: unable; 1: enable, enable det value lpf, default = 1 */
/* Bit 21, reg_mcdi_reldetlmvpd22chken */
/* 0: unable; 1: enable, enable pull-down 22
* mode check in lmv lock mode for rel det, default = 1
*/
/* Bit 20, reg_mcdi_reldetlmvdifchken */
/* 0: unable; 1: enable, enable lmv dif check
* in lmv lock mode for rel det, default = 1
*/
/* Bit 19, reg_mcdi_reldetgmvdifchken */
/* 0: unable; 1: enable, enable lmv dif check in
* lmv lock mode for rel det, default = 1
*/
/* Bit 18, reg_mcdi_reldetpd22chken */
/* 0: unable; 1: enable, enable pull-down 22
* mode check for rel det refinement, default = 1
*/
/* Bit 17, reg_mcdi_reldetfrqchken */
/* 0: unable; 1: enable, enable mv frequency check in rel det, default = 1 */
/* Bit 16, reg_mcdi_qmeen */
/* 0: unable; 1: enable, enable quarter motion estimation, defautl = 1 */
/* Bit 15, reg_mcdi_refrptmven */
/* 0: unable; 1: enable, use repeat mv in refinement, default = 1 */
/* Bit 14, reg_mcdi_refgmven */
/* 0: unable; 1: enable, use gmv in refinement, default = 1 */
/* Bit 13, reg_mcdi_reflmven */
/* 0: unable; 1: enable, use lmvs in refinement, default = 1 */
/* Bit 12, reg_mcdi_refnmven */
/* 0: unable; 1: enable, use neighoring mvs in refinement, default = 1 */
/* Bit 11, reserved */
/* Bit 10, reg_mcdi_referrfrqchken */
/* 0: unable; 1: enable, enable mv frquency
* check while finding min err in ref, default = 1
*/
/* Bit 9, reg_mcdi_refen */
/* 0: unable; 1: enable, enable mv refinement, default = 1
*/
/* Bit 8, reg_mcdi_horlineen */
/* 0: unable; 1: enable,enable horizontal lines
* detection by sad map, default = 1
*/
/* Bit 7, reg_mcdi_highvertfrqdeten */
/* 0: unable; 1: enable, enable high vertical
* frequency pattern detection, default = 1
*/
/* Bit 6, reg_mcdi_gmvlocken */
/* 0: unable; 1: enable, enable gmv lock mode, default = 1 */
/* Bit 5, reg_mcdi_rptmven */
/* 0: unable; 1: enable, enable repeat pattern detection, default = 1 */
/* Bit 4, reg_mcdi_gmven */
/* 0: unable; 1: enable, enable global motion estimation, default = 1 */
/* Bit 3, reg_mcdi_lmven */
/* 0: unable; 1: enable, enable line mv estimation for hme, default = 1 */
/* Bit 2, reg_mcdi_chkedgeen */
/* 0: unable; 1: enable, enable check edge function, default = 1 */
/* Bit 1, reg_mcdi_txtdeten */
/* 0: unable; 1: enable, enable texture detection, default = 1 */
/* Bit 0, reg_mcdi_memcen */
/* 0: unable; 1: enable, enable of memc di, default = 1 */
#define MCDI_UNI_MVDST ((0x2f05))
/* Bit 31:20, reserved */
/* Bit 19:17, reg_mcdi_unimvdstabsseg0
* segment0 for uni-mv abs, default = 1
*/
/* Bit 16:12, reg_mcdi_unimvdstabsseg1
* segment1 for uni-mv abs, default = 15
*/
/* Bit 11: 8, reg_mcdi_unimvdstabsdifgain0
* 2/2, gain0 of uni-mv abs dif for segment0, normalized 2 to '1', default = 2
*/
/* Bit 7: 5, reg_mcdi_unimvdstabsdifgain1
* 2/2, gain1 of uni-mv abs dif for segment1, normalized 2 to '1', default = 2
*/
/* Bit 4: 2, reg_mcdi_unimvdstabsdifgain2
* 2/2, gain2 of uni-mv abs dif beyond segment1,normalized 2 to '1', default = 2
*/
/* Bit 1: 0, reg_mcdi_unimvdstsgnshft
* shift for neighboring distance of uni-mv, default = 0
*/
#define MCDI_BI_MVDST ((0x2f06))
/* Bit 31:20, reserved */
/* Bit 19:17, reg_mcdi_bimvdstabsseg0
* segment0 for bi-mv abs, default = 1
*/
/* Bit 16:12, reg_mcdi_bimvdstabsseg1
* segment1 for bi-mv abs, default = 9
*/
/* Bit 11: 8, reg_mcdi_bimvdstabsdifgain0
* 6/2, gain0 of bi-mv abs dif for segment0, normalized 2 to '1', default = 6
*/
/* Bit 7: 5, reg_mcdi_bimvdstabsdifgain1
* 3/2, gain1 of bi-mvabs dif for segment1, normalized 2 to '1', default = 3
*/
/* Bit 4: 2, reg_mcdi_bimvdstabsdifgain2
* 2/2, gain2 of bi-mvabs dif beyond segment1, normalized 2 to '1', default = 2
*/
/* Bit 1: 0, reg_mcdi_bimvdstsgnshft
* shift for neighboring distance of bi-mv, default = 0
*/
#define MCDI_SAD_GAIN ((0x2f07))
/* Bit 31:19, reserved */
/* Bit 18:17, reg_mcdi_unisadcorepxlgain
* uni-sad core pixels gain, default = 3
*/
/* Bit 16, reg_mcdi_unisadcorepxlnormen
* enable uni-sad core pixels normalization, default = 0
*/
/* Bit 15:11, reserved */
/* Bit 10: 9, reg_mcdi_bisadcorepxlgain
* bi-sad core pixels gain, default = 3
*/
/* Bit 8, reg_mcdi_bisadcorepxlnormen
* enable bi-sad core pixels normalization, default = 1
*/
/* Bit 7: 3, reserved */
/* Bit 2: 1, reg_mcdi_biqsadcorepxlgain
* bi-qsad core pixels gain, default = 3
*/
/* Bit 0, reg_mcdi_biqsadcorepxlnormen
* enable bi-qsad core pixels normalization, default = 1
*/
#define MCDI_TXT_THD ((0x2f08))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_txtminmaxdifthd,
* min max dif threshold (>=) for texture detection, default = 24
*/
/* Bit 15: 8, reg_mcdi_txtmeandifthd,
* mean dif threshold (<) for texture detection, default = 9
*/
/* Bit 7: 3, reserved */
/* Bit 2: 0, reg_mcdi_txtdetthd,
* texture detecting threshold, 0~4, default = 2
*/
#define MCDI_FLT_MODESEL ((0x2f09))
/* Bit 31 reserved */
/* Bit 30:28, reg_mcdi_flthorlineselmode
* mode for horizontal line detecting flat calculation,default = 1,same as below
*/
/* Bit 27 reserved */
/* Bit 26:24, reg_mcdi_fltgmvselmode
* mode for gmv flat calculation, default = 4, same as below
*/
/* Bit 23, reserved */
/* Bit 22:20, reg_mcdi_fltsadselmode
* mode for sad flat calculation, default = 2, same as below
*/
/* Bit 19, reserved */
/* Bit 18:16, reg_mcdi_fltbadwselmode
* mode for badw flat calculation, default = 3, same as below
*/
/* Bit 15, reserved */
/* Bit 14:12, reg_mcdi_fltrptmvselmode
* mode for repeat mv flat calculation, default = 4, same as below
*/
/* Bit 11, reserved */
/* Bit 10: 8, reg_mcdi_fltbadrelselmode
* mode for bad rel flat calculation, default = 4, same as below
*/
/* Bit 7, reserved */
/* Bit 6: 4, reg_mcdi_fltcolcfdselmode
* mode for col cfd flat calculation, default = 2, same as below
*/
/* Bit 3, reserved */
/* Bit 2: 0, reg_mcdi_fltpd22chkselmode
* mode for pd22 check flat calculation, default = 2, #
* 0:cur dif h, 1: cur dif v, 2: pre dif h, 3: pre dif v,
* 4: cur flt, 5: pre flt, 6: cur+pre, 7: max all(cur,pre)
*/
#define MCDI_CHK_EDGE_THD ((0x2f0a))
/* Bit 23:28, reserved. */
/* Bit 27:24, reg_mcdi_chkedgedifsadthd.
* thd (<=) for sad dif check, 0~8, default = 1
*/
/* Bit 23:16, reserved. */
/* Bit 15:12, reg_mcdi_chkedgemaxedgethd.
* max drt of edge, default = 15
*/
/* Bit 11: 8, reg_mcdi_chkedgeminedgethd.
* min drt of edge, default = 2
*/
/* Bit 7, reserved. */
/* Bit 6: 0, reg_mcdi_chkedgevdifthd.
* thd for vertical dif in check edge, default = 14
*/
#define MCDI_CHK_EDGE_GAIN_OFFST ((0x2f0b))
/* Bit 31:24, reserved. */
/* Bit 23:20, reg_mcdi_chkedgedifthd1.
* thd1 for edge dif check (<=), default = 4
*/
/* Bit 19:16, reg_mcdi_chkedgedifthd0.
* thd0 for edge dif check (>=), default = 15
*/
/* Bit :15, reserved. */
/* Bit 14:10, reg_mcdi_chkedgechklen.
* total check length for edge check, 1~24 (>0), default = 24
*/
/* Bit 9: 8, reg_mcdi_chkedgeedgesel.
* final edge select mode, 0: original start edge, 1: lpf start edge,
* 2: orignal start+end edge, 3: lpf start+end edge, default = 1
*/
/* Bit 7: 3, reg_mcdi_chkedgesaddstgain.
* distance gain for sad calc while getting edges, default = 4
*/
/* Bit 2, reg_mcdi_chkedgechkmode.
* edge used in check mode, 0: original edge, 1: lpf edge, defautl = 1
*/
/* Bit 1, reg_mcdi_chkedgestartedge.
* edge mode for start edge, 0: original edge, 1: lpf edge, defautl = 0
*/
/* Bit 0, reg_mcdi_chkedgeedgelpf.
* edge lpf mode, 0:[0,2,4,2,0], 1:[1,2,2,2,1], default = 0
*/
#define MCDI_LMV_RT ((0x2f0c))
/* BIt 31:15, reserved */
/* Bit 14:12, reg_mcdi_lmvvalidmode
* valid mode for lmv calc., 100b:use char det, 010b: use flt,001b: use hori flg
*/
/* Bit 11:10, reg_mcdi_lmvgainmvmode
* four modes of mv selection for lmv weight calucluation, default = 1
*/
/* 0: cur(x-3), lst(x-1,x,x+1); 1: cur(x-4,x-3), lst(x,x+1);
* 2: cur(x-5,x-4,x-3), lst(x-1,x,x+1,x+2,x+3);
* 3: cur(x-6,x-5,x-4,x-3), lst(x-1,x,x+1,x+2);
*/
/* Bit 9, reg_mcdi_lmvinitmode
* initial lmvs at first row of input field, 0: initial value = 0;
* 1: initial = 32 (invalid), default = 0
*/
/* Bit 8, reserved */
/* Bit 7: 4, reg_mcdi_lmvrt0 ratio of max mv, default = 5 */
/* Bit 3: 0, reg_mcdi_lmvrt1 ratio of second max mv, default = 5 */
#define MCDI_LMV_GAINTHD ((0x2f0d))
/* Bit 31:24, reg_mcdi_lmvvxmaxgain max gain of lmv weight, default = 96 */
/* Bit 23, reserved */
/* Bit 22:20, reg_mcdi_lmvdifthd0
* dif threshold 0 (<) for small lmv, default = 1
*/
/* Bit 19:17, reg_mcdi_lmvdifthd1
* dif threshold 1 (<) for median lmv, default = 2
*/
/* Bit 16:14, reg_mcdi_lmvdifthd2
* dif threshold 2 (<) for large lmv, default = 3
*/
/* Bit 13: 8, reg_mcdi_lmvnumlmt
* least/limit number of (total number - max0), default = 20
*/
/* Bit 7: 0, reg_mcdi_lmvfltthd
* flt cnt thd (<) for lmv, default = 9
*/
#define MCDI_RPTMV_THD0 ((0x2f0e))
/* Bit 31:25, reg_mcdi_rptmvslpthd2
* slope thd (>=) between i and i+3/i-3 (i+4/i-4), default = 64
*/
/* Bit 24:20, reg_mcdi_rptmvslpthd1
* slope thd (>=) between i and i+2/i-2, default = 4
*/
/* Bit 19:10, reg_mcdi_rptmvampthd2
* amplitude thd (>=) between max and min, when count cycles, default = 300
*/
/* Bit 9: 0, reg_mcdi_rptmvampthd1
* amplitude thd (>=) between average of max and min, default = 400
*/
#define MCDI_RPTMV_THD1 ((0x2f0f))
/* Bit 31:28, reserved */
/* Bit 27:25, reg_mcdi_rptmvcyccntthd
* thd (>=) of total cycles count, default = 2
*/
/* Bit 24:21, reg_mcdi_rptmvcycdifthd
* dif thd (<) of cycles length, default = 3
*/
/* Bit 20:18, reg_mcdi_rptmvcycvldthd
* thd (>) of valid cycles number, default = 1
*/
/* Bit 17:15, reg_mcdi_rptmvhalfcycminthd
* min length thd (>=) of half cycle, default = 2
*/
/* Bit 14:11, reg_mcdi_rptmvhalfcycdifthd
* neighboring half cycle length dif thd (<), default = 5
*/
/* Bit 10: 8, reg_mcdi_rptmvminmaxcntthd
* least number of valid max and min, default = 2
*/
/* Bit 7: 5, reg_mcdi_rptmvcycminthd
* min length thd (>=) of cycles, default = 2
*/
/* Bit 4: 0, reg_mcdi_rptmvcycmaxthd
* max length thd (<) of cycles, default = 17
*/
#define MCDI_RPTMV_THD2 ((0x2f10))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_rptmvhdifthd0
* higher hdif thd (>=) (vertical edge) for rpt detection, default = 8
*/
/* Bit 15: 8, reg_mcdi_rptmvhdifthd1
* hdif thd (>=) (slope edge) for rpt detection, default = 4
*/
/* Bit 7: 0, reg_mcdi_rptmvvdifthd
* vdif thd (>=) (slope edge) for rpt detection, default = 1
*/
#define MCDI_RPTMV_SAD ((0x2f11))
/* Bit 31:26, reserved */
/* Bit 25:16, reg_mcdi_rptmvsaddifthdgain
* 7x3x(16/16), gain for sad dif thd in rpt mv detection,
* 0~672, normalized 16 as '1', default = 336
*/
/* Bit 15:10, reserved */
/* Bit 9: 0, reg_mcdi_rptmvsaddifthdoffst
* offset for sad dif thd in rpt mv detection, -512~511, default = 16
*/
#define MCDI_RPTMV_FLG ((0x2f12))
/* Bit 31:18, reserved */
/* Bit 17:16, reg_mcdi_rptmvmode
* select mode of mvs for repeat motion estimation, 0: hmv,
* 1: qmv/2, 2 or 3: qmv/4, default = 2
*/
/* Bit 15: 8, reg_mcdi_rptmvflgcntthd
* thd (>=) of min count number for rptmv of whole field,
* for rptmv estimation, default = 64
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_rptmvflgcntrt
* 4/32, ratio for repeat mv flag count, normalized 32 as '1', set 31 to 32,
*/
#define MCDI_RPTMV_GAIN ((0x2f13))
/* Bit 31:24, reg_mcdi_rptmvlftgain
* up repeat mv gain for hme, default = 96
*/
/* Bit 23:16, reg_mcdi_rptmvuplftgain
* up left repeat mv gain for hme, default = 32
*/
/* Bit 15: 8, reg_mcdi_rptmvupgain
* up repeat mv gain for hme, default = 64
*/
/* Bit 7: 0, reg_mcdi_rptmvuprightgain
* up right repeat mv gain for hme, default = 32
*/
#define MCDI_GMV_RT ((0x2f14))
/* Bit 31, reserved */
/* Bit 30:24, reg_mcdi_gmvmtnrt0
* ratio 0 for motion senario, set 127 to 128, normalized 128 as '1',default =32
*/
/* Bit 23, reserved */
/* Bit 22:16, reg_mcdi_gmvmtnrt1
* ratio 1 for motion senario, set 127 to 128 normalized 128 as '1',default = 56
*/
/* Bit 15, reserved */
/* Bit 14: 8, reg_mcdi_gmvstlrt0
* ratio 0 for still senario, set 127 to 128,normalized 128 as '1', default = 56
*/
/* Bit 7, reserved */
/* Bit 6: 0, reg_mcdi_gmvstlrt1
* ratio 1 for still senario, set 127 to 128, normalized 128 as '1',default = 80
*/
#define MCDI_GMV_GAIN ((0x2f15))
/* Bit 31:25, reg_mcdi_gmvzeromvlockrt0
* ratio 0 for locking zero mv, set 127 to 128,
* normalized 128 as '1', default = 100
*/
/* Bit 24:18, reg_mcdi_gmvzeromvlockrt1
* ratio 1 for locking zero mv, set 127 to 128,
* normalized 128 as '1', default = 112
*/
/* Bit 17:16, reg_mcdi_gmvvalidmode
* valid mode for gmv calc., 10b: use flt, 01b: use hori flg, default = 3
*/
/* Bit 15: 8, reg_mcdi_gmvvxgain
* gmv's vx gain when gmv locked for hme, default = 0
*/
/* Bit 7: 0, reg_mcdi_gmvfltthd
* flat thd (<) for gmv calc. default = 3
*/
#define MCDI_HOR_SADOFST ((0x2f16))
/* Bit 31:25, reserved */
/* Bit 24:16, reg_mcdi_horsaddifthdgain
* 21*1/8, gain/divisor for sad dif threshold in hor line detection,
* normalized 8 as '1', default = 21
*/
/* Bit 15: 8, reg_mcdi_horsaddifthdoffst
* offset for sad dif threshold in hor line detection, -128~127, default = 0
*/
/* Bit 7: 0, reg_mcdi_horvdifthd
* threshold (>=) of vertical dif of next block for
* horizontal line detection, default = 24
*/
#define MCDI_REF_MV_NUM ((0x2f17))
/* Bit 31: 2, reserved */
/* Bit 1: 0, reg_mcdi_refmcmode. motion compensated mode used in
* refinement, 0: pre, 1: next, 2: (pre+next)/2, default = 0
*/
#define MCDI_REF_BADW_THD_GAIN ((0x2f18))
/* Bit 31:28, reserved */
/* Bit 27:24, reg_mcdi_refbadwcnt2gain.
* gain for badwv count num==3, default = 6
*/
/* Bit 23:20, reg_mcdi_refbadwcnt1gain.
* gain for badwv count num==2, default = 3
*/
/* Bit 19:16, reg_mcdi_refbadwcnt0gain.
* gain for badwv count num==1, default = 1
*/
/* Bit 15:12, reg_mcdi_refbadwthd3.
* threshold 3 for detect badweave with largest average luma, default = 4
*/
/* Bit 11: 8, reg_mcdi_refbadwthd2.
* threshold 2 for detect badweave with third smallest average luma, default = 3
*/
/* Bit 7: 4, reg_mcdi_refbadwthd1.
* threshold 1 for detect badweave with second smallest average luma,default = 2
*/
/* Bit 3: 0, reg_mcdi_refbadwthd0.
* threshold 0 for detect badweave with smallest average luma, default = 1
*/
#define MCDI_REF_BADW_SUM_GAIN ((0x2f19))
/* Bit 31:13, reserved */
/* Bit 12: 8, reg_mcdi_refbadwsumgain0.
* sum gain for r channel, 0~16, default = 8
*/
/* Bit 7: 5, reserved */
/* Bit 4, reg_mcdi_refbadwcalcmode.
* mode for badw calculation, 0:sum, 1:max, default = 0
*/
/* Bit 3: 0, reserved */
#define MCDI_REF_BS_THD_GAIN ((0x2f1a))
/* Bit 31:28, reg_mcdi_refbsudgain1.
* up & down block stregth gain1, normalized to 8 as '1', default = 2
*/
/* Bit 27:24, reg_mcdi_refbsudgain0.
* up & down block stregth gain0, normalized to 8 as '1', default = 4
*/
/* Bit 23:19, reserved */
/* Bit 18:16, reg_mcdi_refbslftgain.
* left block strength gain, default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_refbsthd1.
* threshold 1 for detect block stregth in refinment, default = 16
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_refbsthd0.
* threshold 0 for detect block stregth in refinment, default = 8
*/
#define MCDI_REF_ERR_GAIN0 ((0x2f1b))
/* Bit 31, reserved */
/* Bit 30:24, reg_mcdi_referrnbrdstgain.
* neighoring mv distances gain for err calc. in ref,
* normalized to 8 as '1', default = 48
*/
/* Bit 23:20, reserved */
/* Bit 19:16, reg_mcdi_referrbsgain.
* bs gain for err calc. in ref, normalized to 8 as '1', default = 4
*/
/* Bit 15, reserved */
/* Bit 14: 8, reg_mcdi_referrbadwgain.
* badw gain for err calc. in ref, normalized to 8 as '1', default = 64
*/
/* Bit 7: 4, reserved */
/* Bit 3: 0, reg_mcdi_referrsadgain.
* sad gain for err calc. in ref, normalized to 8 as '1', default = 4
*/
#define MCDI_REF_ERR_GAIN1 ((0x2f1c))
/* Bit 31:20, reserved */
/* Bit 19:16, reg_mcdi_referrchkedgegain.
* check edge gain for err calc. in ref, normalized to 8 as '1', default = 4
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_mcdi_referrlmvgain.
* (locked) lmv gain for err calc. in ref, normalized to 8 as '1', default = 0
*/
/* Bit 7: 4, reserved */
/* Bit 3: 0, reg_mcdi_referrgmvgain.
* (locked) gmv gain for err calc. in ref, normalized to 8 as '1', default = 0
*/
#define MCDI_REF_ERR_FRQ_CHK ((0x2f1d))
/* Bit 31:28, reserved */
/* Bit 27:24, reg_mcdi_referrfrqgain.
* gain for mv frquency, normalized to 4 as '1', default = 10
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_referrfrqmax.
* max gain for mv frquency check, default = 31
*/
/* Bit 15, reserved */
/* Bit 14:12, reg_mcdi_ref_errfrqmvdifthd2.
* mv dif threshold 2 (<) for mv frquency check, default = 3
*/
/* Bit 11, reserved */
/* Bit 10: 8, reg_mcdi_ref_errfrqmvdifthd1.
* mv dif threshold 1 (<) for mv frquency check, default = 2
*/
/* Bit 7, reserved */
/* Bit 6: 4, reg_mcdi_ref_errfrqmvdifthd0.
* mv dif threshold 0 (<) for mv frquency check, default = 1
*/
/* Bit 3: 0, reserved */
#define MCDI_QME_LPF_MSK ((0x2f1e))
/* Bit 31:28, reserved */
/* Bit 27:24, reg_mcdi_qmechkedgelpfmsk0.
* lpf mask0 for chk edge in qme, 0~8, msk1 = (8-msk0),
* normalized to 8 as '1', default = 7
*/
/* Bit 23:20, reserved */
/* Bit 19:16, reg_mcdi_qmebslpfmsk0.
* lpf mask0 for bs in qme, 0~8, msk1 = (8-msk0),
* normalized to 8 as '1', default = 7
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_mcdi_qmebadwlpfmsk0.
* lpf mask0 for badw in qme, 0~8, msk1 = (8-msk0),
* normalized to 8 as '1', default = 7
*/
/* Bit 7: 4, reserved */
/* Bit 3: 0, reg_mcdi_qmesadlpfmsk0.
* lpf mask0 for sad in qme, 0~8, msk1 = (8-msk0),
* normalized to 8 as '1', default = 7
*/
#define MCDI_REL_DIF_THD_02 ((0x2f1f))
/* Bit 31:24, reserved. */
/* Bit 23:16, reg_mcdi_reldifthd2.
* thd (<) for (hdif+vdif), default = 9
*/
/* Bit 15: 8, reg_mcdi_reldifthd1.
* thd (<) for (vdif), default = 5
*/
/* Bit 7: 0, reg_mcdi_reldifthd0.
* thd (>=) for (hdif-vdif), default = 48
*/
#define MCDI_REL_DIF_THD_34 ((0x2f20))
/* Bit 31:16, reserved. */
/* Bit 15: 8, reg_mcdi_reldifthd4.
* thd (<) for (hdif), default = 255
*/
/* Bit 7: 0, reg_mcdi_reldifthd3.
* thd (>=) for (vdif-hdif), default = 48
*/
#define MCDI_REL_BADW_GAIN_OFFST_01 ((0x2f21))
/* Bit 31:24, reg_mcdi_relbadwoffst1.
* offset for badw adj, for flat block, -128~127, default = 0
*/
/* Bit 23:16, reg_mcdi_relbadwgain1.
* gain for badw adj, for flat block, default = 128
*/
/* Bit 15: 8, reg_mcdi_relbadwoffst0.
* offset for badw adj, for vertical block, -128~127, default = 0
*/
/* Bit 7: 0, reg_mcdi_relbadwgain0.
* gain for badw adj, for vertical block, default = 160
*/
#define MCDI_REL_BADW_GAIN_OFFST_23 ((0x2f22))
/* Bit 31:24, reg_mcdi_relbadwoffst3.
* offset for badw adj, for other block, -128~127, default = 0
*/
/* Bit 23:16, reg_mcdi_relbadwgain3.
* gain for badw adj, for other block, default = 48
*/
/* Bit 15: 8, reg_mcdi_relbadwoffst2.
* offset for badw adj, for horizontal block, -128~127, default = 0
*/
/* Bit 7: 0, reg_mcdi_relbadwgain2.
* gain for badw adj, for horizontal block, default = 48
*/
#define MCDI_REL_BADW_THD_GAIN_OFFST ((0x2f23))
/* Bit 31:23, reserved. */
/* Bit 22:16, reg_mcdi_relbadwoffst.
* offset for badw thd adj, -64~63, default = 0
*/
/* Bit 15: 8, reserved. */
/* Bit 7: 0, reg_mcdi_relbadwthdgain.
* gain0 for badw thd adj, normalized to 16 as '1', default = 16
*/
#define MCDI_REL_BADW_THD_MIN_MAX ((0x2f24))
/* Bit 31:18, reserved. */
/* Bit 17: 8, reg_mcdi_relbadwthdmax.
* max for badw thd adj, default = 256
*/
/* Bit 7: 0, reg_mcdi_relbadwthdmin.
* min for badw thd adj, default = 16
*/
#define MCDI_REL_SAD_GAIN_OFFST_01 ((0x2f25))
/* Bit 31:24, reg_mcdi_relsadoffst1.
* offset for sad adj, for flat block, -128~127, default = 0
*/
/* Bit 23:20, reserved. */
/* Bit 19:16, reg_mcdi_relsadgain1.
* gain for sad adj, for flat block, normalized to 8 as '1', default = 8
*/
/* Bit 15: 8, reg_mcdi_relsadoffst0.
* offset for sad adj, for vertical block, -128~127, default = 0
*/
/* Bit 7: 4, reserved. */
/* Bit 3: 0, reg_mcdi_relsadgain0.
* gain for sad adj, for vertical block, normalized to 8 as '1', default = 6
*/
#define MCDI_REL_SAD_GAIN_OFFST_23 ((0x2f26))
/* Bit 31:24, reg_mcdi_relsadoffst3.
* offset for sad adj, for other block, -128~127, default = 0
*/
/* Bit 23:20, reserved. */
/* Bit 19:16, reg_mcdi_relsadgain3.
* gain for sad adj, for other block, normalized to 8 as '1', default = 8
*/
/* Bit 15: 8, reg_mcdi_relsadoffst2.
* offset for sad adj, for horizontal block, -128~127, default = 0
*/
/* Bit 7: 4, reserved. */
/* Bit 3: 0, reg_mcdi_relsadgain2.
* gain for sad adj, for horizontal block, normalized to 8 as '1', default = 12
*/
#define MCDI_REL_SAD_THD_GAIN_OFFST ((0x2f27))
/* Bit 31:24, reserved. */
/* Bit 23:16, reg_mcdi_relsadoffst.
* offset for sad thd adj, -128~127, default = 0
*/
/* Bit 15:10, reserved. */
/* Bit 9: 0, reg_mcdi_relsadthdgain.
* gain for sad thd adj, 21*2/16, normalized to 16 as '1', default = 42
*/
#define MCDI_REL_SAD_THD_MIN_MAX ((0x2f28))
/* Bit 31:27, reserved. */
/* Bit 26:16, reg_mcdi_relsadthdmax.
* max for sad thd adj, 21*32, default = 672
*/
/* Bit 15: 9, reserved. */
/* Bit 8: 0, reg_mcdi_relsadthdmin.
* min for sad thd adj, 21*2, default = 42
*/
#define MCDI_REL_DET_GAIN_00 ((0x2f29))
/* Bit 31:21, reserved. */
/* Bit 20:16, reg_mcdi_reldetbsgain0.
* gain0 (gmv locked) for bs, for det. calc. normalized to 16 as '1',
* default = 8
*/
/* Bit 15:14, reserved. */
/* Bit 13: 8, reg_mcdi_reldetbadwgain0.
* gain0 (gmv locked) for badw, for det. calc.
* normalized to 16 as '1', default = 12
*/
/* Bit 7: 5, reserved. */
/* Bit 4: 0, reg_mcdi_reldetsadgain0.
* gain0 (gmv locked) for qsad, for det. calc.
* normalized to 16 as '1', default = 8
*/
#define MCDI_REL_DET_GAIN_01 ((0x2f2a))
/* Bit 31:14, reserved. */
/* Bit 12: 8, reg_mcdi_reldetchkedgegain0.
* gain0 (gmv locked) for chk_edge, for det. calc.
* normalized to 16 as '1', default = 2
*/
/* Bit 7, reserved. */
/* Bit 6: 0, reg_mcdi_reldetnbrdstgain0.
* gain0 (gmv locked) for neighoring dist, for det.
* calc. normalized to 16 as '1', default = 24
*/
#define MCDI_REL_DET_GAIN_10 ((0x2f2b))
/* Bit 31:21, reserved. */
/* Bit 20:16, reg_mcdi_reldetbsgain1.
* gain1 (lmv locked) for bs, for det. calc. normalized
* to 16 as '1', default = 0
*/
/* Bit 15:14, reserved. */
/* Bit 13: 8, reg_mcdi_reldetbadwgain1.
* gain1 (lmv locked) for badw, for det. calc.
* normalized to 16 as '1', default = 8
*/
/* Bit 7: 5, reserved. */
/* Bit 4: 0, reg_mcdi_reldetsadgain1.
* gain1 (lmv locked) for qsad, for det. calc.
* normalized to 16 as '1', default = 8
*/
#define MCDI_REL_DET_GAIN_11 ((0x2f2c))
/* Bit 31:14, reserved. */
/* Bit 12: 8, reg_mcdi_reldetchkedgegain1.
* gain1 (lmv locked) for chk_edge, for det. calc.
* normalized to 16 as '1', default = 0
*/
/* Bit 7, reserved. */
/* Bit 6: 0, reg_mcdi_reldetnbrdstgain1.
* gain1 (lmv locked) for neighoring dist, for det.
* calc. normalized to 16 as '1', default = 24
*/
#define MCDI_REL_DET_GAIN_20 ((0x2f2d))
/* Bit 31:21, reserved. */
/* Bit 20:16, reg_mcdi_reldetbsgain2.
* gain2 (no locked) for bs, for det. calc.normalized to 16 as '1', default = 12
*/
/* Bit 15:14, reserved. */
/* Bit 13: 8, reg_mcdi_reldetbadwgain2.
* gain2 (no locked) for badw, for det. calc.
* normalized to 16 as '1',default = 32
*/
/* Bit 7: 5, reserved. */
/* Bit 4: 0, reg_mcdi_reldetsadgain2.
* gain2 (no locked) for qsad, for det. calc.
* normalized to 16 as '1', default = 16
*/
#define MCDI_REL_DET_GAIN_21 ((0x2f2e))
/* Bit 31:26, reserved */
/* Bit 25:16, reg_mcdi_reldetoffst.
* offset for rel calculation, for det. calc. -512~511, default = 0
*/
/* Bit 15:14, reserved. */
/* Bit 12: 8, reg_mcdi_reldetchkedgegain2.
* gain2 (no locked) for chk_edge, for det. calc.
* normalized to 16 as '1', default = 10
*/
/* Bit 7, reserved. */
/* Bit 6: 0, reg_mcdi_reldetnbrdstgain2.
* gain2 (no locked) for neighoring dist, for det. calc.
* normalized to 16 as '1', default = 32
*/
#define MCDI_REL_DET_GMV_DIF_CHK ((0x2f2f))
/* Bit 31:24, reserved. */
/* Bit 23:16, reg_mcdi_reldetgmvfltthd.
* flat thd (>=) for gmv lock decision, default = 0
*/
/* Bit 15, reserved. */
/* Bit 14:12, reg_mcdi_reldetgmvdifthd.
* dif thd (>=) for current mv different from gmv for gmv dif check,
* actually used in Lmv lock check, default = 3
*/
/* Bit 11, reserved. */
/* Bit 10: 8, reg_mcdi_reldetgmvdifmin.
* min mv dif for gmv dif check, default = 1, note: dif between
* reg_mcdi_rel_det_gmv_dif_max and reg_mcdi_rel_det_gmv_dif_min
* should be; 0,1,3,7, not work for others
*/
/* Bit 7: 4, reg_mcdi_reldetgmvdifmax.
* max mv dif for gmv dif check, default = 4
*/
/* Bit 3: 1, reserved */
/* Bit 0, reg_mcdi_reldetgmvdifmvmode.
* mv mode used for gmv dif check, 0: use refmv, 1: use qmv, default = 0
*/
#define MCDI_REL_DET_LMV_DIF_CHK ((0x2f30))
/* Bit 31:24, reserved. */
/* Bit 23:16, reg_mcdi_reldetlmvfltthd.
* flat thd (>=) for lmv lock decision, default = 12
*/
/* Bit 15:14, reserved. */
/* Bit 13:12, reg_mcdi_reldetlmvlockchkmode.
* lmv lock check mode, 0:cur Lmv, 1: cur & (last | next),
* 2: last & cur & next Lmv, default = 1
*/
/* Bit 11, reserved. */
/* Bit 10: 8, reg_mcdi_reldetlmvdifmin.
* min mv dif for lmv dif check, default = 1, note: dif between
* reg_mcdi_rel_det_lmv_dif_max and reg_mcdi_rel_det_lmv_dif_min should be;
* 0,1,3,7, not work for others
*/
/* Bit 7: 4, reg_mcdi_reldetlmvdifmax.
* max mv dif for lmv dif check, default = 4
*/
/* Bit 3: 1, reserved */
/* Bit 0, reg_mcdi_reldetlmvdifmvmode.
* mv mode used for lmv dif check, 0: use refmv, 1: use qmv, default = 0
*/
#define MCDI_REL_DET_FRQ_CHK ((0x2f31))
/* Bit 31:12, reserved. */
/* Bit 11: 8, reg_mcdi_reldetfrqgain.
* gain for frequency check, normalized to 4 as '1', default = 10
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetfrqmax.
* max value for frequency check, default = 31
*/
#define MCDI_REL_DET_PD22_CHK ((0x2f32))
/* Bit 31:18, reserved. */
/* Bit 17: 8, reg_mcdi_reldetpd22chkoffst.
* offset for pd22 check happened, default = 512
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetpd22chkgain.
* gain for pd22 check happened, normalized to 8 as '1', default = 12
*/
#define MCDI_REL_DET_RPT_CHK_ROW ((0x2f33))
/* Bit 31:27, reserved */
/* Bit 26:16, reg_mcdi_reldetrptchkendrow.
* end row (<) number for repeat check, default = 2047
*/
/* Bit 15:11, reserved */
/* Bit 10: 0, reg_mcdi_reldetrptchkstartrow.
* start row (>=) number for repeat check, default = 0
*/
#define MCDI_REL_DET_RPT_CHK_GAIN_QMV ((0x2f34))
/* Bit 31:30, reserved */
/* Bit 29:24, reg_mcdi_reldetrptchkqmvmax.
* max thd (<) of abs qmv for repeat check, default = 15,
* note that quarter mv's range is -63~63
*/
/* Bit 23:22, reserved */
/* Bit 21:16, reg_mcdi_reldetrptchkqmvmin.
* min thd (>=) of abs qmv for repeat check, default = 10,
* note that quarter mv's range is -63~63
*/
/* Bit 15, reserved/ */
/* Bit 14: 4, reg_mcdi_reldetrptchkoffst.
* offset for repeat check, default = 512
*/
/* Bit 3: 0, reg_mcdi_reldetrptchkgain.
* gain for repeat check, normalized to 8 as '1', default = 4
*/
#define MCDI_REL_DET_RPT_CHK_THD_0 ((0x2f35))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_reldetrptchkzerosadthd.
* zero sad thd (<) for repeat check, default = 255
*/
/* Bit 15:14, reserved. */
/* Bit 13: 8, reg_mcdi_reldetrptchkzerobadwthd.
* zero badw thd (>=) for repeat check, default = 16
*/
/* Bit 7: 4, reserved */
/* Bit 3: 0, reg_mcdi_reldetrptchkfrqdifthd.
* frequency dif thd (<) for repeat check, 0~10, default = 5
*/
#define MCDI_REL_DET_RPT_CHK_THD_1 ((0x2f36))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_mcdi_reldetrptchkvdifthd.
* vertical dif thd (<) for repeat check, default = 16
*/
/* Bit 7: 0, reg_mcdi_reldetrptchkhdifthd.
* horizontal dif thd (>=) for repeat check, default = 16
*/
#define MCDI_REL_DET_LPF_DIF_THD ((0x2f37))
/* Bit 31:24, reg_mcdi_reldetlpfdifthd3.
* hdif thd (<) for lpf selection of horizontal block, default = 9
*/
/* Bit 23:16, reg_mcdi_reldetlpfdifthd2.
* vdif-hdif thd (>=) for lpf selection of horizontal block, default = 48
*/
/* Bit 15: 8, reg_mcdi_reldetlpfdifthd1.
* vdif thd (<) for lpf selection of vertical block, default = 9
*/
/* Bit 7: 0, reg_mcdi_reldetlpfdifthd0.
* hdif-vdif thd (>=) for lpf selection of vertical block, default = 48
*/
#define MCDI_REL_DET_LPF_MSK_00_03 ((0x2f38))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_reldetlpfmsk03.
* det lpf mask03 for gmv/lmv locked mode, 0~16, default = 1
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_reldetlpfmsk02.
* det lpf mask02 for gmv/lmv locked mode, 0~16, default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_reldetlpfmsk01.
* det lpf mask01 for gmv/lmv locked mode, 0~16, default = 5
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetlpfmsk00.
* det lpf mask00 for gmv/lmv locked mode, 0~16, default = 8
*/
#define MCDI_REL_DET_LPF_MSK_04_12 ((0x2f39))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_reldetlpfmsk12.
* det lpf mask12 for vertical blocks, 0~16, default = 0
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_reldetlpfmsk11.
* det lpf mask11 for vertical blocks, 0~16, default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_reldetlpfmsk10.
* det lpf mask10 for vertical blocks, 0~16, default = 16
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetlpfmsk04.
* det lpf mask04 for gmv/lmv locked mode, 0~16, default = 1
*/
#define MCDI_REL_DET_LPF_MSK_13_21 ((0x2f3a))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_reldetlpfmsk21.
* det lpf mask21 for horizontal blocks, 0~16, default = 6
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_reldetlpfmsk20.
* det lpf mask20 for horizontal blocks, 0~16, default = 8
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_reldetlpfmsk14.
* det lpf mask14 for vertical blocks, 0~16, default = 0
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetlpfmsk13.
* det lpf mask13 for vertical blocks, 0~16, default = 0
*/
#define MCDI_REL_DET_LPF_MSK_22_30 ((0x2f3b))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_reldetlpfmsk30.
* det lpf mask30 for other blocks, 0~16, default = 16
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_reldetlpfmsk24.
* det lpf mask24 for horizontal blocks, 0~16, default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_reldetlpfmsk23.
* det lpf mask23 for horizontal blocks, 0~16, default = 0
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetlpfmsk22.
* det lpf mask22 for horizontal blocks, 0~16, default = 1
*/
#define MCDI_REL_DET_LPF_MSK_31_34 ((0x2f3c))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_reldetlpfmsk34.
* det lpf mask34 for other blocks, 0~16, default = 0
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_reldetlpfmsk33.
* det lpf mask33 for other blocks, 0~16, default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_reldetlpfmsk32.
* det lpf mask32 for other blocks, 0~16, default = 0
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_reldetlpfmsk31.
* det lpf mask31 for other blocks, 0~16, default = 0
*/
/* Note: there are four group lpf masks from addr 37~3b,
* each group sum equal to 16.
*/
#define MCDI_REL_DET_MIN ((0x2f3d))
/* Bit 31: 7, reserved */
/* Bit 6: 0, reg_mcdi_reldetmin.
* min of detected value, default = 16
*/
#define MCDI_REL_DET_LUT_0_3 ((0x2f3e))
/* Bit 31:24, reg_mcdi_reldetmaplut3. default = 8 */
/* Bit 23:16, reg_mcdi_reldetmaplut2. default = 4 */
/* Bit 15: 8, reg_mcdi_reldetmaplut1. default = 2 */
/* Bit 7: 0, reg_mcdi_reldetmaplut0. default = 0 */
#define MCDI_REL_DET_LUT_4_7 ((0x2f3f))
/* Bit 31:24, reg_mcdi_reldetmaplut7. default = 64 */
/* Bit 23:16, reg_mcdi_reldetmaplut6. default = 48 */
/* Bit 15: 8, reg_mcdi_reldetmaplut5. default = 32 */
/* Bit 7: 0, reg_mcdi_reldetmaplut4. default = 16 */
#define MCDI_REL_DET_LUT_8_11 ((0x2f40))
/* Bit 31:24, reg_mcdi_reldetmaplut11. default = 160 */
/* Bit 23:16, reg_mcdi_reldetmaplut10. default = 128 */
/* Bit 15: 8, reg_mcdi_reldetmaplut9. default = 96 */
/* Bit 7: 0, reg_mcdi_reldetmaplut8. default = 80 */
#define MCDI_REL_DET_LUT_12_15 ((0x2f41))
/* Bit 31:24, reg_mcdi_reldetmaplut15. default = 255 */
/* Bit 23:16, reg_mcdi_reldetmaplut14. default = 240 */
/* Bit 15: 8, reg_mcdi_reldetmaplut13. default = 224 */
/* Bit 7: 0, reg_mcdi_reldetmaplut12. default = 192 */
#define MCDI_REL_DET_COL_CFD_THD ((0x2f42))
/* Bit 31:24, reg_mcdi_reldetcolcfdfltthd.
* thd for flat smaller than (<) of column cofidence, default = 5
*/
/* Bit 23:16, reg_mcdi_reldetcolcfdthd1.
* thd for rel larger than (>=) in rel calc.
* mode col confidence without gmv locking, default = 160
*/
/* Bit 15: 8, reg_mcdi_reldetcolcfdthd0.
* thd for rel larger than (>=) in rel calc.
* mode col confidence when gmv locked, default = 100
*/
/* Bit 7: 2, reg_mcdi_reldetcolcfdbadwthd.
* thd for badw larger than (>=) in qbadw calc.
* mode of column cofidence, default = 16
*/
/* Bit 1, reserved */
/* Bit 0, reg_mcdi_reldetcolcfdcalcmode. calc.
* mode for column cofidence, 0: use rel, 1: use qbadw, default = 0
*/
#define MCDI_REL_DET_COL_CFD_AVG_LUMA ((0x2f43))
/* Bit 31:24, reg_mcdi_reldetcolcfdavgmin1.
* avg luma min1 (>=) for column cofidence, valid between 16~235, default = 235
*/
/* Bit 23:16, reg_mcdi_reldetcolcfdavgmax1.
* avg luma max1 (<) for column cofidence, valid between 16~235, default = 235
*/
/* Bit 15: 8, reg_mcdi_reldetcolcfdavgmin0.
* avg luma min0 (>=) for column cofidence, valid between 16~235, default = 16
*/
/* Bit 7: 0, reg_mcdi_reldetcolcfdavgmax0.
* avg luma max0 (<) for column cofidence, valid between 16~235, default = 21
*/
#define MCDI_REL_DET_BAD_THD_0 ((0x2f44))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_mcdi_reldetbadsadthd.
* thd (>=) for bad sad, default = 120 (480/4)
*/
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_mcdi_reldetbadbadwthd.
* thd (>=) for bad badw, 0~42, default = 12
*/
#define MCDI_REL_DET_BAD_THD_1 ((0x2f45))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_reldetbadrelfltthd.
* thd (>=) of flat for bad rel detection, default = 4
*/
/* Bit 15: 8, reg_mcdi_reldetbadrelthd1.
* thd (>=) for bad rel without gmv/lmv locked, default = 160
*/
/* Bit 7: 0, reg_mcdi_reldetbadrelthd0.
* thd (>=) for bad rel with gmv/lmv locked, default = 120
*/
#define MCDI_PD22_CHK_THD ((0x2f46))
/* Bit 31:25, reserved */
/* Bit 24:16, reg_mcdi_pd22chksaddifthd.
* sad dif thd (>=) for (pd22chksad - qsad) for pd22 check, default = 64
*/
/* Bit 15:14, reserved */
/* Bit 13: 8, reg_mcdi_pd22chkqmvthd.
* thd (>=) of abs qmv for pd22 check, default = 2
*/
/* Bit 7: 0, reg_mcdi_pd22chkfltthd.
* thd (>=) of flat for pd22 check, default = 4
*/
#define MCDI_PD22_CHK_GAIN_OFFST_0 ((0x2f47))
/* Bit 31:24, reg_mcdi_pd22chkedgeoffst0.
* offset0 of pd22chkedge from right film22 phase, -128~127, default = 0
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_pd22chkedgegain0.
* gain0 of pd22chkedge from right film22 phase,
* normalized to 16 as '1', default = 16
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_mcdi_pd22chkbadwoffst0.
* offset0 of pd22chkbadw from right film22 phase, -8~7, default = 0
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_pd22chkbadwgain0.
* gain0 of pd22chkbadw from right film22 phase,
* normalized to 16 as '1', default = 8
*/
#define MCDI_PD22_CHK_GAIN_OFFST_1 ((0x2f48))
/* Bit 31:24, reg_mcdi_pd22chkedgeoffst1.
* offset1 of pd22chkedge from right film22 phase, -128~127, default = 0
*/
/* Bit 23:21, reserved */
/* Bit 20:16, reg_mcdi_pd22chkedgegain1.
* gain1 of pd22chkedge from right film22 phase,
* normalized to 16 as '1', default = 16
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_mcdi_pd22chkbadwoffst1.
* offset1 of pd22chkbadw from right film22 phase, -8~7, default = 0
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_pd22chkbadwgain1.
* gain1 of pd22chkbadw from right film22 phase,
* normalized to 16 as '1', default = 12
*/
#define MCDI_LMV_LOCK_CNT_THD_GAIN ((0x2f49))
/* Bit 31:20, reserved */
/* Bit 19:16, reg_mcdi_lmvlockcntmax.
* max lmv lock count number, default = 6
*/
/* Bit 15:12, reg_mcdi_lmvlockcntoffst.
* offset for lmv lock count, -8~7, default = 0
*/
/* Bit 11: 8, reg_mcdi_lmvlockcntgain.
* gain for lmv lock count, normalized 8 as '1', 15 is set to 16, default = 8
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_lmvlockcntthd.
* lmv count thd (>=) before be locked, 1~31, default = 4
*/
#define MCDI_LMV_LOCK_ABS_DIF_THD ((0x2f4a))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_mcdi_lmvlockdifthd2.
* lmv dif thd for third part, before locked, default = 1
*/
/* Bit 23, reserved */
/* Bit 22:20, reg_mcdi_lmvlockdifthd1.
* lmv dif thd for second part, before locked, default = 1
*/
/* Bit 19, reserved */
/* Bit 18:16, reg_mcdi_lmvlockdifthd0.
* lmv dif thd for first part, before locked, default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_lmvlockabsmax.
* max abs (<) of lmv to be locked, default = 24
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_lmvlockabsmin.
* min abs (>=) of lmv to be locked, default = 1
*/
#define MCDI_LMV_LOCK_ROW ((0x2f4b))
/* Bit 31:27, reserved */
/* Bit 26:16, reg_mcdi_lmvlockendrow.
* end row (<) for lmv lock, default = 2047
*/
/* Bit 15:11, reserved */
/* Bit 10: 0, reg_mcdi_lmvlockstartrow.
* start row (>=) for lmv lock, default = 0
*/
#define MCDI_LMV_LOCK_RT_MODE ((0x2f4c))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_mcdi_lmvlockextmode.
* extend lines for lmv lock check, check how many lines
* for lmv locking, default = 2
*/
/* Bit 23:16, reg_mcdi_lmvlockfltcntrt.
* ratio of flt cnt for lock check, normalized 256 as '1',
* 255 is set to 256, default = 32
*/
/* Bit 15: 8, reg_mcdi_lmvlocklmvcntrt1.
* ratio when use non-zero lmv for lock check,
* normalized 256 as '1', 255 is set to 256, default = 48
*/
/* Bit 7: 0, reg_mcdi_lmvlocklmvcntrt0.
* ratio when use max lmv for lock check, normalized 256 as '1',
255 is set to 256, default = 106
*/
#define MCDI_GMV_LOCK_CNT_THD_GAIN ((0x2f4d))
/* Bit 31:20, reserved */
/* Bit 19:16, reg_mcdi_gmvlockcntmax.
* max gmv lock count number, default = 6
*/
/* Bit 15:12, reg_mcdi_gmvlockcntoffst.
* offset for gmv lock count, -8~7, default = 0
*/
/* Bit 11: 8, reg_mcdi_gmvlockcntgain.
* gain for gmv lock count, normalized 8 as '1', 15 is set to 16, default = 8
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_gmvlockcntthd.
* gmv count thd (>=) before be locked, 1~31, default = 4
*/
#define MCDI_GMV_LOCK_ABS_DIF_THD ((0x2f4e))
/* Bit 31:27, reserved */
/* Bit 26:24, reg_mcdi_gmvlockdifthd2.
* gmv dif thd for third part, before locked, default = 3
*/
/* Bit 23, reserved */
/* Bit 22:20, reg_mcdi_gmvlockdifthd1.
* gmv dif thd for second part, before locked, default = 2
*/
/* Bit 19, reserved */
/* Bit 18:16, reg_mcdi_gmvlockdifthd0.
* gmv dif thd for first part, before locked, default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_gmvlockabsmax.
* max abs of gmv to be locked, default = 15
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_gmvlockabsmin.
* min abs of gmv to be locked, default = 1
*/
#define MCDI_HIGH_VERT_FRQ_DIF_THD ((0x2f4f))
/* Bit 31: 0, reg_mcdi_highvertfrqfldavgdifthd.
* high_vert_frq field average luma dif thd (>=), 3*Blk_Width*Blk_Height,
* set by software, default = 103680
*/
#define MCDI_HIGH_VERT_FRQ_DIF_DIF_THD ((0x2f50))
/* Bit 31: 0, reg_mcdi_highvertfrqfldavgdifdifthd.
* high_vert_frq field average luma dif's dif thd (<), 3*Blk_Width*Blk_Height,
* set by software, default = 103680
*/
#define MCDI_HIGH_VERT_FRQ_RT_GAIN ((0x2f51))
/* Bit 31:20, reserved */
/* Bit 19:16, reg_mcdi_highvertfrqcntthd.
* high_vert_frq count thd (>=) before locked, 1~31, default = 4
*/
/* Bit 15: 8, reg_mcdi_highvertfrqbadsadrt.
* ratio for high_vert_frq bad sad count, normalized 256 as '1',
* 255 is set to 256, default = 24
*/
/* Bit 7: 0, reg_mcdi_highvertfrqbadbadwrt.
* ratio for high_vert_frq badw count, normalized 256 as '1',
* 255 is set to 256, default = 130
*/
#define MCDI_MOTION_PARADOX_THD ((0x2f52))
/* Bit 31:29, reserved */
/* Bit 28:24, reg_mcdi_motionparadoxcntthd.
* motion paradox count thd (>=) before locked, 1~31, default = 4
*/
/* Bit 23:22, reserved */
/* Bit 21:16, reg_mcdi_motionparadoxgmvthd.
* abs gmv thd (<) of motion paradox, 0~32, note that 32
* means invalid gmv, be careful, default = 32
*/
/* Bit 15: 0, reserved */
#define MCDI_MOTION_PARADOX_RT ((0x2f53))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_motionparadoxbadsadrt.
* ratio for field bad sad count of motion paradox,
* normalized 256 as '1', 255 is set to 256, default = 24
*/
/* Bit 15: 8, reg_mcdi_motionparadoxbadrelrt.
* ratio for field bad reliabilty count of motion paradox,
* normalized 256 as '1', 255 is set to 256, default = 120
*/
/* Bit 7: 0, reg_mcdi_motionparadoxmtnrt.
* ratio for field motion count of motion paradox,
* normalized 256 as '1', 255 is set to 256, default = 218
*/
#define MCDI_MOTION_REF_THD ((0x2f54))
/* Bit 31:24, reserved */
/* Bit 23:20, reg_mcdi_motionrefoffst.
* motion ref additive offset, default = 15
*/
/* Bit 19:16, reg_mcdi_motionrefgain.
* motion ref gain, normalized 8 as '1', default = 8
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_motionrefrptmvthd.
* abs thd (>=) of rpt mv (0~31, 32 means invalid) for motion ref, default = 1
*/
/* Bit 7: 2, reg_mcdi_motionrefqmvthd.
* min thd (>=) of abs qmv for motion ref,
* note that quarter mv's range is -63~63, default = 2
*/
/* Bit 1: 0, reg_mcdi_motionreflpfmode.
* Mv and (8 x repeat flg) 's lpf mode of motion refinement,
* 0: no lpf, 1: [1 2 1], 2: [1 2 2 2 1], default = 1
*/
#define MCDI_REL_COL_REF_RT ((0x2f55))
/* Bit 31: 8, reserved */
/* Bit 7: 0, reg_mcdi_relcolrefrt.
* ratio for column cofidence level against column number,
* for refinement, default = 135
*/
#define MCDI_PD22_CHK_THD_RT ((0x2f56))
/* Bit 31:27, reserved */
/* Bit 26:16, reg_mcdi_pd22chkfltcntrt.
* ratio for flat count of field pulldown 22 check, normalized 2048 as '1',
* 2047 is set to 2048, default = 1
*/
/* Bit 15: 8, reg_mcdi_pd22chkcntrt. ratio of pulldown 22 check count,
* normalized 256 as '1', 255 is set to 256, default = 100
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_pd22chkcntthd.
* thd (>=) for pd22 count before locked, 1~31, default = 4
*/
#define MCDI_CHAR_DET_DIF_THD ((0x2f57))
/* Bit 31:24, reserved */
/* Bit 23:16, reg_mcdi_chardetminmaxdifthd.
* thd (>=) for dif between min and max value, default = 64
*/
/* Bit 15: 8, reg_mcdi_chardetmaxdifthd.
* thd (<) for dif between max value, default = 17
*/
/* Bit 7: 0, reg_mcdi_chardetmindifthd.
* thd (<) for dif between min value, default = 17
*/
#define MCDI_CHAR_DET_CNT_THD ((0x2f58))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_chardettotcntthd.
* thd (>=) for total count, 0~21, default = 18
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_chardetmaxcntthd.
* thd (>=) for max count, 0~21, default = 1
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_chardetmincntthd.
* thd (>=) for min count, 0~21, default = 1
*/
#define MCDI_FIELD_MV ((0x2f60))
/* Bit 31:24, reg_mcdi_pd22chkcnt */
/* Bit 23:16, reg_mcdi_fieldgmvcnt */
/* Bit 15, reg_mcdi_pd22chkflg */
/* Bit 14, reg_mcdi_fieldgmvlock */
/* Bit 13: 8, reg_mcdi_fieldrptmv. last field rpt mv */
/* Bit 7: 6, reserved */
/* Bit 5: 0, reg_mcdi_fieldgmv. last field gmv */
#define MCDI_FIELD_HVF_PRDX_CNT ((0x2f61))
/* Bit 31:24, reg_mcdi_motionparadoxcnt. */
/* Bit 23:17, reserved */
/* Bit 16, reg_mcdi_motionparadoxflg. */
/* Bit 15: 8, reg_mcdi_highvertfrqcnt. */
/* Bit 7: 4, reserved */
/* Bit 3: 2, reg_mcdi_highvertfrqphase. */
/* Bit 1, reserved */
/* Bit 0, reg_mcdi_highvertfrqflg. */
#define MCDI_FIELD_LUMA_AVG_SUM_0 ((0x2f62))
/* Bit 31: 0, reg_mcdi_fld_luma_avg_sum0. */
#define MCDI_FIELD_LUMA_AVG_SUM_1 ((0x2f63))
/* Bit 31: 0, reg_mcdi_fld_luma_avg_sum1. */
#define MCDI_YCBCR_BLEND_CRTL ((0x2f64))
/* Bit 31:16, reserved */
/* Bit 15: 8, reg_mcdi_ycbcrblendgain.
* ycbcr blending gain for cbcr in ycbcr. default = 0
*/
/* Bit 7: 2, reserved. */
/* Bit 1: 0, reg_mcdi_ycbcrblendmode.
* 0:y+cmb(cb,cr), 1:med(r,g,b), 2:max(r,g,b), default = 2
*/
#define MCDI_MCVECWR_CANVAS_SIZE ((0x2f65))
#define MCDI_MCVECRD_CANVAS_SIZE ((0x2f66))
#define MCDI_MCINFOWR_CANVAS_SIZE ((0x2f67))
#define MCDI_MCINFORD_CANVAS_SIZE ((0x2f68))
#define MCDI_LMVLCKSTEXT_0 ((0x2f69))
#define MCDI_LMVLCKSTEXT_1 ((0x2f6a))
#define MCDI_LMVLCKEDEXT_0 ((0x2f6b))
#define MCDI_LMVLCKEDEXT_1 ((0x2f6c))
#define MCDI_MCVECWR_X ((0x2f92))
#define MCDI_MCVECWR_Y ((0x2f93))
#define MCDI_MCVECWR_CTRL ((0x2f94))
#define MCDI_MCVECRD_X ((0x2f95))
#define MCDI_MCVECRD_Y ((0x2f96))
#define MCDI_MCVECRD_CTRL ((0x2f97))
#define MCDI_MCINFOWR_X ((0x2f98))
#define MCDI_MCINFOWR_Y ((0x2f99))
#define MCDI_MCINFOWR_CTRL ((0x2f9a))
#define MCDI_MCINFORD_X ((0x2f9b))
#define MCDI_MCINFORD_Y ((0x2f9c))
#define MCDI_MCINFORD_CTRL ((0x2f9d))
/* === MC registers ============================================ */
#define MCDI_MC_CRTL ((0x2f70))
/* Bit 31: 9, reserved */
/* Bit 8, reg_mcdi_mcpreflg.
* flag to use previous field for MC, 0:forward field,
* 1: previous field, default = 1
*/
/* Bit 7, reg_mcdi_mcrelrefbycolcfden.
* enable rel refinement by column cofidence in mc blending, default = 1
*/
/* Bit 6: 5, reg_mcdi_mclpfen.
* enable mc pixles/rel lpf, 0:disable, 1: lpf rel,
* 2: lpf mc pxls, 3: lpf both rel and mc pxls, default = 0
*/
/* Bit 4: 2, reg_mcdi_mcdebugmode.
* enable mc debug mode, 0:disable, 1: split left/right,
* 2: split top/bottom, 3: debug mv, 4: debug rel, default = 0
*/
/* Bit 1: 0, reg_mcdi_mcen.
* mcdi enable mode, 0:disable, 1: blend with ma, 2: full mc, default = 1
*/
#define MCDI_MC_LPF_MSK_0 ((0x2f71))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_mclpfmsk02.
* mc lpf coef. 2 for pixel 0 of current block,normalized 16 as '1', default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_mclpfmsk01.
* mc lpf coef. 1 for pixel 0 of current block,normalized 16 as '1', default = 9
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_mclpfmsk00.
* mc lpf coef. 0 for pixel 0 of current block,normalized 16 as '1', default = 7
*/
#define MCDI_MC_LPF_MSK_1 ((0x2f72))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_mclpfmsk12.
* mc lpf coef. 2 for pixel 1 of current block,
* 0~16, normalized 16 as '1', default = 0
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_mclpfmsk11.
* mc lpf coef. 1 for pixel 1 of current block, 0~16,
* normalized 16 as '1', default = 11
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_mclpfmsk10.
* mc lpf coef. 0 for pixel 1 of current block, 0~16,
* normalized 16 as '1', default = 5
*/
#define MCDI_MC_LPF_MSK_2 ((0x2f73))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_mclpfmsk22.
* mc lpf coef. 2 for pixel 2 of current block, 0~16,
* normalized 16 as '1', default = 1
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_mclpfmsk21.
* mc lpf coef. 1 for pixel 2 of current block, 0~16,
* normalized 16 as '1', default = 14
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_mclpfmsk20.
* mc lpf coef. 0 for pixel 2 of current block, 0~16,
* normalized 16 as '1', default = 1
*/
#define MCDI_MC_LPF_MSK_3 ((0x2f74))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_mclpfmsk32.
* mc lpf coef. 2 for pixel 3 of current block, 0~16,
* normalized 16 as '1', default = 5
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_mclpfmsk31.
* mc lpf coef. 1 for pixel 3 of current block, 0~16,
* normalized 16 as '1', default = 11
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_mclpfmsk30.
* mc lpf coef. 0 for pixel 3 of current block, 0~16,
* normalized 16 as '1', default = 0
*/
#define MCDI_MC_LPF_MSK_4 ((0x2f75))
/* Bit 31:21, reserved */
/* Bit 20:16, reg_mcdi_mclpfmsk42.
* mc lpf coef. 2 for pixel 4 of current block, 0~16,
* normalized 16 as '1', default = 7
*/
/* Bit 15:13, reserved */
/* Bit 12: 8, reg_mcdi_mclpfmsk41.
* mc lpf coef. 1 for pixel 4 of current block, 0~16,
* normalized 16 as '1', default = 9
*/
/* Bit 7: 5, reserved */
/* Bit 4: 0, reg_mcdi_mclpfmsk40.
* mc lpf coef. 0 for pixel 4 of current block, 0~16,
* normalized 16 as '1', default = 0
*/
#define MCDI_MC_REL_GAIN_OFFST_0 ((0x2f76))
/* Bit 31:26, reserved */
/* Bit 25, reg_mcdi_mcmotionparadoxflg.
* flag of motion paradox, initial with 0 and read from software, default = 0
*/
/* Bit 24, reg_mcdi_mchighvertfrqflg.
* flag of high vert frq, initial with 0 and read from software, default = 0
*/
/* Bit 23:16, reg_mcdi_mcmotionparadoxoffst.
* offset (rel + offset) for rel (MC blending coef.)
* refinement if motion paradox
* detected before MC blending before MC blending, default = 128
*/
/* Bit 15:12, reserved */
/* Bit 11: 8, reg_mcdi_mcmotionparadoxgain.
* gain for rel (MC blending coef.)
* refinement if motion paradox detected before MC
* blending, normalized 8 as '1', set 15 to 16, default = 8
*/
/* Bit 7: 4, reg_mcdi_mchighvertfrqoffst. minus offset
* (alpha - offset) for motion (MA blending coef.) refinement if high vertical
* frequency detected before MA blending, default = 15
*/
/* Bit 3: 0, reg_mcdi_mchighvertfrqgain.
* gain for motion (MA blending coef.) refinement if high vertical frequency
* detected before MA blending, normalized 8 as '1', set 15 to 16, default = 8
*/
#define MCDI_MC_REL_GAIN_OFFST_1 ((0x2f77))
/* Bit 31:24, reg_mcdi_mcoutofboundrayoffst.
* offset (rel + offset) for rel (MC blending coef.) refinement
* if MC pointed out
* of boundray before MC blending before MC blending, default = 255
*/
/* Bit 23:20, reserved*/
/* Bit 19:16, reg_mcdi_mcoutofboundraygain.
* gain for rel (MC blending coef.) refinement
* if MC pointed out of boundray before
* MC blending, normalized 8 as '1', set 15 to 16, default = 8
*/
/* Bit 15: 8, reg_mcdi_mcrelrefbycolcfdoffst.
* offset (rel + offset) for rel (MC blending coef.) refinement
* if motion paradox
* detected before MC blending before MC blending, default = 255
*/
/* Bit 7: 4, reserved. */
/* Bit 3: 0, reg_mcdi_mcrelrefbycolcfdgain.
* gain for rel (MC blending coef.) refinement
* if column cofidence failed before MC
* blending, normalized 8 as '1', set 15 to 16, default = 8
*/
#define MCDI_MC_COL_CFD_0 ((0x2f78))
/* Bit 31: 0, mcdi_mc_col_cfd_0.
* column cofidence value 0 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_1 ((0x2f79))
/* Bit 31: 0, mcdi_mc_col_cfd_1.
* column cofidence value 1 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_2 ((0x2f7a))
/* Bit 31: 0, mcdi_mc_col_cfd_2.
* column cofidence value 2 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_3 ((0x2f7b))
/* Bit 31: 0, mcdi_mc_col_cfd_3.
* column cofidence value 3 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_4 ((0x2f7c))
/* Bit 31: 0, mcdi_mc_col_cfd_4.
* column cofidence value 4 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_5 ((0x2f7d))
/* Bit 31: 0, mcdi_mc_col_cfd_5.
* column cofidence value 5 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_6 ((0x2f7e))
/* Bit 31: 0, mcdi_mc_col_cfd_6.
* column cofidence value 6 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_7 ((0x2f7f))
/* Bit 31: 0, mcdi_mc_col_cfd_7.
* column cofidence value 7 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_8 ((0x2f80))
/* Bit 31: 0, mcdi_mc_col_cfd_8.
* column cofidence value 8 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_9 ((0x2f81))
/* Bit 31: 0, mcdi_mc_col_cfd_9.
* column cofidence value 9 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_10 ((0x2f82))
/* Bit 31: 0, mcdi_mc_col_cfd_10.
* column cofidence value 10 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_11 ((0x2f83))
/* Bit 31: 0, mcdi_mc_col_cfd_11.
* column cofidence value 11 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_12 ((0x2f84))
/* Bit 31: 0, mcdi_mc_col_cfd_12.
* column cofidence value 12 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_13 ((0x2f85))
/* Bit 31: 0, mcdi_mc_col_cfd_13.
* column cofidence value 13 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_14 ((0x2f86))
/* Bit 31: 0, mcdi_mc_col_cfd_14.
* column cofidence value 14 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_15 ((0x2f87))
/* Bit 31: 0, mcdi_mc_col_cfd_15.
* column cofidence value 15 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_16 ((0x2f88))
/* Bit 31: 0, mcdi_mc_col_cfd_16.
* column cofidence value 16 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_17 ((0x2f89))
/* Bit 31: 0, mcdi_mc_col_cfd_17.
* column cofidence value 17 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_18 ((0x2f8a))
/* Bit 31: 0, mcdi_mc_col_cfd_18.
* column cofidence value 18 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_19 ((0x2f8b))
/* Bit 31: 0, mcdi_mc_col_cfd_19.
* column cofidence value 19 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_20 ((0x2f8c))
/* Bit 31: 0, mcdi_mc_col_cfd_20.
* column cofidence value 20 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_21 ((0x2f8d))
/* Bit 31: 0, mcdi_mc_col_cfd_21.
* column cofidence value 21 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_22 ((0x2f8e))
/* Bit 31: 0, mcdi_mc_col_cfd_22.
* column cofidence value 22 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_23 ((0x2f8f))
/* Bit 31: 0, mcdi_mc_col_cfd_23.
* column cofidence value 23 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_24 ((0x2f90))
/* Bit 31: 0, mcdi_mc_col_cfd_24.
* column cofidence value 24 read from software. initial = 0
*/
#define MCDI_MC_COL_CFD_25 ((0x2f91))
/* Bit 31: 0, mcdi_mc_col_cfd_25.
* column cofidence value 25 read from software. initial = 0
*/
/* ======= PRE RO Registers ==================================== */
#define MCDI_RO_FLD_LUMA_AVG_SUM ((0x2fa0))
/* Bit 31: 0, ro_mcdi_fldlumaavgsum.
* block's luma avg sum of current filed (block based). initial = 0
*/
#define MCDI_RO_GMV_VLD_CNT ((0x2fa1))
/* Bit 31: 0, ro_mcdi_gmvvldcnt.
* valid gmv's count of pre one filed (block based). initial = 0
*/
#define MCDI_RO_RPT_FLG_CNT ((0x2fa2))
/* Bit 31: 0, ro_mcdi_rptflgcnt.
* repeat mv's count of pre one filed (block based). initial = 0
*/
#define MCDI_RO_FLD_BAD_SAD_CNT ((0x2fa3))
/* Bit 31: 0, ro_mcdi_fldbadsadcnt.
* bad sad count of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_FLD_BAD_BADW_CNT ((0x2fa4))
/* Bit 31: 0, ro_mcdi_fldbadbadwcnt.
* bad badw count of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_FLD_BAD_REL_CNT ((0x2fa5))
/* Bit 31: 0, ro_mcdi_fldbadrelcnt.
* bad rel count of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_FLD_MTN_CNT ((0x2fa6))
/* Bit 31: 0, ro_mcdi_fldmtncnt.
* motion count of whole pre one field (pixel based). initial = 0
*/
#define MCDI_RO_FLD_VLD_CNT ((0x2fa7))
/* Bit 31: 0, ro_mcdi_fldvldcnt.
* valid motion count of whole pre one field (pixel based). initial = 0
*/
#define MCDI_RO_FLD_PD_22_PRE_CNT ((0x2fa8))
/* Bit 31: 0, ro_mcdi_fldpd22precnt.
* prevoius pd22 check count of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_FLD_PD_22_FOR_CNT ((0x2fa9))
/* Bit 31: 0, ro_mcdi_fldpd22forcnt.
* forward pd22 check count of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_FLD_PD_22_FLT_CNT ((0x2faa))
/* Bit 31: 0, ro_mcdi_fldpd22fltcnt.
* flat count (for pd22 check) of whole pre one field (block based). initial = 0
*/
#define MCDI_RO_HIGH_VERT_FRQ_FLG ((0x2fab))
/* Bit 31:16, reserved. */
/* Bit 15: 8, ro_mcdi_highvertfrqcnt.
* high vertical frequency count till prevoius one field. initial = 0
*/
/* Bit 7: 3, reserved. */
/* Bit 2: 1, ro_mcdi_highvertfrqphase.
* high vertical frequency phase of prevoius one field. initial = 2
*/
/* Bit 0, ro_mcdi_highvertfrqflg.
* high vertical frequency flag of prevoius one field. initial = 0
*/
#define MCDI_RO_GMV_LOCK_FLG ((0x2fac))
/* Bit 31:16, reserved. */
/* Bit 15: 8, ro_mcdi_gmvlckcnt.
* global mv lock count till prevoius one field. initial = 0
*/
/* Bit 7: 2, ro_mcdi_gmv.
* global mv of prevoius one field. -31~31, initial = 32 (invalid value)
*/
/* Bit 1, ro_mcdi_zerogmvlckflg.
* zero global mv lock flag of prevoius one field. initial = 0
*/
/* Bit 0, ro_mcdi_gmvlckflg.
* global mv lock flag of prevoius one field. initial = 0
*/
#define MCDI_RO_RPT_MV ((0x2fad))
/* Bit 5: 0, ro_mcdi_rptmv.
* repeate mv of prevoius one field. -31~31, initial = 32 (invalid value)
*/
#define MCDI_RO_MOTION_PARADOX_FLG ((0x2fae))
/* Bit 31:16, reserved. */
/* Bit 15: 8, ro_mcdi_motionparadoxcnt.
* motion paradox count till prevoius one field. initial = 0
*/
/* Bit 7: 1, reserved. */
/* Bit 0, ro_mcdi_motionparadoxflg.
* motion paradox flag of prevoius one field. initial = 0
*/
#define MCDI_RO_PD_22_FLG ((0x2faf))
/* Bit 31:16, reserved. */
/* Bit 15: 8, ro_mcdi_pd22cnt.
* pull down 22 count till prevoius one field. initial = 0
*/
/* Bit 7: 1, reserved. */
/* Bit 0, ro_mcdi_pd22flg.
* pull down 22 flag of prevoius one field. initial = 0
*/
#define MCDI_RO_COL_CFD_0 ((0x2fb0))
/* Bit 31: 0, ro_mcdi_col_cfd_0.
* column cofidence value 0. initial = 0
*/
#define MCDI_RO_COL_CFD_1 ((0x2fb1))
/* Bit 31: 0, ro_mcdi_col_cfd_1.
* column cofidence value 1. initial = 0
*/
#define MCDI_RO_COL_CFD_2 ((0x2fb2))
/* Bit 31: 0, ro_mcdi_col_cfd_2.
* column cofidence value 2. initial = 0
*/
#define MCDI_RO_COL_CFD_3 ((0x2fb3))
/* Bit 31: 0, ro_mcdi_col_cfd_3.
* column cofidence value 3. initial = 0
*/
#define MCDI_RO_COL_CFD_4 ((0x2fb4))
/* Bit 31: 0, ro_mcdi_col_cfd_4.
* column cofidence value 4. initial = 0
*/
#define MCDI_RO_COL_CFD_5 ((0x2fb5))
/* Bit 31: 0, ro_mcdi_col_cfd_5.
* column cofidence value 5. initial = 0
*/
#define MCDI_RO_COL_CFD_6 ((0x2fb6))
/* Bit 31: 0, ro_mcdi_col_cfd_6. column cofidence value 6. initial = 0 */
#define MCDI_RO_COL_CFD_7 ((0x2fb7))
/* Bit 31: 0, ro_mcdi_col_cfd_7. column cofidence value 7. initial = 0 */
#define MCDI_RO_COL_CFD_8 ((0x2fb8))
/* Bit 31: 0, ro_mcdi_col_cfd_8. column cofidence value 8. initial = 0 */
#define MCDI_RO_COL_CFD_9 ((0x2fb9))
/* Bit 31: 0, ro_mcdi_col_cfd_9. column cofidence value 9. initial = 0 */
#define MCDI_RO_COL_CFD_10 ((0x2fba))
/* Bit 31: 0, ro_mcdi_col_cfd_10. column cofidence value 10. initial = 0 */
#define MCDI_RO_COL_CFD_11 ((0x2fbb))
/* Bit 31: 0, ro_mcdi_col_cfd_11. column cofidence value 11. initial = 0 */
#define MCDI_RO_COL_CFD_12 ((0x2fbc))
/* Bit 31: 0, ro_mcdi_col_cfd_12. column cofidence value 12. initial = 0 */
#define MCDI_RO_COL_CFD_13 ((0x2fbd))
/* Bit 31: 0, ro_mcdi_col_cfd_13. column cofidence value 13. initial = 0 */
#define MCDI_RO_COL_CFD_14 ((0x2fbe))
/* Bit 31: 0, ro_mcdi_col_cfd_14. column cofidence value 14. initial = 0 */
#define MCDI_RO_COL_CFD_15 ((0x2fbf))
/* Bit 31: 0, ro_mcdi_col_cfd_15. column cofidence value 15. initial = 0 */
#define MCDI_RO_COL_CFD_16 ((0x2fc0))
/* Bit 31: 0, ro_mcdi_col_cfd_16. column cofidence value 16. initial = 0 */
#define MCDI_RO_COL_CFD_17 ((0x2fc1))
/* Bit 31: 0, ro_mcdi_col_cfd_17. column cofidence value 17. initial = 0 */
#define MCDI_RO_COL_CFD_18 ((0x2fc2))
/* Bit 31: 0, ro_mcdi_col_cfd_18. column cofidence value 18. initial = 0 */
#define MCDI_RO_COL_CFD_19 ((0x2fc3))
/* Bit 31: 0, ro_mcdi_col_cfd_19. column cofidence value 19. initial = 0 */
#define MCDI_RO_COL_CFD_20 ((0x2fc4))
/* Bit 31: 0, ro_mcdi_col_cfd_20. column cofidence value 20. initial = 0 */
#define MCDI_RO_COL_CFD_21 ((0x2fc5))
/* Bit 31: 0, ro_mcdi_col_cfd_21. column cofidence value 21. initial = 0 */
#define MCDI_RO_COL_CFD_22 ((0x2fc6))
/* Bit 31: 0, ro_mcdi_col_cfd_22. column cofidence value 22. initial = 0 */
#define MCDI_RO_COL_CFD_23 ((0x2fc7))
/* Bit 31: 0, ro_mcdi_col_cfd_23. column cofidence value 23. initial = 0 */
#define MCDI_RO_COL_CFD_24 ((0x2fc8))
/* Bit 31: 0, ro_mcdi_col_cfd_24. column cofidence value 24. initial = 0 */
#define MCDI_RO_COL_CFD_25 ((0x2fc9))
/* Bit 31: 0, ro_mcdi_col_cfd_25. column cofidence value 25. initial = 0 */
#define DIPD_COMB_CTRL0 0x2fd0
/* Bit 31: 24, cmb_v_dif_min */
/* Bit 23: 16, cmb_v_dif_max */
/* Bit 15: 8, cmb_crg_mi */
/* Bit 7: 0, cmb_crg_max */
#define DIPD_COMB_CTRL1 0x2fd1
/* Bit 31: 31, pd_check_en */
/* Bit 29: 24, cmb_wv_min3 */
/* Bit 21: 16, cmb_wv_min2 */
/* Bit 13: 8, cmb_wv_min1 */
/* Bit 5: 0, cmb_wv_min0 */
#define DIPD_COMB_CTRL2 0x2fd2
/* Bit 31: 28, cmb_wnd_cnt1 */
/* Bit 25: 20, ccnt_cmmin1 */
/* Bit 19: 16, ccnt_mtmin */
/* Bit 13: 8, ccnt_cmmin */
/* Bit 5: 0, cmb_wv_min4 */
#define DIPD_COMB_CTRL3 0x2fd3
/* Bit 31: 31, cmb32spcl */
/* Bit 17: 12, cmb_wnd_mthd */
/* Bit 11: 4, cmb_abs_nocmb */
/* Bit 3: 0, cnt_minlen */
#define DIPD_COMB_CTRL4 0x2fd4
/* Bit 30: 30, flm_stamtn_en */
/* Bit 29: 28, in_horflt */
/* Bit 27: 20, alpha */
/* Bit 19: 16, thtran_ctmtd */
/* Bit 15: 8, htran_mnth1 */
/* Bit 7: 0, htran_mnth0 */
#define DIPD_COMB_CTRL5 0x2fd5
/* Bit 31: 24, fld_mindif */
/* Bit 23: 16, frm_mindif */
/* Bit 13: 8, flm_smp_mtn_cnt */
/* Bit 7: 0, flm_smp_mtn_thd */
#define DIPD_RO_COMB_0 0x2fd6
#define DIPD_RO_COMB_1 0x2fd7
#define DIPD_RO_COMB_2 0x2fd8
#define DIPD_RO_COMB_3 0x2fd9
#define DIPD_RO_COMB_4 0x2fda
#define DIPD_RO_COMB_5 0x2fdb
#define DIPD_RO_COMB_6 0x2fdc
#define DIPD_RO_COMB_7 0x2fdd
#define DIPD_RO_COMB_8 0x2fde
#define DIPD_RO_COMB_9 0x2fdf
#define DIPD_RO_COMB_10 0x2fe0
#define DIPD_RO_COMB_11 0x2fe1
#define DIPD_RO_COMB_12 0x2fe2
#define DIPD_RO_COMB_13 0x2fe3
#define DIPD_RO_COMB_14 0x2fe4
#define DIPD_RO_COMB_15 0x2fe5
#define DIPD_RO_COMB_16 0x2fe6
#define DIPD_RO_COMB_17 0x2fe7
#define DIPD_RO_COMB_18 0x2fe8
#define DIPD_RO_COMB_19 0x2fe9
#define DIPD_RO_COMB_20 0x2fea
#define DIPD_COMB_CTRL6 0x2feb
/* nr3 */
#define NR3_MODE 0x2ff0
/* d010bfc0 */
#define NR3_COOP_PARA 0x2ff1
#define NR3_CNOOP_GAIN 0x2ff2
#define NR3_YMOT_PARA 0x2ff3
#define NR3_CMOT_PARA 0x2ff4
#define NR3_SUREMOT_YGAIN 0x2ff5
#define NR3_SUREMOT_CGAIN 0x2ff6
#endif