Hello,
For camera driver testing, we would like to insert software defined test patterns through VI (or otherwise). One example could be a custom Bayer frame that we have collected or created manually in software. I found some information in the TRM under VI “Host1x Injection Path”, along with some register references VI_CSIMUX_INJECT_*.
Would that be an appropriate way to go about inserting Bayer frames into the pipeline for testing the camera pipeline with Bayer data that the sensor may produce? In a previous thread was described how to disable the NVCSI firewall – would that unlock these VI registers as well?
may I know what’s the actual use-case?
did you meant test the capture pipeline without physical camera sensor?
there’s VI test pattern generator (TPG), that kernel module should be built-in with default Jetpack release image.
you may insert it to linux kernel, for example, $ sudo insmod nvhost-vi-tpg-t19x.ko
TPG by default create 36 channels. you shall see video nodes, and you could initial v4l pipeline to access the stream for testing.
please have a try, thanks
Thanks, @JerryChang! As you say, the use case is testing the capture pipeline without a physical camera sensor. The use case is insertion of a specific RAW Bayer pattern (say, a fixed pre-recorded image or a custom designed test pattern in RAW) into the VI pipeline. That would exercise the capture pipeline (including camera driver) without the physical camera but with some pre-recorded test pattern. In the example you gave above, is that TPG configurable to allow insertion of custom patterns? Thanks!
you cannot modify the patterns, it’s sending color bar test-pattern to VI engine, you should insert the module and access to generated video nodes for checking.
Thanks, @JerryChang. Would the “Host1x Injection Path” (registers VI_CSIMUX_INJECT_*) permit custom patterns that we define? Curious if people have used this successfully.