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: Vision_apps: mosaicNode and MSC relationship

Part Number: TDA4VM

Hi TI members:

We have one TDA4VM customer board,

Recently we try the vx_app_tidl_od.out on our customer board,

and we find there is one issue that our MSC1 always run 0%, like below picture

and compare the vision_apps document, the MSC1 should have 9% usage-rate.

After this, I try to modify the app_create_graph_img_mosaic in psdkra/vision_apps/modules/src/app_img_mosaic_module.c, like below

diff --git a/modules/src/app_img_mosaic_module.c b/modules/src/app_img_mosaic_module.c
index 7b26def..32308ae 100644
--- a/modules/src/app_img_mosaic_module.c
+++ b/modules/src/app_img_mosaic_module.c
@@ -190,7 +190,7 @@ vx_status app_create_graph_img_mosaic(vx_graph graph, ImgMosaicObj *imgMosaicObj
         #ifdef x86_64
         vxSetNodeTarget(imgMosaicObj->node, VX_TARGET_STRING, TIVX_TARGET_DSP1);
         #else
-        vxSetNodeTarget(imgMosaicObj->node, VX_TARGET_STRING, TIVX_TARGET_VPAC_MSC1);
+        vxSetNodeTarget(imgMosaicObj->node, VX_TARGET_STRING, TIVX_TARGET_VPAC_MSC2);
         #endif
         vxSetReferenceName((vx_reference)imgMosaicObj->node, "mosaic_node");
     }

But after this modify on our customer board, I still see the MSC0 have value, MSC1 still null.

So I have some questions:

1. Do the MSC1 didn't run is normal when we run the vx_app_tidl_od.out demo? 

2. As my modify, does the TIVX_TARGET_VPAC_MSC2 just mean the MSC1?
    or does I miss some code that need to modify for MSC1?  so I can't see the MSC1 run.

Can someone help to answer?

  • The Mosaic node by default uses both MSC0 and MSC1 to perform the required task. This is set by calling the tivxImgMosaicParamsSetDefaults() function in the app's respective main.c. However you can override this default and assign just one MSC to Mosaic Node. 

    Regards,
    Shyam

  • Hi Shyam:

    Thanks your information, 

    after I try to modify the num_msc_instances / msc_instance in tivxImgMosaicParamsSetDefaults()  as below 

    diff --git a/kernels/img_proc/host/tivx_img_mosaic_host.c b/kernels/img_proc/host/tivx_img_mosaic_host.c
    index 350aef4..61fc599 100644
    --- a/kernels/img_proc/host/tivx_img_mosaic_host.c
    +++ b/kernels/img_proc/host/tivx_img_mosaic_host.c
    @@ -225,6 +225,6 @@ void tivxImgMosaicParamsSetDefaults(tivxImgMosaicParams *prms)
         memset(prms, 0, sizeof(tivxImgMosaicParams));
    
         prms->enable_overlay    = 0;
    -    prms->num_msc_instances = 2;
    -    prms->msc_instance      = 0;
    +    prms->num_msc_instances = 1;
    +    prms->msc_instance      = 1;
     }

    Now I can see the MSC1 run about 10% usage-rate.

    But just like your describle, the origin mosaic node by default uses both MSC0 and MSC1,

    why in our customer board, the origin MSC1 seen always not run?

    Do you have any idea? 

    BR

    Sentinen Chen

  • In the default mode, since both MSC instances are used the performance logger reports the loading only for one MSC instance. Ill file a bug and follow up on the fix if possible. Thanks for pointing out.