Hi,
I used JetsonTX2i with CSI raw12 camera (li-imx264) with pipeline:
gst-launch-1.0 nvarguscamerasrc aeantibanding=0 ! video/x-raw(memory:NVMM),width=(int)2448,height=(int)2058,framerate=(fraction)25/1,format=(string)NV12 ! nvvidconv left=0 top=0 bottom=2058 right=2448 flip-method=2 ! video/x-raw,width=1280,height=960,format=I420 ! appsink
I am interested in hardware jpg encoding/decoding. But after installing MultimediaAPI, nvargus-daemon catches errors or even segfault.
Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
Created fiber 0x7f50000b20 for CC 101 globalID 101 session 0
Thread 1 is working on CC 101 session 0 globalID 101 step 0
CC 101 session 0 completed step 0 in fiber 0x7f50000b20
cc 101(1) session 0 runCount=0 runIspOut=0, latest ccId=0
CC 101 session 0 completed step 1 in fiber 0x7f50000b20
NV AE and AfApply algorithms are active.
CC 101 session 0 completed step 2 in fiber 0x7f50000b20
CC 101 session 0 completed step 3 in fiber 0x7f50000b20
CC 101 session 0 completed step 4 in fiber 0x7f50000b20
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000
Created fiber 0x7f50000dd0 for CC 102 globalID 102 session 0
Thread 2 is working on CC 102 session 0 globalID 102 step 0
CC 102 session 0 completed step 0 in fiber 0x7f50000dd0
cc 102(2) session 0 runCount=1 runIspOut=0, latest ccId=0
CC 102 session 0 completed step 1 in fiber 0x7f50000dd0
NV AE and AfApply algorithms are active.
Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000
CC 102 session 0 completed step 2 in fiber 0x7f50000dd0
CC 102 session 0 completed step 3 in fiber 0x7f50000dd0
CC 102 session 0 completed step 4 in fiber 0x7f50000dd0
CC 101 session 0 completed step 5 in fiber 0x7f50000b20
CC 101 session 0 completed step 6 in fiber 0x7f50000b20
CC 101 session 0 completed step 7 in fiber 0x7f50000b20
CC 101 session 0 completed step 8 in fiber 0x7f50000b20
CC 101 session 0 processing step 9 in fiber 0x7f50000b20
FiberScheduler: cc 101, session 0, fiber 0x7f50000b20 in progress...
Thread 3 is waiting
Thread 1 getting next capture
Thread 1 is waiting
CC 102 session 0 completed step 5 in fiber 0x7f50000dd0
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeMode: Target mode Id(0): Resolution 2448x2058
CC 102 session 0 completed step 6 in fiber 0x7f50000dd0
CC 102 session 0 completed step 7 in fiber 0x7f50000dd0
CC 102 session 0 completed step 8 in fiber 0x7f50000dd0
CC 102 session 0 processing step 9 in fiber 0x7f50000dd0
FiberScheduler: cc 102, session 0, fiber 0x7f50000dd0 in progress...
Thread 2 getting next capture
Thread 4 is waiting
Thread 2 is waiting
writeFrameRate: INPUT frameRate:38.000000
writeGain: INPUT gainCtrl:0 analogGain:0.000000
updateOutputSettings: OUTPUT frameRate:38.000000
updateOutputSettings: OUTPUT analogGain:1.000000
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeFrameRate: INPUT frameRate:30.000002
writeExposure: INPUT expTime:0.033330
updateOutputSettings: OUTPUT frameRate:30.000002
updateOutputSettings: OUTPUT expTime:0.033330
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 0, after:1
request table for ISP 0:
req[0]: output1 width=320, output1 height=200, output1 Bpp=16
req[0]: output2 width=320, output2 height=200, output2 Bpp=16
req[0]: input width=2448, input height=2058, input Bpp=12
req[0]: output width=164, output height=138, output Bpp=16
req[0]: input fps=38
req[0]: guID=0, stage type=SensorIspCapture
req[0]: clock=0 Hz, iso bw=146466 KB/s, non-iso bw=0 KB/s
req[450]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=146466 and m_bwVal_NonIso=0 KBpS
PowerServiceCore:setCameraBw: totalIsoBw=146466
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeFrameRate: INPUT frameRate:38.000000
updateOutputSettings: OUTPUT frameRate:38.000000
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeFrameRate: INPUT frameRate:30.000002
updateOutputSettings: OUTPUT frameRate:30.000002
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 1, after:2
request table for ISP 0:
req[0]: output1 width=320, output1 height=200, output1 Bpp=16
req[0]: output2 width=320, output2 height=200, output2 Bpp=16
req[0]: input width=2448, input height=2058, input Bpp=12
req[0]: output width=164, output height=138, output Bpp=16
req[0]: input fps=38
req[0]: guID=0, stage type=SensorIspCapture
req[0]: clock=0 Hz, iso bw=146466 KB/s, non-iso bw=0 KB/s
req[410]: timeout=0
req[1]: output1 width=320, output1 height=200, output1 Bpp=16
req[1]: output2 width=640, output2 height=538, output2 Bpp=13
req[1]: input width=2448, input height=2058, input Bpp=12
req[1]: output width=2448, output height=2058, output Bpp=12
req[1]: input fps=38
req[1]: guID=0, stage type=SensorIspCapture
req[1]: clock=0 Hz, iso bw=557829 KB/s, non-iso bw=0 KB/s
req[450]: timeout=0
PowerServiceHw:updateRequests: table size: before: 2, after:2
request table for ISP 0:
req[0]: output1 width=320, output1 height=200, output1 Bpp=16
req[0]: output2 width=320, output2 height=200, output2 Bpp=16
req[0]: input width=2448, input height=2058, input Bpp=12
req[0]: output width=164, output height=138, output Bpp=16
req[0]: input fps=38
req[0]: guID=0, stage type=SensorIspCapture
req[0]: clock=0 Hz, iso bw=146466 KB/s, non-iso bw=0 KB/s
req[406]: timeout=0
req[1]: output1 width=320, output1 height=200, output1 Bpp=16
req[1]: output2 width=640, output2 height=538, output2 Bpp=13
req[1]: input width=2448, input height=2058, input Bpp=12
req[1]: output width=2448, output height=2058, output Bpp=12
req[1]: input fps=38
req[1]: guID=0, stage type=SensorIspCapture
req[1]: clock=0 Hz, iso bw=557829 KB/s, non-iso bw=0 KB/s
req[446]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=557829 and m_bwVal_NonIso=0 KBpS
PowerServiceCore:setCameraBw: totalIsoBw=557829
Created fiber 0x7f50000f70 for CC 103 globalID 103 session 0
Thread 5 is working on CC 103 session 0 globalID 103 step 0
Session::updatePerfHints()
updatePerfHints(): guid=0ll, CaptureIntent=1
updatePerfHints(): NvCameraCoreUseCase_Preview
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=1, m_value=30, m_timeout_ms=1000
CC 103 session 0 completed step 0 in fiber 0x7f50000f70
NvPHSSendThroughputHints: sensorId=0, m_usecase=4, m_type=15, m_value=0, m_timeout_ms=1000
cc 103(3) session 0 runCount=2 runIspOut=0, latest ccId=0
CC 103 session 0 completed step 1 in fiber 0x7f50000f70
NV AE and AfApply algorithms are active.
CC 103 session 0 completed step 2 in fiber 0x7f50000f70
CC 103 session 0 completed step 3 in fiber 0x7f50000f70
CC 103 session 0 completed step 4 in fiber 0x7f50000f70
CC 103 session 0 completed step 5 in fiber 0x7f50000f70
CC 103 session 0 completed step 6 in fiber 0x7f50000f70
CC 103 session 0 completed step 7 in fiber 0x7f50000f70
CC 103 session 0 completed step 8 in fiber 0x7f50000f70
CC 103 session 0 processing step 9 in fiber 0x7f50000f70
FiberScheduler: cc 103, session 0, fiber 0x7f50000f70 in progress...
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 is waiting
NvViErrorDecode Stream 0.0 failed: ts 538196203456 frame 1 error 2 data 0x00400060
NvViErrorDecode CaptureError: CsimuxFrameError (2)
NvViErrorDecode See https://wiki.nvidia.com/wmpwiki/index.php/Camera_Debugging/CaptureError_debugging for more information and links to documents.
CsimuxFrameError_Regular : 0x00400060
Stream ID [ 2: 0]: 0
VPR state from fuse block [ 3]: 0
Frame end (FE) [ 5]: 1
A frame end has been found on a regular mode stream.
CSI_FAULT [ 6]: 1
An FE packet was found and marked with a CSI Error
CSI_CODE [25:20]: 0x4
Check the CSI specification for the meaning. See https://wiki.nvidia.com/wmpwiki/index.php/Camera_Debugging/CaptureError_debugging#CSI_CODE
NvViCsiAbort - close channel, release syncpts
captureErrorCallback Stream 0.0 capture 1 failed: ts 538196203456 frame 1 error 2 data 0x00400060
SCF: Error BadValue: timestamp cannot be 0 (in src/services/capture/NvViCsiHw.cpp, function waitCsiFrameStart(), line 624)
SCF: Error BadValue: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error BadValue: Worker thread ViCsiHw frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout: (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
Created fiber 0x7f50001110 for CC 104 globalID 104 session 0
Thread 7 is working on CC 104 session 0 globalID 104 step 0
Fiber 0x7f50001110 is aborting in CC 104 Session 0
FiberScheduler: cc 104 session 0, fiber 0x7f50001110 aborted
FiberScheduler: fiber 0x7f50001110 exiting
Thread 7 getting next capture
Thread 8 is waiting
Thread 9 is waiting
Thread 7 is waiting
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
SCF: Error InvalidState: (propagating from src/services/capture/NvViCsiHw.cpp, function startCapture(), line 502)
FiberScheduler: cc 101, session 0, fiber 0x7f50000b20 aborted in async operation
SCF: Error InvalidState: (propagating from src/services/capture/DeviceRecordNv.cpp, function doCSItoISPCapture(), line 110)
SCF: Error InvalidState: (propagating from src/services/capture/CaptureRecord.cpp, function doCSItoISPCapture(), line 547)
SCF: Error InvalidState: (propagating from src/services/capture/CaptureRecord.cpp, function issueCapture(), line 460)
SCF: Error InvalidState: (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1276)
SCF: Error InvalidState: (propagating from src/services/capture/CaptureServiceDevice.cpp, function issueCaptures(), line 1107)
SCF: Error OverFlow: (propagating from src/services/capture/CaptureServiceDevice.cpp, function returnRequestPoolCaptures(), line 1226)
FiberScheduler: fiber 0x7f50000b20 exiting
FiberScheduler: cc 101, session 0, fiber 0x7f50000b20 aborted in async operation
SCF: Error OverFlow: (propagating from src/services/capture/CaptureServiceDevice.cpp, function checkCaptureComplete(), line 1198)
SCF: Error BadParameter: Fiber not present (in src/components/CaptureContainerImpl.cpp, function detachFiber(), line 597)
SCF: Error BadParameter: CC not being processed (in src/api/Session.cpp, function processingEnding(), line 1080)
SCF: Error OverFlow: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
Thread 10 is waiting
SCF: Error OverFlow: Worker thread CaptureScheduler checkFramePending failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error InvalidState: Active fiber not found (in src/components/FiberScheduler.cpp, function endOfLife(), line 548)
FiberScheduler: fiber 0x7f50000b20 exiting
disposing CC 101 Session 0
Thread 11 is waiting
SCF: Error Timeout: (propagating from src/api/Buffer.cpp, function waitForUnlock(), line 637)
SCF: Error Timeout: (propagating from src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 358)
SCF: Error Timeout: (propagating from src/api/Buffer.cpp, function waitForUnlock(), line 637)
SCF: Error Timeout: (propagating from src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 358)
SCF: Error Timeout: (propagating from src/api/Buffer.cpp, function waitForUnlock(), line 637)
SCF: Error Timeout: (propagating from src/components/CaptureContainerImpl.cpp, function returnBuffer(), line 358)
SCF: Error InvalidState: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error InvalidState: Worker thread CaptureScheduler frameStart failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
SCF: Error Timeout: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
SCF: Error BadParameter: CC has already been disposed (in src/components/CaptureContainerManager.cpp, function dispose(), line 161)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout: ISP port 1 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 501)
SCF: Error Timeout: ISP port 2 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 512)
SCF: Error Timeout: (propagating from src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 519)
SCF: Error Timeout: (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error Timeout: Worker thread IspHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 133)
=== gst-launch-1.0[7664]: Connection closed (7FAD29C1D0)=== gst-launch-1.0[7664]: WARNING: CameraProvider was not destroyed before client connection terminated.=== gst-launch-1.0[7664]: The client may have abnormally terminated. Destroying CameraProvider...=== gst-launch-1.0[7664]: CameraProvider destroyed (0x7fa86d0cb0)=== gst-launch-1.0[7664]: WARNING: Cleaning up 1 outstanding requests...=== gst-launch-1.0[7664]: WARNING: Cleaning up 1 outstanding streams...SCF: Error InvalidState: 2 buffers still pending during EGLStreamProducer destruction (propagating from src/services/gl/EGLStreamProducer.cpp, function freeBuffers(), line 305)
SCF: Error InvalidState: (propagating from src/services/gl/EGLStreamProducer.cpp, function ~EGLStreamProducer(), line 50)
=== gst-launch-1.0[7664]: WARNING: Cleaning up 1 outstanding stream settings...=== gst-launch-1.0[7664]: WARNING: Cleaning up 1 outstanding sessions...waitForIdleLocked remaining request 103
waitForIdleLocked remaining request 102
SCF: Error Timeout: waitForIdle() timed out (in src/api/Session.cpp, function waitForIdleLocked(), line 920)
(Argus) Error Timeout: (propagating from src/api/CaptureSessionImpl.cpp, function destroy(), line 166)
v4l2-ctl is fine:
v4l2-ctl -d /dev/video0 -w --verbose --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test2.raw
nvbuf_utils: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
Opening in BLOCKING MODE
VIDIOC_QUERYCAP: ok
VIDIOC_S_EXT_CTRLS: ok
VIDIOC_REQBUFS: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_QUERYBUF: ok
VIDIOC_QBUF: ok
VIDIOC_STREAMON: ok
Index : 3
Type : Video Capture
Flags : mapped
Field : None
Sequence : 3
Length : 10075968
Bytesused: 10075968
Timestamp: 0.000000s (Monotonic, End-of-Frame)
VIDIOC_STREAMOFF: ok