private void CopyPlanesRgba8(GpuContext gpu, SurfaceOutputConfig outputConfig) { FFmpegFrame frame = FFmpegWrapper.GetFrameRgba(); if ((frame.Width | frame.Height) == 0) { return; } throw new NotImplementedException(); }
private void CopyPlanesRgba8(NvGpuVmm Vmm, SurfaceOutputConfig OutputConfig) { FFmpegFrame Frame = FFmpegWrapper.GetFrameRgba(); if ((Frame.Width | Frame.Height) == 0) { return; } GalImage Image = new GalImage( OutputConfig.SurfaceWidth, OutputConfig.SurfaceHeight, 1, OutputConfig.GobBlockHeight, GalMemoryLayout.BlockLinear, GalImageFormat.RGBA8 | GalImageFormat.Unorm); ImageUtils.WriteTexture(Vmm, Image, Vmm.GetPhysicalAddress(OutputConfig.SurfaceLumaAddress), Frame.Data); }
private void CopyPlanesRgba8(NvGpuVmm vmm, SurfaceOutputConfig outputConfig) { FFmpegFrame frame = FFmpegWrapper.GetFrameRgba(); if ((frame.Width | frame.Height) == 0) { return; } GalImage image = new GalImage( outputConfig.SurfaceWidth, outputConfig.SurfaceHeight, 1, 1, 1, outputConfig.GobBlockHeight, 1, GalMemoryLayout.BlockLinear, GalImageFormat.Rgba8 | GalImageFormat.Unorm, GalTextureTarget.TwoD); ImageUtils.WriteTexture(vmm, image, vmm.GetPhysicalAddress(outputConfig.SurfaceLumaAddress), frame.Data); }