Skip to content

Releases

0.41.0-renderpl.80

Choose a tag to compare

@simonchrz simonchrz released this 07 Nov 17:50

kk_gpu: CAS-Eingang als RGB10A2 (KUCKUCK_KK_SRGB10=0 → RGBA16F), Prüfstand + Bench. Prüfstände grün.

0.41.0-renderpl.79

Choose a tag to compare

@simonchrz simonchrz released this 07 Nov 17:30

kk_gpu: LANCZOS_CMH (HDR-Tonemap im letzten Scaler-Pass), Zwischentexturen lazy je Pfad (−~100 MB HDR 1440p), Bench für Fusionen. Prüfstände grün.

0.41.0-renderpl.78

Choose a tag to compare

@simonchrz simonchrz released this 07 Nov 17:01

kk_gpu: Deband+LIN fusioniert (DEBANDLIN), Chroma-L3-Gewichte aus einem Phasenwert, CAS im HDR-Pfad, HD-Light-Sparpfad-Hinweise, Command-Buffer-Zeiten (busy/wait/wake) + Pass-Fenstermittel. Prüfstände grün.

0.41.0-renderpl.77

Choose a tag to compare

@simonchrz simonchrz released this 28 Sep 15:40

Deband im HD-Sparpfad auf App-Vorgabe (KUCKUCK_DEBAND_HD=1); nicht-fusionierter HD-Light-Pfad liest die entbandete Quelle. Keine ABI-Änderung gegenüber renderpl.76.

0.41.0-renderpl.76

Choose a tag to compare

@simonchrz simonchrz released this 27 Sep 19:07

kk_gpu-Sweep 2: GPU-Fehler bis zur App melden (done ok), Zwischentexturen pro Kontext, Texture-/Deblock-Cache-Flush, Deblock-Prewarm, setenv unter Render-Sperre; Lanczos-Anti-Ringing, Dither-Ränder, EWA je Achse, HDR ohne Metadaten ungedeckelt, HLG (inverse OETF + OOTF). ⚠️ ABI: kuckuck_hybrid_render_async-Callback hat jetzt (ud, ok); neu kuckuck_hybrid_setenv.

0.41.0-renderpl.75

Choose a tag to compare

@simonchrz simonchrz released this 25 Sep 16:38

kk_gpu renderpl.75 (Sweep 2026-09-25):

  • Stabilität: globale Render-Sperre + Kontextzähler (use-after-free beim Folgen-Übergang), Maße nur bei erfolgreicher Allokation (keine Selbstsperre), NULL-Eingänge abgefangen, CNN-Zwischenstufen lazy (~120–280 MB weniger bei Größenwechseln), Texture-Cache-Flush
  • Farbe: Matrix/Primaries über den H.273-Codepunkt (SD-Aufnahmen 'YCbCrMatrix#5' = BT.601 fielen auf 709)
  • HD-Light: 1:1-Achsen ohne Lanczos, sRGB-Kodierung im letzten Pass vor CAS (iPhone: VT-SR 1:1 3,33 → 1,70 ms, 720p→Panel 3,53 → 3,09 ms); Deblock-Ziele über den Texture-Cache
  • HDR: Peak-Schätzung aus MaxRGB statt Luma (1000-nit-Rot 2 → 1003 nit), asymmetrische Glättung, pro Kontext, NaN-Schutz
    Alle 12 Prüfstände grün.

renderpl.74 — Chroma per Lanczos3

Choose a tag to compare

@simonchrz simonchrz released this 22 Sep 18:33

Farbebene per Lanczos3 statt bilinear (separabel: CHH-Vorpass horizontal, 6 vertikale Taps im Decoder). Farbfehler an Kanten an echten Bildern: VOX −22 %, Cartoon −34 %, ZDF-720p −26 %. Default nur ausserhalb HD-Light; die App gibt per KUCKUCK_CHROMA_UP vor (tier ≥ high, < 1080p), =bilinear|lanczos erzwingt. Kosten iPhone 17 Pro ~+0,3–0,7 ms GPU. HDR unverändert. Alle Prüfstände grün, kk_iq_test mit exakter CPU-Referenz (mutationsgeprüft).

renderpl.73 — Bildqualität: Schwarzpunkt, Chroma-Ort, Dither

Choose a tag to compare

@simonchrz simonchrz released this 22 Sep 17:47

Video-Schwarz auf Code 0 statt 3 (BT.1886-Schwarzpunkt-Ausgleich), Chroma-Ort aus dem Pixelbuffer (Broadcast = left, vorher mittig abgetastet), TPDF-Dither beim Schreiben ins 8-Bit-Ziel. Env-Rückwege KUCKUCK_BLACKPOINT=0 / KUCKUCK_CHROMA_LOC=center|left / KUCKUCK_DITHER=0. Alle Prüfstände grün, kk_iq_test neu (mutationsgeprüft). On-device verifiziert (iPhone 17 Pro), Kosten nicht messbar.

renderpl.72 — Deblock vor VT-SR (NV12→NV12)

Choose a tag to compare

@simonchrz simonchrz released this 12 Sep 20:23

kuckuck_hybrid_deblock_nv12: separabler Luma-Bilateral (±3) auf dem Rohbild vor der ANE, Chroma per Blit, eigener kk_gpu-Kontext neben dem Render. Alle Prüfstände grün.

renderpl.71 — echter SD-Deblock (MSL) + Pass-Zeitmessung

Choose a tag to compare

@simonchrz simonchrz released this 03 Sep 07:41

kk_gpu:

  • Echter SD-Deblock als MSL-Pass (~deblock-Gate). Bis dahin lief die
    deblock_cas.glsl der App NIE — kk_gpu liest keine GLSL, der Pfad ist nur ein
    Substring-Schalter, und "deblock_cas" traf allein "cas". Jetzt ein Port der
    GLSL-Mathe: separabler 1D-Bilateral ±3 (Gewichte 0,88/0,61/0,32, SIGMA_R 0,12
    auf Luma), H→c_dbl, V→c_dec, VOR Deband/LIN/CNN. Gemessen ~0,15–0,3 ms/Frame
    auf dem A19. fusedDec (DECLIN) wird bei aktivem Deblock aufgetrennt.
  • Pass-Zeitmessung kuckuck_hybrid_pass_timings (opt-in via
    KUCKUCK_PASS_TIMING) — war seit renderpl.70 im Branch, aber nie in einem Release.
  • Prüfstand-Ausbau: kk_rest_test deckt die Deblock-Invarianten ab
    (Kachelstufe 16→4 LSB, Reichweite, Helligkeitstreue, Kantenerhalt), alle
    mutationsgeprüft; kk_bench mit einer Probe auf halbe Präzision (Ergebnis: bringt
    nichts — Lanczos ±1 %, DELINCAS −8 % ≈ 0,08 ms/Frame, nicht portiert).