BitMiracle.LibJpeg.Classic.Internal.jpeg_color_deconverter.rgb_gray_convert C# (CSharp) Method

rgb_gray_convert() private method

private rgb_gray_convert ( ComponentBuffer input_buf, int input_row, byte output_buf, int output_row, int num_rows ) : void
input_buf ComponentBuffer
input_row int
output_buf byte
output_row int
num_rows int
return void
        private void rgb_gray_convert(ComponentBuffer[] input_buf, int input_row, byte[][] output_buf, int output_row, int num_rows)
        {
            int component0RowOffset = m_perComponentOffsets[0];
            int component1RowOffset = m_perComponentOffsets[1];
            int component2RowOffset = m_perComponentOffsets[2];

            int num_cols = m_cinfo.m_output_width;

            for (int row = 0; row < num_rows; row++)
            {
                int columnOffset = 0;
                for (int col = 0; col < num_cols; col++)
                {
                    int r = input_buf[0][input_row + component0RowOffset][col];
                    int g = input_buf[1][input_row + component1RowOffset][col];
                    int b = input_buf[2][input_row + component2RowOffset][col];

                    /* Y */
                    output_buf[output_row + row][columnOffset++] = (byte)((rgb_y_tab[r + R_Y_OFF] + rgb_y_tab[g + G_Y_OFF] + rgb_y_tab[b + B_Y_OFF]) >> SCALEBITS);
                }
            }
        }