Obsługa metadanych
Aby umożliwić zapisywanie nieprzetworzonych plików graficznych za pomocą platformy Androida, wymagane są metadane dotyczące charakterystyki czujnika. Obejmuje to m.in. takie jak przestrzenie kolorów i funkcje cieniowania obiektywu.
Większość tych informacji jest właściwością statyczną podsystemu aparatów fotograficznych i może
w związku z tym przed skonfigurowaniem potoków wyjściowych lub przesłaniem
żądań. Nowe interfejsy API aparatu znacznie rozszerzają informacje dostarczane przez
getCameraInfo()
, aby przekazać te informacje do funkcji
.
Ręczne sterowanie podsystemem kamery wymaga również opinii różnych urządzeń o ich bieżącym stanie oraz rzeczywistych parametrach z przechwytywaniem danej klatki. Rzeczywiste wartości ustawień (czas ekspozycji, klatka) czas trwania i czułość), które są rzeczywiście używane przez sprzęt, muszą być uwzględnione na dane wyjściowe. Dzięki temu aplikacje będą wiedzieć, kiedy ustawienia ograniczania zakresu lub zaokrąglania, aby aplikacja mogła rzeczywiste ustawienia używane do robienia zdjęć.
Jeśli na przykład aplikacja ustawia w żądaniu czas trwania klatki na 0, interfejs HAL musi ograniczyć czas trwania klatki do rzeczywistego minimalnego i zgłosić, że w metadanych wyniku wyjściowego zmniejszył się minimalny czas trwania.
Jeśli aplikacja musi wdrożyć niestandardową rutynę 3A (na przykład w przypadku serii HDR) musi znać ustawienia najnowsze otrzymane wyniki w celu zaktualizowania ustawień dla do kolejnej prośby. Dlatego też nowy interfejs Camera API zapewnia znaczne ilości nowych danych, dynamicznych metadanych każdej przechwyconej klatki. Obejmuje to żądane i rzeczywiste parametry wykorzystywane podczas przechwytywania, a także dodatkowe metadane poszczególnych klatek, takie jak w postaci sygnatur czasowych i danych wyjściowych generatora statystyk.
Ustawienia zależne od ustawienia
W większości ustawień oczekuje się, że można je zmienić w każdej klatce, bez wprowadzania znaczących zacięć i opóźnień w strumieniu klatek wyjściowych. Najlepiej, gdy wyjściowa liczba klatek powinna być kontrolowana wyłącznie przez pole czasu trwania klatek w żądaniu i być niezależna od wszelkich zmian w przetwarzaniu bloki konfiguracji. W rzeczywistości niektóre elementy sterujące działają wolno zmienić; Obejmują one rozdzielczość wyjściową i format wyjściowy kamery a także mechanizmy kontroli wpływającej na urządzenia fizyczne, np. ustawienie ostrości za pomocą obiektywu odległość. Dokładne wymagania dla każdego zestawu ustawień zostały podane w dalszej części.
Obsługa nieprzetworzonych danych z czujnika
Oprócz formatów pikseli obsługiwanych przez starego interfejsu API, nowy interfejs API dodaje wymóg dotyczący obsługi nieprzetworzonych danych z czujników (Bayer RAW) zarówno do zaawansowanych aplikacji aparatu, jak i do plików graficznych.