HEIF görüntüleme

Android 10 çalıştıran cihazlar HEIC'yi destekler sıkıştırılmış resim biçiminde, yüksek verimlilik video kodlamasına (HEVC) özgü, yüksek verimliliğe sahip resmin bir markası aşağıdaki şekilde belirtildiği gibi dosya biçimini (HEIF) ISO/IEC 23008-12. HEIC kodlu resim teklifi JPEG dosyalarına kıyasla daha küçük dosya boyutlarında daha iyi resim kalitesi sağlar.

HEIC resimleri kamera çerçevesi tarafından oluşturulur ve sıkıştırılmamış resmi kamera HAL'sini kullanıp medya alt sistemine göndererek bir HEIC veya HEVC kodlayıcı ile kodlanmalıdır.

Gereksinimler

HEIC resim biçimini desteklemek için cihazınızda bir donanım kodlayıcısı olmalıdır destekleniyor MIMETYPE_IMAGE_ANDROID_HEIC veya MIMETYPE_VIDEO_HEVC şununla: sabit kalite modu.

Uygulama

Cihazınızda HEIC resim biçimini desteklemek için bir HEIC/HEVC codec'i uygulayın ve kullanıcı izni için gereken akış yapılandırmaları IMPLEMENTATION_DEFINED/YUV akış ve JPEG uygulama segmenti akışları.

Medya

için HEIC/HEVC codec'ini sabit kalite (CQ) modunda uygulayın aşağıdaki gibi karşılık gelen donanıma sahip olabilir:

  • HEVC türü codec, IMPLEMENTATION_DEFINED biçimi GRALLOC_USAGE_HW_VIDEO_ENCODER veya HAL_PIXEL_FORMAT_YCBCR_420_888 biçiminde olur.
  • HEIC türü codec, IMPLEMENTATION_DEFINED GRALLOC_USAGE_HW_IMAGE_ENCODER kullanımı.

Kamera

Statik meta verilerde ANDROID_HEIC_INFO_SUPPORTED öğesini doğru olarak ayarlayın ve ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT değerini [1, 16], Bu değer, JPEG uygulama segmentlerinin sayısını gösterir.

Zorunlu her yayın kombinasyonu için kamera cihazınızın değiştirmeyi desteklemesi gerekir aynı boyutta HEIC akışına sahip bir JPEG akışı.

Kamera hizmeti, herkese açık API'deki bir HEIC çıkış akışı için iki HAL oluşturur dahili akışlar:

  • Uygulamayı depolamak için JPEG_APPS_SEGMENT kullanım işaretine sahip bir BLOB akışı EXIF ve küçük resim segmentleri dahil segmentler
  • Şu boyutta bir IMPLEMENTATION_DEFINED veya YCBCR_420_888 akışı: Hedef codec'e ve HEIC akış boyutuna bağlı olarak HEIC akışı

ANDROID_HEIC_INFO_MAX_JPEG_APP_SEGMENTS_COUNT temel alınarak kamera çerçevesi kamera HAL'sinin JPEG uygulamasını doldurmasına yetecek kadar büyük arabellekler ayırır emin olun. APP1 segmenti zorunludur ancak APP1 segmentini takip eden segmentler segmentleri (APP2 ve üzeri) isteğe bağlıdır. Kamera çerçevesi EXIF çerçevesini geçersiz kılar APP1 segmentinde, yakalama sonucu meta verilerinden türetilebilecek etiketler veya ana resim bit akışıyla ilişkilidir ve bunları MediaMuxer ürününe gönderir.

Medya kodlayıcı, yönü çıkış meta verisine yerleştirir. Böylece, ana resim ile küçük resim arasında yönün tutarlı olmasını sağlamak için kamera donanım soyutlama katmanının, küçük resmi android.jpeg.orientation. Çerçeve, yönü EXIF dosyasına yazar meta veri ve HEIC kapsayıcısıdır.

JPEG biçimiyle ilgili statik, kontrol ve dinamik meta veri etiketleri de HEIC biçimine uygulanır. Örneğin, android.jpeg.orientation ve Yakalama isteğindeki android.jpeg.quality meta veri etiketi, kontrol etmek için kullanılır HEIC resimlerin yönü ve kalitesi.

Bir uygulamada HEIC biçimini kullanmak için HEIC herkese açık API.

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

Kamera donanım soyutlama katmanı

Grafik arabellek veri alanı

Grafik arabellek kullanım alanı

Doğrulama

Uygulamanızın HEIC görüntülerini desteklediğini doğrulamak için TestingCamera2 test uygulamasını açıp aşağıdaki kamera CTS ve VTS testlerini çalıştırın.

Kamera CTS testleri

Kamera VTS testleri