libjxl

FORK: libjxl patches used on blog
git clone https://git.neptards.moe/blog/libjxl.git
Log | Files | Refs | Submodules | README | LICENSE

libjpeg_wrapper.cc (7930B)


      1 // Copyright (c) the JPEG XL Project Authors. All rights reserved.
      2 //
      3 // Use of this source code is governed by a BSD-style
      4 // license that can be found in the LICENSE file.
      5 //
      6 // This file contains wrapper-functions that are used to build the libjpeg.so
      7 // shared library that is API- and ABI-compatible with libjpeg-turbo's version
      8 // of libjpeg.so.
      9 
     10 #include "lib/jpegli/common.h"
     11 #include "lib/jpegli/decode.h"
     12 #include "lib/jpegli/encode.h"
     13 #include "lib/jpegli/error.h"
     14 
     15 struct jpeg_error_mgr *jpeg_std_error(struct jpeg_error_mgr *err) {
     16   return jpegli_std_error(err);
     17 }
     18 
     19 void jpeg_abort(j_common_ptr cinfo) { jpegli_abort(cinfo); }
     20 
     21 void jpeg_destroy(j_common_ptr cinfo) { jpegli_destroy(cinfo); }
     22 
     23 JQUANT_TBL *jpeg_alloc_quant_table(j_common_ptr cinfo) {
     24   return jpegli_alloc_quant_table(cinfo);
     25 }
     26 
     27 JHUFF_TBL *jpeg_alloc_huff_table(j_common_ptr cinfo) {
     28   return jpegli_alloc_huff_table(cinfo);
     29 }
     30 
     31 void jpeg_CreateDecompress(j_decompress_ptr cinfo, int version,
     32                            size_t structsize) {
     33   jpegli_CreateDecompress(cinfo, version, structsize);
     34 }
     35 
     36 void jpeg_stdio_src(j_decompress_ptr cinfo, FILE *infile) {
     37   jpegli_stdio_src(cinfo, infile);
     38 }
     39 
     40 void jpeg_mem_src(j_decompress_ptr cinfo, const unsigned char *inbuffer,
     41                   unsigned long insize) {
     42   jpegli_mem_src(cinfo, inbuffer, insize);
     43 }
     44 
     45 int jpeg_read_header(j_decompress_ptr cinfo, boolean require_image) {
     46   return jpegli_read_header(cinfo, require_image);
     47 }
     48 
     49 boolean jpeg_start_decompress(j_decompress_ptr cinfo) {
     50   return jpegli_start_decompress(cinfo);
     51 }
     52 
     53 JDIMENSION jpeg_read_scanlines(j_decompress_ptr cinfo, JSAMPARRAY scanlines,
     54                                JDIMENSION max_lines) {
     55   return jpegli_read_scanlines(cinfo, scanlines, max_lines);
     56 }
     57 
     58 JDIMENSION jpeg_skip_scanlines(j_decompress_ptr cinfo, JDIMENSION num_lines) {
     59   return jpegli_skip_scanlines(cinfo, num_lines);
     60 }
     61 
     62 void jpeg_crop_scanline(j_decompress_ptr cinfo, JDIMENSION *xoffset,
     63                         JDIMENSION *width) {
     64   jpegli_crop_scanline(cinfo, xoffset, width);
     65 }
     66 
     67 boolean jpeg_finish_decompress(j_decompress_ptr cinfo) {
     68   return jpegli_finish_decompress(cinfo);
     69 }
     70 
     71 JDIMENSION jpeg_read_raw_data(j_decompress_ptr cinfo, JSAMPIMAGE data,
     72                               JDIMENSION max_lines) {
     73   return jpegli_read_raw_data(cinfo, data, max_lines);
     74 }
     75 
     76 jvirt_barray_ptr *jpeg_read_coefficients(j_decompress_ptr cinfo) {
     77   return jpegli_read_coefficients(cinfo);
     78 }
     79 
     80 boolean jpeg_has_multiple_scans(j_decompress_ptr cinfo) {
     81   return jpegli_has_multiple_scans(cinfo);
     82 }
     83 
     84 boolean jpeg_start_output(j_decompress_ptr cinfo, int scan_number) {
     85   return jpegli_start_output(cinfo, scan_number);
     86 }
     87 
     88 boolean jpeg_finish_output(j_decompress_ptr cinfo) {
     89   return jpegli_finish_output(cinfo);
     90 }
     91 
     92 boolean jpeg_input_complete(j_decompress_ptr cinfo) {
     93   return jpegli_input_complete(cinfo);
     94 }
     95 
     96 int jpeg_consume_input(j_decompress_ptr cinfo) {
     97   return jpegli_consume_input(cinfo);
     98 }
     99 
    100 #if JPEG_LIB_VERSION >= 80
    101 void jpeg_core_output_dimensions(j_decompress_ptr cinfo) {
    102   jpegli_core_output_dimensions(cinfo);
    103 }
    104 #endif
    105 void jpeg_calc_output_dimensions(j_decompress_ptr cinfo) {
    106   jpegli_calc_output_dimensions(cinfo);
    107 }
    108 
    109 void jpeg_save_markers(j_decompress_ptr cinfo, int marker_code,
    110                        unsigned int length_limit) {
    111   jpegli_save_markers(cinfo, marker_code, length_limit);
    112 }
    113 
    114 void jpeg_set_marker_processor(j_decompress_ptr cinfo, int marker_code,
    115                                jpeg_marker_parser_method routine) {
    116   jpegli_set_marker_processor(cinfo, marker_code, routine);
    117 }
    118 
    119 boolean jpeg_read_icc_profile(j_decompress_ptr cinfo, JOCTET **icc_data_ptr,
    120                               unsigned int *icc_data_len) {
    121   return jpegli_read_icc_profile(cinfo, icc_data_ptr, icc_data_len);
    122 }
    123 
    124 void jpeg_abort_decompress(j_decompress_ptr cinfo) {
    125   jpegli_abort_decompress(cinfo);
    126 }
    127 
    128 void jpeg_destroy_decompress(j_decompress_ptr cinfo) {
    129   jpegli_destroy_decompress(cinfo);
    130 }
    131 
    132 void jpeg_CreateCompress(j_compress_ptr cinfo, int version, size_t structsize) {
    133   jpegli_CreateCompress(cinfo, version, structsize);
    134 }
    135 
    136 void jpeg_stdio_dest(j_compress_ptr cinfo, FILE *outfile) {
    137   jpegli_stdio_dest(cinfo, outfile);
    138 }
    139 
    140 void jpeg_mem_dest(j_compress_ptr cinfo, unsigned char **outbuffer,
    141                    unsigned long *outsize) {
    142   jpegli_mem_dest(cinfo, outbuffer, outsize);
    143 }
    144 
    145 void jpeg_set_defaults(j_compress_ptr cinfo) { jpegli_set_defaults(cinfo); }
    146 
    147 void jpeg_default_colorspace(j_compress_ptr cinfo) {
    148   jpegli_default_colorspace(cinfo);
    149 }
    150 
    151 void jpeg_set_colorspace(j_compress_ptr cinfo, J_COLOR_SPACE colorspace) {
    152   jpegli_set_colorspace(cinfo, colorspace);
    153 }
    154 
    155 void jpeg_set_quality(j_compress_ptr cinfo, int quality,
    156                       boolean force_baseline) {
    157   jpegli_set_quality(cinfo, quality, force_baseline);
    158 }
    159 
    160 void jpeg_set_linear_quality(j_compress_ptr cinfo, int scale_factor,
    161                              boolean force_baseline) {
    162   jpegli_set_linear_quality(cinfo, scale_factor, force_baseline);
    163 }
    164 
    165 #if JPEG_LIB_VERSION >= 70
    166 void jpeg_default_qtables(j_compress_ptr cinfo, boolean force_baseline) {
    167   jpegli_default_qtables(cinfo, force_baseline);
    168 }
    169 #endif
    170 
    171 int jpeg_quality_scaling(int quality) {
    172   return jpegli_quality_scaling(quality);
    173 }
    174 
    175 void jpeg_add_quant_table(j_compress_ptr cinfo, int which_tbl,
    176                           const unsigned int *basic_table, int scale_factor,
    177                           boolean force_baseline) {
    178   jpegli_add_quant_table(cinfo, which_tbl, basic_table, scale_factor,
    179                          force_baseline);
    180 }
    181 
    182 void jpeg_simple_progression(j_compress_ptr cinfo) {
    183   jpegli_simple_progression(cinfo);
    184 }
    185 
    186 void jpeg_suppress_tables(j_compress_ptr cinfo, boolean suppress) {
    187   jpegli_suppress_tables(cinfo, suppress);
    188 }
    189 
    190 #if JPEG_LIB_VERSION >= 70
    191 void jpeg_calc_jpeg_dimensions(j_compress_ptr cinfo) {
    192   jpegli_calc_jpeg_dimensions(cinfo);
    193 }
    194 #endif
    195 
    196 void jpeg_copy_critical_parameters(j_decompress_ptr srcinfo,
    197                                    j_compress_ptr dstinfo) {
    198   jpegli_copy_critical_parameters(srcinfo, dstinfo);
    199 }
    200 
    201 void jpeg_write_m_header(j_compress_ptr cinfo, int marker,
    202                          unsigned int datalen) {
    203   jpegli_write_m_header(cinfo, marker, datalen);
    204 }
    205 
    206 void jpeg_write_m_byte(j_compress_ptr cinfo, int val) {
    207   jpegli_write_m_byte(cinfo, val);
    208 }
    209 
    210 void jpeg_write_marker(j_compress_ptr cinfo, int marker, const JOCTET *dataptr,
    211                        unsigned int datalen) {
    212   jpegli_write_marker(cinfo, marker, dataptr, datalen);
    213 }
    214 
    215 void jpeg_write_icc_profile(j_compress_ptr cinfo, const JOCTET *icc_data_ptr,
    216                             unsigned int icc_data_len) {
    217   jpegli_write_icc_profile(cinfo, icc_data_ptr, icc_data_len);
    218 }
    219 
    220 void jpeg_start_compress(j_compress_ptr cinfo, boolean write_all_tables) {
    221   jpegli_start_compress(cinfo, write_all_tables);
    222 }
    223 
    224 void jpeg_write_tables(j_compress_ptr cinfo) { jpegli_write_tables(cinfo); }
    225 
    226 JDIMENSION jpeg_write_scanlines(j_compress_ptr cinfo, JSAMPARRAY scanlines,
    227                                 JDIMENSION num_lines) {
    228   return jpegli_write_scanlines(cinfo, scanlines, num_lines);
    229 }
    230 
    231 JDIMENSION jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data,
    232                                JDIMENSION num_lines) {
    233   return jpegli_write_raw_data(cinfo, data, num_lines);
    234 }
    235 
    236 void jpeg_write_coefficients(j_compress_ptr cinfo,
    237                              jvirt_barray_ptr *coef_arrays) {
    238   jpegli_write_coefficients(cinfo, coef_arrays);
    239 }
    240 
    241 void jpeg_finish_compress(j_compress_ptr cinfo) {
    242   jpegli_finish_compress(cinfo);
    243 }
    244 
    245 void jpeg_abort_compress(j_compress_ptr cinfo) { jpegli_abort_compress(cinfo); }
    246 
    247 void jpeg_destroy_compress(j_compress_ptr cinfo) {
    248   jpegli_destroy_compress(cinfo);
    249 }
    250 
    251 boolean jpeg_resync_to_restart(j_decompress_ptr cinfo, int desired) {
    252   return jpegli_resync_to_restart(cinfo, desired);
    253 }
    254 
    255 void jpeg_new_colormap(j_decompress_ptr cinfo) { jpegli_new_colormap(cinfo); }