title: 2D-filter algorithm
body: <p>Is there anyway to do this faster? I want to reduce the O(N^2) complexity to something lower. Note: The filter kernel is rotational symmetric around N/2.</p>
  
  <pre><code>for(unsigned int k=N/2;k&lt;source.getHeight()-N/2;k++)
      {
      for(unsigned int l=N/2;l&lt;source.getWidth()-N/2;l++)
          {
  
          for(unsigned int m=0;m&lt;N;m++)
              {
              for(unsigned int n=0;n&lt;N;n++)
                  {
                  dest(l,k).red  +=p_kernel[m][n]*source(l+n-N/2,k+m-N/2).red;
                  dest(l,k).green+=p_kernel[m][n]*source(l+n-N/2,k+m-N/2).green;
                  dest(l,k).blue +=p_kernel[m][n]*source(l+n-N/2,k+m-N/2).blue;
                  }
              }
  
          }
      }
  </code></pre>