What does nvcamerasrc do?

I am just playing around with TX2 camera examples. I saw an example in the link

https://devtalk.nvidia.com/default/topic/1001696/jetson-tx1/failed-to-open-tx1-on-board-camera/post/5117370/#5117370

that uses opencv to display video from camera. I am new to gstreamer as well. I understand that the below gst pipeline

nvcamerasrc ! video/x-raw(memory:NVMM), width=(int)1280, height=(int)720,format=(string)I420, framerate=(fraction)24/1 ! nvvidconv flip-method=2 ! video/x-raw, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink

is used to fetch frames from the TX2 camera. So is nvcamerasrc a driver that initiates fetching video streams from the camera? If one has to design a custom camera, does this nvcamerasrc camera driver needs to replaced by the custom camera driver? Please help me understand what does nvcamerasrc do?

Please download the L4T Documentation to check the “Camera Architecture Stack”

ShaneCCC, or anyone else, can you please tell me which of the L4T documentation has the content shown in the picture regarding the Camera Architecture Stack, please?

As the explain it’s a gstreamer plugin element provides ISP support.

Hi ShaneCCC, I was asking about the source of the picture in your post. Could you please tell me where the block diagram came from? Thanks

Comes from L4T Documentation from Downloads from top header hyperlink.