AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 19:47

Parameter dieser Suchanfrage:

Suche in Thema: Floyd-Steinberg Dithering
Suche alle Beiträge, die von "Amateurprofi" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 16 von insges. 16 Treffern
Suche benötigte 0.003s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 30. Nov 2023
    Danke Stevie,
    tschuldi, dass ich so spät antworte. Ich hatte diesen Text schon vor 2 Wochen geschrieben, mich dann aber um andere Themen gekümmert.

    Ich bin mir sicher, dass ich Deine Ausführungen verstanden hatte und ich bin mir auch sicher, dass ich das auch schon vorher wusste.
    Ich habe die CMOV-Instruktion immer gemieden, weil sie nicht von allen Prozessoren unterstützt wird, was...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 12. Nov 2023
    Du hast da uneingeschränkt Recht.
    Viel schlimmer ist jedoch das:
    @N: add edx,1
    cmp edx,255
    jbe @2

    Da wird das jbe nie ausgeführt.
    Aber den Fehler hatte ich in alle Testprozeduren gleichermaßen eingebaut.

    Was den Wert in EDX betrifft, hab ich noch mal geprüft, welche Werte in Frage kommen.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 9. Nov 2023
    OK.
    Wie wäre es, wenn Du bei einer Antwort (wenn Du nicht den Beitrag zitierst), angibst, auf welchen Beitrag Du Dich beziehst?
    Zum Beispiel ein "Zu #25:" würde helfen, Missverständnisse zu vermeiden.
    Ist nur eine Anregung.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 8. Nov 2023
    Zu "Übrigens schreibt man dec ecx und nicht sub ecx, 1 - dec ist 1 byte instruction, sub benötigt 3 byte"
    Da sind die Hersteller meiner CPU anderer Meinung.
    Zitat aus Kapitel 2-12 in "IA-32 Intel® Architecture Optimization Reference Manual" (Siehe Anhang)

    Merke: Kürzere Instruction bedeutet nicht automatisch "schneller".
    Mir ist bewusst, dass bei heutigen Prozessoren (auch bei meinem schon...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 8. Nov 2023
    Thanks for clarification.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 8. Nov 2023
    Oh, das habe ich missverstanden. Tschuldi.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 8. Nov 2023
    Danke, Stevie
    Zwei Fragen hätte ich:
    1) Was ist "Data"?
    Bei mir kommt der Wert, der ggfs. auf 0 oder 255 zu ändern ist, aus EDX (ist -255..255) und der (ggfs. geänderte Wert wird in gespeichert.

    2) zu "Ich war auch mal so frei, die non-volatilen Register korrekt zu sichern:"
    Ich mache
    push edi
    push esi
    ...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 7. Nov 2023
    SSE, MMX
    Unfortunately Pixels are 3 Bytes, not 4 Bytes in pf24bit-Bitmaps.
    Furthermore loading the r,g,b Values from memory into SSE/MMX registers and storing from SSE/MMX registers into memory is (my opinion) slower than my code.
    Feel free to prove me wrong.
    SSE, MMX
    Unfortunately Pixels are 3 Bytes, not 4 Bytes in pf24bit-Bitmaps.
    Furthermore loading the r,g,b Values from memory into...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 7. Nov 2023
    Ich habe mir das Thema "Floyd Steinberg" noch einmal zu Gemüte geführt und einige Assembler-Prozeduren zusammengefrickelt, die das Dithering deutlich beschleunigen.
    Laufzeiten für Bitmaps mit 2.4MPixel bzw. 13.3MPixel im 32Bit- und 64Bit-Modus
    Pas: 149 209 / 857 1165 ms
    Pas42: 529 531 / 3048 3027 ms
    Pas48: 498 534 / 2866 3021 ms
    Asm1: 53,5 54.8 / 342 343 ms
    Asm2: 54.1 54.8 / 309 321 ms ...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 20. Okt 2023
    with AP^, Delta do
    begin
    v := Blue + B * Factor shr 4;

    Please be aware of that the values in Delta (R,G,B) may be negative.
    Assume AP.Blue=200 and Delta.B=-10 and Factor=7.
    Then V will evaluated as
    V := Blue + ((B * Factor) shr 4);
    V := 200 + ((-10 * 7) shr 4);
    V := 200 + (-70 shr 4);
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    Have tested your suggestions.
    1) NativeInt instead of Integers
    Doubles the used time.
    2) Replacing EnsureRange bei If then ..,
    Adds another few ms
    3) shr instead of Div 16
    Commented earlier
    4) Starting with the Bottom Line
    Not tested, would expect advantages
    4) X forward
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    No!
    shr with negative numbers?
    The compiler converts "Div 16" to "sar 4".
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    Weil ich auf der Suche nach einem Floyd-Steinberg Algo auf den Thread gestoßen bin und wirklich happy war, als ich den bei shmia fand.
    Ich hätte das ja auch als neuen Thread, ohne Bezug auf shmia, posten können, aber ich schmücke mich nicht gern mit fremden Federn.
    Übrigens: Die Pyramiden bei Gizeh sind etwas älter als 15 Jahre und werden trotzdem gern und oft besucht.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    Ja, genau das ist mir mal mit einem Uralt-Programm passiert, das (neu kompiliert) auf einmal nicht mehr lief.
    Hab damals ziemlich lange gebraucht, um zu begreifen, woran es lag.
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    Nee, warum sollte ich böse sein.
    Ich verstehe, dass es im Profi-Bereich notwendig, oder zumindest sinnvoll ist, sich an ein bestimmtes Regelwerk zu halten.
    Wie jedoch mein Username vermuten lässt bin ich, IT-bezogen, eher Amateur.
    Und ich liebe "with", weil es kompakteren Source-Code ermöglicht.
    Aus der Delphi Hilfe "When you use the with statement, your code becomes shorter and easier to...
  • Forum: Multimedia

    AW: Floyd-Steinberg Dithering

      Delphi
      by Amateurprofi, 19. Okt 2023
    @shmia,
    vielen herzlichen Dank!
    Hab mich aufgerufen gefühlt.
    Ist etwas schneller als das Original.
    Zeitbedarf für ein Bild mit 4608 x 3456 Pixeln:
    Original ca. 180 s
    Fälschung ca. 1 s

    PROCEDURE FloydSteinberg(Bmp:TBitmap);
    resourcestring


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=Amateurprofi&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=119187
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz