Yes, my camera is bayer and outputs RG10. Doesn’t that gstreamer pipeline just specify the output format of the ISP?
It works on my reference system:
root@jetson-tx2:~# gst-launch-1.0 -v nvcamerasrc num-buffers=10 ! ‘video/x-raw(memory:NVMM),width=1352,height=762,format=I420,framerate=60/1’ ! fakesink silent=0
Setting pipeline to PAUSED …
Available Sensor modes :
4056 x 3040 FR=60.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
2024 x 1144 FR=60.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
1352 x 762 FR=60.000000 CF=0x1009208a10 SensorModeType=4 CSIPixelBitDepth=10 DynPixelBitDepth=10
Pipeline is live and does not need PREROLL …
NvCameraSrc: Trying To Set Default Camera Resolution. Selected sensorModeIndex = 2 WxH = 1352x762 FrameRate = 60.000000 …
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: stream-start (10254), GstEventStreamStart, stream-id=(string)48403087d7bfd2239eb4081ce9cea21d, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1;) 0x55949710f0
Setting pipeline to PLAYING …
New clock: GstSystemClock
/GstPipeline:pipeline0/GstNvCameraSrc:nvcamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1352, height=(int)762, format=(string)I420, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1352, height=(int)762, format=(string)I420, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: caps (12814), GstEventCaps, caps=(GstCaps)“video/x-raw(memory:NVMM),\ width=(int)1352,\ height=(int)762,\ format=(string)I420,\ framerate=(fraction)60/1”;) 0x55949711d0
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1352, height=(int)762, format=(string)I420, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1352, height=(int)762, format=(string)I420, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: segment (17934), GstEventSegment, segment=(GstSegment)“GstSegment, flags=(GstSegmentFlags)GST_SEGMENT_FLAG_NONE, rate=(double)1, applied-rate=(double)1, format=(GstFormat)GST_FORMAT_TIME, base=(guint64)0, offset=(guint64)0, start=(guint64)0, stop=(guint64)18446744073709551615, time=(guint64)0, position=(guint64)0, duration=(guint64)18446744073709551615;”;) 0x5594971240
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = preroll *******
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.276534304, pts: 0:00:00.276534304, duration: none, offset: -1, offset_end: -1, flags: 00000040 discont , meta: none) 0x7f8400e080
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.286429472, pts: 0:00:00.286429472, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e190
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.302640512, pts: 0:00:00.302640512, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e2a0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.319368352, pts: 0:00:00.319368352, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e3b0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.337600384, pts: 0:00:00.337600384, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e4c0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.354288800, pts: 0:00:00.354288800, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e5d0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.369906784, pts: 0:00:00.369906784, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e6e0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.388552064, pts: 0:00:00.388552064, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e7f0
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.406457216, pts: 0:00:00.406457216, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400e900
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = chain ******* (fakesink0:sink) (808 bytes, dts: 0:00:00.425618592, pts: 0:00:00.425618592, duration: none, offset: -1, offset_end: -1, flags: 00000000 , meta: none) 0x7f8400ea10
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = event ******* (fakesink0:sink) E (type: eos (28174), ) 0x55949712b0
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.426453472
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …
And here is part of the output from nvcamera-daemon showing that the input is 10-bit bayer data:
Using ISP A
LSC: LSC surface is not based on full res!
AC plugin not present: dlopen “acplugin.so”, acplugin.so: cannot open shared object file: No such file or directory
No library found, disabling AC plugin.
Worker thread CaptureDispatcher start
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeMode: Target mode Id(2): Resolution 1352x762
setActiveBufferMemory: 2
INPUT: Width 1352 Height 762 pixelformat RG10
writeFrameRate: INPUT frameLength:3102, frameRate:60.000000
writeGain: INPUT gainCtrl:100 analogGain:1.000000
writeExposure: INPUT coarseTime:3092, expTime:0.016608
updateOutputSettings: OUTPUT frameLength:3102, frameRate:60.016186
updateOutputSettings: OUTPUT analogGain:1.000000
updateOutputSettings: OUTPUT coarseTime:3092, expTime:0.016608
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 0, after:1
request table for VI 0:
req[0]: output Bpp=10
req[0]: sensor pixelRate=840000000 pixels/sec
req[0]: input width=1352, input height=762, input Bpp=10
pixels per clock=8
req[0]: input width=1352, input height=762, input Bpp=10
req[0]: output width=1352, output height=762, output Bpp=10
req[0]: input fps=60
req[0]: guID=2, stage type=SensorCapture
req[0]: clock=105000000 Hz, iso bw=2147483647 KB/s, non-iso bw=0 KB/s
req[900]: timeout=0
PowerServiceHw:addRequest: table size: before: 0, after:1
request table for CSI 0:
req[0]: sensor pixelRate=840000000 pixels/sec
req[0]: input width=1352, input height=762, input Bpp=10
pixels per clock=8
req[0]: input width=1352, input height=762, input Bpp=10
req[0]: output width=1352, output height=762, output Bpp=10
req[0]: input fps=60
req[0]: guID=2, stage type=SensorCapture
req[0]: clock=131250000 Hz, iso bw=0 KB/s, non-iso bw=0 KB/s
req[900]: timeout=0
PowerServiceHwVi:setIso: m_bwVal_Iso=2147483647
PowerServiceHw:setClock: PowerServiceHw[1]: requested_clock_Hz=225000000
PowerServiceHw:setClock: PowerServiceHw[0]: requested_clock_Hz=225000000
PowerServiceCore:setCameraBw: totalIsoBw=2147483647
SCF: Error InvalidState: NonFatal ISO BW requested not set. Requested = 2147483647 Set = 3925327 (in src/services/power/PowerServiceCore.cpp, function setCameraBw(), line 653)
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
No output buffers for 2
No output buffers for 1
InstructionList:
Created fiber 0x7f68000b20 for CC 101 globalID 101 session 2Thread 1 is working on CC 101 session 2 globalID 101 step 0
CC 101 session 2 completed step 0 in fiber 0x7f68000b20
cc 101(0) session 2 runCount=0 runIspOut=0, latest ccId=0
CC 101 session 2 completed step 1 in fiber 0x7f68000b20
NV AE and AfApply algorithms are active.
CC 101 session 2 completed step 2 in fiber 0x7f68000b20
CC 101 session 2 completed step 3 in fiber 0x7f68000b20
Thread 2 is working on CC 102 session 2 globalID 102 step 0
Created fiber 0x7f68000dd0 for CC 102 globalID 102 session 2
CC 102 session 2 completed step 0 in fiber 0x7f68000dd0
cc 102(1) session 2 runCount=1 runIspOut=0, latest ccId=0
CC 102 session 2 completed step 1 in fiber 0x7f68000dd0
NV AE and AfApply algorithms are active.
CC 102 session 2 completed step 2 in fiber 0x7f68000dd0
CC 102 session 2 completed step 3 in fiber 0x7f68000dd0
CC 102 session 2 stalled step 4 in fiber 0x7f68000dd0
FiberScheduler: cc 102, session 2 fiber 0x7f68000dd0 not ready to execute stalled on 0x7facc553b0 stage…