camera3_capture_request 구조체 참조
#include <
camera3.h
>
데이터 필드 |
|
uint32_t | frame_number |
const camera_metadata_t * | 설정 |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | output_buffers |
상세 설명
camera3_capture_request_t:
process_capture_request()에서 프레임워크가 카메라 HAL 기기로 전송하는 이미지 캡처/버퍼 재처리를 위한 단일 요청입니다.
요청에는 이 캡처에 사용할 설정과 결과 이미지 데이터를 쓸 출력 버퍼 집합이 포함됩니다. 원하는 경우 입력 버퍼를 포함할 수 있습니다. 이 경우 카메라 센서로 새 이미지를 캡처하는 대신 입력 버퍼를 다시 처리하도록 요청합니다. 캡처는 frame_number로 식별됩니다.
이에 따라 카메라 HAL 기기는 process_capture_result() 콜백을 사용하여 camera3_capture_result 구조를 프레임워크에 비동기식으로 전송해야 합니다.
필드 문서
uint32_t frame_number |
프레임 번호는 프레임워크에서 이 캡처를 고유하게 식별하기 위해 설정하는 증가 정수입니다. 결과 호출에서 반환되어야 하며 camera3_callback_ops_t.notify() 에 전송된 비동기 알림에서 요청을 식별하는 데도 사용됩니다.
camera3_stream_buffer_t * input_buffer |
이 요청에 사용할 입력 스트림 버퍼(있는 경우)입니다.
input_buffer가 NULL이면 이미지러의 새 캡처를 요청하는 것입니다. input_buffer가 유효하면 input_buffer에 포함된 이미지를 다시 처리하라는 요청입니다.
후자의 경우 HAL은 process_capture_request()가 반환되기 전에 input_buffer의 release_fence를 유효한 동기화 울타리로 설정하거나 HAL이 동기화를 지원하지 않는 경우 -1로 설정해야 합니다.
HAL은 입력 버퍼에 액세스하기 전에 입력 버퍼의 획득 동기화 펜스를 기다려야 합니다.
<= CAMERA_DEVICE_API_VERSION_3_1:
여기에 포함된 모든 입력 버퍼는 요청에 포함되기 전에 register_stream_buffers()를 통해 HAL에 등록됩니다.
>= CAMERA_DEVICE_API_VERSION_3_2:
버퍼는 HAL에 사전 등록되지 않습니다. 후속 요청은 버퍼를 재사용하거나 완전히 새 버퍼를 제공할 수 있습니다.
const camera3_stream_buffer_t * output_buffers |
이 캡처/재처리에서 이미지 데이터로 채워질 num_output_buffers 스트림 버퍼 배열입니다. HAL은 각 스트림 버퍼에 쓰기 전에 각 스트림 버퍼의 획득 펜스를 기다려야 합니다.
HAL은 output_buffers의 실제 buffer_handle_t 항목의 소유권을 갖습니다. 프레임워크는 camera3_capture_result_t에서 반환될 때까지 이러한 항목에 액세스하지 않습니다.
<= CAMERA_DEVICE_API_VERSION_3_1:
여기에 포함된 모든 버퍼는 요청에 포함되기 전에 register_stream_buffers()를 통해 HAL에 등록됩니다.
>= CAMERA_DEVICE_API_VERSION_3_2:
여기에 포함된 버퍼의 일부 또는 전부가 이 요청에서 완전히 새 버퍼일 수 있습니다 (HAL에서 이전에 본 적이 없음).
const camera_metadata_t * settings |
이 구조체에 관한 문서는 다음 파일에서 생성되었습니다.
- hardware/libhardware/include/hardware/ camera3.h