2

我正在用 C 编写一个图形库,我想利用 SSE 指令来加速某些功能。我该怎么做呢?我正在使用 GCC 编译器,因此我可以依赖编译器内在函数。我还想知道是否应该更改存储图像数据的方式(目前我只是使用浮点数组)-我需要使用类型数组float __attribute__ ((vector_size (16)))吗?

编辑:我感兴趣的图像处理/处理类型包括仿射变换、几何和频域滤波(傅立叶分析)

任何关于我应该如何在 C 中使用 SSE 进行图像处理的参考或提示将不胜感激。

谢谢

4

1 回答 1

2

我一直在 Microsoft Visual C++ 上使用 SSE 进行一些图像处理。我发现从一开始就对齐所有图像数据(在 Visual C++ 中使用 _aligned_malloc 和 _aligned_free 完成)是最简单的。对齐确实很痛苦,这就是为什么我只将 SSE 用于算术运算(加法、减法、点积等)。如果我必须做更复杂的事情,我通常只使用指针。

于 2009-11-29T22:21:53.833 回答