cscodec.h264.decoder.DSPContext.copy_block C# (CSharp) Method

copy_block() public static method

public static copy_block ( int size, byte dst_base, int dst_offset, byte src_base, int src_offset, int dstStride, int srcStride, int h ) : void
size int
dst_base byte
dst_offset int
src_base byte
src_offset int
dstStride int
srcStride int
h int
return void
        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
        }