src/main/java/org/jcodec/codecs/h264/decode/BlockInterpolator.java
static void getLuma00Unsafe(byte[] pic, int picW, int picH, byte[] blk, int blkOff, int blkStride, int x, int y,
            int blkW, int blkH) {
        int maxH = picH - 1;
        int maxW = picW - 1;

        for (int j = 0; j < blkH; j++) {
            int lineStart = clip(j + y, 0, maxH) * picW;

            for (int i = 0; i < blkW; i++) {
                blk[blkOff + i] = pic[lineStart + clip(x + i, 0, maxW)];
            }
            blkOff += blkStride;
        }
    }
static void getLuma00Unsafe(byte[] pic, int picW, int picH, byte[] blk, int blkOff, int blkStride, int x, int y,
            int blkW, int blkH) {
        int maxH = picH - 1;
        int maxW = picW - 1;

        for (int j = 0; j < blkH; j++) {
            int lineStart = clip(j + y, 0, maxH) * picW;

            for (int i = 0; i < blkW; i++) {
                blk[blkOff + i] = pic[lineStart + clip(x + i, 0, maxW)];
            }
            blkOff += blkStride;
        }
    }
static void getLuma00Unsafe ( byte [ ] pic , int picW , int picH , byte [ ] blk , int blkOff , int blkStride , int x , int y , int blkW , int blkH ) { int maxH = picH - 1 ; int maxW = picW - 1 ; for ( int j = 0 ; j < blkH ; j ++ ) { int lineStart = clip ( j + y , 0 , maxH ) * picW ; for ( int i = 0 ; i < blkW ; i ++ ) { blk [ blkOff + i ] = pic [ lineStart + clip ( x + i , 0 , maxW ) ] ; } blkOff += blkStride ; } }
Fullpel (0, 0) unsafe
Fullpel ( 0 0 ) unsafe