public ITextureFilter ScaleChroma(ICompositionFilter composition) { var fullSizeChroma = new ResizeFilter(composition.Chroma, composition.TargetSize, TextureChannels.ChromaOnly, composition.ChromaOffset, Renderer.ChromaUpscaler, Renderer.ChromaDownscaler); return(new MergeFilter(composition.Luma.SetSize(composition.TargetSize, tagged: true), fullSizeChroma) .ConvertToRgb() .Labeled(fullSizeChroma.Description().PrependToDescription("Chroma: "))); }
public ITextureFilter CreateChromaFilter(ITextureFilter lumaInput, ITextureFilter chromaInput, TextureSize targetSize, Vector2 chromaOffset) { var fullSizeChroma = new ResizeFilter(chromaInput, targetSize, TextureChannels.ChromaOnly, chromaOffset, Renderer.ChromaUpscaler, Renderer.ChromaDownscaler); return(new MergeFilter(lumaInput.SetSize(targetSize, tagged: true), fullSizeChroma) .ConvertToRgb() .Tagged(new ChromaScalerTag(chromaInput, fullSizeChroma.Status().PrependToStatus("Chroma: ")))); }
public ITextureFilter SetSize(TextureSize targetSize) { var result = new ResizeFilter(InputFilter, targetSize, m_Channels, m_Offset, m_Upscaler, m_Downscaler, m_Convolver, Output.Format); if (m_Tagged) { result.EnableTag(); } return(result); }