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: SDE L2 config for large widths and disparities

Part Number: TDA4VM


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:

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1459092/tda4vm-edgeai-gst-plugins-tiovxsde-error-when-disparity-max-0

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