Frage

Ich bin eine Grafik-Bibliothek in C zu schreiben, und ich mag SSE-Befehle verwenden, einige der Funktionen zu beschleunigen. Wie würde ich mich über das tun dies? Ich bin mit den GCC-Compiler so dass ich auf Compiler-Spezifika verlassen kann. Ich würde auch gerne wissen, ob ich die Art und Weise ändern, soll ich die Bilddaten an Speicherung (zur Zeit bin ich nur ein Array von Floats mit) - brauche ich ein Array vom Typ float __attribute__ ((vector_size (16))) verwenden

?

EDIT: die Art der Bildmanipulation / Verarbeitungs Ich bin an umfassen affine Transformationen, Geometrie und Frequenzbereichsfilterung (Fourieranalyse)

Verweise oder Tipps, wie ich über die Verwendung von SSE für Bildmanipulation in C würde gehen sollte sehr geschätzt werden.

Dank

War es hilfreich?

Lösung

Ich habe mit SSE auf Microsoft Visual C auf einige Bildverarbeitung gearbeitet ++. Ich habe es gefunden am einfachsten alle Bilddaten auszurichten (in Visual C ++, dass mit _aligned_malloc und _aligned_free getan hat) von Anfang an. Die Ausrichtung ist ein echten Schmerzen aber das ist, warum ich SSE nur für arithmetische Operationen verwendet (addiert, subtrahiert, Skalarprodukt, diese Art von Dingen). Wenn ich kompliziertere Dinge zu tun hatte, im Allgemeinen ich nur verwendet, um Zeiger.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top