Tool/software:
Hello,
A few months ago I've asked about tiovxsde errors when using it with high disparity-max values, here's the relevant thread:
In short, it looks like the tiovxsde plugin fails with wide enoguh images and disparity values, due to some "limitations of the Shared L2 Cache".
Since I need to use the accelerator with large frames and high disparity values, I'd like to better understand these limitations, and find a solution for it.
If needed, I can use edgeai-tiovx-modules instead of gstreamer, but I need some pointers to get started:
- What are these limitations? Where can I find relevant documentation for how this memory is being accessed and configured?
- This app_tiovx_sde_module_test.c should be a good starting point for performing SDE with the modules, but I cannot see where the L2 is being configured...
I kind of expected to find a tivxMemAlloc() call with a TIVX_MEM_INTERNAL_L2 in src/tiovx_sde_module.c, or some other file... Or is this L2 config performed by the ovx kernel itself?
A powerful hint abould what could be going wrong is that for a given max-disparity value the failures happen only after a certain width, independently from the height.
Experimentally, proceeding with increments of 32px, I found out that:
- With max-disparity=2 it works up to 1152px
- With max-disparity=1 it works up to 1312px
- With max-disparity=0 it works up to 1472px
This is the kind of pipeline I'm using for the tests:
gst-launch-1.0 \ videotestsrc ! video/x-raw, format=NV12, width=2048, height=1024 ! queue ! sde.right_sink \ videotestsrc ! video/x-raw, format=NV12, width=2048, height=1024 ! queue ! sde.left_sink \ tiovxsde name=sde disparity-max=2 ! fakesink
Performing SDE at this resolution should be possible, as also described by table 6-173 of the Technical Reference Manual
Thanks for the support,
Loris