This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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调试现象体现出来?

  • Zhang Ziyi,

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

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

  • 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;
    else
    	chVnfCreateParams->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模式呢?

  • 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;
        }

  • Chris Meng,

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

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