Referensi Struct camera3_capture_request
#include <
camera3.h
>
Kolom Data |
|
uint32_t | frame_number |
const camera_metadata_t * | setelan |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | output_buffers |
Deskripsi Mendetail
camera3_capture_request_t:
Satu permintaan untuk pemrosesan ulang buffering/pengambilan gambar, yang dikirim ke perangkat HAL Kamera oleh framework di process_capture_request().
Permintaan berisi setelan yang akan digunakan untuk pengambilan ini, dan kumpulan buffering output untuk menulis data gambar yang dihasilkan. Secara opsional, buffer input dapat berisi buffer input, dalam hal ini permintaannya adalah untuk memproses ulang buffer input tersebut, bukan mengambil gambar baru dengan sensor kamera. Rekaman diidentifikasi oleh frame_number.
Sebagai respons, perangkat HAL kamera harus mengirim struktur camera3_capture_result secara asinkron ke framework, menggunakan callback process_capture_result().
Dokumentasi Bidang
uint32_t frame_number |
Nomor frame adalah bilangan bulat yang bertambah yang ditetapkan oleh framework untuk mengidentifikasi rekaman ini secara unik. ID ini harus ditampilkan dalam panggilan hasil, dan juga digunakan untuk mengidentifikasi permintaan dalam notifikasi asinkron yang dikirim ke camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
Buffer aliran input yang akan digunakan untuk permintaan ini, jika ada.
Jika input_buffer adalah NULL, permintaan tersebut adalah untuk pengambilan gambar baru dari pemindai gambar. Jika input_buffer valid, permintaan tersebut adalah untuk memproses ulang gambar yang terdapat dalam input_buffer.
Dalam kasus terakhir, HAL harus menetapkan release_fence dari input_buffer ke fence sinkronisasi yang valid, atau ke -1 jika HAL tidak mendukung sinkronisasi, sebelum process_capture_request() ditampilkan.
HAL diwajibkan untuk menunggu pagar sinkronisasi akuisisi buffer input sebelum mengaksesnya.
<= CAMERA_DEVICE_API_VERSION_3_1:
Setiap buffering input yang disertakan di sini akan terdaftar dengan HAL melalui register_stream_buffers() sebelum disertakan dalam permintaan.
>= CAMERA_DEVICE_API_VERSION_3_2:
Buffer tidak akan dipradaftarkan dengan HAL. Permintaan berikutnya dapat menggunakan kembali buffering, atau menyediakan buffering yang sepenuhnya baru.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Array buffer streaming num_output_buffers, yang akan diisi dengan data gambar dari pengambilan/pemrosesan ulang ini. HAL harus menunggu pagar akuisisi dari setiap buffering streaming sebelum menulis ke buffer tersebut.
HAL mengambil kepemilikan entri buffer_handle_t yang sebenarnya di output_buffers; framework tidak mengaksesnya hingga ditampilkan dalam camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Semua buffering yang disertakan di sini akan terdaftar dengan HAL melalui register_stream_buffers() sebelum disertakan dalam permintaan.
>= CAMERA_DEVICE_API_VERSION_3_2:
Setiap atau semua buffering yang disertakan di sini mungkin baru dalam permintaan ini (belum pernah dilihat oleh HAL).
const camera_metadata_t * settings |
Buffer setelan berisi parameter pengambilan dan pemrosesan untuk permintaan. Sebagai kasus khusus, buffering setelan NULL menunjukkan bahwa setelan tersebut identik dengan permintaan pengambilan yang baru saja dikirim. Buffer NULL tidak dapat digunakan sebagai permintaan pertama yang dikirim setelah panggilan configure_streams().
Dokumentasi untuk struct ini dibuat dari file berikut:
- hardware/libhardware/include/hardware/ camera3.h