camera3_capture_request Yapı Referansı

camera3_capture_request Yapı Referansı

#include < camera3.h >

Veri Alanları

uint32_t  frame_number
 
const camera_metadata_t ayarlar
 
camera3_stream_buffer_t input_buffer
 
uint32_t  num_output_buffers
 
const camera3_stream_buffer_t output_buffers
 

Ayrıntılı Açıklama

camera3_capture_request_t:

process_capture_request() işlevinde çerçeve tarafından Camera HAL cihazına gönderilen tek bir görüntü yakalama/arabellek yeniden işleme isteği.

İstek, bu yakalama için kullanılacak ayarları ve elde edilen resim verilerinin yazılacağı çıkış arabelleklerinin kümesini içerir. İsteğe bağlı olarak bir giriş arabelleği içerebilir. Bu durumda istek, kamera sensörüyle yeni bir görüntü yakalamak yerine bu giriş arabelleğinin yeniden işlenmesi içindir. Kayıt, frame_number ile tanımlanır.

Yanıt olarak kamera HAL cihazı, process_capture_result() geri çağırma işlevini kullanarak camera3_capture_result yapısını çerçeveye asenkron olarak göndermelidir.

Tanımı, camera3.h dosyasının 2135 satırındadır.

Alan Belgeleri

uint32_t frame_number

Çerçeve numarası, bu yakalamayı benzersiz şekilde tanımlamak için çerçeve tarafından ayarlanan artan bir tam sayıdır. Sonuç çağrısında döndürülmesi gerekir ve camera3_callback_ops_t.notify() adresine gönderilen asenkron bildirimlerde isteği tanımlamak için de kullanılır.

Tanımı, camera3.h dosyasının 2142 satırı

Varsa bu istek için kullanılacak giriş akışı arabelleği.

input_buffer NULL ise istek, görüntüleyiciden yeni bir yakalama içindir. input_buffer geçerliyse istek, input_buffer'da bulunan resmin yeniden işlenmesi içindir.

İkinci durumda, HAL, process_capture_request() işlevi dönmeden önce input_buffer'ın release_fence değerini geçerli bir senkronizasyon çitine veya HAL senkronizasyonu desteklemiyorsa -1 değerine ayarlamalıdır.

HAL'in, giriş arabelleğine erişmeden önce giriş arabelleğinin senkronizasyon çitini alması gerekir.

<= CAMERA_DEVICE_API_VERSION_3_1:

Buradaki tüm giriş arabellekleri, bir isteğe dahil edilmeden önce register_stream_buffers() aracılığıyla HAL'e kaydedilir.

>= CAMERA_DEVICE_API_VERSION_3_2:

Arabellekler HAL'e önceden kaydedilmemiş olmalıdır. Sonraki istekler, arabellekleri yeniden kullanabilir veya tamamen yeni arabellekler sağlayabilir.

Tanımı, camera3.h dosyasının 2177 satırı

uint32_t num_output_buffers

Bu yakalama isteği için çıkış arabelleklerinin sayısı. En az 1 olmalıdır.

Tanımı, camera3.h dosyasının 2183 satırı

const camera3_stream_buffer_t * output_buffers

Bu yakalama/yeniden işleme işleminden elde edilen görüntü verileriyle doldurulacak num_output_buffers akış arabelleklerinin bir dizisi. HAL, her bir akış arabelleğine yazmadan önce bu arabelleklerin edinme çitlerini beklemelidir.

HAL, output_buffers içindeki gerçek buffer_handle_t girişlerinin sahipliğini alır; çerçeve, camera3_capture_result_t içinde döndürülene kadar bunlara erişmez.

<= CAMERA_DEVICE_API_VERSION_3_1:

Buradaki tüm arabellekler, bir isteğe dahil edilmeden önce register_stream_buffers() aracılığıyla HAL'e kaydedilir.

>= CAMERA_DEVICE_API_VERSION_3_2:

Buradaki arabelleklerin herhangi biri veya tümü bu istekte yepyeni olabilir (HAL tarafından daha önce hiç görülmemiş).

Tanımı, camera3.h dosyasının 2204 satırı

const camera_metadata_t * settings

Ayarlar arabelleği, istek için yakalama ve işleme parametrelerini içerir. Özel bir durum olarak, NULL ayarlar arabelleği, ayarların en son gönderilen yakalama isteğiyle aynı olduğunu gösterir. configure_streams() çağrısından sonra gönderilen ilk istek olarak NULL arabelleği kullanılamaz.

Tanımı, camera3.h dosyasının 2151 satırı


Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur: