Dolby Vision Profile 7 is sent to a Profile 5 decoder on DV displays without a Profile 7 decoder
I maintainer di solito rispondono entro 4 giorni
@microkatz ci sta già lavorando.
Dal 26/10/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- audio-video-rtc, backend
Direzione di ricerca
Start by tracing MediaCodecUtil.getAlternativeCodecMimeType and the Dolby Vision profile handling mentioned in the report; compare the profile 7 path with the existing profile 8 fallback. Reproduce in the demo app using an MKV with a Dolby Vision Profile 7 track (dvhe.07.06) on a device without a Profile 7 decoder. Done means playback selects an HEVC decoder for the HDR10-compatible base layer and displays correct HDR10 colours.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version
Media3 main branch (other)
More version details
main at 8c6678b ("Bump version to 1.11.1"). Also seen in Media3 1.10.1 and 1.11.1 as bundled by Stremio (1.10.1-stremio01, 1.11.1-stremio01).
Devices that reproduce the issue
TCL 43BP615 (Google TV, Android 12 / API 31, Realtek, device G10). The display supports Dolby Vision (HDR types 1, 2, 3). Its Dolby Vision decoders are OMX.realtek.video.dvhe.stn.decoder, OMX.realtek.video.dvhe.dtr.decoder, OMX.realtek.video.dvhe.st.decoder, OMX.realtek.video.dvav.se.decoder and OMX.realtek.video.dav1.10.decoder; none supports profile 7.
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
Play an MKV with a Dolby Vision Profile 7 video track (UHD Blu-ray remux: dvhe.07.06, dv_bl_signal_compatibility_id=6, enhancement layer present) in the demo app.
Expected result
Playback of the HDR10-compatible base layer with an HEVC decoder, as Media3 already does for profile 8 when no Dolby Vision decoder supports it.
Actual result
No decoder supports dvhe.07.06, MediaCodecUtil.getAlternativeCodecMimeType returns null for DolbyVisionProfileDvheDtb, and Media3 picks the first Dolby Vision decoder anyway, the Profile 5 one:
D/MediaCodec: create +OMX.realtek.video.dvhe.stn.decoder
W/MediaCodecRenderer: Format exceeds selected codec's capabilities [id=1, mimeType=video/dolby-vision, container=video/x-matroska, codecs=dvhe.07.06, res=3840x2160, color=BT2020/Limited range/ST2084 PQ/10 ...]
I/DVO: +++ ... Dolby = 1 DolbyProfile = 83886080
The display then treats the HDR10 base layer as Profile 5 (with another remux it went to SDR instead: Dolby = 0, hdr=SDR), and the picture is grey and washed out. Every UHD Blu-ray remux with Dolby Vision is affected on this TV.
With #3160 applied to main (it applies cleanly with a three-way merge), the same file plays through the HEVC decoder in HDR10 with correct colours:
D/MediaCodec: create +OMX.realtek.video.decoder
I/OMX_VDEC: frame-info: 3840x2160/23976, hdr=1
D/DisplayManager: notify hdr type: ... type=1
This is broader than #3119 (closed without a bug report): it affects Dolby Vision displays too, wherever no decoder supports profile 7, which is most Android TV devices. If a general fallback is a concern, the base-layer compatibility id in the dvcC/dvvC record (6 for UHD Blu-ray) could limit it to streams whose base layer is HDR10.
Media
Commercial UHD Blu-ray content, which I can't share. Any UHD Blu-ray remux with Dolby Vision reproduces it; I tested a 30-second video-only cut (dvhe.07.06, full enhancement layer).
Bug Report
- You will email the zip file produced by
adb bugreportto [email protected] after filing this issue.
I can send an adb bugreport on request.
- Lingua principale
- Java
- Stelle
- 3.1k
- Fork
- 998
- Merge medio
- 6g 8h
- PR unite (30g)
- 2
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di androidx/media
-
Waive ads when seek/start at the beginningForse già presa @microkatz l’ha presa 1 giorno fa. Apertaenhancement
androidx/media#3496 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Since 1.9.0, skip buttons in SLOT_BACK / SLOT_FORWARD reach legacy controllers as custom actionsForse già presa @marcbaechinger l’ha presa 1 giorno fa. Apertabug
androidx/media#3495 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Allow configuring asset-list prefetch timing per HLS interstitialForse già presa @marcbaechinger l’ha presa 1 giorno fa. Apertaenhancement needs triage
androidx/media#3494 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Offloaded audio left paused keeps AudioFlinger's AudioOffload wake lock forever, device never suspendsForse già presa @microkatz l’ha presa 1 giorno fa. Aperta
androidx/media#3493 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Allow opting into frame-index seeking for MP3s without reliable seek metadataForse già presa @icbaker l’ha presa 1 giorno fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
androidx/media#3492 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di androidx/media
Issue simili
-
Update samples to Citrus 5.1.0Forse già presa @asuruceanu l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
snowflakedb/snowflake-kafka-connector#1610 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
swagger-api/swagger-petstore#245 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
liquid-java/liquidjava#443 ·
I maintainer di solito rispondono entro 2 giorni