Hi,
I’m using TX2NX on JP 4.6.3, but I think this question related to all Jetson platforms.
In code of gst-nvarguscamera_src
package inside L4T 32.7.3 public source, I saw that the CaptureSession
creates request without arguments:
// Create capture request and enable output stream.
src->request = UniqueObj<Request>(iCaptureSession->createRequest());
iRequest = interface_cast<IRequest>(src->request);
src->iRequest_ptr = iRequest;
if (!iRequest)
ORIGINATE_ERROR("Failed to create Request");
iRequest->enableOutputStream(src->outputStream.get());
From createRequest()
API (Jetson Linux API Reference: Argus::ICaptureSession Class Reference | NVIDIA Docs), the CAPTURE_INTENT_PREVIEW
was used for this default request created.
From definition of CAPTURE_INTENT_PREVIEW
,
/**
* A CaptureIntent may be provided during capture request creation to initialize the new
* Request with default settings that are appropriate for captures of the given intent.
* More details regarding each intent are as follows:
* MANUAL intent disables auto white balance and auto-focus.
* PREVIEW intent disables noise reduction related post-processing in order to
* reduce latency and resource usage.
* STILL_CAPTURE intent enables Noise Reduction related post-processing in order
* to optimize still image quality.
* VIDEO_RECORD intent enables motion sensors related post-processing to optimize
* the video quality.
* Apart from above processing blocks each intent also helps in optimizing the
* processing resource usage appropriate for that intent.
*/
DEFINE_NAMED_UUID_CLASS(CaptureIntent);
DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_MANUAL, FB3F3663,CC62,11E5,9956,62,56,62,87,07,61);
DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_PREVIEW, FB3F3664,CC62,11E5,9956,62,56,62,87,07,61);
DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_STILL_CAPTURE, FB3F3665,CC62,11E5,9956,62,56,62,87,07,61);
DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_VIDEO_RECORD, FB3F3666,CC62,11E5,9956,62,56,62,87,07,61);
DEFINE_UUID(CaptureIntent, CAPTURE_INTENT_VIDEO_SNAPSHOT, FB3F3667,CC62,11E5,9956,62,56,62,87,07,61);
The PREVIEW
option will disable noise reduction related post-processing.
In gstnvarguscamerasrc
plugin, has two properties for noise reduction:
tnr-strength : property to adjust temporal noise reduction strength
flags: readable, writable
Float. Range: -1 - 1 Default: -1
tnr-mode : property to select temporal noise reduction mode
flags: readable, writable
Enum "GstNvArgusCamTNRMode" Default: 1, "NoiseReduction_Fast"
(0): NoiseReduction_Off - GST_NVCAM_NR_OFF
(1): NoiseReduction_Fast - GST_NVCAM_NR_FAST
(2): NoiseReduction_HighQuality - GST_NVCAM_NR_HIGHQUALITY
So that means the noise reduction options in gstnvarguscamerasrc
plugin are not affected?
To have noise reduction in gstnvarguscamerasrc
, have to change its code to use CAPTURE_INTENT_VIDEO_RECORD
in CaptureRequest
?
Thank you.