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() でフレームワークから Camera 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 |
設定バッファには、リクエストのキャプチャと処理のパラメータが含まれます。特殊なケースとして、NULL 設定バッファは、設定が最後に送信されたキャプチャ リクエストと同一であることを示します。NULL バッファは、configure_streams() 呼び出し後に送信される最初のリクエストとして使用できません。
ファイル camera3.h の 2151 行 に定義されています。
この構造体のドキュメントは、次のファイルから生成されました。
- hardware/libhardware/include/hardware/ camera3.h