Android Hardware Abstraction Layer
Data Fields
camera3_capture_request Struct Reference

#include <camera3.h>

Data Fields

uint32_t frame_number
 
const camera_metadata_tsettings
 
camera3_stream_buffer_tinput_buffer
 
uint32_t num_output_buffers
 
const camera3_stream_buffer_toutput_buffers
 

Detailed Description

camera3_capture_request_t:

A single request for image capture/buffer reprocessing, sent to the Camera HAL device by the framework in process_capture_request().

The request contains the settings to be used for this capture, and the set of output buffers to write the resulting image data in. It may optionally contain an input buffer, in which case the request is for reprocessing that input buffer instead of capturing a new image with the camera sensor. The capture is identified by the frame_number.

In response, the camera HAL device must send a camera3_capture_result structure asynchronously to the framework, using the process_capture_result() callback.

Definition at line 1563 of file camera3.h.

Field Documentation

uint32_t frame_number

The frame number is an incrementing integer set by the framework to uniquely identify this capture. It needs to be returned in the result call, and is also used to identify the request in asynchronous notifications sent to camera3_callback_ops_t.notify().

Definition at line 1570 of file camera3.h.

camera3_stream_buffer_t* input_buffer

The input stream buffer to use for this request, if any.

If input_buffer is NULL, then the request is for a new capture from the imager. If input_buffer is valid, the request is for reprocessing the image contained in input_buffer.

In the latter case, the HAL must set the release_fence of the input_buffer to a valid sync fence, or to -1 if the HAL does not support sync, before process_capture_request() returns.

The HAL is required to wait on the acquire sync fence of the input buffer before accessing it.

Any input buffer included here will have been registered with the HAL through register_stream_buffers() before its inclusion in a request.

Definition at line 1598 of file camera3.h.

uint32_t num_output_buffers

The number of output buffers for this capture request. Must be at least 1.

Definition at line 1604 of file camera3.h.

const camera3_stream_buffer_t* output_buffers

An array of num_output_buffers stream buffers, to be filled with image data from this capture/reprocess. The HAL must wait on the acquire fences of each stream buffer before writing to them. All the buffers included here will have been registered with the HAL through register_stream_buffers() before their inclusion in a request.

The HAL takes ownership of the actual buffer_handle_t entries in output_buffers; the framework does not access them until they are returned in a camera3_capture_result_t.

Definition at line 1617 of file camera3.h.

const camera_metadata_t* settings

The settings buffer contains the capture and processing parameters for the request. As a special case, a NULL settings buffer indicates that the settings are identical to the most-recently submitted capture request. A NULL buffer cannot be used as the first submitted request after a configure_streams() call.

Definition at line 1579 of file camera3.h.


The documentation for this struct was generated from the following file: