Mapowanie tonów – obsługa treści HDR i SDR
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Pracując z Transformerem, należy wziąć pod uwagę
między HDR a SDR. HDR pozwala oglądać materiały z większą ilością szczegółów kolorów,
kolorów i kontrastu, co zapewnia użytkownikom lepsze wrażenia wizualne. Jednak ze względu na
różnic w zakresach kolorów między HDR i SDR, co łączy 2 typy
może spowodować problemy ze zgodnością.
Gdy tworzysz witrynę
Composition
,
możesz setHdrMode
dla wejść wideo HDR. Domyślnie Transformer ustawia tę wartość na
HDR_MODE_KEEP_HDR
,
dzięki czemu dane wyjściowe są zapisywane w formacie HDR. Jeśli urządzenie nie
obsługuje format HDR, Transformer automatycznie próbuje użyć
HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL
.
W niektórych przypadkach możesz łączyć zarówno zasoby HDR, jak i SDR. Na przykład:
na zdjęciach i filmach HDR mogą być nakładki SDR,
filmów w formacie HDR i SDR. W takim przypadku masz te możliwości:
|
Zalety |
Wady |
Mapa tonalna za pomocą MediaCodec |
Najlepsza jakość wizualna, jeśli dane są obsługiwane przez kombinację urządzenia i interfejsu API. |
Obsługiwane tylko w przypadku interfejsów API 31 i nowszych na niektórych urządzeniach oraz w interfejsach API 33 i nowszych w przypadku urządzeń
z funkcją HDR. Jeśli nie jest obsługiwany, Transformer wysyła błąd
ExportException |
Mapa tonalna w trybie OpenGL |
Obsługiwany w interfejsie API w wersji 29 i nowszych. Ogólnie rzecz biorąc, jest on dostępny na różnych urządzeniach. Zapewnia bardziej spójne wyniki. |
Może powodować niewielkie różnice w porównaniu z wynikami stosowania
HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC |
Interpretowanie formatu HDR jako SDR |
Najczęściej obsługiwana opcja. |
Treści będą prawdopodobnie wymazane i mogą być wyświetlane nieprawidłowo. |
Obecne ograniczenia
W przypadku kompozycji z wieloma zasobami te elementy nie są obsługiwane:
- Mapowanie tonów SDR na HDR
- Sekwencje treści SDR i HDR, które zaczynają się od zasobu HDR
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Tone mapping - Supporting HDR and SDR content\n\nWhen working with Transformer, it is important to consider the compatibility\nbetween HDR and SDR content. HDR displays content with greater color detail,\ncolor and contrast, giving users a better visual experience. However, due to the\ndifference in color ranges between HDR and SDR, combining the two types of\ncontent could lead to compatibility issues.\n\nAs you are building a\n[`Composition`](/reference/androidx/media3/transformer/Composition.Builder),\nyou have the option to [`setHdrMode`](/reference/androidx/media3/transformer/Composition.Builder#setHdrMode(int))\nfor HDR video inputs. By default, Transformer sets this value to\n[`HDR_MODE_KEEP_HDR`](/reference/androidx/media3/transformer/Composition#HDR_MODE_KEEP_HDR()),\nwhich ensures the output is kept in the HDR format. If the device does not\nsupport the HDR format, Transformer automatically attempts to use\n[`HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL`](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL()) instead.\n\nIn some cases, you may be combining both HDR and SDR assets. For example, you\nmight have SDR overlays on top of HDR videos and images, or you might have a mix\nof HDR and SDR videos. In this case, you have the following options:\n\n| | Advantages | Disadvantages |\n|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Tone map with MediaCodec](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC()) | Best visual quality output if supported on device and API combination. | Only supported on API 31+ on certain devices and on API 33+ for devices with HDR capture support. If not supported, `Transformer` throws an `ExportException`. |\n| [Tone map with OpenGL](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL()) | Supported on API 29+, with generally wider support across devices. Produces more consistent results. | May produce mild differences compared to output from using `HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC`. |\n| [Interpret HDR as SDR](/reference/androidx/media3/transformer/Composition#HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR()) | Most widely supported option. | Contents will likely have a washed out look and may be displayed incorrectly. |\n\nCurrent limitations\n-------------------\n\nThe following are unsupported for multi-asset compositions:\n\n- SDR to HDR tone mapping\n- SDR and HDR content sequences that start with an HDR asset"]]