Diverse Fragen zu HEVC/H.265/X.265/AMD H.265 und HDR

  • Zitat

    Was bedeuten all die Zahlen?

    Aus der HEVC und der SMPTE ST 2086 Spezifikation.

    ST.2086 Farbvolumen Metadaten werde durch Green, Blue, Red, White Point, und Helligkeit dargestellt: G(XG,YG)B(XB,YB)R(XR,YR)WP(XWP,YWP)L(max,min)


    Soweit ich es im Kopf habe und in der Hoffnung, dass ich mich nicht vertue hier mal ausführlich:


    Das Original besagt:

    Code
    1. Mastering display color pri : Display P3
    2. Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2


    'Mastering display luminance' setzt den Helligkeitswert L(L1,L2), wobei L2 = min/0,0001 = 0,005/0,0001 = 50
    und L1 = max/0,0001 = 4000/0,0001= 4000000 sein sollte.

    Für x265 hätte man also L(4000000,50)


    'Display P3' legt RGB und den WhitePoint auf:
    'R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.3127, y=0.3290)' fest.

    Anmerkung soweit mir bekannt kürzt MediaInfo:

    • mit 'Display P3' aka. 'PCI-P3 D65'


      R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.3127, y=0.3290) ab

    • mit 'DCI P3' aka. 'DCI-P3 Theater'


      R(x=0.680, y=0.320), G(x=0.265, y=0.690), B(x=0.150, y=0.060), White point(x=0.314, y=0.3510) ab.

    • mit 'BT.2020'


      R(x=0.708, y=0.292), G(x=0.170, y=0.797), B(x=0.131, y=0.046), White point(x=0.3127, y=0.3290) ab.

    alle anderen Werte die vorkommen werden nicht abgekürzt und direkt angegeben.

    (Hatte ich mal beim doom9 im MediaInfo thread vor nem Jahr erfragt, da mir unklar war wo die MediaInfo Namen verkamen und worauf sie denn gemapped werden mussten.)


    Um um dies in die Volumen Informationen die als 'G(Xg,Yg)B(Xb,Yb)R(Xr,Yr)WP(Xwp,Ywp)' angegeben werden umzurechnen muss man die Werte durch 0,0002 teilen und erhält so:

    Xr = 0,680/0,00002 = 34000

    Yr = 0,320/0,00002= 16000

    Xg = 0,265/0,00002= 13250

    Yg = 0,690/0,00002= 34500

    Xb = 0,150/0,00002= 7500

    Yb = 0,06/0,00002= 3000

    Xwp = 0,3127/0,00002= 15635

    Ywp = 0,3290/0,00002= 16450


    Insgesamt ergibt dies dann:

    Code
    1. --master-display "G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(4000000,50)"

    -> wie Du siehst, sind die RGB und WP Werte bei Dir schon richtig, aber die Helligkeitswerte (L) sind falsch.


    Cu Selur


    Ps.: Wie gesagt ohne Gewähr, zu faul, dass nochmal alles nach zu schauen, aber so wie ich es im Kopf habe sollte das alles so passen.

  • Danke für die ausführliche Erklärung. Da fehlte zwar noch eine 0 bei L(4000000,50), so kommt als Resulat "min: 0.0050 cd/m2, max: 400 cd/m2" raus, aber wenn ich die 0 noch dran hänge, dann ist das Ergebins min: "0.0050 cd/m2, max: 4000 cd/m2", wie beim Original. Jupiii....


    ... oder auch nicht :(


    Denn, ganz egal was ich da einstelle, max auf 10'000, 4'000, 1'000 oder sogar nur 100 cd/m2, es ändert rein gar nichts auf dem TV!

    Woran kann das liegen? Der TV erkennt ein HDR-Signal. Kann es sein, dass er diese flasch interpretiert? Weil, selbst der Original Rip ist zu dunkel. Habe das jetzt bei 3 Filmen ausprobiert, zwei davon von original UHD Premium Bluray und einer als Aufnahme von Netflix.


    Mein TV kann HDR10, leider kein HDR10+, liegts etwa daran? (Philips 65OLED873)

  • Zitat

    Mein TV kann HDR10, leider kein HDR10+, liegts etwa daran? (Philips 65OLED873

    Wenn Deine Quelle nicht HDR-10+ verwendet: Nein.


    Okay, mal davon ausgegangen, dass Du die Werte vom Original übernommen hast und beim Reencode auch:

    Code
    1. Color range : Limited
    2. Color primaries : BT.2020
    3. Transfer characteristics : PQ
    4. Matrix coefficients : BT.2020 non-constant
    5. Mastering display color pri : Display P3
    6. Mastering display luminance : min: 0.0050 cd/m2, max: 4000 cd/m2

    erscheint, wären da noch zwei mögliche Varianten die mir einfallen:

    a. der Resizer ist das Problem

    b. der Player benutzt nur bei UHD Auflösungen die HDR Werte

    -> Was passiert denn wenn Du: (kann man ja na einem kleinen Sample testen)

    a. ein Auflösung > 1920x1080 verwendest?

    b. bei der Original Auflösung bleibst?


    Cu Selur

  • 1. Erstell dir erst mal ein mkv Testfile mit makemkv. Dann sind alle Metadaten richtig drin. HDR10 ist immer Pflicht, wenn Dolby Vision drauf ist. Teste, ob der TV das abspielt.


    2. Player:

    Ich rate zum Amazon FireTV Stick 4k. Neuste Hardware und billig. Ich streame damit UHD über WLAN 5GHz mit Kodi 18! Eine neue Fritz!Box kann das.

    Am PC benötigt man ansonsten HDMI 2.0a für UHD mit HDR. Hat kaum einer, weil die Studios ihre Player verhökern wollen.

    ABER die billigen TV-Boxen haben UHD-fähiges HDMI 2.0a, z.B. Beelink. Dann muss man sich aber sein Betriebssystem selber einbauen (CoreELEC), weil Android lahmt.


    3. Bildformat auf 16:9 belassen. NICHT croppen! Du gewinnst damit nichts. Die Hardwarebeschleunigung und einige Player nehmen das übel.


    4. Wenn das soweit klappt, können wir über Recodieren reden. Nur so viel: Es geht mit einem einzigen Programm,

    ffmpeg!!!

    Kein Avisynth und andere Tools. Eine Intel CPU 7. Gen. und NVIDIA-Grafik (GPU GTX...) sind von großem Vorteil.


    5. Du hast richtig erkannt, bei den meisten Filmen ist 4k nur hochgerechnet. 1080p und HDR reicht meistens beim Encodieren. Entscheidend sind der Inhalt und die Farben.

    Ganz deutlich wird das, wenn man mal eine echte UHD-Demo sieht

    (Travel With My Pet HDR UHD 4K Demo.ts). Das ist wirklich 4k!!!