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

h264_qpel_mc12_c() public static method

public static h264_qpel_mc12_c ( int opcode, int size, byte dst_base, int dst_offset, byte src_base, int src_offset, int stride ) : void
opcode int
size int
dst_base byte
dst_offset int
src_base byte
src_offset int
stride int
return void
        public static void h264_qpel_mc12_c(int opcode, int size, byte[] dst_base, int dst_offset, byte[] src_base, int src_offset, int stride)
        {
            byte[] full = new byte[size * (size + 5)];
            int full_mid = size * 2;
            short[] tmp = new short[size * (size + 5)];
            byte[] halfV = new byte[size * size];
            byte[] halfHV = new byte[size * size];
            copy_block(size, full, 0, src_base, src_offset - stride * 2, size, stride, size + 5);
            h264_qpel_v_lowpass(0, size, halfV, 0, full, full_mid, size, size);
            h264_qpel_hv_lowpass(0, size, halfHV, 0, tmp, 0, src_base, src_offset, size, size, stride);

            // DebugTool.printDebugString("halfV:");
            for (int i = 0; i < halfV.Length; i++)
            {
                // DebugTool.printDebugString(","+halfV[i]);
            }
            // DebugTool.printDebugString("\n");

            // DebugTool.printDebugString("halfHV:");
            for (int i = 0; i < halfHV.Length; i++)
            {
                // DebugTool.printDebugString(","+halfHV[i]);
            }
            // DebugTool.printDebugString("\n");

            pixels_l2(opcode, size, dst_base, dst_offset, halfV, 0, halfHV, 0, stride, size, size, size);
        }