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: Questions for about camera multi.

Part Number: TDA4VM
Hi ,
We have implemented an raw  format and an yuv format camera display. and it is implemented with two gprph.
so if i want to integrate two graphs into one graph, is it feasible?,
Look forward to your reply.
  • we used  two multi.out  programs to test two different formats of cameras. 

    The first process runs the ram format camera program,the other  process runs the Y program,
    and i found the second running process will stuck in app_verify_graph function . So I doubt it can‘t be used like this.
    If there are two different formats(raw,yuv) of cameras, how to use mutil.out ?
  • log:

    VISS init done!
    AEWB init done!
    Img Mosaic init done!
    Display init done!
    App Init Done!
    Graph create done!
    ######app_create_graph_capture!
    ######app_create_graph_capture end ### status = 0!
    Capture graph done!
    VISS graph done!
    AEWB graph done!
    Img Mosaic graph done!status = 0
    Display graph done status = 0!
    Pipeline params setup done!
    App Create Graph Done!

    ----stuck -----------

  • Tao,

    What you are trying is not supported in 7.3. For app_multi_cam we need all the sensor types to be the same. Connecting different sensors on the same graph would be coming up next but let me check with an expert on availability.

    Regards,
    Shyam

  • OK, I'll wait for your reply.

  • Hello Tao,

    Connecting different sensors on the same graph is not supported.

    Regards,

    Mayank

  • OK ,

    we used  two multi.out  programs to test two different formats(raw,yuv) of cameras. 

    The first process run the raw format camera program,the other  process run the YUV fomat camera program,
    and i found the second running process will stuck in app_verify_graph function . So I doubt it can‘t be used like this.
    If there are two different formats(raw,yuv) of cameras, how to use mutil.out ?
  • process 2 log:

    .................

    VISS init done!
    AEWB init done!
    Img Mosaic init done!
    Display init done!
    App Init Done!
    Graph create done!
    ######app_create_graph_capture!
    ######app_create_graph_capture end ### status = 0!
    Capture graph done!
    VISS graph done!
    AEWB graph done!
    Img Mosaic graph done!status = 0
    Display graph done status = 0!
    Pipeline params setup done!
    App Create Graph Done!

    ----stuck -----------

  • Hi ,

    How can I support two cameras of different formats running at the same time ?

  • Hello Tao,

    It seems like process #2 is getting stuck. Is this using Raw format camera or YUV format?

    Regards,

    Mayank

  • Hi Mayank Mangla

    It is YUV format camera.

     

  • so I have some question.

    When different format types of  camera modules are connected at the same time, which of the following cases is supported:

    1) The same process:

       process 1-----> ram format camera capture ---->graphA ---->csi0

       process 1 ----->yuv format camera capture----->graphB ------>csi1 

    2) The different process (two process):

       process 1-----> ram format camera capture----> graphA ---->csi0

       process 2 ----->yuv format camera capture ----->graphB ------>csi1 

    1) In one process,  raw module (csi0) through graph A and YUV module (csi1) acts through graph B

    2) In two process , the one camera module of raw format (csi0) and  one camera module of YUV module (csi1)  that used different graph cantrol them.

    So Do you have any good methods or suggestions?

  • #2 is the preferred option

    For YUV format, VISS and AEWB nodes should not be created. VISS can process only RAW format images.

  • sorry , #2  is the raw format camea. 

    This is a log and config camera.and I suspect that some resources interact,please help me check it,

    .

    55520.log.txt
    J7EVM@QNX:/ti_fs/vision_apps#
    J7EVM@QNX:/ti_fs/vision_apps# /ti_fs/vision_apps/vx_app_multi_xxxx1f_cam_ok.out --cfg /ti_fs/vision_apps/app_multi_cam.cfg&  //yuv format camera 
    [1] 155668
    J7EVM@QNX:/ti_fs/vision_apps# APP: Init QNX ... !!!
    appIpcInit: IPC: Init QNX ... !!!
    appIpcInit: IPC: Init ... Done !!!
        80.173417 s: REMOTE_SERVICE: Init ... !!!
        80.173511 s: REMOTE_SERVICE: Init ... Done !!!
        80.173537 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        80.173561 s:  VX_ZONE_INIT:Enabled
        80.173575 s:  VX_ZONE_ERROR:Enabled
        80.173588 s:  VX_ZONE_WARNING:Enabled
        80.173785 s:  VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
        80.173823 s:  VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
    I2C Switch: '0' for SOC1, '1' for SOC2
    
        80.174948 s: ISS: I2C_Switch [0] ... !!!
        80.175124 s: ISS: I2C_Switch [0] done !!!
        80.175146 s: ISS: Enumerating sensors ... !!!
        80.175418 s: ISS: Enumerating sensors ... found 0 : MAX96722_MAX96717_OX03C10
        80.175445 s: ISS: Enumerating sensors ... found 1 : MAX96722_MAX96717_X1F
    2 sensor(s) found
    Supported sensor list:
    a : MAX96722_MAX96717_OX03C10
    b : MAX96722_MAX96717_X1F
    Select a sensor above or press '0' to autodetect the sensor
    Sensor selected : MAX96722_MAX96717_X1F
    Querying MAX96722_MAX96717_X1F
        80.175514 s: ISS: Querying sensor [MAX96722_MAX96717_X1F] ... !!!
        80.175704 s: ISS: Querying sensor [MAX96722_MAX96717_X1F] ... Done !!!
    LDC Selection Yes(1)/No(0)
    Max number of cameras supported by sensor MAX96722_MAX96717_X1F = 4
    Please enter number of cameras to be enabled
    Camera Combo Select: '0' for Front-Wide/Left-Rear/Right-Rear, '1' for Front-Narrow/Left-Front/Right-Front, '2' for All six X3C, '3' for X1F,'4'for Front-Wide/Left-Rear/Right-Rear/x1F
    YUV Input selected. VISS, AEWB and Mosaic nodes will be bypassed.
    app_update_param_set num_cameras_enabled=4,obj->sensorObj.image_width =1280,obj->sensorObj.image_height = 960 resized_width = 1440, resized_height = 1080
    Creating context done!
    Kernel loading done!
        80.176546 s: ISS: Initializing sensor [MAX96722_MAX96717_X1F], doing IM_SENSOR_CMD_PWRON ... !!!
        81.401123 s: ISS: Initializing sensor [MAX96722_MAX96717_X1F], doing IM_SENSOR_CMD_CONFIG ... !!!
        81.401479 s: ISS: Initializing sensor [MAX96722_MAX96717_X1F] ... Done !!!
    ##### initializing sensor MAX96722_MAX96717_X1F
    Sensor init done!
    captureObj->params.instId[0] = 0
    captureObj->params.instCfg[0].numDataLanes  = 4
    captureObj->params.dataLanesMap[0] = 1
    captureObj->params.dataLanesMap[1] = 2
    captureObj->params.dataLanesMap[2] = 3
    captureObj->params.dataLanesMap[3] = 4
    ==!!!!!== configure_capture_params  camera_mask = 0x0F
    create_ldc_outputs ldcObj->table_width = 1280, ldcObj->table_height=960
    X1FLDC init done!
    Img Mosaic init done!
    Display init done!
    App Init Done!
    Graph create done!
    Capture graph done!
    LDC graph done!
    Img Mosaic graph done!status = 0
    Display graph done status = 0!
    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
        83.246080 s: ISS: Starting sensor [MAX96722_MAX96717_X1F] ... !!!
        83.248598 s: ISS: Starting sensor [MAX96722_MAX96717_X1F] ... !!!
    appStartImageSensor returned with status: 0
    app_run_graph_for_one_pipeline: frame 0 beginning
    app_run_graph_for_one_pipeline: frame 1 beginning
    app_run_graph_for_one_pipeline: frame 2 beginning
    app_run_graph_for_one_pipeline: frame 3 beginning
    app_run_graph_for_one_pipeline: frame 4 beginning
    app_run_graph_for_one_pipeline: frame 5 beginning
    app_run_graph_for_one_pipeline: frame 6 beginning
    app_run_graph_for_one_pipeline: frame 7 beginning
    app_run_graph_for_one_pipeline: frame 8 beginning
    app_run_graph_for_one_pipeline: frame 9 beginning
    app_run_graph_for_one_pipeline: frame 10 beginning
    app_run_graph_for_one_pipeline: frame 11 beginning
    app_run_graph_for_one_pipeline: frame 12 beginning
    app_run_graph_for_one_pipeline: frame 13 beginning
    app_run_graph_for_one_pipeline: frame 14 beginning
    app_run_graph_for_one_pipeline: frame 15 beginning
    app_run_graph_for_one_pipeline: frame 16 beginning
    app_run_graph_for_one_pipeline: frame 17 beginning
    app_run_graph_for_one_pipeline: frame 18 beginning
    app_run_graph_for_one_pipeline: frame 19 beginning
    app_run_graph_for_one_pipeline: frame 20 beginning
    app_run_graph_for_one_pipeline: frame 21 beginning
    app_run_graph_for_one_pipeline: frame 22 beginning
    app_run_graph_for_one_pipeline: frame 23 beginning
    app_run_graph_for_one_pipeline: frame 24 beginning
    app_run_graph_for_one_pipeline: frame 25 beginning
    app_run_graph_for_one_pipeline: frame 26 beginning
    app_run_graph_for_one_pipeline: frame 27 beginning
    app_run_graph_for_one_pipeline: frame 28 beginning
    app_run_graph_for_one_pipeline: frame 29 beginning
    app_run_graph_for_one_pipeline: frame 30 beginning
    app_run_graph_for_one_pipeline: frame 31 beginning
    app_run_graph_for_one_pipeline: frame 32 beginning
    app_run_graph_for_one_pipeline: frame 33 beginning
    app_run_graph_for_one_pipeline: frame 34 beginning
    app_run_graph_for_one_pipeline: frame 35 beginning
    app_run_graph_for_one_pipeline: frame 36 beginning
    app_run_graph_for_one_pipeline: frame 37 beginning
    app_run_graph_for_one_pipeline: frame 38 beginning
    app_run_graph_for_one_pipeline: frame 39 beginning
    app_run_graph_for_one_pipeline: frame 40 beginning
    app_run_graph_for_one_pipeline: frame 41 beginning
    app_run_graph_for_one_pipeline: frame 42 beginning
    app_run_graph_for_one_pipeline: frame 43 beginning
    app_run_graph_for_one_pipeline: frame 44 beginning
    app_run_graph_for_one_pipeline: frame 45 beginning
    app_run_graph_for_one_pipeline: frame 46 beginning
    app_run_graph_for_one_pipeline: frame 47 beginning
    app_run_graph_for_one_pipeline: frame 48 beginning
    app_run_graph_for_one_pipeline: frame 49 beginning
    app_run_graph_for_one_pipeline: frame 50 beginning
    app_run_graph_for_one_pipeline: frame 51 beginning
    app_run_graph_for_one_pipeline: frame 52 beginning
    app_run_graph_for_one_pipeline: frame 53 beginning
    app_run_graph_for_one_pipeline: frame 54 beginning
    app_run_graph_for_one_pipeline: frame 55 beginning
    
    J7EVM@QNX:/ti_fs/vision_apps# app_run_graph_for_one_pipeline: frame 56 beginning
    app_run_graph_for_one_pipeline: frame 57 beginning
    app_run_graph_for_one_pipeline: frame 58 beginning
    app_run_graph_for_one_pipeline: frame 59 beginning
    app_run_graph_for_one_pipeline: frame 60 beginning
    app_run_graph_for_one_pipeline: frame 61 beginning
    app_run_graph_for_one_pipeline: frame 62 beginning
    app_run_graph_for_one_pipeline: frame 63 beginning
    app_run_graph_for_one_pipeline: frame 64 beginning
    app_run_graph_for_one_pipeline: frame 65 beginning
    app_run_graph_for_one_pipeline: frame 66 beginning
    app_run_graph_for_one_pipeline: frame 67 beginning
    app_run_graph_for_one_pipeline: frame 68 beginning
    app_run_graph_for_one_pipeline: frame 69 beginning
    app_run_graph_for_one_pipeline: frame 70 beginning
    app_run_graph_for_one_pipeline: frame 71 beginning
    app_run_graph_for_one_pipeline: frame 72 beginning
    app_run_graph_for_one_pipeline: frame 73 beginning
    lapp_run_graph_for_one_pipeline: frame 74 beginning
    app_run_graph_for_one_pipeline: frame 75 beginning
    sapp_run_graph_for_one_pipeline: frame 76 beginning
    app_run_graph_for_one_pipeline: frame 77 beginning
    app_run_graph_for_one_pipeline: frame 78 beginning
    app_run_graph_for_one_pipeline: frame 79 beginning
    app_run_graph_for_one_pipeline: frame 80 beginning
    app_run_graph_for_one_pipeline: frame 81 beginning
    app_run_graph_for_one_pipeline: frame 82 beginning
    app_run_graph_for_one_pipeline: frame 83 beginning
    app_run_graph_for_one_pipeline: frame 84 beginning
    app_run_graph_for_one_pipeline: frame 85 beginning
    app_run_graph_for_one_pipeline: frame 86 beginning
    app_run_graph_for_one_pipeline: frame 87 beginning
    app_run_graph_for_one_pipeline: frame 88 beginning
    app_run_graph_for_one_pipeline: frame 89 beginning
    app_run_graph_for_one_pipeline: frame 90 beginning
    J7EVM@QNX:/ti_fs/vision_apps# app_run_graph_for_one_pipeline: frame 91 beginning
    app_run_graph_for_one_pipeline: frame 92 beginning
    app_run_graph_for_one_pipeline: frame 93 beginning
    app_run_graph_for_one_pipeline: frame 94 beginning
    app_run_graph_for_one_pipeline: frame 95 beginning
    app_run_graph_for_one_pipeline: frame 96 beginning
    app_run_graph_for_one_pipeline: frame 97 beginning
    app_run_graph_for_one_pipeline: frame 98 beginning
    app_run_graph_for_one_pipeline: frame 99 beginning
    app_run_graph_for_one_pipeline: frame 100 beginning
    app_run_graph_for_one_pipeline: frame 101 beginning
    app_run_graph_for_one_pipeline: frame 102 beginning
    app_run_graph_for_one_pipeline: frame 103 beginning
    app_run_graph_for_one_pipeline: frame 104 beginning
    app_run_graph_for_one_pipeline: frame 105 beginning
    app_run_graph_for_one_pipeline: frame 106 beginning
    app_run_graph_for_one_pipeline: frame 107 beginning
    app_run_graph_for_one_pipeline: frame 108 beginning
    app_run_graph_for_one_pipeline: frame 109 beginning
    app_run_graph_for_one_pipeline: frame 110 beginning
    app_run_graph_for_one_pipeline: frame 111 beginning
    app_run_graph_for_one_pipeline: frame 112 beginning
    app_run_graph_for_one_pipeline: frame 113 beginning
    app_run_graph_for_one_pipeline: frame 114 beginning
    app_run_graph_for_one_pipeline: frame 115 beginning
    app_run_graph_for_one_pipeline: frame 116 beginning
    app_run_graph_for_one_pipeline: frame 117 beginning
    app_run_graph_for_one_pipeline: frame 118 beginning
    app_run_graph_for_one_pipeline: frame 119 beginning
    app_run_graph_for_one_pipeline: frame 120 beginning
    app_run_graph_for_one_pipeline: frame 121 beginning
    app_run_graph_for_one_pipeline: frame 122 beginning
    app_run_graph_for_one_pipeline: frame 123 beginning
    app_run_graph_for_one_pipeline: frame 124 beginning
    app_run_graph_for_one_pipeline: frame 125 beginning
    app_run_graph_for_one_pipeline: frame 126 beginning
    app_run_graph_for_one_pipeline: frame 127 beginning
    app_run_graph_for_one_pipeline: frame 128 beginning
    app_run_graph_for_one_pipeline: frame 129 beginning
    app_run_graph_for_one_pipeline: frame 130 beginning
    app_run_graph_for_one_pipeline: frame 131 beginning
    app_run_graph_for_one_pipeline: frame 132 beginning
    app_run_graph_for_one_pipeline: frame 133 beginning
    app_run_graph_for_one_pipeline: frame 134 beginning
    app_run_graph_for_one_pipeline: frame 135 beginning
    app_run_graph_for_one_pipeline: frame 136 beginning
    app_run_graph_for_one_pipeline: frame 137 beginning
    app_run_graph_for_one_pipeline: frame 138 beginning
    app_run_graph_for_one_pipeline: frame 139 beginning
    app_run_graph_for_one_pipeline: frame 140 beginning
    app_run_graph_for_one_pipeline: frame 141 beginning
    app_run_graph_for_one_pipeline: frame 142 beginning
    app_run_graph_for_one_pipeline: frame 143 beginning
    app_run_graph_for_one_pipeline: frame 144 beginning
    app_run_graph_for_one_pipeline: frame 145 beginning
    app_run_graph_for_one_pipeline: frame 146 beginning
    app_run_graph_for_one_pipeline: frame 147 beginning
    app_run_graph_for_one_pipeline: frame 148 beginning
    app_run_graph_for_one_pipeline: frame 149 beginning
    app_run_graph_for_one_pipeline: frame 150 beginning
    app_run_graph_for_one_pipeline: frame 151 beginning
    app_run_graph_for_one_pipeline: frame 152 beginning
    app_run_graph_for_one_pipeline: frame 153 beginning
    app_run_graph_for_one_pipeline: frame 154 beginning
    app_run_graph_for_one_pipeline: frame 155 beginning
    app_run_graph_for_one_pipeline: frame 156 beginning
    app_run_graph_for_one_pipeline: frame 157 beginning
    app_run_graph_for_one_pipeline: frame 158 beginning
    app_run_graph_for_one_pipeline: frame 159 beginning
    app_run_graph_for_one_pipeline: frame 160 beginning
    app_run_graph_for_one_pipeline: frame 161 beginning
    app_run_graph_for_one_pipeline: frame 162 beginning
    app_run_graph_for_one_pipeline: frame 163 beginning
    app_run_graph_for_one_pipeline: frame 164 beginning
    app_run_graph_for_one_pipeline: frame 165 beginning
    app_run_graph_for_one_pipeline: frame 166 beginning
    app_run_graph_for_one_pipeline: frame 167 beginning
    app_run_graph_for_one_pipeline: frame 168 beginning
    app_run_graph_for_one_pipeline: frame 169 beginning
    app_run_graph_for_one_pipeline: frame 170 beginning
    app_run_graph_for_one_pipeline: frame 171 beginning
    app_run_graph_for_one_pipeline: frame 172 beginning
    app_run_graph_for_one_pipeline: frame 173 beginning
    app_run_graph_for_one_pipeline: frame 174 beginning
    app_run_graph_for_one_pipeline: frame 175 beginning
    app_run_graph_for_one_pipeline: frame 176 beginning
    app_run_graph_for_one_pipeline: frame 177 beginning
    app_run_graph_for_one_pipeline: frame 178 beginning
    app_run_graph_for_one_pipeline: frame 179 beginning
    app_run_graph_for_one_pipeline: frame 180 beginning
    app_run_graph_for_one_pipeline: frame 181 beginning
    app_run_graph_for_one_pipeline: frame 182 beginning
    app_run_graph_for_one_pipeline: frame 183 beginning
    app_run_graph_for_one_pipeline: frame 184 beginning
    app_run_graph_for_one_pipeline: frame 185 beginning
    app_run_graph_for_one_pipeline: frame 186 beginning
    app_run_graph_for_one_pipeline: frame 187 beginning
    app_run_graph_for_one_pipeline: frame 188 beginning
    app_run_graph_for_one_pipeline: frame 189 beginning
    app_run_graph_for_one_pipeline: frame 190 beginning
    app_run_graph_for_one_pipeline: frame 191 beginning
    app_run_graph_for_one_pipeline: frame 192 beginning
    app_run_graph_for_one_pipeline: frame 193 beginning
    app_run_graph_for_one_pipeline: frame 194 beginning
    app_run_graph_for_one_pipeline: frame 195 beginning
    app_run_graph_for_one_pipeline: frame 196 beginning
    app_run_graph_for_one_pipeline: frame 197 beginning
    app_run_graph_for_one_pipeline: frame 198 beginning
    app_run_graph_for_one_pipeline: frame 199 beginning
    app_run_graph_for_one_pipeline: frame 200 beginning
    app_run_graph_for_one_pipeline: frame 201 beginning
    app_run_graph_for_one_pipeline: frame 202 beginning
    app_run_graph_for_one_pipeline: frame 203 beginning
    app_run_graph_for_one_pipeline: frame 204 beginning
    app_run_graph_for_one_pipeline: frame 205 beginning
    app_run_graph_for_one_pipeline: frame 206 beginning
    app_run_graph_for_one_pipeline: frame 207 beginning
    app_run_graph_for_one_pipeline: frame 208 beginning
    app_run_graph_for_one_pipeline: frame 209 beginning
    app_run_graph_for_one_pipeline: frame 210 beginning
    app_run_graph_for_one_pipeline: frame 211 beginning
    app_run_graph_for_one_pipeline: frame 212 beginning
    app_run_graph_for_one_pipeline: frame 213 beginning
    app_run_graph_for_one_pipeline: frame 214 beginning
    app_run_graph_for_one_pipeline: frame 215 beginning
    app_run_graph_for_one_pipeline: frame 216 beginning
    app_run_graph_for_one_pipeline: frame 217 beginning
    app_run_graph_for_one_pipeline: frame 218 beginning
    app_run_graph_for_one_pipeline: frame 219 beginning
    app_run_graph_for_one_pipeline: frame 220 beginning
    app_run_graph_for_one_pipeline: frame 221 beginning
    app_run_graph_for_one_pipeline: frame 222 beginning
    app_run_graph_for_one_pipeline: frame 223 beginning
    app_run_graph_for_one_pipeline: frame 224 beginning
    app_run_graph_for_one_pipeline: frame 225 beginning
    app_run_graph_for_one_pipeline: frame 226 beginning
    app_run_graph_for_one_pipeline: frame 227 beginning
    app_run_graph_for_one_pipeline: frame 228 beginning
    app_run_graph_for_one_pipeline: frame 229 beginning
    app_run_graph_for_one_pipeline: frame 230 beginning
    app_run_graph_for_one_pipeline: frame 231 beginning
    app_run_graph_for_one_pipeline: frame 232 beginning
    app_run_graph_for_one_pipeline: frame 233 beginning
    app_run_graph_for_one_pipeline: frame 234 beginning
    app_run_graph_for_one_pipeline: frame 235 beginning
    app_run_graph_for_one_pipeline: frame 236 beginning
    app_run_graph_for_one_pipeline: frame 237 beginning
    app_run_graph_for_one_pipeline: frame 238 beginning
    app_run_graph_for_one_pipeline: frame 239 beginning
    app_run_graph_for_one_pipeline: frame 240 beginning
    app_run_graph_for_one_pipeline: frame 241 beginning
    app_run_graph_for_one_pipeline: frame 242 beginning
    app_run_graph_for_one_pipeline: frame 243 beginning
    app_run_graph_for_one_pipeline: frame 244 beginning
    app_run_graph_for_one_pipeline: frame 245 beginning
    app_run_graph_for_one_pipeline: frame 246 beginning
    app_run_graph_for_one_pipeline: frame 247 beginning
    app_run_graph_for_one_pipeline: frame 248 beginning
    app_run_graph_for_one_pipeline: frame 249 beginning
    app_run_graph_for_one_pipeline: frame 250 beginning
    app_run_graph_for_one_pipeline: frame 251 beginning
    app_run_graph_for_one_pipeline: frame 252 beginning
    app_run_graph_for_one_pipeline: frame 253 beginning
    app_run_graph_for_one_pipeline: frame 254 beginning
    app_run_graph_for_one_pipeline: frame 255 beginning
    app_run_graph_for_one_pipeline: frame 256 beginning
    app_run_graph_for_one_pipeline: frame 257 beginning
    app_run_graph_for_one_pipeline: frame 258 beginning
    app_run_graph_for_one_pipeline: frame 259 beginning
    app_run_graph_for_one_pipeline: frame 260 beginning
    app_run_graph_for_one_pipeline: frame 261 beginning
    app_run_graph_for_one_pipeline: frame 262 beginning
    app_run_graph_for_one_pipeline: frame 263 beginning
    app_run_graph_for_one_pipeline: frame 264 beginning
    app_run_graph_for_one_pipeline: frame 265 beginning
    app_run_graph_for_one_pipeline: frame 266 beginning
    app_run_graph_for_one_pipeline: frame 267 beginning
    app_run_graph_for_one_pipeline: frame 268 beginning
    app_run_graph_for_one_pipeline: frame 269 beginning
    app_run_graph_for_one_pipeline: frame 270 beginning
    run_app_multi_cam.shapp_run_graph_for_one_pipeline: frame 271 beginning
    app_run_graph_for_one_pipeline: frame 272 beginning
    app_run_graph_for_one_pipeline: frame 273 beginning
    app_run_graph_for_one_pipeline: frame 274 beginning
    app_run_graph_for_one_pipeline: frame 275 beginning
    app_run_graph_for_one_pipeline: frame 276 beginning
    app_run_graph_for_one_pipeline: frame 277 beginning
    app_run_graph_for_one_pipeline: frame 278 beginning
    app_run_graph_for_one_pipeline: frame 279 beginning
    app_run_graph_for_one_pipeline: frame 280 beginning
    app_run_graph_for_one_pipeline: frame 281 beginning
    app_run_graph_for_one_pipeline: frame 282 beginning
    app_run_graph_for_one_pipeline: frame 283 beginning
    app_run_graph_for_one_pipeline: frame 284 beginning
    app_run_graph_for_one_pipeline: frame 285 beginning
    app_run_graph_for_one_pipeline: frame 286 beginning
    app_run_graph_for_one_pipeline: frame 287 beginning
    app_run_graph_for_one_pipeline: frame 288 beginning
    app_run_graph_for_one_pipeline: frame 289 beginning
    app_run_graph_for_one_pipeline: frame 290 beginning
    app_run_graph_for_one_pipeline: frame 291 beginning
    app_run_graph_for_one_pipeline: frame 292 beginning
    app_run_graph_for_one_pipeline: frame 293 beginning
    app_run_graph_for_one_pipeline: frame 294 beginning
    app_run_graph_for_one_pipeline: frame 295 beginning
    app_run_graph_for_one_pipeline: frame 296 beginning
    app_run_graph_for_one_pipeline: frame 297 beginning
    app_run_graph_for_one_pipeline: frame 298 beginning
    
    app_run_graph_for_one_pipeline: frame 299 beginning
    app_run_graph_for_one_pipeline: frame 300 beginning
    app_run_graph_for_one_pipeline: frame 301 beginning
    app_run_graph_for_one_pipeline: frame 302 beginning
    app_run_graph_for_one_pipeline: frame 303 beginning
    APP: Init QNX ... !!!     			    //raw format camera
    appIpcInit: IPC: Init QNX ... !!!
    appIpcInit: IPC: Init ... Done !!!
        93.316119 s: REMOTE_SERVICE: Init ... !!!
        93.316215 s: REMOTE_SERVICE: Init ... Done !!!
        93.316241 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        93.316264 s:  VX_ZONE_INIT:Enabled
        93.316276 s:  VX_ZONE_ERROR:Enabled
        93.316288 s:  VX_ZONE_WARNING:Enabled
        93.316493 s:  VX_ZONE_INIT:[tivxInit:71] Initialization Done !!!
        93.316528 s:  VX_ZONE_INIT:[tivxHostInit:48] Initialization Done for HOST !!!
    I2C Switch: '0' for SOC1, '1' for SOC2
    
        93.316852 s: ISS: I2C_Switch [0] ... !!!
        93.317129 s: ISS: I2C_Switch [0] done !!!
        93.317148 s: ISS: Enumerating sensors ... !!!
        93.317368 s: ISS: Enumerating sensors ... found 0 : MAX96722_MAX96717_OX03C10
        93.317389 s: ISS: Enumerating sensors ... found 1 : MAX96722_MAX96717_X1F
    2 sensor(s) found
    Supported sensor list:
    a : MAX96722_MAX96717_OX03C10
    b : MAX96722_MAX96717_X1F
    Select a sensor above or press '0' to autodetect the sensor
    Sensor selected : MAX96722_MAX96717_OX03C10
    Querying MAX96722_MAX96717_OX03C10
        93.317457 s: ISS: Querying sensor [MAX96722_MAX96717_OX03C10] ... !!!
        93.317655 s: ISS: Querying sensor [MAX96722_MAX96717_OX03C10] ... Done !!!
    LDC Selection Yes(1)/No(0)
    Max number of cameras supported by sensor MAX96722_MAX96717_OX03C10 = 8
    Please enter number of cameras to be enabled
    Camera Combo Select: '0' for Front-Wide/Left-Rear/Right-Rear, '1' for Front-Narrow/Left-Front/Right-Front, '2' for All six X3C, '3' for X1F,'4'for Front-Wide/Left-Rear/Right-Rear/x1F
    app_update_param_set num_cameras_enabled=3,obj->sensorObj.image_width =1920,obj->sensorObj.image_height = 1080 resized_width = 1920, resized_height = 1080
    Creating context done!
    Kernel loading done!
        93.318544 s: ISS: Initializing sensor [MAX96722_MAX96717_OX03C10], doing IM_SENSOR_CMD_PWRON ... !!!
    app_run_graph_for_one_pipeline: frame 304 beginning
        93.528855 s: ISS: Initializing sensor [MAX96722_MAX96717_OX03C10], doing IM_SENSOR_CMD_CONFIG ... !!!
        94.210404 s: ISS: Initializing sensor [MAX96722_MAX96717_OX03C10] ... Done !!!
    ##### initializing sensor MAX96722_MAX96717_OX03C10
    Sensor init done!
    captureObj->params.instId[0] = 1
    captureObj->params.instCfg[0].numDataLanes  = 4
    captureObj->params.dataLanesMap[0] = 1
    captureObj->params.dataLanesMap[1] = 2
    captureObj->params.dataLanesMap[2] = 3
    captureObj->params.dataLanesMap[3] = 4
    ==!!!!!== configure_capture_params  camera_mask = 0x70
    VISS init done!
    AEWB init done!
    Img Mosaic init done!
    Display init done!
    App Init Done!
    Graph create done!
    Capture graph done!
    VISS graph done!
    AEWB graph done!
    Img Mosaic graph done!status = 0
    Display graph done status = 0!
    Pipeline params setup done!
    App Create Graph Done!
    
    

    This is camera config:

    static vx_status configure_capture_params(vx_context context, CaptureObj *captureObj, SensorObj *sensorObj)
    {
    vx_status status = VX_SUCCESS;

    vx_uint32 num_capt_instances;
    vx_int32 id, lane, q, ch;

    if(sensorObj->num_cameras_enabled > 4)
    {
    num_capt_instances= 2;
    }
    else
    {
    num_capt_instances= 1;
    }

    captureObj->capture_format = sensorObj->sensor_out_format;

    tivx_capture_params_init(&captureObj->params);

    if (captureObj->enable_error_detection || captureObj->test_mode)
    {
    captureObj->params.timeout = 90;
    captureObj->params.timeoutInitial = 500;
    }
    captureObj->params.numInst = num_capt_instances;
    captureObj->params.numCh = sensorObj->num_cameras_enabled;

    ch = 0;
    for(id = 0; id < num_capt_instances; id++)
    {

    if(sensorObj->camera_mask == 0x70)
    captureObj->params.instId[id] = id + 1; //raw format camera
    else if(sensorObj->camera_mask == 0x0F)
    captureObj->params.instId[id] = id ; //yuv format camera

    captureObj->params.instCfg[id].enableCsiv2p0Support = (uint32_t)vx_true_e;
    captureObj->params.instCfg[id].numDataLanes = 4U;

    printf("captureObj->params.instId[%d] = %d \n",id,captureObj->params.instId[id]);
    printf("captureObj->params.instCfg[%d].numDataLanes = %d \n", id,captureObj->params.instCfg[id].numDataLanes);

    for (lane = 0; lane < captureObj->params.instCfg[id].numDataLanes; lane++)
    {
    captureObj->params.instCfg[id].dataLanesMap[lane] = lane + 1;
    printf("captureObj->params.dataLanesMap[%d] = %d \n",
    lane,
    captureObj->params.instCfg[id].dataLanesMap[lane]);
    }
    for (q = 0; q < NUM_CAPT_CHANNELS; q++)
    {
    captureObj->params.chVcNum[ch] = q;
    captureObj->params.chInstMap[ch] = id;
    ch++;
    }
    }
    else if(sensorObj->camera_mask == 0x70)//raw format camera
    {
    captureObj->params.chInstMap[0] = 1;
    captureObj->params.chVcNum[0] = 2;
    captureObj->params.chInstMap[1] = 1;
    captureObj->params.chVcNum[1] = 0;
    captureObj->params.chInstMap[2] = 1;
    captureObj->params.chVcNum[2] = 1;
    printf("==!!!!!== configure_capture_params camera_mask = 0x70 \n");

    }
    else if(sensorObj->camera_mask == 0x0F) //yuv format camera
    {
    captureObj->params.chInstMap[0] = 0;
    captureObj->params.chVcNum[0] = 0;
    captureObj->params.chInstMap[1] = 0;
    captureObj->params.chVcNum[1] = 1;
    captureObj->params.chInstMap[2] = 0;
    captureObj->params.chVcNum[2] = 2;
    captureObj->params.chInstMap[3] = 0;
    captureObj->params.chVcNum[3] = 3;
    printf("==!!!!!== configure_capture_params camera_mask = 0x0F \n");
    }

    captureObj->config = vxCreateUserDataObject(context, "tivx_capture_params_t", sizeof(tivx_capture_params_t), &captureObj->params);
    status = vxGetStatus((vx_reference)captureObj->config);

    if(status != VX_SUCCESS)
    {
    printf("[CAPTURE_MODULE] - Unable to create capture config object! \n");
    }

    return status;
    }

  • What happens when you start process #2? Does the first process continue to run?

    Is process #2 also trying to access display? Display can be accessed only by  process.

  • Hi ,

    Thank you for your replay .

    The first process runs in the background and then run the second process.

    When the second process is running, both  processes are stuck.

    Both processes need to be displayed on one screen.

    So I  want ot know why it got stuck?

  • >>Both processes need to be displayed on one screen

    This is not supported. Only 1 graph can access display node. Most probably this is the reason why it is stuck.

  • In other words, using two processes to run cameras with different (yuv,raw) formats  does not support displaying the same screen.