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

LDC桶型失真调试后没有变化

强大的TI专家您好:

DM36x-Image/Video Tuning Tool工具调试摄像头LDC桶型失真现象,修改源码,但是图像没有变化;
现在通过手动调试生成了ldc_config.c 文件;文件中包含了ldcTable项。

我修改了如下文件中的如下参数,
①已经将ldc使能开关打开:
IPNC_RDK_V3.8.0.1/Source/ipnc_rdk/ipnc_mcfw/demos/mcfw_api_demos/multich_usecase/ti_mcfw_ipnc_main.c
gUI_mcfw_config.ldcEnable = TRUE; //改为了ture;
//gUI_mcfw_config.ldcEnable = FALSE;

②将ldc_config.c 中的值添写在了
IPNC_RDK_V3.8.0.1/Source/ipnc_rdk/ipnc_mcfw/mcfw/src_bios6/links_m3vpss/vnf/vnfLink_vnf.c文件中:
因为没有找到vnf_ldc_lut_0,自定义了vnf_ldc_lut_1;
//extern const MSP_U16 vnf_ldc_lut_0[]; const MSP_U16 vnf_ldc_lut_1[] = { 0, 9687, 9627, 9581, 9542, 9508, 9477, 9448,
9422, 9397, 9373, 9351, 9330, 9309, 9289, 9270,
。。。。。。。。。。。。。
/**
* 部分数据,此处的数据就是ldc_config.c 中的ldcTable中的数据;
*/
9252, 9234, 9217, 9200, 9184, 9168, 9152, 9137,

};

将这些值都做了直接修改;
=================修改2==vnfLink_vnf.c==============
ldc_params->tStartXY.unStartX = 0;
ldc_params->tStartXY.unStartY = 0;

lens_distortion_params->unLensCentreX = 540;//@wsxingjun 17-01-16 lens_distortion_params->unLensCentreY = 960; //@wsxingjun 17-01-16

#if 1
lut_params->unLdcKhl = 189; lut_params->unLdcKhr = 189; lut_params->unLdcKvl = 189; lut_params->unLdcKvu = 189; lut_params->unLdcRth = 2046; lut_params->ucRightShiftBits = 15; lut_params->punLdcLutTable = (MSP_U16 *) vnf_ldc_lut_1; //直接写为vnf_ldc_lut_1
#endif ===============修改3===vnfLink_vnf.c===========
if (!params->bLdcEn)
//lut_params->punLdcLutTable = (MSP_U16 *) vnf_ldc_lut_0;
lut_params->punLdcLutTable = (MSP_U16 *) vnf_ldc_lut_1; else
//lut_params->punLdcLutTable = (MSP_U16 *) vnf_ldc_lut_tamron;
lut_params->punLdcLutTable = (MSP_U16 *) vnf_ldc_lut_1;

将整个项目源码编译重写烧写,但是没有变化;

请问:
【1】怎样使用调试工具生成的ldc_config.c 文件呢?
【2】修改源码中哪些文件的哪些参数才能将LDC调试现象体现出来?

Chris Meng:

Zhang Ziyi,

请问你是否有修改模式为VNF_LINK_LDC?

请问你是否有阅读过文档LDC_VNF_UserGuide.pdf?

ziyi zhang:

回复 Chris Meng:

Chris Men 您好:

在源码中找到的是:

① vnfLink_drv.c (ipnc_mcfw\mcfw\src_bios6\links_m3vpss\vnf):

if ((chCreateParams->sParams.eOperateMode == VNF_LINK_LDC) ||(chCreateParams->sParams.eOperateMode == VNF_LINK_LDC_TNF) ||(chCreateParams->sParams.eOperateMode == VNF_LINK_LDC_AFFINE_NSF_TNF))chVnfCreateParams->bLdcEn = MSP_TRUE;
elsechVnfCreateParams->bLdcEn = MSP_FALSE;

② vnfLink.h (ipnc_mcfw\mcfw\interfaces\link_api):  

typedef enum {
VNF_LINK_LDC_AFFINE_NSF_TNF = 0,
VNF_LINK_AFFINE_NSF_TNF = 1,
VNF_LINK_TNF = 2,
VNF_LINK_3DNF = 3,
VNF_LINK_LDC_TNF = 4,
VNF_LINK_LDC = 5,/* 此处是对操作模式中的枚举定义*/
VNF_LINK_TNF3 = 6,
VNF_LINK_NSF2 = 7
} VNF_LINK_OPERATION_MODE;

请问在哪里修改模式为VNF_LINK_LDC模式呢?

Chris Meng:

回复 ziyi zhang:

Zhang Ziyi,

请查看\Source\ipnc_rdk\ipnc_mcfw\mcfw\src_linux\mcfw_api\usecases\multich_tristream_fullfeature.c

    if (gUI_mcfw_config.ldcEnable)    {        vnfParams->sParams.eOperateMode = VNF_LINK_LDC_AFFINE_NSF_TNF;    }    else    {#ifdef USE_TNF2_FILTER        vnfParams->sParams.eOperateMode =  VNF_LINK_3DNF;#elif defined (USE_TNF3_FILTER)        vnfParams->sParams.eOperateMode =  VNF_LINK_TNF3;#ifdef USE_MCTNF        //LK- to check TNF3/MCTNF by controlling enable/disable from DCC tool        vnfParams->sParams.eOperateMode =  VNF_LINK_NSF2;#endif#else        vnfParams->sParams.eOperateMode = VNF_LINK_AFFINE_NSF_TNF;#endif        vnfParams->sParams.eNsfSet = VNF_LINK_NSF_LUMA_CHROMA;    }

ziyi zhang:

回复 Chris Meng:

Chris Meng,

       请问在\Source\ipnc_rdk\ipnc_mcfw\mcfw\src_linux\mcfw_api\usecases\multich_tristream_fullfeature.c

              需要修改哪个参数可以打开VNF_LINK_LDC呢?

赞(0)
未经允许不得转载:TI中文支持网 » LDC桶型失真调试后没有变化
分享到: 更多 (0)