O Android 13 adiciona alguns novos recursos à API Camera2, incluindo saída de vídeo HDR e suporte para “casos de uso de streaming”.
O API Câmera2 foi introduzido no Android 5.0 como sucessor da API Camera original. A API permite que os desenvolvedores verifiquem quais recursos de câmera estão disponíveis em um dispositivo e expõe câmeras granulares recursos para aplicativos, incluindo controles por quadro para exposição e ganhos de equilíbrio de branco, nitidez, eliminação de ruído, etc. Também é um pré-requisito para a instalação Portas da Câmera do Google. Com Andróide 13, o Google está adicionando alguns novos recursos à API Camera2.
Como avistado por Esper, o HAL do Android 13 permite que os fabricantes de smartphones exponham a saída de vídeo de 10 bits à API Camera2. Se um OEM optar por expor a saída da câmera de 10 bits, ele deverá suportar pelo menos o perfil HLG10. Caso um dispositivo suporte outros formatos HDR, como HDR10+ e Dolby Vision, o fabricante do dispositivo pode anunciar o perfil recomendado para aplicativos usando o
Características da câmera#REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE constante. Enquanto isso, os aplicativos que suportam a API Camera2 podem definir um perfil de faixa dinâmica compatível com um dispositivo específico usando a API OutputConfiguration.setDynamicRangeProfile.Além do suporte de vídeo HDR, a API Camera2 também adiciona suporte para “casos de uso de streaming” para permitir que os OEMs otimizem o desempenho da câmera em diferentes cenários de streaming.
O caso de uso de stream indica a finalidade de um stream de câmera específico da perspectiva do usuário final. Alguns exemplos de casos de uso de câmera são: visualização de fluxo para visor ao vivo mostrado ao usuário, captura de imagem para geração de fotos de alta qualidade captura, gravação de vídeo para codificação da saída da câmera para reprodução futura e chamada de vídeo para videoconferência ao vivo em tempo real.
Se um fabricante de dispositivos optar por implementar esse recurso, será necessário implementar os seguintes casos de uso de stream:
- PREVIEW para visor ao vivo e análise de imagens no aplicativo
- STILL_CAPTURE para captura de fotos estáticas
- VIDEO_RECORD para gravar videoclipes
- PREVIEW_VIDEO_STILL para um único fluxo usado para visor, gravação de vídeo e captura de fotos.
- VIDEO_CALL para videochamadas de longa duração
Quando o suporte a casos de uso de stream está disponível, o dispositivo da câmera pode realizar configurações como selecionar o modo ideal do sensor da câmera, selecionando parâmetros de ajuste e construindo pipeline de processamento de imagem usando o Camera2 API. Os aplicativos podem usar o Características da câmera#SCALER_AVAILABLE_STREAM_USE_CASES campo para consultar a lista de casos de uso do Steam suportados em um dispositivo.
Fonte: Esper