Быстрое управление изображениями с использованием инструкций SSE?

StackOverflow https://stackoverflow.com/questions/1806577

  •  05-07-2019
  •  | 
  •  

Вопрос

Я пишу графическую библиотеку на C, и я хотел бы использовать инструкции SSE для ускорения некоторых функций.Как бы я это сделал на твоем месте?Я использую компилятор GCC, поэтому могу полагаться на встроенные функции компилятора.Я также хотел бы знать, должен ли я изменить способ хранения данных изображения (в настоящее время я просто использую массив с плавающей точкой) - нужно ли мне использовать массив типа float __attribute__ ((vector_size (16))) ?

Редактировать:тип манипулирования / обработки изображений, который меня интересует, включает аффинные преобразования, геометрию и фильтрацию в частотной области (анализ Фурье)

Буду очень признателен за любые ссылки или советы о том, как мне следует использовать SSE для обработки изображений на C.

Спасибо

Это было полезно?

Решение

Я работал над некоторой обработкой изображений с помощью SSE на Microsoft Visual C ++.Я обнаружил, что проще всего выровнять все данные изображения (в Visual C ++ это делается с помощью _aligned_malloc и _aligned_free) с самого начала.Однако выравнивание - это настоящая проблема, вот почему я использовал SSE только для арифметических операций (сложение, вычитание, точечное произведение и тому подобное).Если мне приходилось делать более сложные вещи, я обычно просто использовал указатели.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top