Camera3_stream Yapı Referansı

Camera3_stream Yapı Referansı

#include < camera3.h >

Veri alanları

int akış_tipi
uint32_t Genişlik
uint32_t yükseklik
int biçim
uint32_t kullanım
uint32_t max_buffers
geçersiz * özel
android_dataspace_t veri_alanı
int rotasyon
geçersiz * ayrılmış [7]

Detaylı Açıklama

kamera3_stream_t:

Tek bir kamera giriş veya çıkış akışına yönelik bir tanıtıcı. Bir akış, arabellek çözünürlüğü ve formatı ile çerçeve tarafından ve ayrıca gralloc kullanım bayrakları ve maksimum uçuş içi arabellek sayısıyla HAL tarafından tanımlanır.

Akış yapıları çerçeveye aittir, ancak, define_streams() tarafından HAL'ye iletilen bir kamera3_akışına yönelik işaretçiler, bu kamera3_akışını bir argüman olarak içermeyen sonraki ilk yapılandırma_akışı() çağrısının sonuna kadar veya bu kamera3_akışının sonuna kadar geçerlidir. close() çağrısı.

Camera3_stream çerçevesi tarafından kontrol edilen tüm üyeler, Camera3_stream, config_streams()'a aktarıldıktan sonra değiştirilemez. HAL, özel işaretçinin içeriği hariç, yalnızca bir define_streams() çağrısı sırasında HAL tarafından kontrol edilen parametreleri değiştirebilir.

Eğer birconfig_streams() çağrısı ölümcül olmayan bir hata döndürürse, tüm aktif akışlar, sankiconfig_streams() çağrılmamış gibi geçerli kalır.

Akışın uç noktası kamera HAL cihazı tarafından görülemez. DEVICE_API_VERSION_3_1'de bu, kameranın yapımcı olduğu akışlarda (ÇIKIŞ ve İKİ YÖNLÜ akış türleri) tüketici kullanım bayraklarını paylaşacak şekilde değiştirildi (aşağıdaki kullanım alanına bakın).

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

Saha Dokümantasyonu

android_dataspace_t data_space

Tamponun içeriğini açıklayan bir alan. Format ve arabellek boyutları, akış arabelleklerinin bellek düzenini ve yapısını tanımlarken, dataSpace, arabellek içindeki verilerin anlamını tanımlar.

Çoğu format için dataSpace, görüntü verilerinin renk uzayını tanımlar. Ayrıca bazı formatlar için dataSpace, görüntü bazlı verinin mi yoksa derinlik bazlı verinin mi istendiğini gösterir. Formatların ayrıntıları ve her format için geçerli dataSpace değerleri için system/core/include/system/graphics.h adresine bakın.

Versiyon bilgisi:

< CAMERA_DEVICE_API_VERSION_3_3:

Tanımlanmamıştır ve erişilmemelidir. dataSpace'in HAL_DATASPACE_UNKNOWN olduğu varsayılmalı ve uygun renk alanı vb. kullanım bayrakları ve formattan belirlenmelidir.

= CAMERA_DEVICE_API_VERSION_3_3:

Her zaman kamera servisi tarafından ayarlanır. HAL, akışı doğru renk alanına göre yapılandırmak veya destekleniyorsa renk ve derinlik çıktıları arasında seçim yapmak için bu dataSpace'i kullanmalıdır. Veri alanı değerleri, grafiklerdeki eski tanımlardır.h

>= CAMERA_DEVICE_API_VERSION_3_4:

Her zaman kamera servisi tarafından ayarlanır. HAL, akışı doğru renk alanına göre yapılandırmak veya destekleniyorsa renk ve derinlik çıktıları arasında seçim yapmak için bu dataSpace'i kullanmalıdır. Veri alanı değerleri, grafiklerdeki V0 veri alanı tanımları kullanılarak ayarlanır.h

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

dahili format

Bu akıştaki arabelleklerin piksel biçimi. Format, system/core/include/system/graphics.h dosyasındaki HAL_PIXEL_FORMAT_* listesinden veya cihaza özel başlıklardan bir değerdir.

HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED kullanılırsa platform gralloc modülü, kamera cihazı ve akışın diğer uç noktası tarafından sağlanan kullanım işaretlerine göre bir format seçecektir.

<= CAMERA_DEVICE_API_VERSION_3_1:

Kamera HAL cihazı, gerekirse uygulamaya özel format ayrıntılarını elde etmek için sonraki Register_stream_buffers() çağrısında kendisine verilen arabellekleri incelemelidir.

>= CAMERA_DEVICE_API_VERSION_3_2:

Register_stream_buffers() çerçeve tarafından çağrılmayacağından HAL, ISP'yi ve sensör hattını yalnızca yapılandırılmış akışların boyutlarına, kullanım işaretlerine ve formatlarına göre yapılandırmalıdır.

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

uint32_t yüksekliği

Bu akıştaki arabelleklerin piksel cinsinden yüksekliği

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

uint32_t max_buffers

HAL cihazının aynı anda kuyruğundan çıkarması gerekebilecek maksimum arabellek sayısı. HAL aygıtında bu akıştan bu değerden daha fazla arabellek hareket halinde olmayabilir.

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

geçersiz* özel

Akış için HAL'e özel bilgilere yönelik bir tanıtıcı. Çerçeve koduna göre denetlenmeyecektir.

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

geçersiz* ayrılmış[7]

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

dahili rotasyon

Akışın gerekli çıkış dönüşü, Camera3_stream_rotation_t değerlerinden biri. Bunun, dere genişliği ve yüksekliğiyle birlikte HAL tarafından denetlenmesi gerekir. Örneğin, dönüş 90 derece ve akış genişliği ve yüksekliği sırasıyla 720 ve 1280 ise, kamera hizmeti 720x1280 boyutunda arabellekler sağlayacaktır ve HAL, 1280x720 boyutunda bir görüntü yakalamalı ve görüntüyü saat yönünün tersine 90 derece döndürmelidir. Akış türü girildiğinde dönüş alanı çalışmaz. Kamera HAL, bir giriş akışı için dönüş alanını göz ardı etmelidir.

<= CAMERA_DEVICE_API_VERSION_3_2:

Tanımlanmadı ve erişilmemesi gerekiyor. HAL, çıktı görüntülerine herhangi bir döndürme uygulamamalıdır.

>= CAMERA_DEVICE_API_VERSION_3_3:

Her zaman kamera servisi tarafından ayarlanır. HAL, akış yapılandırması sırasında bu alanı incelemelidir ve eğer HAL böyle bir dönüşü gerçekleştiremezse -EINVAL değerini döndürür. HAL her zaman CAMERA3_STREAM_ROTATION_0'ı desteklemelidir; bu nedenle, tüm akışların dönüş alanı CAMERA3_STREAM_ROTATION_0 ise, bir yapılandırma_streams() çağrısının desteklenmeyen dönüş nedeniyle başarısız olmaması gerekir.

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

int akış_tipi

Akışın türü, Camera3_stream_type_t değerlerinden biri.

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

uint32_t kullanımı

HAL'in gerektirdiği şekilde bu akış için gralloc kullanım bayrakları. Kullanım bayrakları gralloc.h'de (GRALLOC_USAGE_*) veya cihaza özel başlıklarda tanımlanır.

Çıkış akışları için bunlar HAL'in üretici kullanım bayraklarıdır. Giriş akışları için bunlar HAL'in tüketici kullanım bayraklarıdır. Üretici ve tüketiciden gelen kullanım bayrakları bir araya getirilecek ve daha sonra her akış için gralloc arabelleklerini tahsis etmek üzere platform gralloc HAL modülüne aktarılacaktır.

Versiyon bilgisi:

== CAMERA_DEVICE_API_VERSION_3_0:

configure_streams() aracılığıyla iletildiğinde başlangıç ​​değeri garanti edilmez. HAL bu alanı giriş olarak kullanamaz, kullanım bayraklarıyla birlikte bu alanın üzerine yazmalıdır.

>= CAMERA_DEVICE_API_VERSION_3_1:

Stream_type OUTPUT ve BIDIRECTIONAL için,configure_streams() aracılığıyla iletildiğinde, bunun başlangıç ​​değeri tüketicinin kullanım bayraklarıdır. HAL, akış konfigürasyonuna karar vermek için bu tüketici bayraklarını kullanabilir. Stream_type INPUT için,config_streams() aracılığıyla iletildiğinde bunun başlangıç ​​değeri 0'dır.config_streams() aracılığıyla iletilen tüm akışlar için HAL, kullanım bayraklarıyla birlikte bu alanın üzerine yazmalıdır.

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

uint32_t genişlik

Bu akıştaki arabelleklerin piksel cinsinden genişliği

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