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.

TDA4VM: 3D Surround View Application

Part Number: TDA4VM

Tool/software:

Hello

  I am trying to run  3D Surround View Application. When executing the command './app_run_srv.sh' after 'source ./vision_apps_init.sh', the screen displays as follows, pressing 'x' cannot exit, and the log is as follows.

root@j7-evm:/opt/vision_apps# ./run_app_srv.sh
APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
    62.259812 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
    62.265818 s:  VX_ZONE_INIT:Enabled
    62.265846 s:  VX_ZONE_ERROR:Enabled
    62.265856 s:  VX_ZONE_WARNING:Enabled
    62.266673 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    62.266734 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    62.335234 s: ISS: Enumerating sensors ... !!!
    62.835673 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    62.835732 s: ISS: Enumerating sensors ... found 1 : SG2-IMX390C-5200-FPDLINK
    62.835738 s: ISS: Enumerating sensors ... found 2 : AR0233-UB953_MARS
    62.835743 s: ISS: Enumerating sensors ... found 3 : AR0820-UB953_LI
    62.835748 s: ISS: Enumerating sensors ... found 4 : UB9xxx_RAW12_TESTPATTERN
    62.835753 s: ISS: Enumerating sensors ... found 5 : UB96x_UYVY_TESTPATTERN
    62.835757 s: ISS: Enumerating sensors ... found 6 : GW_AR0233_UYVY
Sensor selected : SG2-IMX390C-5200-FPDLINK
    62.835782 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    62.836517 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
----------------capture node done-----------
----------------------dcc_config------------------
----------------------ldc_config------------------
dcc->config nonempty
----------------ldc node done-----------
Reading calmat file
file read completed
----------------gpu_lut node done-----------
EGL: version 1.5


 ==========================
 Demo : Integrated SRV
 ==========================

 p: Print performance statistics

 e: Export performance statistics

 x: Exit

 Enter Choice: -----------------run graph--------------------
    63.262622 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    63.902490 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
x

My multi camera application can be displayed normally, and srv demo can run  after  multi camera application .

root@j7-evm:/opt/vision_apps# ./run_app_multi_cam.sh
APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
    63.869067 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
    63.874843 s:  VX_ZONE_INIT:Enabled
    63.874857 s:  VX_ZONE_ERROR:Enabled
    63.874862 s:  VX_ZONE_WARNING:Enabled
    63.875627 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    63.875680 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    63.882484 s: ISS: Enumerating sensors ... !!!
    64.383247 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    64.383277 s: ISS: Enumerating sensors ... found 1 : SG2-IMX390C-5200-FPDLINK
    64.383298 s: ISS: Enumerating sensors ... found 2 : AR0233-UB953_MARS
    64.383304 s: ISS: Enumerating sensors ... found 3 : AR0820-UB953_LI
    64.383309 s: ISS: Enumerating sensors ... found 4 : UB9xxx_RAW12_TESTPATTERN
    64.383314 s: ISS: Enumerating sensors ... found 5 : UB96x_UYVY_TESTPATTERN
    64.383319 s: ISS: Enumerating sensors ... found 6 : GW_AR0233_UYVY
7 sensor(s) found
Supported sensor list:
a : IMX390-UB953_D3
b : SG2-IMX390C-5200-FPDLINK
c : AR0233-UB953_MARS
d : AR0820-UB953_LI
e : UB9xxx_RAW12_TESTPATTERN
f : UB96x_UYVY_TESTPATTERN
g : GW_AR0233_UYVY
Select a sensor above or press '0' to autodetect the sensor
b
Sensor selected : SG2-IMX390C-5200-FPDLINK
Querying SG2-IMX390C-5200-FPDLINK
    67.554080 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    67.554434 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
LDC Selection Yes(1)/No(0)
1
Max number of cameras supported by sensor SG2-IMX390C-5200-FPDLINK = 4
Please enter number of cameras to be enabled
4
WDR mode is not supported. Defaulting to linear
Sensor DCC is enabled
Sensor width = 1920
Sensor height = 1080
Sensor DCC ID = 6100
Sensor Supported Features = 0x00000100
Sensor Enabled Features = 0x00000120
YUV Input selected. VISS, AEWB and Mosaic nodes will be bypassed.
Creating context done!
Kernel loading done!
    72.971480 s: ISS: Initializing sensor [SG2-IMX390C-5200-FPDLINK], doing IM_SENSOR_CMD_PWRON ... !!!
    72.971869 s: ISS: Initializing sensor [SG2-IMX390C-5200-FPDLINK], doing IM_SENSOR_CMD_CONFIG ... !!!
[MCU2_0]     73.615858 s: ===ub953_cfgScript chId=0 i2cAddrSer=74
[MCU2_0]     74.108859 s: ===ub953_cfgScript chId=1 i2cAddrSer=76
[MCU2_0]     74.601862 s: ===ub953_cfgScript chId=2 i2cAddrSer=78
[MCU2_0]     75.094862 s: ===ub953_cfgScript chId=3 i2cAddrSer=7a
    75.456070 s: ISS: Initializing sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
Sensor init done!
captureObj->params.numDataLanes = 4
captureObj->params.dataLanesMap[0] = 1
captureObj->params.dataLanesMap[1] = 2
captureObj->params.dataLanesMap[2] = 3
captureObj->params.dataLanesMap[3] = 4
sensorObj->sensor_dcc_enabled=1
sensorObj->sensor_name=SG2-IMX390C-5200-FPDLINK
sensorObj->sensor_wdr_enabled=0
sensorObj->sensorParams.dccId=6100
LDC init done!
Img Mosaic init done!
Display init done!
App Init Done!
Graph create done!
Capture graph done!
dcc->config nonempty
LDC graph done!
Img Mosaic graph done!
Display graph done!
Pipeline params setup done!
App Create Graph Done!
Graph verify done!
App Verify Graph Done!
App Send Error Frame Done!
app_pipeline_params_defaults returned
    75.605516 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    76.246069 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
appStartImageSensor returned with status: 0


 =========================
 Demo : Camera Demo
 =========================

 s: Save CSIx, VISS and LDC outputs

 p: Print performance statistics

 x: Exit

 Enter Choice:


 =========================
 Demo : Camera Demo
 =========================

 s: Save CSIx, VISS and LDC outputs

 p: Print performance statistics

 x: Exit

 Enter Choice: [MCU2_0]     76.246639 s:  VX_ZONE_WARNING:[tivxCaptureSetTimeout:786]  CAPTURE: WARNING: Error frame not provided using tivxCaptureRegisterErrorFrame, defaulting to waiting forever !!!
x

    79.809641 s: ISS: Stopping sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    79.938061 s: ISS: Stopping sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
App Run Graph Done!
Capture delete done!
VISS delete done!
AEWB delete done!
LDC delete done!
Img Mosaic delete done!
Display delete done!
[MCU2_0]     80.018893 s: ==========================================================
[MCU2_0]     80.018988 s:  Capture Status: Instance|0
[MCU2_0]     80.019025 s: ==========================================================
[MCU2_0]     80.019074 s:  overflowCount: 0
[MCU2_0]     80.019110 s:  spuriousUdmaIntrCount: 0
[MCU2_0]     80.019146 s:  frontFIFOOvflCount: 0
[MCU2_0]     80.019181 s:  crcCount: 0
[MCU2_0]     80.019213 s:  eccCount: 0
[MCU2_0]     80.019246 s:  correctedEccCount: 0
[MCU2_0]     80.019280 s:  dataIdErrorCount: 0
[MCU2_0]     80.019318 s:  invalidAccessCount: 0
[MCU2_0]     80.019353 s:  invalidSpCount: 0
[MCU2_0]     80.019393 s:  strmFIFOOvflCount[0]: 0
[MCU2_0]     80.019426 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
[MCU2_0]     80.019505 s:            0 |               107 |                  107 |                1 |                 0 |
[MCU2_0]     80.019583 s:            1 |               107 |                  107 |                2 |                 0 |
[MCU2_0]     80.019660 s:            2 |               107 |                  107 |                2 |                 0 |
[MCU2_0]     80.019738 s:            3 |               107 |                  107 |                1 |                 0 |
Graph delete done!
App Delete Graph Done!
    80.026703 s: ISS: De-initializing sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    80.027060 s: ISS: De-initializing sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
Sensor deinit done!
Capture deinit done!
LDC deinit done!
Img Mosaic deinit done!
Display deinit done!
Kernels unload done!
Release context done!
App De-init Done!
    80.028474 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!!
    80.032867 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
IPC: Deinit ... !!!
IPC: DeInit ... Done !!!
MEM: Deinit ... !!!
DDR_SHARED_MEM: Alloc's: 44 alloc's of 129104960 bytes
DDR_SHARED_MEM: Free's : 44 free's  of 129104960 bytes
DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
DDR_SHARED_MEM: Total size: 536870912 bytes
MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!

root@j7-evm:/opt/vision_apps# ./run_app_srv.sh
APP: Init ... !!!
MEM: Init ... !!!
MEM: Initialized DMA HEAP (fd=4) !!!
MEM: Init ... Done !!!
IPC: Init ... !!!
IPC: Init ... Done !!!
REMOTE_SERVICE: Init ... !!!
REMOTE_SERVICE: Init ... Done !!!
    90.726271 s: GTC Frequency = 200 MHz
APP: Init ... Done !!!
    90.726347 s:  VX_ZONE_INIT:Enabled
    90.726354 s:  VX_ZONE_ERROR:Enabled
    90.726360 s:  VX_ZONE_WARNING:Enabled
    90.728107 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    90.728302 s:  VX_ZONE_INIT:[tivxHostInitLocal:86] Initialization Done for HOST !!!
    90.777661 s: ISS: Enumerating sensors ... !!!
    91.178254 s: ISS: Enumerating sensors ... found 0 : IMX390-UB953_D3
    91.178284 s: ISS: Enumerating sensors ... found 1 : SG2-IMX390C-5200-FPDLINK
    91.178302 s: ISS: Enumerating sensors ... found 2 : AR0233-UB953_MARS
    91.178308 s: ISS: Enumerating sensors ... found 3 : AR0820-UB953_LI
    91.178313 s: ISS: Enumerating sensors ... found 4 : UB9xxx_RAW12_TESTPATTERN
    91.178318 s: ISS: Enumerating sensors ... found 5 : UB96x_UYVY_TESTPATTERN
    91.178323 s: ISS: Enumerating sensors ... found 6 : GW_AR0233_UYVY
Sensor selected : SG2-IMX390C-5200-FPDLINK
    91.178346 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    91.178671 s: ISS: Querying sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
----------------capture node done-----------
----------------------dcc_config------------------
----------------------ldc_config------------------
dcc->config nonempty
----------------ldc node done-----------
Reading calmat file
file read completed
----------------gpu_lut node done-----------
EGL: version 1.5


 ==========================
 Demo : Integrated SRV
 ==========================

 p: Print performance statistics

 e: Export performance statistics

 x: Exit

 Enter Choice: -----------------run graph--------------------
    91.601389 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    92.241082 s: ISS: Starting sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
x

    97.090318 s: ISS: Stopping sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    97.218045 s: ISS: Stopping sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
    97.218179 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
    97.218794 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
    97.218804 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
    97.218810 s:  VX_ZONE_ERROR:[ownReleaseReferenceInt:307] Invalid reference
[MCU2_0]     97.221894 s: ==========================================================
[MCU2_0]     97.221989 s:  Capture Status: Instance|0
[MCU2_0]     97.222027 s: ==========================================================
[MCU2_0]     97.222076 s:  overflowCount: 0
[MCU2_0]     97.222112 s:  spuriousUdmaIntrCount: 0
[MCU2_0]     97.222149 s:  frontFIFOOvflCount: 0
[MCU2_0]     97.222185 s:  crcCount: 1
[MCU2_0]     97.222218 s:  eccCount: 0
[MCU2_0]     97.222252 s:  correctedEccCount: 0
[MCU2_0]     97.222288 s:  dataIdErrorCount: 0
[MCU2_0]     97.222324 s:  invalidAccessCount: 0
[MCU2_0]     97.222360 s:  invalidSpCount: 0
[MCU2_0]     97.222398 s:  strmFIFOOvflCount[0]: 0
[MCU2_0]     97.222430 s:  Channel Num | Frame Queue Count | Frame De-queue Count | Frame Drop Count | Error Frame Count |
[MCU2_0]     97.222509 s:            0 |               250 |                  250 |                6 |                 0 |
[MCU2_0]     97.222586 s:            1 |               250 |                  250 |                6 |                 0 |
[MCU2_0]     97.222664 s:            2 |               250 |                  250 |                6 |                 0 |
[MCU2_0]     97.222743 s:            3 |               250 |                  250 |                5 |                 0 |
    97.293344 s:  VX_ZONE_WARNING:[vxReleaseContext:1049] Found a reference 0xffff9dd0ea50 of type 00000816 at external count 1, internal count 0, releasing it
    97.293365 s:  VX_ZONE_WARNING:[vxReleaseContext:1051] Releasing reference (name=ldc_node_dcc_config) now as a part of garbage collection
    97.293392 s:  VX_ZONE_WARNING:[vxReleaseContext:1049] Found a reference 0xffff9dd0ec70 of type 00000816 at external count 1, internal count 0, releasing it
    97.293400 s:  VX_ZONE_WARNING:[vxReleaseContext:1051] Releasing reference (name=user_data_object_117) now as a part of garbage collection
    97.293427 s:  VX_ZONE_WARNING:[vxReleaseContext:1049] Found a reference 0xffff9ddb0f38 of type 00000813 at external count 1, internal count 0, releasing it
    97.293434 s:  VX_ZONE_WARNING:[vxReleaseContext:1051] Releasing reference (name=ldc_node_output_arr) now as a part of garbage collection
    97.293634 s: ISS: De-initializing sensor [SG2-IMX390C-5200-FPDLINK] ... !!!
    97.294002 s: ISS: De-initializing sensor [SG2-IMX390C-5200-FPDLINK] ... Done !!!
    97.294014 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:100] De-Initialization Done for HOST !!!
    97.298493 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
APP: Deinit ... !!!
REMOTE_SERVICE: Deinit ... !!!
REMOTE_SERVICE: Deinit ... Done !!!
IPC: Deinit ... !!!
IPC: DeInit ... Done !!!
MEM: Deinit ... !!!
DDR_SHARED_MEM: Alloc's: 55 alloc's of 122233368 bytes
DDR_SHARED_MEM: Free's : 55 free's  of 122233368 bytes
DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes
DDR_SHARED_MEM: Total size: 536870912 bytes
MEM: Deinit ... Done !!!
APP: Deinit ... Done !!!
root@j7-evm:/opt/vision_apps#

My sensor outputs yuv422, SDK: 08_04. The code modification is as follows.

1. added in AppObj

2. modified in 'static vx_status app_create_capture(AppObj *obj)

3. deleted viss, added ldc

4. modified input of srv_node

/*
1.added in AppObj 
*/
vx_image cap_yuv_image;
    
vx_node ldcNode;
vx_object_array ldc_output_arr;
vx_user_data_object ldc_config;
vx_user_data_object dcc_config;
tivx_vpac_ldc_params_t ldc_params;

vx_uint32 table_width;  
vx_uint32 table_height;
vx_uint32 ds_factor;

    
/*
2.modified in 'static vx_status app_create_capture(AppObj *obj)' 
*/

    if(0)
    {
        obj->sample_raw_img = tivxCreateRawImage(obj->context, &(sensorParams.sensorInfo.raw_params));
        if (vxGetStatus((vx_reference)obj->sample_raw_img) != VX_SUCCESS)
        {
            APP_PRINTF("sample_raw_img create failed\n");
        }

        /* Creating object arrays to be used as output to capture node */
        for(buf_id=0; buf_id<NUM_BUFS; buf_id++)
        {
            obj->capt_frames[buf_id] =
                vxCreateObjectArray(obj->context,
                (vx_reference)obj->sample_raw_img, NUM_CAPT_CHANNELS);
            if (vxGetStatus((vx_reference)obj->capt_frames[buf_id]) != VX_SUCCESS)
            {
                APP_PRINTF("obj->capt_frames[buf_id] create failed\n");
                return VX_FAILURE;
            }
        }

        tivxReleaseRawImage(&obj->sample_raw_img);
    }
    else{
        vx_image cap_yuv_image = vxCreateImage(obj->context, sensorParams.sensorInfo.raw_params.width, sensorParams.sensorInfo.raw_params.height, VX_DF_IMAGE_UYVY);
        status = vxGetStatus((vx_reference)cap_yuv_image);

        if(status == VX_SUCCESS)
        {
            for(buf_id=0; buf_id<NUM_BUFS; buf_id++)
            {
                obj->capt_frames[buf_id] = vxCreateObjectArray(obj->context, (vx_reference)cap_yuv_image, NUM_CAPT_CHANNELS);
                status = vxGetStatus((vx_reference)obj->capt_frames[buf_id]);
                if(status != VX_SUCCESS)
                {
                    printf("[CAPTURE-MODULE] Unable to create YUV image object array! \n");
                    return VX_FAILURE;
                }
            }
            vxReleaseImage(&cap_yuv_image);
        }
    }
    
    
/*
3.deleted viss, added ldc 
*/


if (VX_SUCCESS == status)
    {
        printf("----------------capture node done-----------\n");
        status = app_create_graph_ldc(obj);
    }
    
    
vx_status app_create_graph_ldc(AppObj *obj)
{
    vx_status status = VX_SUCCESS;
    obj->table_width  = LDC_TABLE_WIDTH;
    obj->table_height = LDC_TABLE_HEIGHT;
    //obj->ds_factor    = LDC_DS_FACTOR;

    /*dcc config        sensor_wdr_enabled = 0*/
    int32_t dcc_buff_size;
    uint8_t * dcc_buf;
    vx_map_id dcc_buf_map_id;

    dcc_buff_size = appIssGetDCCSizeLDC(obj->sensor_name, 0);

    if (dcc_buff_size > 0)
    {
        obj->dcc_config = vxCreateUserDataObject(obj->context, "dcc_ldc", dcc_buff_size, NULL );
        status = vxGetStatus((vx_reference)obj->dcc_config);

        if(status == VX_SUCCESS)
        {
            printf("----------------------dcc_config------------------\n");
            vxSetReferenceName((vx_reference)obj->dcc_config, "ldc_node_dcc_config");

            vxMapUserDataObject(
                    obj->dcc_config, 0,
                    dcc_buff_size,
                    &dcc_buf_map_id,
                    (void **)&dcc_buf,
                    VX_WRITE_ONLY,
                    VX_MEMORY_TYPE_HOST, 0);

            status = appIssGetDCCBuffLDC(obj->sensor_name, 0,  dcc_buf, dcc_buff_size);
            if(status != VX_SUCCESS)
            {
                printf("[LDC-MODULE] Error getting DCC buffer \n");
            }
            vxUnmapUserDataObject(obj->dcc_config, dcc_buf_map_id);
        }
        else
        {
            printf("[LDC-MODULE] Unable to create DCC config object! \n");
        }
    }

    /*ldc config*/
    tivx_vpac_ldc_params_init(&obj->ldc_params);
    obj->ldc_params.luma_interpolation_type = 1;

    obj->ldc_params.dcc_camera_id = obj->cam_dcc_id;

    obj->ldc_config = vxCreateUserDataObject(obj->context,
        "tivx_vpac_ldc_params_t", sizeof(tivx_vpac_ldc_params_t), NULL);
    status = vxGetStatus((vx_reference)obj->ldc_config);
    if(status == VX_SUCCESS)
    {
        printf("----------------------ldc_config------------------\n");
        status = vxCopyUserDataObject(obj->ldc_config, 0, sizeof(tivx_vpac_ldc_params_t),
                        &obj->ldc_params, VX_WRITE_ONLY, VX_MEMORY_TYPE_HOST);
        if(status != VX_SUCCESS)
        {
            printf("[LDC-MODULE] Unable to copy ldc config params into buffer! \n");
        }
    }

    /* LDC Output image in NV12 format */
    vx_image output_img = vxCreateImage(obj->context, obj->table_width, obj->table_height, VX_DF_IMAGE_NV12);
    status = vxGetStatus((vx_reference)output_img);
    if(status == VX_SUCCESS)
    {
        obj->ldc_output_arr = vxCreateObjectArray(obj->context, (vx_reference)output_img, 4);
        vxReleaseImage(&output_img);

        status = vxGetStatus((vx_reference)obj->ldc_output_arr);
        if(status != VX_SUCCESS)
        {
            printf("[LDC-MODULE] Unable to create output image array! \n");
        }
        else
        {
            vxSetReferenceName((vx_reference)obj->ldc_output_arr, "ldc_node_output_arr");
        }
    }
    else
    {
        printf("[LDC-MODULE] Unable to create output image! \n");
    }

    /*create graph ldc*/
    if (obj->dcc_config != NULL)
    {
        printf("dcc->config nonempty\n");
        vx_image in_img = (vx_image)vxGetObjectArrayItem(obj->capt_frames[0], 0);
        vx_image out_img = (vx_image)vxGetObjectArrayItem(obj->ldc_output_arr, 0);

        obj->ldcNode = tivxVpacLdcNode(obj->graph, obj->ldc_config, NULL,
                                       NULL, NULL,
                                       NULL, obj->dcc_config, in_img,
                                       out_img, NULL);

        vxReleaseImage(&in_img);
        vxReleaseImage(&out_img);

        status = vxGetStatus((vx_reference)obj->ldcNode);
        if(status == VX_SUCCESS)
        {
            vxSetNodeTarget(obj->ldcNode, VX_TARGET_STRING, TIVX_TARGET_VPAC_LDC1);
            vxSetReferenceName((vx_reference)obj->ldcNode, "ldc_node");

            vx_bool replicate[] = { vx_false_e, vx_false_e, vx_false_e, vx_false_e, vx_false_e, vx_false_e, vx_true_e, vx_true_e, vx_false_e};
            vxReplicateNode(obj->graph, obj->ldcNode, replicate, 9);
        }
        else
        {
            printf("[LDC-MODULE] Unable to create LDC node with DCC config! \n");
        }
        
    }
    return status;
}

/*
4. modified input of srv_node
*/
obj->srv_node = tivxGlSrvNode(obj->graph, obj->param_obj, obj->ldc_output_arr, obj->srv_views_array, obj->out_gpulut_array, obj->output_image[0]);

Another question: Can CALMAT.BIN, LENS.BIN, CHARTPOS.BIN be obtained by Matlab tools in "ti-processor-sdk-rtos-j721e-evm-08_04_00_06/vision_apps/tools/3d_calibration_tool/exe_out/main.exe" instead of 'app_srv_calibration' demo?

Thank you!