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.
Hello team,
In any vision-app (e.g. tidl_od_cam) we have display node which transfers the final ISP output to Display Port to render it further on a display screen.
As per our understanding, display port / display node is implemented and running on R5F core. (correct us if we are wrong)
Another topic is we have graphics utility to print/overlay the CPU statistics (cpu-load, DDR usage, etc..) at the bottom rows of application output on to the screen.
as per our understanding graphics is handled via OpenGL running on A72 core.
If we disable the display node and keep the graphics active, we still can see the CPU statistics only on the screen (with no rendered output from application)
Our query is like, looking at above scenario, is it the case that the same DP port is independently controlled by display node (from R5F) and openGL (from A72) ?
If yes, how ?
Hi Dinesh
As per our understanding, display port / display node is implemented and running on R5F core. (correct us if we are wrong)
Yes, you are correct
Another topic is we have graphics utility to print/overlay the CPU statistics (cpu-load, DDR usage, etc..) at the bottom rows of application output on to the screen.
as per our understanding graphics is handled via OpenGL running on A72 core.
No, the stats on the screen is not from the OpenGL or GPU. This is from the vision_apps utility called grpx and draw2D, which would use by default use display pipe 1 (could be changed in the application).
You could refer appGrpxInit() in the multi-cam application for the same. This is basically a separate graph with just a display node (with a specific pipe which is not used by anyone else)
Since the video pipes used are different, at the DP output, it get overlays based on the Z-order priority of the video pipes and then outputs to the DP.
Regards,
Nikhil
Hello Nikhil,
Thanks for the reply.
1. if graphics is using display pipe-1, then is it the case vision-app is using display pipe-0 ?
2. Could you point, where we are deciding display pipe numbers? and how their priority us decided during overlay?
3. could you guide us where/how we can change grpx`s display pipe number in application?
4. We could not find any good documentation on what is z-order priority, could you guide us on it further?
Hi,
1. if graphics is using display pipe-1, then is it the case vision-app is using display pipe-0 ?
2. Could you point, where we are deciding display pipe numbers?
This is configurable.
vision-app setting the pipe number could be found in the app_init_display() in vision_apps/modules/src/app_display_module.c (default is 0)
graphics setting pipe number could be found in appGrpxInitParamsInit() in vision_apps/utils/grpx/src/app_grpx.c (default is 1)
and how their priority us decided during overlay?
This is based on z-order that is being set in appDctrlDefaultInit() in vision_apps/utils/dss/src/app_dss_defaults.c
3. could you guide us where/how we can change grpx`s display pipe number in application?
Check for the API appGrpxInitParamsInit() in the multicam application and modify the pipe number present in its params after this.
We could not find any good documentation on what is z-order priority, could you guide us on it further?
The TRM briefly explains about the z-order for the layers. Please refer the sub-section DISPC Overlay Manager under section Display Subsystem (DSS) and Peripherals
Regards,
Nikhil