TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8168 nsf_link 没有降噪效果

你好,

      我在用DM8168,Link的架构如下所示

      DEI -> Merge -> Dup -> Nsf -> Enc

      我把 nsfParam[].bypassNsf = FALSE,看到nsf_Link_drv.c中有一些对nsf参数的配置

        //nsfProcCfg->temporalStrength = VPS_NSF_PROCESSING_CFG_DEFAULT;         //nsfProcCfg->temporalTriggerNoise = VPS_NSF_PROCESSING_CFG_DEFAULT;         //nsfProcCfg->noiseIirCoeff = VPS_NSF_PROCESSING_CFG_DEFAULT;         //nsfProcCfg->maxNoise = VPS_NSF_PROCESSING_CFG_DEFAULT;         //nsfProcCfg->pureBlackThres = VPS_NSF_PROCESSING_CFG_DEFAULT;         //nsfProcCfg->pureWhiteThres = VPS_NSF_PROCESSING_CFG_DEFAULT;

    但是我发现 nsfParam[].bypassNsf = FALSE 或者  nsfParam[].bypassNsf = TRUE,也就是bypassNsf或者不bypassNsf,图像噪点没有任何变化,

   请问这是什么原因?谢谢!

      

Chris Meng:

你好,

下面是NSF相关配置寄存器在不同去噪等级下的值,请尝试:

    // Level 1    {        0x00001001u,        0x00000000u,        0x00000C0Cu,        0x14141414u,        0x0000060Bu,        0x000000ADu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 2    {        0x00001001u,        0x00000000u,        0x00001010u,        0x18181818u,        0x0000060Fu,        0x000000ADu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 3    {        0x00001001u,        0x00000000u,        0x00001212u,        0x1C1C1C1Cu,        0x00000612u,        0x000000CDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 4    {        0x00001001u,        0x00000000u,        0x00001414u,        0x1E1E1E1Eu,        0x00000614u,        0x000000DDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 5      {        0x00001001u,        0x00000000u,        0x00001616u,        0x20202020u,        0x00000616u,        0x000000FDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 6      {        0x00001001u,        0x00000000u,        0x00001616u,        0x20202020u,        0x00000630u,        0x000000FDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 7      {        0x00001001u,        0x00000000u,        0x00003030u,        0x30303030u,        0x00000630u,        0x000000FDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },    // Level 8      {        0x00001001u,        0x00000000u,        0x00004040u,        0x40404040u,        0x00000630u,        0x000000FDu,        0x00001616u,        0x00000000u,        0x00000000u,        0x00000000u,    },

guanghui pan:

回复 Chris Meng:

你好,

请问这些寄存器要写到哪里去。我只在nsfLink_drv.c中发现了这些,但是个数对应不上,请明示,谢谢!

        nsfProcCfg->frameNoiseAutoCalcEnable =             (nsfProcCfg->bypassMode == VPS_NSF_DISABLE_SNF_TNF) ? FALSE : TRUE;         nsfProcCfg->frameNoiseCalcReset = FALSE;         nsfProcCfg->subFrameModeEnable = FALSE;         nsfProcCfg->numLinesPerSubFrame = 128;

        for (i = 0; i < 3; i++)         {             nsfProcCfg->staticFrameNoise[i] = 0;             nsfProcCfg->spatialStrengthLow[i] = VPS_NSF_PROCESSING_CFG_DEFAULT;             nsfProcCfg->spatialStrengthHigh[i] = VPS_NSF_PROCESSING_CFG_DEFAULT;         }

        nsfProcCfg->temporalStrength = VPS_NSF_PROCESSING_CFG_DEFAULT;         nsfProcCfg->temporalTriggerNoise = VPS_NSF_PROCESSING_CFG_DEFAULT;         nsfProcCfg->noiseIirCoeff = VPS_NSF_PROCESSING_CFG_DEFAULT;         nsfProcCfg->maxNoise = VPS_NSF_PROCESSING_CFG_DEFAULT;         nsfProcCfg->pureBlackThres = VPS_NSF_PROCESSING_CFG_DEFAULT;         nsfProcCfg->pureWhiteThres = VPS_NSF_PROCESSING_CFG_DEFAULT;

 

Chris Meng:

回复 guanghui pan:

Guanghui,

请参考DVRRDK_04.01.00.02\ti_tools\device_collateral\dm816x目录下hdvpss文档里面NF的十个寄存器的地址。之前提供的就是这十个NF寄存器需要配置的不同滤波强度的值。

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 nsf_link 没有降噪效果
分享到: 更多 (0)