camera2_stream_ops結構參考

camera2_stream_ops結構參考

#include < camera2.h >

資料欄位

整數(* dequeue_buffer )(常數結構camera2_stream_ops *w,buffer_handle_t **緩衝區)
整數(* enqueue_buffer )(常數結構camera2_stream_ops * w,int64_t時間戳,buffer_handle_t *緩衝區)
整數(* cancel_buffer )(const structcamera2_stream_ops *w,buffer_handle_t *buffer)
整數(* set_crop )(const structcamera2_stream_ops *w,int左,int頂部,int右,int底部)

詳細說明

輸出圖像流隊列介面。在 allocate_stream() 中向 HAL 裝置提供了一組這些方法,並用於與該流的 gralloc 緩衝區佇列進行互動。在 allocate_stream 返回之前,它們可能不會被呼叫。

定義位於檔案camera2.h的第73行。

現場文檔

int(* cancel_buffer)(const structcamera2_stream_ops *w, buffer_handle_t *buffer)

將緩衝區返回到佇列,而不將其標記為已滿。

檔案camera2.h102行的定義。

int(* dequeue_buffer)(const structcamera2_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)

將已填入的緩衝區推送到串流以供消費者使用。

時間戳表示影像第一行開始曝光的時間;它必須來自單調時鐘,並以奈秒為單位測量。不同相機或同一相機的連續實例之間的時間戳記不需要進行比較。但是,來自同一攝影機的串流之間的它們必須具有可比性。如果一次捕獲為多個流產生緩衝區,則每個流必須具有該緩衝區的相同時間戳,並且該時間戳必須與輸出幀元資料中的時間戳相符。

定義位於檔案camera2.h的第96行。

int(* set_crop)(const structcamera2_stream_ops *w, int 左, int 上, int 右, int 下)

設定後續排隊緩衝區的裁切視窗。這些參數以相對於緩衝區寬度和高度的像素為單位進行測量。

檔案camera2.h108行的定義。


該結構的文檔是從以下文件產生的:
  • 硬體/libhardware/include/hardware/camera2.h