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タイムスタンプ、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タイムスタンプ、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行で定義されています。
この構造体のドキュメントは、次のファイルから生成されました。