camera3_stream Yapı Referansı

camera3_stream Yapı Referansı

#include < camera3.h >

Veri Alanları

int  stream_type
 
uint32_t  width
 
uint32_t  height
 
int  format
 
uint32_t  usage
 
uint32_t  max_buffers
 
void *  priv
 
android_dataspace_t  data_space
 
int  rotation
 
void *  reserved [7]
 

Ayrıntılı Açıklama

camera3_stream_t:

Tek bir kamera girişi veya çıkış akışının simgesini belirtir. Akış, çerçeve tarafından arabellek çözünürlüğü ve biçimi ile tanımlanır ve ayrıca HAL tarafından gralloc kullanım işaretleri ve maksimum uçuştaki arabellek sayısı ile tanımlanır.

Akış yapılarının sahibi çerçevedir ancak configure_streams() tarafından HAL'e iletilen camera3_stream bir işaretçi, camera3_stream bağımsız değişken olarak dahil edilmeyen ilk sonraki configure_streams() çağrısının sonuna kadar veya close() çağrısının sonuna kadar geçerlidir.

camera3_stream çerçeve tarafından kontrol edilen tüm üyeler, camera3_stream configure_streams() işlevine aktarıldıktan sonra değiştirilemez. HAL, özel işaretçinin içeriği hariç olmak üzere yalnızca bir configure_streams() çağrısı sırasında HAL tarafından kontrol edilen parametreleri değiştirebilir.

configure_streams() çağrısı, önemli olmayan bir hata döndürürse tüm etkin akışlar, configure_streams() çağrılmamış gibi geçerli kalır.

Akış uç noktası, kamera HAL cihazı tarafından görülemez. DEVICE_API_VERSION_3_1 sürümünde bu, kameranın üretici olduğu akışlarda (OUTPUT ve BIDIRECTIONAL akış türleri) tüketici kullanım işaretlerini paylaşacak şekilde değiştirildi. Aşağıdaki kullanım alanına bakın.

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

Alan Belgeleri

android_dataspace_t data_space

Arabelleğin içeriğini açıklayan bir alan. Biçim ve arabellek boyutları, akış arabelleklerinin bellek düzenini ve yapısını tanımlarken veri alanı, arabellekteki verilerin anlamını tanımlar.

Çoğu biçimde dataSpace, resim verilerinin renk alanını tanımlar. Ayrıca bazı biçimlerde dataSpace, resim tabanlı veya derinlik tabanlı verilerin istenip istenmediğini belirtir. Biçimlerle ilgili ayrıntılar ve her biçim için geçerli dataSpace değerleri için system/core/include/system/graphics.h dosyasına bakın.

Sürüm bilgileri:

< CAMERA_DEVICE_API_VERSION_3_3:

Tanımlanmamıştır ve erişilmemelidir. dataSpace'in HAL_DATASPACE_UNKNOWN olduğu varsayılmalıdır ve uygun renk alanı vb. kullanım işaretlerinden ve biçiminden belirlenmelidir.

= CAMERA_DEVICE_API_VERSION_3_3:

Her zaman kamera hizmeti tarafından ayarlanır. HAL, yayını doğru renk uzayına yapılandırmak veya destekleniyorsa renk ile derinlik çıkışları arasında seçim yapmak için bu veri alanını kullanmalıdır. Veri alanı değerleri, graphics.h'daki eski tanımlardır.

>= CAMERA_DEVICE_API_VERSION_3_4:

Her zaman kamera hizmeti tarafından ayarlanır. HAL, yayını doğru renk uzayına yapılandırmak veya destekleniyorsa renk ile derinlik çıkışları arasında seçim yapmak için bu veri alanını kullanmalıdır. Veri alanı değerleri, graphics.h dosyasında bulunan V0 veri alanı tanımları kullanılarak ayarlanır.

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

int biçimi

Bu akıştaki arabellekleri piksel biçimi. Format, system/core/include/system/graphics.h dosyasında bulunan HAL_PIXEL_FORMAT_* listesinden veya cihaza özgü üstbilgilerden alınan bir değerdir.

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

<= CAMERA_DEVICE_API_VERSION_3_1:

Kamera HAL cihazı, gerekirse uygulamaya özgü biçim ayrıntılarını almak için sonraki register_stream_buffers() çağrısında kendisine iletilen arabellekleri denetlemelidir.

>= CAMERA_DEVICE_API_VERSION_3_2:

register_stream_buffers(), çerçeve tarafından çağrılmaz. Bu nedenle HAL, ISP ve sensör ardışık düzenini yalnızca yapılandırılmış akışların boyutlarına, kullanım işaretlerine ve biçimlerine göre yapılandırmalıdır.

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

uint32_t height

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

Tanımı, şu dosyanın camera3.h 1542 satırı

uint32_t max_buffers

HAL cihazının aynı anda sıra dışı bırakması gereken maksimum arabellek sayısı. HAL cihazında, bu akıştan bu değerden fazla arabellek bulunamaz.

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

void* priv

Akış için HAL özel bilgilerine ait bir tutamak. Çerçeve kodu tarafından denetlenmez.

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

void* reserved[7]

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

int rotasyonu

Aktarımın gerekli çıkış rotasyonu. camera3_stream_rotation_t değerlerinden biridir. Bu, akış genişliği ve yüksekliğiyle birlikte HAL tarafından denetlenmelidir. Örneğin, döndürme 90 dereceyse ve akış genişliği ile yüksekliği sırasıyla 720 ve 1280 ise kamera hizmeti 720x1280 boyutunda arabellekler sağlar ve HAL 1280x720 boyutunda bir resim yakalayıp resmi saat yönünün tersine 90 derece döndürmelidir. Akış türü giriş olduğunda rotasyon alanı işlem yapmaz. Kamera HAL'i, giriş akışı için döndürme alanını yoksaymalıdır.

<= CAMERA_DEVICE_API_VERSION_3_2:

Tanımlanmamış ve erişilmemelidir. HAL, çıkış resimlerine herhangi bir döndürme işlemi uygulamamalıdır.

>= CAMERA_DEVICE_API_VERSION_3_3:

Her zaman kamera hizmeti tarafından ayarlanır. HAL, akış yapılandırması sırasında bu alanı incelemelidir ve bu tür bir rotasyonu gerçekleştiremezse -EINVAL değerini döndürür. HAL her zaman CAMERA3_STREAM_ROTATION_0 değerini desteklemelidir. Bu nedenle, tüm akışların döndürme alanı CAMERA3_STREAM_ROTATION_0 ise desteklenmeyen döndürme için configure_streams() çağrısı başarısız olmamalıdır.

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

int stream_type

Aktarımın türü (camera3_stream_type_t değerlerinden biri).

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

uint32_t kullanımı

HAL'ın ihtiyaç duyduğu bu akış için gralloc kullanım işaretleri. Kullanım işaretleri, gralloc.h (GRALLOC_USAGE_*) veya cihaza özel üstbilgilerde tanımlanır.

Çıkış akışları için bunlar HAL'ın üretici kullanım işaretleridir. Giriş akışları için bunlar HAL'ın tüketici kullanımı işaretleridir. Üretici ve tüketicinin kullanım işaretleri birleştirilir ve ardından her akış için gralloc arabelleklerinin ayrılması amacıyla platform gralloc HAL modülüne iletilir.

Sürüm bilgileri:

== 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 ve kullanım işaretleriyle 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 bu parametrenin ilk değeri tüketicinin kullanım işaretleridir. HAL, akış yapılandırmasına karar vermek için bu tüketici işaretlerini kullanabilir. stream_type INPUT için configure_streams() aracılığıyla iletildiğinde bu değerin ilk değeri 0'dır. HAL, configure_streams() aracılığıyla iletilen tüm akışlar için kullanım işaretleriyle bu alanın üzerine yazmalıdır.

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

uint32_t width

Bu yayındaki arabellekleri piksel cinsinden genişliği

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


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