LCOV - code coverage report
Current view: top level - media/libjpeg - jcinit.c (source / functions) Hit Total Coverage
Test: output.info Lines: 0 19 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * jcinit.c
       3             :  *
       4             :  * Copyright (C) 1991-1997, Thomas G. Lane.
       5             :  * This file is part of the Independent JPEG Group's software.
       6             :  * For conditions of distribution and use, see the accompanying README.ijg
       7             :  * file.
       8             :  *
       9             :  * This file contains initialization logic for the JPEG compressor.
      10             :  * This routine is in charge of selecting the modules to be executed and
      11             :  * making an initialization call to each one.
      12             :  *
      13             :  * Logically, this code belongs in jcmaster.c.  It's split out because
      14             :  * linking this routine implies linking the entire compression library.
      15             :  * For a transcoding-only application, we want to be able to use jcmaster.c
      16             :  * without linking in the whole library.
      17             :  */
      18             : 
      19             : #define JPEG_INTERNALS
      20             : #include "jinclude.h"
      21             : #include "jpeglib.h"
      22             : 
      23             : 
      24             : /*
      25             :  * Master selection of compression modules.
      26             :  * This is done once at the start of processing an image.  We determine
      27             :  * which modules will be used and give them appropriate initialization calls.
      28             :  */
      29             : 
      30             : GLOBAL(void)
      31           0 : jinit_compress_master (j_compress_ptr cinfo)
      32             : {
      33             :   /* Initialize master control (includes parameter checking/processing) */
      34           0 :   jinit_c_master_control(cinfo, FALSE /* full compression */);
      35             : 
      36             :   /* Preprocessing */
      37           0 :   if (! cinfo->raw_data_in) {
      38           0 :     jinit_color_converter(cinfo);
      39           0 :     jinit_downsampler(cinfo);
      40           0 :     jinit_c_prep_controller(cinfo, FALSE /* never need full buffer here */);
      41             :   }
      42             :   /* Forward DCT */
      43           0 :   jinit_forward_dct(cinfo);
      44             :   /* Entropy encoding: either Huffman or arithmetic coding. */
      45           0 :   if (cinfo->arith_code) {
      46             : #ifdef C_ARITH_CODING_SUPPORTED
      47             :     jinit_arith_encoder(cinfo);
      48             : #else
      49           0 :     ERREXIT(cinfo, JERR_ARITH_NOTIMPL);
      50             : #endif
      51             :   } else {
      52           0 :     if (cinfo->progressive_mode) {
      53             : #ifdef C_PROGRESSIVE_SUPPORTED
      54           0 :       jinit_phuff_encoder(cinfo);
      55             : #else
      56             :       ERREXIT(cinfo, JERR_NOT_COMPILED);
      57             : #endif
      58             :     } else
      59           0 :       jinit_huff_encoder(cinfo);
      60             :   }
      61             : 
      62             :   /* Need a full-image coefficient buffer in any multi-pass mode. */
      63           0 :   jinit_c_coef_controller(cinfo,
      64           0 :                 (boolean) (cinfo->num_scans > 1 || cinfo->optimize_coding));
      65           0 :   jinit_c_main_controller(cinfo, FALSE /* never need full buffer here */);
      66             : 
      67           0 :   jinit_marker_writer(cinfo);
      68             : 
      69             :   /* We can now tell the memory manager to allocate virtual arrays. */
      70           0 :   (*cinfo->mem->realize_virt_arrays) ((j_common_ptr) cinfo);
      71             : 
      72             :   /* Write the datastream header (SOI) immediately.
      73             :    * Frame and scan headers are postponed till later.
      74             :    * This lets application insert special markers after the SOI.
      75             :    */
      76           0 :   (*cinfo->marker->write_file_header) (cinfo);
      77           0 : }

Generated by: LCOV version 1.13