public static void YCbCr422ToYCbCr411(NPPImage_8uC1 src0, NPPImage_8uC1 src1, NPPImage_8uC1 src2, NPPImage_8uC1 dest0, NPPImage_8uC1 dest1, NPPImage_8uC1 dest2)
{
CUdeviceptr[] arraySrc = new CUdeviceptr[] { src0.DevicePointerRoi, src1.DevicePointerRoi, src2.DevicePointerRoi };
CUdeviceptr[] arrayDest = new CUdeviceptr[] { dest0.DevicePointerRoi, dest1.DevicePointerRoi, dest2.DevicePointerRoi };
int[] arraySrcStep = new int[] { src0.Pitch, src1.Pitch, src2.Pitch };
int[] arrayDestStep = new int[] { dest0.Pitch, dest1.Pitch, dest2.Pitch };
NppStatus status = NPPNativeMethods.NPPi.SamplePatternConversion.nppiYCbCr422ToYCbCr411_8u_P3R(arraySrc, arraySrcStep, arrayDest, arrayDestStep, dest0.SizeRoi);
Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "nppiYCbCr422ToYCbCr411_8u_P3R", status));
NPPException.CheckNppStatus(status, null);
}