Android 13 lägger till några nya funktioner till Camera2 API, inklusive HDR-videoutgång och stöd för "stream use cases".
De Camera2 API introducerades i Android 5.0 som en efterföljare till det ursprungliga Camera API. API: et låter utvecklare kontrollera vilka kamerafunktioner som är tillgängliga på en enhet och exponerar granulär kamera funktioner till appar, inklusive kontroller per bildruta för exponerings- och vitbalansförstärkningar, skärpa, försvagning, etc. Det är också en förutsättning för installation Google Camera-portar. Med Android 13, Google lägger till några nya funktioner till Camera2 API.
Som upptäckt av Esper, Android 13:s HAL tillåter smartphonetillverkare att exponera 10-bitars videoutgång för Camera2 API. Om en OEM väljer att exponera 10-bitars kamerautgång måste den åtminstone stödja HLG10-profilen. Om en enhet stöder andra HDR-format som HDR10+ och Dolby Vision, kan enhetstillverkaren annonsera den rekommenderade profilen till appar med hjälp av Kameraegenskaper#REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE
konstant. Samtidigt kan appar som stöder Camera2 API ställa in en specifik enhetsstödd dynamisk intervallprofil med hjälp av OutputConfiguration.setDynamicRangeProfile API.Utöver HDR-videostödet lägger Camera2 API även till stöd för "stream use case" för att låta OEM-tillverkare optimera kamerans prestanda i olika streaming-scenarier.
Streamanvändningsfallet indikerar syftet med en viss kameraström ur slutanvändarens perspektiv. Några exempel på kameraanvändning är: förhandsvisningsström för livesökare som visas för användaren, stillbildstagning för att generera högkvalitativa foto inspelning, videoinspelning för kodning av kamerautgången för framtida uppspelning och videosamtal för live-videokonferenser i realtid.
Om en enhetstillverkare väljer att implementera den här funktionen, måste den implementera följande strömanvändningsfall:
- FÖRHANDSVISNING för livesökare och bildanalys i appen
- STILL_CAPTURE för stillbildstagning
- VIDEO_RECORD för att spela in videoklipp
- PREVIEW_VIDEO_STILL för en enda ström som används för sökare, videoinspelning och stillbildsinspelning.
- VIDEO_CALL för långvariga videosamtal
När stöd för strömanvändningsfall är tillgängligt kan kameraenheten utföra konfigurationer som att välja optimalt kamerasensorläge, välja inställningsparametrar och konstruera bildbehandlingspipeline med hjälp av Camera2 API. Appar kan använda Kameraegenskaper#SCALER_AVAILABLE_STREAM_USE_CASES fältet för att fråga listan över steam-användningsfall som stöds på en enhet.
Källa: Esper