Documentation for capture intent

Argus::ICaptureSession::createRequest takes an intent parameter that defaults to CAPTURE_INTENT_PREVIEW. The only documentation I can find on these are some comments in Types.h:

/**

  • 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.
  • For example, a PREVIEW intent may disable post-processing in order to reduce latency
  • and resource usage while a STILL_CAPTURE intent will enable post-processing in order
  • to optimize still image quality.
    */
    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);

Is there a more in-depth explanation available? Exactly what settings are changed based on this value? How does CAPTURE_INTENT_PREVIEW differ from CAPTURE_INTENT_VIDEO_RECORD?

They are define the default control properties for different use case.
You also can change them by the control API.

Yes, but exactly what properties do they control? Anything besides post-processing, etc…? By post-processing, does that mean denoise, edge-enhancement, anything else? That’s my question. Also, what’s the difference between CAPTURE_INTENT_PREVIEW and CAPTURE_INTENT_VIDEO_RECORD? It seems very strange to make this a setting and then provide no useful documentation on it.

Bumping one last time. Hopefully someone knows what these do.

We have an internal discussion to check if we can have some doc for this.

Curious if there was ever documentation for this?

I was also curious about NvBufferTag that’s specified in NvBufferCreateParams. Do the different values actually do anything? Will setting NvBufferTag_NONE vs NvBufferTag_CAMERA vs NvBufferTag_JPEG change behavior anywhere?

Is there any more documentation available for the difference between CAPTURE_INTENT_PREVIEW and CAPTURE_INTENT_VIDEO_RECORD?

Have a check the …/public/include/Argus/Types.h from multimedia API source.

/**
 * 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.
 */