public static void copy_block(int size, byte[] dst_base, int dst_offset, byte[] src_base, int src_offset, int dstStride, int srcStride, int h)
{
int i;
switch (size)
{
case 2:
for (i = 0; i < h; i++)
{
Array.Copy(src_base, src_offset, dst_base, dst_offset, 2);
//AV_WN16(dst , AV_RN16(src ));
dst_offset += dstStride;
src_offset += srcStride;
}
break;
case 4:
for (i = 0; i < h; i++)
{
Array.Copy(src_base, src_offset, dst_base, dst_offset, 4);
//AV_WN32(dst , AV_RN32(src ));
dst_offset += dstStride;
src_offset += srcStride;
}
break;
case 8:
for (i = 0; i < h; i++)
{
//AV_WN32(dst , AV_RN32(src ));
//AV_WN32(dst+4 , AV_RN32(src+4 ));
Array.Copy(src_base, src_offset, dst_base, dst_offset, 8);
dst_offset += dstStride;
src_offset += srcStride;
}
break;
case 16:
for (i = 0; i < h; i++)
{
//AV_WN32(dst , AV_RN32(src ));
//AV_WN32(dst+4 , AV_RN32(src+4 ));
//AV_WN32(dst+8 , AV_RN32(src+8 ));
//AV_WN32(dst+12, AV_RN32(src+12));
Array.Copy(src_base, src_offset, dst_base, dst_offset, 16);
dst_offset += dstStride;
src_offset += srcStride;
}
break;
} // switch
}