BitMiracle.LibJpeg.Classic.Internal.jpeg_inverse_dct.jpeg_idct_1x1 C# (CSharp) Method

jpeg_idct_1x1() private method

Perform dequantization and inverse DCT on one block of coefficients, producing a reduced-size 1x1 output block.
private jpeg_idct_1x1 ( int component_index, short coef_block, int output_row, int output_col ) : void
component_index int
coef_block short
output_row int
output_col int
return void
        private void jpeg_idct_1x1(int component_index, short[] coef_block, int output_row, int output_col)
        {
            /* We hardly need an inverse DCT routine for this: just take the
            * average pixel value, which is one-eighth of the DC coefficient.
            */
            int[] quantptr = m_dctTables[component_index].int_array;
            int dcval = REDUCED_DEQUANTIZE(coef_block[0], quantptr[0]);
            dcval = JpegUtils.DESCALE(dcval, 3);

            byte[] limit = m_cinfo.m_sample_range_limit;
            int limitOffset = m_cinfo.m_sampleRangeLimitOffset - RANGE_SUBSET;

            m_componentBuffer[output_row + 0][output_col] = limit[limitOffset + dcval & RANGE_MASK];
        }