tham chiếu cấu trúc camera3_capture_request
#include < camera3.h >
Trường dữ liệu | |
uint32_t | số_khung |
const camera_metadata_t * | cài đặt |
camera3_stream_buffer_t * | đầu vào_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | đầu ra_buffers |
miêu tả cụ thể
camera3_capture_request_t:
Một yêu cầu duy nhất về chụp ảnh/xử lý lại bộ đệm, được khung gửi đến thiết bị Camera HAL trong process_capture_request().
Yêu cầu chứa các cài đặt được sử dụng cho quá trình chụp này và tập hợp bộ đệm đầu ra để ghi dữ liệu hình ảnh kết quả vào. Nó có thể tùy ý chứa bộ đệm đầu vào, trong trường hợp đó, yêu cầu là để xử lý lại bộ đệm đầu vào đó thay vì chụp bộ đệm mới hình ảnh bằng cảm biến máy ảnh. Việc chụp được xác định bởi frame_number.
Để phản hồi, thiết bị HAL của máy ảnh phải gửi cấu trúc camera3_capture_result một cách không đồng bộ đến khung bằng cách sử dụng lệnh gọi lại process_capture_result().
Tài liệu hiện trường
uint32_t số khung |
Số khung là số nguyên tăng dần do khung đặt để nhận dạng duy nhất lần chụp này. Nó cần được trả về trong lệnh gọi kết quả và cũng được dùng để xác định yêu cầu trong các thông báo không đồng bộ được gửi tới camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
Bộ đệm luồng đầu vào sẽ sử dụng cho yêu cầu này, nếu có.
Nếu input_buffer là NULL thì yêu cầu là chụp ảnh mới từ trình tạo ảnh. Nếu input_buffer hợp lệ, yêu cầu sẽ xử lý lại hình ảnh có trong input_buffer.
Trong trường hợp sau, HAL phải đặt Release_fence của input_buffer thành hàng rào đồng bộ hóa hợp lệ hoặc thành -1 nếu HAL không hỗ trợ đồng bộ hóa, trước khi process_capture_request() trả về.
HAL được yêu cầu đợi trên hàng rào đồng bộ thu được của bộ đệm đầu vào trước khi truy cập vào nó.
<= CAMERA_DEVICE_API_VERSION_3_1:
Bất kỳ bộ đệm đầu vào nào được đưa vào đây sẽ được đăng ký với HAL thông qua register_stream_buffers() trước khi đưa nó vào yêu cầu.
>= CAMERA_DEVICE_API_VERSION_3_2:
Bộ đệm sẽ không được đăng ký trước với HAL. Các yêu cầu tiếp theo có thể sử dụng lại bộ đệm hoặc cung cấp bộ đệm hoàn toàn mới.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * out_buffers |
Một mảng bộ đệm luồng num_output_buffers chứa đầy dữ liệu hình ảnh từ quá trình chụp/xử lý lại này. HAL phải đợi hàng rào thu được của từng bộ đệm luồng trước khi ghi vào chúng.
HAL có quyền sở hữu các mục nhập buffer_handle_t thực tế trong out_buffers; khung không truy cập chúng cho đến khi chúng được trả về trong camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Tất cả các bộ đệm ở đây sẽ được đăng ký với HAL thông qua register_stream_buffers() trước khi đưa chúng vào yêu cầu.
>= CAMERA_DEVICE_API_VERSION_3_2:
Bất kỳ hoặc tất cả các bộ đệm được đưa vào đây có thể là hoàn toàn mới trong yêu cầu này (HAL chưa từng thấy trước đây).
const camera_metadata_t * cài đặt |
Bộ đệm cài đặt chứa các tham số thu thập và xử lý cho yêu cầu. Trong trường hợp đặc biệt, bộ đệm cài đặt NULL cho biết rằng các cài đặt giống hệt với yêu cầu chụp được gửi gần đây nhất. Không thể sử dụng bộ đệm NULL làm yêu cầu được gửi đầu tiên sau lệnh gọi configure_streams().
Tài liệu cho cấu trúc này được tạo từ tệp sau:
- phần cứng/libhardware/bao gồm/phần cứng/ camera3.h