示例#1
0
        /// <summary>
        /// Converts a 8x8 image area inside 'pixels' at position (x, y) to Rgb24.
        /// </summary>
        public void Convert(int x, int y, ref RowOctet <TPixel> currentRows)
        {
            YCbCrForwardConverter <TPixel> .LoadAndStretchEdges(currentRows, this.pixelSpan, new Point(x, y), SampleSize, this.samplingAreaSize);

            PixelOperations <TPixel> .Instance.ToRgb24(this.config, this.pixelSpan, this.rgbSpan);

            ref Block8x8F redBlock   = ref this.R;
示例#2
0
        public void Convert(int x, int y, ref RowOctet <TPixel> currentRows, int idx)
        {
            YCbCrForwardConverter <TPixel> .LoadAndStretchEdges(currentRows, this.pixelSpan, new Point(x, y), SampleSize, this.samplingAreaSize);

            PixelOperations <TPixel> .Instance.ToRgb24(this.config, this.pixelSpan, this.rgbSpan);

            if (RgbToYCbCrConverterVectorized.IsSupported)
            {
                RgbToYCbCrConverterVectorized.Convert420(this.rgbSpan, ref this.YLeft, ref this.YRight, ref this.Cb, ref this.Cr, idx);
            }
            else
            {
                this.colorTables.Convert420(this.rgbSpan, ref this.YLeft, ref this.YRight, ref this.Cb, ref this.Cr, idx);
            }
        }