HDR10, Settings

  • Erst mal ein dickes Kompliment, ein wirklich gelungenes Plug-in. Ich experimentiere gerade ein wenig mit HDR. Dabei wollte ich das plug-in mal mit dem Media Encoder testen. Dabei ist mir aufgefallen dass die eine oder andere Einstellung unter VUI nicht richtig übernommen wird. Und zwar unter Color Primaries,

    BT.470m = colorprim=bt709

    BT.470bg = colorprim=bt470m

    BT.709 = colorprim=bt470bg

    BT.2020 = colorprim=bt2020, nach drücken von OK und Configure ist die Einstellung wieder BT.470m = colorprim=bt709


    File gemäss MediaInfo:

    Transfer characteristics : BT.2020 (12-bit), eingestellt ist SMPTE 2084 und sollte in MediaInfo Transfer characteristics : PQ angezeigt werden

    HDR Format wird :SMPTE ST 2086 angezeigt, sollte SMPTE ST 2086, HDR10 compatible sein


    Hat das sonst noch wer festgestellt?

  • Ja, den Effekt habe ich auch in R2. BT.2020 wird immer auf BT.470 zurückgesetzt. Ich versuche HDR zu exportieren, bekomme das aber bis heute mit Voukoder R2 nicht hin. Weder mit NVENC, was ja wohl bestätigt bislang auch gar nicht funktionieren soll, wie auch mit X265 nicht. Letzteres liegt vermutlich an falschen Settings, die ich vornehmen. Evtl. hat ja einer einen Tipp, wie das geht, bzw. wie man nachträglich ein mit NVENC HEVC erzeugtes eigentlich HDR-konformes Video im Stream wirklich auf HDR ändert, so dass das der TV / Beamer erkennt. Bislang gelingt mir das nur mit dem von Premiere ausgelieferten H.265 Codec, aber nicht mit Voukoder R2.

  • BT. 2020 hatte ich noch nicht exportiert, aber ich habe noch was anderes im Source Code gefunden Vouk .


    Gui.cpp Zeile 577

    Code
    1. const AVPixFmtDescriptor *pixFmtDescr = av_pix_fmt_desc_get(exportInfo.video.pixelFormat);
    2. int bits = av_get_bits_per_pixel(pixFmtDescr) / av_pix_fmt_count_planes(exportInfo.video.pixelFormat);
    3. if (bits == 10) // WRONG!
    4. {
    5. exportInfo.video.colorTransferCharacteristics = AVColorTransferCharacteristic::AVCOL_TRC_BT2020_10;
    6. }
    7. else if (bits = 12)
    8. {
    9. exportInfo.video.colorTransferCharacteristics = AVColorTransferCharacteristic::AVCOL_TRC_BT2020_12;
    10. }

    Müsste es nicht bits == 12 sein?

  • Test mit HD Trailer, Source, codiert mit Davinci Resolve Studio, Experiment SDR to HDR:

    DNxHR HQX 10-bit

    Color primaries : BT.2020

    Transfer characteristics : PQ

    Matrix coefficients : BT.2020 non-constant


    Codiertes File, v2.0.8, x265 mit HDR Parametern, wird nicht als HDR erkannt, Avatar - Trailer_HDR_x265.mkv, MediaInfo:

    HDR format : SMPTE ST 2086

    Color range : Limited

    Color primaries : BT.2020

    Transfer characteristics : BT.2020 (12-bit)

    transfer_characteristics_Original : PQ

    Matrix coefficients : BT.2020 constant

    matrix_coefficients_Original : BT.2020 non-constant

    Mastering display color primaries : Display P3

    Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2

    Maximum Content Light Level : 1000 cd/m2

    Maximum Frame-Average Light Level : 400 cd/m2


    HDR Metadata mit HDRmaster editiert, wird danach als HDR erkannt, Avatar - Trailer_HDR_x265_HDRmaster.mkv, MediaInfo:

    HDR format : SMPTE ST 2086, HDR10 compatible

    Color range : Limited

    Color primaries : BT.2020

    Transfer characteristics : PQ

    Matrix coefficients : BT.2020 non-constant

    Mastering display color primaries : Display P3

    Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2

    Maximum Content Light Level : 1000 cd/m2

    Maximum Frame-Average Light Level : 400 cd/m2


    Codiertes File, v2.0.8, NVEnc, wird nicht als HDR erkannt, Avatar - Trailer_HDR_NVEnc.mkv, MediaInfo:

    Format profile : Main 10@L5.1@High

    Color range : Limited

    Color primaries : BT.2020

    Transfer characteristics : BT.2020 (12-bit)

    Matrix coefficients : BT.2020 constant


    HDR Metadata mit HDRmaster editiert, wird danach als HDR erkannt, Avatar - Trailer_HDR_NVEnc_HDRmaster.mkv, MediaInfo:

    HDR format : SMPTE ST 2086, HDR10 compatible

    Color range : Limited

    Color primaries : BT.2020

    Transfer characteristics : PQ

    Matrix coefficients : BT.2020 non-constant

    Mastering display color primaries : Display P3

    Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2

    Maximum Content Light Level : 1000 cd/m2

    Maximum Frame-Average Light Level : 400 cd/m2


    https://www.dropbox.com/sh/tht…40-Q5-tugtkP8otJ5BUa?dl=0



  • 1. Welchen Video Enkoder mit welchen Settings (inkl. Pixel format) hast du in Voukoder für den Export eingestellt?


    2. Folgende Konstanten habe ich zur Auswahl. Die rot markierten werden bei derSelektion im Voukoder derzeit gewählt.


    2.1 AVColorPrimaries:

    AVCOL_PRI_RESERVED0 = 0,

    AVCOL_PRI_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP177 Annex B

    AVCOL_PRI_UNSPECIFIED = 2,

    AVCOL_PRI_RESERVED = 3,

    AVCOL_PRI_BT470M = 4, ///< also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)


    AVCOL_PRI_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM

    AVCOL_PRI_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC

    AVCOL_PRI_SMPTE240M = 7, ///< functionally identical to above

    AVCOL_PRI_FILM = 8, ///< colour filters using Illuminant C

    AVCOL_PRI_BT2020 = 9, ///< ITU-R BT2020

    AVCOL_PRI_SMPTE428 = 10, ///< SMPTE ST 428-1 (CIE 1931 XYZ)

    AVCOL_PRI_SMPTEST428_1 = AVCOL_PRI_SMPTE428,

    AVCOL_PRI_SMPTE431 = 11, ///< SMPTE ST 431-2 (2011) / DCI P3

    AVCOL_PRI_SMPTE432 = 12, ///< SMPTE ST 432-1 (2010) / P3 D65 / Display P3

    AVCOL_PRI_JEDEC_P22 = 22, ///< JEDEC P22 phosphors

    AVCOL_PRI_NB ///< Not part of ABI


    2.2 AVColorSpace

    AVCOL_SPC_RGB = 0, ///< order of coefficients is actually GBR, also IEC 61966-2-1 (sRGB)

    AVCOL_SPC_BT709 = 1, ///< also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B

    AVCOL_SPC_UNSPECIFIED = 2,

    AVCOL_SPC_RESERVED = 3,

    AVCOL_SPC_FCC = 4, ///< FCC Title 47 Code of Federal Regulations 73.682 (a)(20)

    AVCOL_SPC_BT470BG = 5, ///< also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601

    AVCOL_SPC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC

    AVCOL_SPC_SMPTE240M = 7, ///< functionally identical to above

    AVCOL_SPC_YCGCO = 8, ///< Used by Dirac / VC-2 and H.264 FRext, see ITU-T SG16

    AVCOL_SPC_YCOCG = AVCOL_SPC_YCGCO,

    AVCOL_SPC_BT2020_NCL = 9, ///< ITU-R BT2020 non-constant luminance system

    AVCOL_SPC_BT2020_CL = 10, ///< ITU-R BT2020 constant luminance system

    AVCOL_SPC_SMPTE2085 = 11, ///< SMPTE 2085, Y'D'zD'x

    AVCOL_SPC_CHROMA_DERIVED_NCL = 12, ///< Chromaticity-derived non-constant luminance system

    AVCOL_SPC_CHROMA_DERIVED_CL = 13, ///< Chromaticity-derived constant luminance system

    AVCOL_SPC_ICTCP = 14, ///< ITU-R BT.2100-0, ICtCp

    AVCOL_SPC_NB ///< Not part of ABI


    2.3 AVColorTransferCharacteristic

    AVCOL_TRC_RESERVED0 = 0,

    AVCOL_TRC_BT709 = 1, ///< also ITU-R BT1361

    AVCOL_TRC_UNSPECIFIED = 2,

    AVCOL_TRC_RESERVED = 3,

    AVCOL_TRC_GAMMA22 = 4, ///< also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM

    AVCOL_TRC_GAMMA28 = 5, ///< also ITU-R BT470BG

    AVCOL_TRC_SMPTE170M = 6, ///< also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC

    AVCOL_TRC_SMPTE240M = 7,

    AVCOL_TRC_LINEAR = 8, ///< "Linear transfer characteristics"

    AVCOL_TRC_LOG = 9, ///< "Logarithmic transfer characteristic (100:1 range)"

    AVCOL_TRC_LOG_SQRT = 10, ///< "Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"

    AVCOL_TRC_IEC61966_2_4 = 11, ///< IEC 61966-2-4

    AVCOL_TRC_BT1361_ECG = 12, ///< ITU-R BT1361 Extended Colour Gamut

    AVCOL_TRC_IEC61966_2_1 = 13, ///< IEC 61966-2-1 (sRGB or sYCC)

    AVCOL_TRC_BT2020_10 = 14, ///< ITU-R BT2020 for 10-bit system

    AVCOL_TRC_BT2020_12 = 15, ///< ITU-R BT2020 for 12-bit system

    AVCOL_TRC_SMPTE2084 = 16, ///< SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems

    AVCOL_TRC_SMPTEST2084 = AVCOL_TRC_SMPTE2084,

    AVCOL_TRC_SMPTE428 = 17, ///< SMPTE ST 428-1

    AVCOL_TRC_SMPTEST428_1 = AVCOL_TRC_SMPTE428,

    AVCOL_TRC_ARIB_STD_B67 = 18, ///< ARIB STD-B67, known as "Hybrid log-gamma"

    AVCOL_TRC_NB ///< Not part of ABI


    Ich gehe davon aus das AVCOL_TRC_SMPTE2084 entsprechend korrekt wäre. Richtig?


    Wäre dann:


    Code
    1. Color primaries : BT.2020
    2. Transfer characteristics : PQ
    3. Matrix coefficients : BT.2020 constant

    Stay up-to-date and follow me on Twitter. Tell me your feedback.


    Help to improve this plugin and support me on patreon. Thank you.

  • Vouk , AVCOL_TRC_SMPTE2084 müsste stimmen. Bei Matrix coefficients : BT.2020 constant müsste es BT.2020 nc (BT.2020 non-constant) sein. Color Primaries springt nach Einstellung BT.2020 immer wieder auf BT.470m. Settings werden hier nicht übernommen. Meine Einstellungen siehe PDF, Dateianänge. x265 gemäss PDF eingestellt, Rest Standard. NVEnc gemäss PDF eingestellt, Rest Standard.

    Für ffmpeg habe ich folgende Parameter: -x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1):max-cll=1000,400:keyint=24:hdr-opt=1:uhd-bd=1"

    Diese generierten Files werden in Blu-Disc Studio UHD zu 100% akzeptiert.


    Der Adobe Mediaencoder ist mit dem ausgelieferten H.265 Codec aus meiner Sicht viel zu langsam. Voukoder mit x265 ist da wesentlich schneller. Mein Test File DNxHR, Dauer 00:03:30:09 benötigt zum rendern:

    Voukoder x265: ca. 09:30

    Voukoder NVEnc: ca. 03:33

    Adobe H.265:, mit GPU Beschleunigung: 27:10

  • Ist nun eingebaut.


    Ich bin mir gar nicht sicher ob die x265 VUI settings überhaupt nötig sind, da libav die eigentlich automatisch dort einträgt. Zumindest sind in Media Info auch sichtbar ohne das ich sie gesondert als x265 parameter eintrage. Evtl. sollte ich sie da wieder entfernen.


    Es gibt bald mal eine beta version zum Testen wo das (und Anderes) entsprechend korrigiert ist

    Stay up-to-date and follow me on Twitter. Tell me your feedback.


    Help to improve this plugin and support me on patreon. Thank you.

  • Nimm den Link zur "beta2", habe den oben auch angepasst.

    Das ist das korrigiert.


    P.S.: Ignorier ersteinmal die x265 VUI Settings: Range, Color Primaries, Transfer Characteristics, Color Matrix - und nutze nur die in Premiere im Video Tab. Mal schauen ob das reicht.

    Stay up-to-date and follow me on Twitter. Tell me your feedback.


    Help to improve this plugin and support me on patreon. Thank you.

  • Danke. Der Link funktioniert leider nicht. Habe den Download so gemacht: https://github.com/Vouk/voukoder/releases.

    Wenn man die Audio Settings ändert und OK drückt stürzt der Media Encoder ab. Video Settings schauen beim ersten Test mit x265 gut aus:

    HDR format : SMPTE ST 2086, HDR10 compatible

    Color range : Limited

    Color primaries : BT.2020

    Transfer characteristics : PQ

    Matrix coefficients : BT.2020 constant

    matrix_coefficients_Original : BT.2020 non-constant

    Mastering display color primaries : Display P3

    Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2

    Maximum Content Light Level : 1000 cd/m2

    Maximum Frame-Average Light Level : 400 cd/m2

  • Wähle mal einen anderen Exporter, dann wieder Voukoder (ggf. in Premiere). Es sollte dann wieder gehen.


    In beta1 habe ich leider die Settings falsch gespeichert.

    Stay up-to-date and follow me on Twitter. Tell me your feedback.


    Help to improve this plugin and support me on patreon. Thank you.

  • Habe ich versucht. Hat leider mit der Beta 2 nicht funktioniert. Bei Beta 3 funktioniert es. Warum hast Du die einen VUIs entfernt? Fande diese Einstellungen hilfreich. Frage: Würde die Möglichkeit bestehen auch in Elementary Streams zu encodieren ohne Container?