err
来自「JPEG Image compression using IJG standar」· 代码 · 共 203 行 · 第 1/2 页
TXT
203 行
jcapimin.c: * all work is being done from the coefficient buffer.jccoefct.c: * This file contains the coefficient buffer controller for compression.jccoefct.c: * The coefficient buffer lies between forward-DCT and entropy encoding steps.jccoefct.c:/* We use a full-image coefficient buffer when doing Huffman optimization,jccoefct.c: * the buffered coefficients.jccoefct.c: * workspace of C_MAX_BLOCKS_IN_MCU coefficient blocks, and reuse it for eachjccoefct.c: * when a large coefficient buffer is necessary.)jccoefct.c: * Initialize coefficient buffer controller.jccoefct.c: /* Create the coefficient buffer. */jcdctmgr.c: * and it performs related housekeeping chores including coefficientjcdctmgr.c: * coefficients multiplied by 8 (to counteract scaling).jcdctmgr.c: * coefficients scaled by scalefactor[row]*scalefactor[col], wherejcdctmgr.c: * coefficients scaled by scalefactor[row]*scalefactor[col], wherejcdctmgr.c: * blocks. The quantized coefficients are returned in coef_blocks[].jcdctmgr.c: /* Quantize/descale the coefficients, and store into coef_blocks[] */jcdctmgr.c: /* Divide the coefficient value by qval, ensuring proper rounding.jcdctmgr.c: /* Quantize/descale the coefficients, and store into coef_blocks[] */jcdctmgr.c: * The maximum coefficient size is +-16K (for 12-bit data), so thisjchuff.c:/* Encode a single block's worth of coefficients */jchuff.c: /* Encode the DC coefficient difference per section F.1.2.1 */jchuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jchuff.c: /* Check for out-of-range coefficient values.jchuff.c: /* Encode the AC coefficients per section F.1.2.2 */jchuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jchuff.c: /* Check for out-of-range coefficient values */jchuff.c: * Encode and output one MCU's worth of Huffman-compressed coefficients.jchuff.c:/* Process a single block's worth of coefficients */jchuff.c: /* Encode the DC coefficient difference per section F.1.2.1 */jchuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jchuff.c: /* Check for out-of-range coefficient values.jchuff.c: /* Encode the AC coefficients per section F.1.2.2 */jchuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jchuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jchuff.c: /* Check for out-of-range coefficient values */jchuff.c: * Trial-encode one MCU's worth of Huffman-compressed coefficients.jcinit.c: /* Need a full-image coefficient buffer in any multi-pass mode. */jcmaster.c: * main controller will call coefficient controller).jcmaster.c: /* -1 until that coefficient has been seen; then last Al for it */jcmaster.c: /* first scan of this coefficient */jcmaster.c: * of all coefficients be transmitted. Would it be wiser to enforcejcmaster.c: * transmission of all coefficient bits??jcphuff.c: /* Only DC coefficients may be interleaved, so cinfo->comps_in_scan = 1jcphuff.c: * for AC coefficients.jcphuff.c: /* Encode the DC coefficient difference per section G.1.2.1 */jcphuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jcphuff.c: /* Check for out-of-range coefficient values.jcphuff.c: /* Encode the AC coefficients per section G.1.2.2, fig. G.3 */jcphuff.c: /* We must apply the point transform by Al. For AC coefficients thisjcphuff.c: /* Find the number of bits needed for the magnitude of the coefficient */jcphuff.c: /* Check for out-of-range coefficient values */jcphuff.c: /* We simply emit the Al'th bit of the DC coefficient value. */jcphuff.c: * coefficients' absolute values and the EOB position.jcphuff.c: /* We must apply the point transform by Al. For AC coefficients thisjcphuff.c: /* Encode the AC coefficients per section G.1.2.3, fig. G.7 */jcphuff.c: * if k > EOB, which implies that this coefficient is not 1.jctrans.c: * that is, writing raw DCT coefficient arrays to an output JPEG file.jctrans.c: * Compression initialization for writing raw-coefficient data.jctrans.c: * the time write_coefficients is called; indeed, if the virtual arraysjctrans.c:jpeg_write_coefficients (j_compress_ptr cinfo, jvirt_barray_ptr * coef_arrays)jctrans.c: /* We need a special coefficient buffer controller. */jctrans.c: * The rest of this file is a special implementation of the coefficientjctrans.c: * Initialize coefficient buffer controller.jctrans.c: * Each passed coefficient array must be the right size for thatjctrans.c: * coefficient: width_in_blocks wide and height_in_blocks high,jdcoefct.c: * This file contains the coefficient buffer controller for decompression.jdcoefct.c: * The coefficient buffer lies between entropy decoding and inverse-DCT steps.jdcoefct.c: * We allocate a workspace of D_MAX_BLOCKS_IN_MCU coefficient blocks,jdcoefct.c: * this is to keep the module interfaces unchanged when a large coefficientjdcoefct.c: /* When doing block smoothing, we latch coefficient Al values here */jdcoefct.c: * Consume input data and store it in the full-image coefficient buffer.jdcoefct.c: * of the JPEG standard: the first 5 AC coefficients are estimated fromjdcoefct.c: * the coefficients it can estimate are not yet known to full precision.jdcoefct.c:/* Natural-order array positions of the first 5 zigzag-order coefficients */jdcoefct.c: * AC coefficients; otherwise, if the input side of the decompressorjdcoefct.c: * advances into a new scan, we might think the coefficients are knownjdcoefct.c: /* Block smoothing is helpful if some AC coefficients remain inaccurate. */jdcoefct.c: /* Compute coefficient estimates per K.8.jdcoefct.c: * An estimate is applied only if coefficient is still zero,jdcoefct.c: * Initialize coefficient buffer controller.jdcoefct.c: /* Create the coefficient buffer. */jddctmgr.c: * Note that the IDCT routines are responsible for performing coefficientjddctmgr.c: * coefficient controller's buffer anyway.jddctmgr.c: * coefficients, but are stored as ints to ensure access efficiency.jddctmgr.c: * coefficients scaled by scalefactor[row]*scalefactor[col], wherejddctmgr.c: * coefficients scaled by scalefactor[row]*scalefactor[col], wherejddctmgr.c: * coefficients, but are stored as ints to ensure access efficiency.jddctmgr.c: * coefficients, but are stored as ints to ensure access efficiency.jdhuff.c: /* Whether we care about the DC and AC coefficient values for each block */jdhuff.c: /* Decide whether we really care about the coefficient values */jdhuff.c: * Decode and return one MCU's worth of Huffman-compressed coefficients.jdhuff.c: * The coefficients are reordered from zigzag order into natural array order,jdhuff.c: * coefficients may already have been assigned. This is harmless forjdhuff.c: /* Decode a single block's worth of coefficients */jdhuff.c: /* Section F.2.2.1: decode the DC coefficient difference */jdhuff.c: /* Output the DC coefficient (assumes jpeg_natural_order[0] = 0) */jdhuff.c: /* Section F.2.2.2: decode the AC coefficients */jdhuff.c: /* Output coefficient in natural (dezigzagged) order.jdhuff.c: /* Section F.2.2.2: decode the AC coefficients */jdinput.c: * processing (marker reading and coefficient decoding). The actual inputjdinput.c: * This is called by the coefficient controller after it's read alljdinput.c: * coefficient controller's consume_data routine, depending on whetherjdmainct.c: * buffer; any full-height buffers will be found inside the coefficient or
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?