Camera3_capture_request Yapı Referansı

Camera3_capture_request Yapı Referansı

#include < camera3.h >

Veri alanları

uint32_t çerçeve numarası
const kamera_metadata_t * ayarlar
kamera3_stream_buffer_t * giriş_tamponu
uint32_t num_output_buffers
const kamera3_stream_buffer_t * çıktı_tamponları

Detaylı Açıklama

kamera3_capture_request_t:

Process_capture_request() içindeki çerçeve tarafından Kamera HAL cihazına gönderilen, görüntü yakalama/ara bellek yeniden işleme için tek bir istek.

İstek, bu yakalama için kullanılacak ayarları ve elde edilen görüntü verilerinin yazılacağı çıkış arabellekleri kümesini içerir. İsteğe bağlı olarak bir giriş arabelleği içerebilir; bu durumda istek, yeni bir giriş arabelleği yakalamak yerine bu giriş arabelleğini yeniden işlemek içindir. Kamera sensörüyle görüntü. Yakalama, çerçeve_numarası ile tanımlanır.

Yanıt olarak, kamera HAL cihazının, proses_capture_result() geri çağrısını kullanarak çerçeveye eşzamansız olarak bir kamera3_capture_result yapısı göndermesi gerekir.

Camera3.h dosyasının 2135. satırındaki tanım.

Saha Dokümantasyonu

uint32_t çerçeve_numarası

Çerçeve numarası, bu yakalamayı benzersiz şekilde tanımlamak için çerçeve tarafından belirlenen artan bir tam sayıdır. Sonuç çağrısında döndürülmesi gerekir ve aynı zamanda Camera3_callback_ops_t.notify() öğesine gönderilen eşzamansız bildirimlerdeki isteği tanımlamak için de kullanılır.

Camera3.h dosyasının 2142. satırındaki tanım.

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 görüntünün yeniden işlenmesi içindir.

İkinci durumda, proses_capture_request() geri dönmeden önce HAL'nin input_buffer'ın serbest bırakma_fence'ini geçerli bir senkronizasyon çitine veya HAL senkronizasyonu desteklemiyorsa -1'e ayarlaması gerekir.

HAL'in, giriş arabelleğine erişmeden önce, giriş senkronizasyon çitinin üzerinde beklemesi gerekir.

<= CAMERA_DEVICE_API_VERSION_3_1:

Buraya dahil edilen herhangi bir giriş arabelleği, bir talebe dahil edilmeden önce HAL'e Register_stream_buffers() aracılığıyla kaydedilmiş olacaktır.

>= CAMERA_DEVICE_API_VERSION_3_2:

Tamponlar HAL'e önceden kaydedilmemiş olacaktır. Sonraki istekler arabellekleri yeniden kullanabilir veya tamamen yeni arabellekler sağlayabilir.

Camera3.h dosyasının 2177. satırındaki tanım.

uint32_t num_output_buffers

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

Camera3.h dosyasının 2183. satırındaki tanım.

const kamera3_stream_buffer_t * çıktı_bufferları

Bu yakalama/yeniden işlemeden elde edilen görüntü verileriyle doldurulacak bir dizi num_output_buffers akış arabelleği. HAL, onlara yazmadan önce her bir akış arabelleğinin edinme çitlerini beklemelidir.

HAL, çıktı_tamponlarındaki gerçek buffer_handle_t girişlerinin sahipliğini alır; çerçeve, bir kamera3_capture_result_t içinde döndürülene kadar bunlara erişmez.

<= CAMERA_DEVICE_API_VERSION_3_1:

Burada yer alan tüm arabellekler, bir isteğe dahil edilmeden önce HAL'e Register_stream_buffers() aracılığıyla kaydedilmiş olacaktır.

>= CAMERA_DEVICE_API_VERSION_3_2:

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

Camera3.h dosyasının 2204. satırındaki tanım.

const kamera_metadata_t * ayarlar

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

Camera3.h dosyasının 2151. satırındaki tanım.


Bu yapıya ilişkin belgeler aşağıdaki dosyadan oluşturulmuştur:
  • donanım/libdonanım/include/donanım/ kamera3.h