Camera3_capture_request 構造体のリファレンス
#include < camera3.h >
データフィールド | |
uint32_t | フレーム番号 |
constカメラ_メタデータ_t * | 設定 |
カメラ3_ストリーム_バッファ_t * | 入力バッファ |
uint32_t | num_output_buffers |
const Camera3_stream_buffer_t * | 出力バッファ |
詳細な説明
カメラ3_キャプチャ_リクエスト_t:
process_capture_request() のフレームワークによってカメラ HAL デバイスに送信される、画像キャプチャ/バッファ再処理の 1 つのリクエスト。
リクエストには、このキャプチャに使用される設定と、結果の画像データを書き込むための出力バッファのセットが含まれています。オプションで入力バッファが含まれる場合があります。その場合、リクエストは、新しい画像データをキャプチャするのではなく、その入力バッファを再処理するためのものです。カメラセンサーによる画像。キャプチャは、frame_number によって識別されます。
応答として、カメラ HAL デバイスは process_capture_result() コールバックを使用して、 camera3_capture_result構造体をフレームワークに非同期的に送信する必要があります。
フィールドドキュメント
uint32_t フレーム番号 |
フレーム番号は、このキャプチャを一意に識別するためにフレームワークによって設定される増分整数です。これは結果呼び出しで返される必要があり、 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 エントリの所有権を取得します。フレームワークは、カメラ 3_capture_result_t で返されるまで、それらにアクセスしません。
<= CAMERA_DEVICE_API_VERSION_3_1:
ここに含まれるすべてのバッファは、リクエストに含める前に register_stream_buffers() を通じて HAL に登録されます。
>= CAMERA_DEVICE_API_VERSION_3_2:
ここに含まれるバッファの一部またはすべては、このリクエストではまったく新しいものである可能性があります (HAL がこれまで見たことがない)。
const Camera_metadata_t * 設定 |
この構造体のドキュメントは次のファイルから生成されました。
- ハードウェア/libhardware/include/hardware/camera3.h