Предположим, надо обработать (выделить объекты, размыть изображение и т.п.) потоковое (24fps, 1280x720) видео. Выходит минимум 22.118.400 интераций в секунду. Каким образом оптимизируют такие процессы? О библиотеках типа OpenCV знаю, интересует самописное решение.
Ну например, пройтись по всем пикселям и увеличить значение красного на 10% без использования стандартных библиотек. Какой-нибудь быстрый аналог 2-х циклов for существует? Может быть есть возможность использовать GPU, а не CPU?
Да, для обработки больших массивов данных бывает удобно использовать GPU. Конкретно — имел позитивный опыт работы с NVidia CUDA: ru.wikipedia.org/wiki/CUDA
При этом, проще всего не изобретать велосипедов, а работать с видео как с видео, написав свой фильтер для видео-библиотеки ffmpeg, скажем. www.ffmpeg.org/libavfilter.html вот тут документация по тому, как это сделать.