Referensi Struktur camera3_capture_request

Referensi Struktur camera3_capture_request

#include < camera3.h >

Bidang Data

uint32_t nomor_bingkai
const kamera_metadata_t * pengaturan
kamera3_stream_buffer_t * masukan_buffer
uint32_t jumlah_output_buffers
kamera const3_stream_buffer_t * keluaran_buffer

Detil Deskripsi

kamera3_capture_request_t:

Permintaan tunggal untuk pengambilan gambar/pemrosesan ulang buffer, dikirim ke perangkat Camera HAL oleh kerangka kerja di process_capture_request().

Permintaan tersebut berisi pengaturan yang akan digunakan untuk pengambilan ini, dan kumpulan buffer keluaran untuk menulis data gambar yang dihasilkan. Permintaan tersebut juga dapat berisi buffer masukan, dalam hal ini permintaannya adalah untuk memproses ulang buffer masukan tersebut alih-alih menangkap yang baru. gambar dengan sensor kamera. Pengambilan diidentifikasi oleh frame_number.

Sebagai respons, perangkat HAL kamera harus mengirimkan struktur camera3_capture_result secara asinkron ke framework, menggunakan callback process_capture_result().

Definisi pada baris 2135 file camera3.h .

Dokumentasi Lapangan

uint32_t nomor_bingkai

Nomor bingkai adalah bilangan bulat yang bertambah yang ditetapkan oleh kerangka kerja untuk mengidentifikasi tangkapan ini secara unik. Ini perlu dikembalikan dalam panggilan hasil, dan juga digunakan untuk mengidentifikasi permintaan dalam notifikasi asinkron yang dikirim ke camera3_callback_ops_t.notify() .

Definisi pada baris 2142 file camera3.h .

Buffer aliran input yang akan digunakan untuk permintaan ini, jika ada.

Jika input_buffer adalah NULL, maka permintaan pengambilan baru dari imager. Jika input_buffer valid, permintaannya adalah untuk memproses ulang gambar yang terdapat di input_buffer.

Dalam kasus terakhir, HAL harus menyetel release_fence dari input_buffer ke pagar sinkronisasi yang valid, atau ke -1 jika HAL tidak mendukung sinkronisasi, sebelum process_capture_request() kembali.

HAL diharuskan menunggu di pagar sinkronisasi perolehan buffer input sebelum mengaksesnya.

<= KAMERA_DEVICE_API_VERSION_3_1:

Buffer input apa pun yang disertakan di sini telah didaftarkan ke HAL melalui register_stream_buffers() sebelum dimasukkan dalam permintaan.

>= KAMERA_DEVICE_API_VERSION_3_2:

Buffer belum didaftarkan sebelumnya ke HAL. Permintaan selanjutnya mungkin menggunakan kembali buffer, atau menyediakan buffer yang sama sekali baru.

Definisi pada baris 2177 file camera3.h .

uint32_t num_output_buffers

Jumlah buffer keluaran untuk permintaan penangkapan ini. Minimal harus 1.

Definisi pada baris 2183 file camera3.h .

const camera3_stream_buffer_t * output_buffers

Array buffer aliran num_output_buffers, untuk diisi dengan data gambar dari pengambilan/proses ulang ini. HAL harus menunggu di pagar perolehan setiap buffer aliran sebelum menulis ke sana.

HAL mengambil kepemilikan atas entri buffer_handle_t aktual di output_buffers; kerangka kerja tidak mengaksesnya sampai dikembalikan dalam camera3_capture_result_t.

<= KAMERA_DEVICE_API_VERSION_3_1:

Semua buffer yang disertakan di sini telah didaftarkan ke HAL melalui register_stream_buffers() sebelum dimasukkan dalam permintaan.

>= KAMERA_DEVICE_API_VERSION_3_2:

Salah satu atau semua buffer yang disertakan di sini mungkin baru dalam permintaan ini (belum pernah dilihat oleh HAL).

Definisi pada baris 2204 file camera3.h .

const camera_metadata_t * pengaturan

Buffer pengaturan berisi parameter pengambilan dan pemrosesan untuk permintaan tersebut. Sebagai kasus khusus, buffer pengaturan NULL menunjukkan bahwa pengaturan tersebut identik dengan permintaan pengambilan yang paling baru dikirimkan. Buffer NULL tidak dapat digunakan sebagai permintaan pertama yang dikirimkan setelah panggilan konfigurasi_streams().

Definisi pada baris 2151 file camera3.h .


Dokumentasi untuk struct ini dihasilkan dari file berikut:
  • perangkat keras/libhardware/termasuk/perangkat keras/ kamera3.h