Esempio n. 1
0
        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: ")));
        }
Esempio n. 2
0
        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: "))));
        }
Esempio n. 3
0
        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);
        }