Files
mozjpeg/jpeglibint.h
DRC 6c2bc901e2 Don't allow disabling in-memory src/dest managers
By default, libjpeg-turbo 1.3.x and later have enabled the in-memory
source/destination manager functions from libjpeg v8 when emulating the
libjpeg v6b or v7 API/ABI, which has allowed operating system
distributors to provide those functions without adopting the
backward-incompatible libjpeg v8 API/ABI.

Prior to libjpeg-turbo 1.5.x, it made sense to allow users to disable
the in-memory source/destination manager functions at build time and
thus retain both backward and forward API/ABI compatibility relative to
libjpeg v6b or v7.  Since then, however, we have introduced several new
libjpeg API functions that break forward API/ABI compatibility, so it no
longer makes sense to allow the in-memory source/destination managers to
be disabled.  libjpeg-turbo only claims to be
backward-API/ABI-compatible, i.e. to allow applications built against
libjpeg or an older version of libjpeg-turbo to work properly with the
current version of libjpeg-turbo.
2022-11-03 15:22:19 -05:00

347 lines
13 KiB
C

/*
* jpeglibint.h
*
* Copyright (C) 2022, D. R. Commander.
* For conditions of distribution and use, see the accompanying README.ijg
* file.
*/
#ifndef JPEGLIBINT_H
#define JPEGLIBINT_H
#if BITS_IN_JSAMPLE == 12
#include "jpeg12lib.h"
/* Rename all external types, functions, and macros that are affected by
JSAMPLE. */
#define JSAMPLE J12SAMPLE
#undef MAXJSAMPLE
#define MAXJSAMPLE MAXJ12SAMPLE
#undef CENTERJSAMPLE
#define CENTERJSAMPLE CENTERJ12SAMPLE
#define JSAMPROW J12SAMPROW
#define JSAMPARRAY J12SAMPARRAY
#define JSAMPIMAGE J12SAMPIMAGE
#define ERREXIT J12ERREXIT
#define ERREXIT1 J12ERREXIT1
#define ERREXIT2 J12ERREXIT2
#define ERREXIT3 J12ERREXIT3
#define ERREXIT4 J12ERREXIT4
#define ERREXIT6 J12ERREXIT6
#define ERREXITS J12ERREXITS
#define WARNMS J12WARNMS
#define WARNMS1 J12WARNMS1
#define WARNMS2 J12WARNMS2
#define TRACEMS J12TRACEMS
#define TRACEMS1 J12TRACEMS1
#define TRACEMS2 J12TRACEMS2
#define TRACEMS3 J12TRACEMS3
#define TRACEMS4 J12TRACEMS4
#define TRACEMS5 J12TRACEMS5
#define TRACEMS8 J12TRACEMS8
#define TRACEMSS J12TRACEMSS
#define jpeg_common_struct jpeg12_common_struct
#define j_common_ptr j12_common_ptr
#define j_compress_ptr j12_compress_ptr
#define j_decompress_ptr j12_decompress_ptr
#define jpeg_compress_struct jpeg12_compress_struct
#define jpeg_decompress_struct jpeg12_decompress_struct
#define jpeg_error_mgr jpeg12_error_mgr
#define jpeg_progress_mgr jpeg12_progress_mgr
#define jpeg_destination_mgr jpeg12_destination_mgr
#define jpeg_source_mgr jpeg12_source_mgr
#define jpeg_memory_mgr jpeg12_memory_mgr
#define jpeg_marker_parser_method jpeg12_marker_parser_method
#define jpeg_std_error jpeg12_std_error
#define jpeg_create_compress jpeg12_create_compress
#define jpeg_create_decompress jpeg12_create_decompress
#define jpeg_CreateCompress jpeg12_CreateCompress
#define jpeg_CreateDecompress jpeg12_CreateDecompress
#define jpeg_destroy_compress jpeg12_destroy_compress
#define jpeg_destroy_decompress jpeg12_destroy_decompress
#define jpeg_stdio_dest jpeg12_stdio_dest
#define jpeg_stdio_src jpeg12_stdio_src
#define jpeg_mem_dest jpeg12_mem_dest
#define jpeg_mem_src jpeg12_mem_src
#define jpeg_set_defaults jpeg12_set_defaults
#define jpeg_set_colorspace jpeg12_set_colorspace
#define jpeg_default_colorspace jpeg12_default_colorspace
#define jpeg_set_quality jpeg12_set_quality
#define jpeg_set_linear_quality jpeg12_set_linear_quality
#if JPEG_LIB_VERSION >= 70
#define jpeg_default_qtables jpeg12_default_qtables
#endif
#define jpeg_add_quant_table jpeg12_add_quant_table
#define jpeg_quality_scaling jpeg12_quality_scaling
#define jpeg_simple_progression jpeg12_simple_progression
#define jpeg_suppress_tables jpeg12_suppress_tables
#define jpeg_alloc_quant_table jpeg12_alloc_quant_table
#define jpeg_alloc_huff_table jpeg12_alloc_huff_table
#define jpeg_start_compress jpeg12_start_compress
#define jpeg_write_scanlines jpeg12_write_scanlines
#define jpeg_finish_compress jpeg12_finish_compress
#if JPEG_LIB_VERSION >= 70
#define jpeg_calc_jpeg_dimensions jpeg12_calc_jpeg_dimensions
#endif
#define jpeg_write_raw_data jpeg12_write_raw_data
#define jpeg_write_marker jpeg12_write_marker
#define jpeg_write_m_header jpeg12_write_m_header
#define jpeg_write_m_byte jpeg12_write_m_byte
#define jpeg_write_tables jpeg12_write_tables
#define jpeg_write_icc_profile jpeg12_write_icc_profile
#define jpeg_read_header jpeg12_read_header
#define jpeg_start_decompress jpeg12_start_decompress
#define jpeg_read_scanlines jpeg12_read_scanlines
#define jpeg_skip_scanlines jpeg12_skip_scanlines
#define jpeg_crop_scanline jpeg12_crop_scanline
#define jpeg_finish_decompress jpeg12_finish_decompress
#define jpeg_read_raw_data jpeg12_read_raw_data
#define jpeg_has_multiple_scans jpeg12_has_multiple_scans
#define jpeg_start_output jpeg12_start_output
#define jpeg_finish_output jpeg12_finish_output
#define jpeg_input_complete jpeg12_input_complete
#define jpeg_new_colormap jpeg12_new_colormap
#define jpeg_consume_input jpeg12_consume_input
#if JPEG_LIB_VERSION >= 80
#define jpeg_core_output_dimensions jpeg12_core_output_dimensions
#endif
#define jpeg_calc_output_dimensions jpeg12_calc_output_dimensions
#define jpeg_save_markers jpeg12_save_markers
#define jpeg_set_marker_processor jpeg12_set_marker_processor
#define jpeg_read_coefficients jpeg12_read_coefficients
#define jpeg_write_coefficients jpeg12_write_coefficients
#define jpeg_copy_critical_parameters jpeg12_copy_critical_parameters
#define jpeg_abort_compress jpeg12_abort_compress
#define jpeg_abort_decompress jpeg12_abort_decompress
#define jpeg_abort jpeg12_abort
#define jpeg_destroy jpeg12_destroy
#define jpeg_resync_to_restart jpeg12_resync_to_restart
#define jpeg_read_icc_profile jpeg12_read_icc_profile
/* Rename all internal types and functions that are affected by JSAMPLE. */
#ifdef JPEG_INTERNALS
#define jpeg_comp_master jpeg12_comp_master
#define jpeg_c_main_controller jpeg12_c_main_controller
#define jpeg_c_prep_controller jpeg12_c_prep_controller
#define jpeg_c_coef_controller jpeg12_c_coef_controller
#define jpeg_color_converter jpeg12_color_converter
#define jpeg_downsampler jpeg12_downsampler
#define jpeg_forward_dct jpeg12_forward_dct
#define jpeg_entropy_encoder jpeg12_entropy_encoder
#define jpeg_marker_writer jpeg12_marker_writer
#define jpeg_decomp_master jpeg12_decomp_master
#define jpeg_input_controller jpeg12_input_controller
#define jpeg_d_main_controller jpeg12_d_main_controller
#define jpeg_d_coef_controller jpeg12_d_coef_controller
#define jpeg_d_post_controller jpeg12_d_post_controller
#define jpeg_marker_reader jpeg12_marker_reader
#define jpeg_entropy_decoder jpeg12_entropy_decoder
#define inverse_DCT_method_ptr inverse_DCT_12_method_ptr
#define jpeg_inverse_dct jpeg12_inverse_dct
#define jpeg_upsampler jpeg12_upsampler
#define jpeg_color_deconverter jpeg12_color_deconverter
#define jpeg_color_quantizer jpeg12_color_quantizer
#define jinit_compress_master j12init_compress_master
#define jinit_c_master_control j12init_c_master_control
#define jinit_c_main_controller j12init_c_main_controller
#define jinit_c_prep_controller j12init_c_prep_controller
#define jinit_c_coef_controller j12init_c_coef_controller
#define jinit_color_converter j12init_color_converter
#define jinit_downsampler j12init_downsampler
#define jinit_forward_dct j12init_forward_dct
#define jinit_huff_encoder j12init_huff_encoder
#define jinit_phuff_encoder j12init_phuff_encoder
#define jinit_arith_encoder j12init_arith_encoder
#define jinit_marker_writer j12init_marker_writer
#define jinit_master_decompress j12init_master_decompress
#define jinit_d_main_controller j12init_d_main_controller
#define jinit_d_coef_controller j12init_d_coef_controller
#define jinit_d_post_controller j12init_d_post_controller
#define jinit_input_controller j12init_input_controller
#define jinit_marker_reader j12init_marker_reader
#define jinit_huff_decoder j12init_huff_decoder
#define jinit_phuff_decoder j12init_phuff_decoder
#define jinit_arith_decoder j12init_arith_decoder
#define jinit_inverse_dct j12init_inverse_dct
#define jinit_upsampler j12init_upsampler
#define jinit_color_deconverter j12init_color_deconverter
#define jinit_1pass_quantizer j12init_1pass_quantizer
#define jinit_2pass_quantizer j12init_2pass_quantizer
#define jinit_merged_upsampler j12init_merged_upsampler
#define jinit_memory_mgr j12init_memory_mgr
#define jdiv_round_up j12div_round_up
#define jround_up j12round_up
#define jcopy_sample_rows j12copy_sample_rows
#define jcopy_block_row j12copy_block_row
#define jzero_far j12zero_far
#define jpeg_natural_order jpeg12_natural_order
#define jpeg_make_c_derived_tbl jpeg12_make_c_derived_tbl
#define jpeg_gen_optimal_table jpeg12_gen_optimal_table
#define jpeg_fdct_islow jpeg12_fdct_islow
#define jpeg_fdct_ifast jpeg12_fdct_ifast
#define jpeg_fdct_float jpeg12_fdct_float
#define jpeg_idct_islow jpeg12_idct_islow
#define jpeg_idct_ifast jpeg12_idct_ifast
#define jpeg_idct_float jpeg12_idct_float
#define jpeg_idct_7x7 jpeg12_idct_7x7
#define jpeg_idct_6x6 jpeg12_idct_6x6
#define jpeg_idct_5x5 jpeg12_idct_5x5
#define jpeg_idct_4x4 jpeg12_idct_4x4
#define jpeg_idct_3x3 jpeg12_idct_3x3
#define jpeg_idct_2x2 jpeg12_idct_2x2
#define jpeg_idct_1x1 jpeg12_idct_1x1
#define jpeg_idct_9x9 jpeg12_idct_9x9
#define jpeg_idct_10x10 jpeg12_idct_10x10
#define jpeg_idct_11x11 jpeg12_idct_11x11
#define jpeg_idct_12x12 jpeg12_idct_12x12
#define jpeg_idct_13x13 jpeg12_idct_13x13
#define jpeg_idct_14x14 jpeg12_idct_14x14
#define jpeg_idct_15x15 jpeg12_idct_15x15
#define jpeg_idct_16x16 jpeg12_idct_16x16
#define jpeg_make_d_derived_tbl jpeg12_make_d_derived_tbl
#define jpeg_fill_bit_buffer jpeg12_fill_bit_buffer
#define jpeg_huff_decode jpeg12_huff_decode
#define jpeg_std_message_table jpeg12_std_message_table
#define jpeg_get_small jpeg12_get_small
#define jpeg_free_small jpeg12_free_small
#define jpeg_get_large jpeg12_get_large
#define jpeg_free_large jpeg12_free_large
#define jpeg_mem_available jpeg12_mem_available
#define jpeg_open_backing_store jpeg12_open_backing_store
#define jpeg_mem_init jpeg12_mem_init
#define jpeg_mem_term jpeg12_mem_term
#define jsimd_can_rgb_ycc j12simd_can_rgb_ycc
#define jsimd_can_rgb_gray j12simd_can_rgb_gray
#define jsimd_can_ycc_rgb j12simd_can_ycc_rgb
#define jsimd_can_ycc_rgb565 j12simd_can_ycc_rgb565
#define jsimd_c_can_null_convert j12simd_c_can_null_convert
#define jsimd_rgb_ycc_convert j12simd_rgb_ycc_convert
#define jsimd_rgb_gray_convert j12simd_rgb_gray_convert
#define jsimd_ycc_rgb_convert j12simd_ycc_rgb_convert
#define jsimd_ycc_rgb565_convert j12simd_ycc_rgb565_convert
#define jsimd_c_null_convert j12simd_c_null_convert
#define jsimd_can_h2v2_downsample j12simd_can_h2v2_downsample
#define jsimd_can_h2v1_downsample j12simd_can_h2v1_downsample
#define jsimd_h2v2_downsample j12simd_h2v2_downsample
#define jsimd_can_h2v2_smooth_downsample j12simd_can_h2v2_smooth_downsample
#define jsimd_h2v2_smooth_downsample j12simd_h2v2_smooth_downsample
#define jsimd_h2v1_downsample j12simd_h2v1_downsample
#define jsimd_can_h2v2_upsample j12simd_can_h2v2_upsample
#define jsimd_can_h2v1_upsample j12simd_can_h2v1_upsample
#define jsimd_can_int_upsample j12simd_can_int_upsample
#define jsimd_h2v2_upsample j12simd_h2v2_upsample
#define jsimd_h2v1_upsample j12simd_h2v1_upsample
#define jsimd_int_upsample j12simd_int_upsample
#define jsimd_can_h2v2_fancy_upsample j12simd_can_h2v2_fancy_upsample
#define jsimd_can_h2v1_fancy_upsample j12simd_can_h2v1_fancy_upsample
#define jsimd_can_h1v2_fancy_upsample j12simd_can_h1v2_fancy_upsample
#define jsimd_h2v2_fancy_upsample j12simd_h2v2_fancy_upsample
#define jsimd_h2v1_fancy_upsample j12simd_h2v1_fancy_upsample
#define jsimd_h1v2_fancy_upsample j12simd_h1v2_fancy_upsample
#define jsimd_can_h2v2_merged_upsample j12simd_can_h2v2_merged_upsample
#define jsimd_can_h2v1_merged_upsample j12simd_can_h2v1_merged_upsample
#define jsimd_h2v2_merged_upsample j12simd_h2v2_merged_upsample
#define jsimd_h2v1_merged_upsample j12simd_h2v1_merged_upsample
#define jsimd_can_huff_encode_one_block j12simd_can_huff_encode_one_block
#define jsimd_huff_encode_one_block j12simd_huff_encode_one_block
#define jsimd_can_encode_mcu_AC_first_prepare \
j12simd_can_encode_mcu_AC_first_prepare
#define jsimd_encode_mcu_AC_first_prepare \
j12simd_encode_mcu_AC_first_prepare
#define jsimd_can_encode_mcu_AC_refine_prepare \
j12simd_can_encode_mcu_AC_refine_prepare
#define jsimd_encode_mcu_AC_refine_prepare \
j12simd_encode_mcu_AC_refine_prepare
#define jsimd_can_convsamp j12simd_can_convsamp
#define jsimd_can_convsamp_float j12simd_can_convsamp_float
#define jsimd_convsamp j12simd_convsamp
#define jsimd_convsamp_float j12simd_convsamp_float
#define jsimd_can_fdct_islow j12simd_can_fdct_islow
#define jsimd_can_fdct_ifast j12simd_can_fdct_ifast
#define jsimd_can_fdct_float j12simd_can_fdct_float
#define jsimd_fdct_islow j12simd_fdct_islow
#define jsimd_fdct_ifast j12simd_fdct_ifast
#define jsimd_fdct_float j12simd_fdct_float
#define jsimd_can_quantize j12simd_can_quantize
#define jsimd_can_quantize_float j12simd_can_quantize_float
#define jsimd_quantize j12simd_quantize
#define jsimd_quantize_float j12simd_quantize_float
#define jsimd_can_idct_2x2 j12simd_can_idct_2x2
#define jsimd_can_idct_4x4 j12simd_can_idct_4x4
#define jsimd_can_idct_6x6 j12simd_can_idct_6x6
#define jsimd_can_idct_12x12 j12simd_can_idct_12x12
#define jsimd_idct_2x2 j12simd_idct_2x2
#define jsimd_idct_4x4 j12simd_idct_4x4
#define jsimd_idct_6x6 j12simd_idct_6x6
#define jsimd_idct_12x12 j12simd_idct_12x12
#define jsimd_can_idct_islow j12simd_can_idct_islow
#define jsimd_can_idct_ifast j12simd_can_idct_ifast
#define jsimd_can_idct_float j12simd_can_idct_float
#define jsimd_idct_islow j12simd_idct_islow
#define jsimd_idct_ifast j12simd_idct_ifast
#define jsimd_idct_float j12simd_idct_float
#endif /* JPEG_INTERNALS */
#else /* BITS_IN_JSAMPLE == 12 */
#include "jpeglib.h"
#endif
#endif /* JPEGLIBINT_H */