У меня есть два блока изображений, которые хранятся как массивы 1D и выполняют следующие побитовые операции И среди элементов из них.
int compare(unsigned char *a, int a_pitch,
unsigned char *b, int b_pitch, int a_lenx, int a_leny)
{
int overlap =0 ;
for(int y=0; y<a_leny; y++)
for(int x=0; x<a_lenx; x++)
{
if(a[x + y * a_pitch] & b[x+y*b_pitch])
overlap++ ;
}
return overlap ;
}
На самом деле, я должен выполнить эту работу около 220 000 раз, поэтому на устройствах iphone очень медленно.
Как я могу ускорить эту работу на iPhone?
Я слышал, что NEON может быть полезен, но я не очень-то знаком с ним. Кроме того, кажется, что NEON не имеет побитового AND...