HEIF Görüntüleme

Cihazlar çalıştıran Android 10 destek HEIC sıkıştırılmış görüntü formatı, belirtilen yüksek verimlilik görüntü dosya biçiminin bir yüksek verimlilik video kodlama (HEVC) belirli marka (HEIF) ISO / IEC 23008-12 . HEIC kodlu görüntüler, JPEG dosyalarına kıyasla daha küçük dosya boyutlarıyla daha iyi görüntü kalitesi sunar.

HEIC görüntüler sıkıştırılmamış resim isteyerek kamera çerçevesi tarafından oluşturulan kamera HAL ve HEIC veya HEVC kodlayıcı tarafından kodlanmış medya alt sistemin göndermeden.

Gereksinimler

HEIC resim biçimi desteklemek için, cihazınız destekleyen bir donanım kodlayıcı olmalıdır MIMETYPE_IMAGE_ANDROID_HEIC veya MIMETYPE_VIDEO_HEVC ile sabit kalite modu .

uygulama

Cihazınızda HEIC resim biçimi desteklemek için, bir HEIC / HEVC kodek uygulanması ve araçlar da gereklidir akış konfigürasyonları için destek sağlamak IMPLEMENTATION_DEFINED / YUV akışları ve JPEG uygulama kademeli akışları.

medya

HEIC/HEVC codec bileşenini ilgili donanım için sabit kalite (CQ) modunda aşağıdaki gibi uygulayın:

  • HEVC kodek tüketir ya tip IMPLEMENTATION_DEFINED ile biçimini GRALLOC_USAGE_HW_VIDEO_ENCODER kullanım veya HAL_PIXEL_FORMAT_YCBCR_420_888 görüntü boyutuna bağlı olarak biçimi.
  • HEIC tipi codec'i tükettiğini IMPLEMENTATION_DEFINED ile biçim GRALLOC_USAGE_HW_IMAGE_ENCODER kullanımı.

Kamera

Statik meta verileri olarak, sabitlenmiş ANDROID_HEIC_INFO_SUPPORTED true ve ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT arasında bir değere [1, 16] , JPEG uygulama parçası sayısını gösteren.

Her zorunlu akış kombinasyonu için, kamera cihazınızın aynı boyutta bir HEIC akışıyla bir JPEG akışının değiştirilmesini desteklemesi gerekir.

Genel API'deki bir HEIC çıkış akışı için kamera hizmeti iki HAL dahili akışı oluşturur:

  • İle BLOB akışı JPEG_APPS_SEGMENT kullanım bayrağı EXIF ve küçük segmentleri dahil uygulama segmentleri depolamak
  • Bir IMPLEMENTATION_DEFINED veya YCBCR_420_888 hedef kodek ve HEIC akışı boyutuna bağlı olarak HEIC akımının büyüklüğü akış

Dayanarak ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT , kamera çerçeve ayırır kamera HAL JPEG uygulaması segmentleri doldurmak için büyük yeterince tamponlar. APP1 kademeli gerekli değildir ancak aşağıdaki bölümleri olan APP1 segmentine ( APP2 yukarıda ve isteğe bağlıdır). Kamera çerçeve EXIF etiketleri geçersiz kılar APP1 yakalama sonucu meta verilerinden elde edilebilir veya ana görüntü bit akışına ilişkilidir ve gönderir segmentinde MediaMuxer .

Çıkış görüntülerinin meta verilerinde yönünü gömer kodlayıcı medya, ana görüntü ve küçük resim arasındaki tutarlı bir yönde takılması için olduğundan, kamera HAL dayalı küçük resim dönmemelidir android.jpeg.orientation. Çerçeve, yönlendirmeyi EXIF ​​meta verilerine ve HEIC kapsayıcısına yazar.

JPEG formatı ile ilgili statik, kontrol ve dinamik meta veri etiketleri HEIC formatı için de geçerlidir. Örneğin, android.jpeg.orientation ve android.jpeg.quality yakalama isteğinde meta veri etiketleri HEIC görüntülerin yönünü ve kalitesini kontrol etmek için kullanılır.

Bir uygulamada HEIC biçimi kullanmak için, kullanmak HEIC kamu API .

Daha fazla bilgi için aşağıdaki kaynaklara bakın.

kamera HAL

Grafik arabelleği veri alanı

Grafik arabelleği kullanım alanı

doğrulama

Uygulamanız HEIC görüntüleri desteklediğini doğrulamak için kullanın TestingCamera2 test uygulaması ve aşağıdaki kamera CTS ve VTS testler.

Kamera CTS testleri

Kamera VTS testleri