Gegeben sind zwei Arrays:
Delphi-Quelltext
1: 2:
| TPackSingle = array [0..3] of single; TPackByte = array [0..3] of byte; |
Ich würde gerne eine schnelle Umwandlung mittels SSE realisieren:
-TPackSingle mit 255 multiplizieren
-Abschneiden, falls <0 oder >255
-Runden und in TPackByte speichern
Der SSE-Befehl "CVTPS2PI" wandelt zwei Singles in zwei Ints um. Befehle zum Abschneiden (Saturation) gibts es soweit ich weiss auch. Eventuell kann man ja auch alle vier Floats auf einen Rutsch umwandeln?
Moderiert von
Christian S.: Delphi-Tags hinzugefügt