docs: private static void internalHorizontalBlur(
        int[] pixels, int[] outRow, int w, int row, int diameter, int[] div) {
      final int firstInByte = w * row;
      final int lastInByte = w * (row + 1) - 1;
      final int radius = diameter >> 1;
  
      int a = 0, r = 0, g = 0, b = 0;
      int pixel;
  
      // Iterate over relative position to first pixel of row
      for (int i = -radius; i < w + radius; i++) {
        final int ii = bound(firstInByte + i, firstInByte, lastInByte);
        pixel = pixels[ii];
        r += (pixel >> 16) & 0xFF;
        g += (pixel >> 8) & 0xFF;
        b += pixel & 0xFF;
        a += pixel >>> 24;
  
        if (i >= radius) {
          final int outOffset = i - radius;
          outRow[outOffset] = (div[a] << 24) | (div[r] << 16) | (div[g] << 8) | div[b];
  
          final int j = i - (diameter - 1);
          final int jj = bound(firstInByte + j, firstInByte, lastInByte);
          pixel = pixels[jj];
          r -= (pixel >> 16) & 0xFF;
          g -= (pixel >> 8) & 0xFF;
          b -= pixel & 0xFF;
          a -= pixel >>> 24;
        }
      }
    }