Camera3_stream_buffer Yapı Referansı

Camera3_stream_buffer Yapı Referansı

#include < camera3.h >

Veri alanları

kamera3_stream_t * aktarım
buffer_handle_t * tampon
int durum
int edinme_fence
int yayın_fence

Detaylı Açıklama

kamera3_stream_buffer_t:

Camera3 akışından tek bir arabellek. Ana akışına yönelik bir tanıtıcı, gralloc arabelleğinin kendisine yönelik bir tanıtıcı ve senkronizasyon çitleri içerir

Tampon, giriş için mi yoksa çıkış için mi kullanılacağını belirtmez; bu, ana akış türüne ve arabelleğin HAL cihazına nasıl aktarıldığına göre belirlenir.

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

Saha Dokümantasyonu

int gain_fence

Bu arabellek için edinme senkronizasyon çiti. HAL, bu ara bellekten okumaya veya ara belleğe yazmaya çalışmadan önce bu çit fd'sinde beklemelidir.

Çerçeve, bu arabellek için beklemenin gerekli olmadığını belirtmek üzere -1'e ayarlanabilir.

HAL, proses_capture_result() ile çerçeveye bir çıktı arabelleği döndürdüğünde, gain_fence -1 olarak ayarlanmalıdır. HAL, arabellek doldurma sırasındaki bir hata nedeniyle edinme_fence'de hiçbir zaman beklemezse, proses_capture_result() çağrılırken HAL'nin, arabelleğin serbest bırakma_fence'ini çerçeve tarafından kendisine iletilen edinme_fence'i olacak şekilde ayarlaması gerekir. Bu, çerçevenin arabelleği yeniden kullanmadan önce çitin üzerinde beklemesine olanak tanır.

Giriş arabellekleri için HAL, proses_capture_request() çağrısı sırasında gain_fence alanını değiştirmemelidir.

>= CAMERA_DEVICE_API_VERSION_3_2:

HAL, proses_capture_result() ile çerçeveye bir giriş arabelleği döndürdüğünde, gain_fence -1 olarak ayarlanmalıdır. HAL, bir hata nedeniyle giriş arabelleği alma çitini hiçbir zaman beklemezse, senkronizasyon çitleri, çıkış arabellekleri için işlenme şekline benzer şekilde ele alınmalıdır.

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

buffer_handle_t* arabellek

Tamponun yerel tanıtıcısı

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

int yayın_fence

Bu arabellek için sürüm senkronizasyon çiti. HAL, tamponları çerçeveye döndürürken bu çiti ayarlamalı veya bu arabellek için beklemenin gerekli olmadığını belirtmek için -1 yazmalıdır.

Çıkış arabellekleri için çitlerin, proses_capture_result()'a iletilen çıktı_buffers dizisinde ayarlanması gerekir.

<= CAMERA_DEVICE_API_VERSION_3_1:

Giriş arabelleği için serbest bırakma sınırının proses_capture_request() çağrısı tarafından ayarlanması gerekir.

>= CAMERA_DEVICE_API_VERSION_3_2:

Giriş arabelleği için çitlerin, proses_capture_result()'a iletilen input_buffer'da ayarlanması gerekir.

Bu arabellek için yayın_fence sinyali verildikten sonra, sahiplik tamamen çerçeveye geri aktarıldığı için HAL, bu arabelleğe erişim için herhangi bir girişimde bulunmamalıdır.

-1 sınırı belirtildiyse bu arabelleğin sahipliği, proses_capture_result çağrısı üzerine hemen geri aktarılır.

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

dahili durum

Arabelleğin mevcut durumu, Camera3_buffer_status_t değerlerinden biri. Çerçeve, hata durumundaki arabellekleri HAL'ye iletmeyecektir. Bir arabelleğin HAL tarafından doldurulamaması durumunda, proses_capture_result() ile çerçeveye döndürüldüğünde durumunun CAMERA3_BUFFER_STATUS_ERROR olarak ayarlanması gerekir.

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

kamera3_stream_t * akışı

Bu arabelleğin ilişkilendirildiği akışın tanıtıcısı

Camera3.h dosyasının 1759. 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