camera2_stream_ops 構造体リファレンス

camera2_stream_ops 構造体リファレンス

#include < camera2.h >

データ フィールド

int(*  dequeue_buffer )(const struct camera2_stream_ops *w, buffer_handle_t **buffer)
 
int(*  enqueue_buffer )(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer)
 
int(*  cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *buffer)
 
int(*  set_crop )(const struct camera2_stream_ops *w, int left, int top, int right, int bottom)
 

詳細な説明

出力画像ストリーム キュー インターフェース。これらのメソッドのセットは、allocate_stream() で HAL デバイスに提供され、そのストリームの gralloc バッファキューとやり取りするために使用されます。allocate_stream が返されるまで呼び出されない場合もあります。

ファイル camera2.h 73 行目 の定義。

フィールドのドキュメント

int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *buffer)

バッファを満杯としてマークせずにキューに戻します。

ファイル camera2.h 102 行目の定義。

int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **buffer)

キューからバッファを取得して、バッファのサイズと形式は、特定のストリームに固定されています(allocate_stream で定義)。ストライドは、プラットフォームの gralloc モジュールからクエリする必要があります。gralloc バッファは、allocate_stream によって提供された使用フラグに基づいて割り振られ、使用のためにロックされます。

ファイル camera2.h の 81 行目 に定義されています。

int(* enqueue_buffer)(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer)

コンシューマが使用できるように、バッファにデータを入力してストリームにプッシュします。

タイムスタンプは、画像の最初の行の露光開始時刻を表します。これは単調増加時計から取得され、ナノ秒単位で測定されます。タイムスタンプは、異なるカメラ間や、同じカメラの連続したインスタンス間で比較する必要はありません。ただし、同じカメラからのストリーム間で比較可能である必要があります。1 回の回収で複数のストリームのバッファが生成される場合、各ストリームのバッファのタイムスタンプは同じである必要があります。また、そのタイムスタンプは出力フレーム メタデータのタイムスタンプと一致している必要があります。

ファイル camera2.h 96 行目 の定義。

int(* set_crop)(const struct camera2_stream_ops *w, int left, int top, int right, int bottom)

その後キューに追加されるバッファの切り抜きウィンドウを設定します。パラメータは、バッファの幅と高さに対するピクセル単位で測定されます。

ファイル camera2.h 108 行目 の定義。


この構造体のドキュメントは、次のファイルから生成されました。