⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libjpeg.doc

📁 这是在PCA下的基于IPP库示例代码例子,在网上下了IPP的库之后,设置相关参数就可以编译该代码.
💻 DOC
📖 第 1 页 / 共 5 页
字号:
	quality setting.  The quality value is expressed on the 0..100 scale	recommended by IJG (cjpeg's "-quality" switch uses this routine).	Note that the exact mapping from quality values to tables may change	in future IJG releases as more is learned about DCT quantization.	If the force_baseline parameter is TRUE, then the quantization table	entries are constrained to the range 1..255 for full JPEG baseline	compatibility.  In the current implementation, this only makes a	difference for quality settings below 25, and it effectively prevents	very small/low quality files from being generated.  The IJG decoder	is capable of reading the non-baseline files generated at low quality	settings when force_baseline is FALSE, but other decoders may not be.jpeg_set_linear_quality (j_compress_ptr cinfo, int scale_factor,			 boolean force_baseline)	Same as jpeg_set_quality() except that the generated tables are the	sample tables given in the JPEC spec section K.1, multiplied by the	specified scale factor (which is expressed as a percentage; thus	scale_factor = 100 reproduces the spec's tables).  Note that larger	scale factors give lower quality.  This entry point is useful for	conforming to the Adobe PostScript DCT conventions, but we do not	recommend linear scaling as a user-visible quality scale otherwise.	force_baseline again constrains the computed table entries to 1..255.int jpeg_quality_scaling (int quality)	Converts a value on the IJG-recommended quality scale to a linear	scaling percentage.  Note that this routine may change or go away	in future releases --- IJG may choose to adopt a scaling method that	can't be expressed as a simple scalar multiplier, in which case the	premise of this routine collapses.  Caveat user.jpeg_add_quant_table (j_compress_ptr cinfo, int which_tbl,		      const unsigned int *basic_table,		      int scale_factor, boolean force_baseline)	Allows an arbitrary quantization table to be created.  which_tbl	indicates which table slot to fill.  basic_table points to an array	of 64 unsigned ints given in normal array order.  These values are	multiplied by scale_factor/100 and then clamped to the range 1..65535	(or to 1..255 if force_baseline is TRUE).	CAUTION: prior to library version 6a, jpeg_add_quant_table expected	the basic table to be given in JPEG zigzag order.  If you need to	write code that works with either older or newer versions of this	routine, you must check the library version number.  Something like	"#if JPEG_LIB_VERSION >= 61" is the right test.jpeg_simple_progression (j_compress_ptr cinfo)	Generates a default scan script for writing a progressive-JPEG file.	This is the recommended method of creating a progressive file,	unless you want to make a custom scan sequence.  You must ensure that	the JPEG color space is set correctly before calling this routine.Compression parameters (cinfo fields) include:J_DCT_METHOD dct_method	Selects the algorithm used for the DCT step.  Choices are:		JDCT_ISLOW: slow but accurate integer algorithm		JDCT_IFAST: faster, less accurate integer method		JDCT_FLOAT: floating-point method		JDCT_DEFAULT: default method (normally JDCT_ISLOW)		JDCT_FASTEST: fastest method (normally JDCT_IFAST)	The FLOAT method is very slightly more accurate than the ISLOW method,	but may give different results on different machines due to varying	roundoff behavior.  The integer methods should give the same results	on all machines.  On machines with sufficiently fast FP hardware, the	floating-point method may also be the fastest.  The IFAST method is	considerably less accurate than the other two; its use is not	recommended if high quality is a concern.  JDCT_DEFAULT and	JDCT_FASTEST are macros configurable by each installation.J_COLOR_SPACE jpeg_color_spaceint num_components	The JPEG color space and corresponding number of components; see	"Special color spaces", below, for more info.  We recommend using	jpeg_set_color_space() if you want to change these.boolean optimize_coding	TRUE causes the compressor to compute optimal Huffman coding tables	for the image.  This requires an extra pass over the data and	therefore costs a good deal of space and time.  The default is	FALSE, which tells the compressor to use the supplied or default	Huffman tables.  In most cases optimal tables save only a few percent	of file size compared to the default tables.  Note that when this is	TRUE, you need not supply Huffman tables at all, and any you do	supply will be overwritten.unsigned int restart_intervalint restart_in_rows	To emit restart markers in the JPEG file, set one of these nonzero.	Set restart_interval to specify the exact interval in MCU blocks.	Set restart_in_rows to specify the interval in MCU rows.  (If	restart_in_rows is not 0, then restart_interval is set after the	image width in MCUs is computed.)  Defaults are zero (no restarts).	One restart marker per MCU row is often a good choice.	NOTE: the overhead of restart markers is higher in grayscale JPEG	files than in color files, and MUCH higher in progressive JPEGs.	If you use restarts, you may want to use larger intervals in those	cases.const jpeg_scan_info * scan_infoint num_scans	By default, scan_info is NULL; this causes the compressor to write a	single-scan sequential JPEG file.  If not NULL, scan_info points to	an array of scan definition records of length num_scans.  The	compressor will then write a JPEG file having one scan for each scan	definition record.  This is used to generate noninterleaved or	progressive JPEG files.  The library checks that the scan array	defines a valid JPEG scan sequence.  (jpeg_simple_progression creates	a suitable scan definition array for progressive JPEG.)  This is	discussed further under "Progressive JPEG support".int smoothing_factor	If non-zero, the input image is smoothed; the value should be 1 for	minimal smoothing to 100 for maximum smoothing.  Consult jcsample.c	for details of the smoothing algorithm.  The default is zero.boolean write_JFIF_header	If TRUE, a JFIF APP0 marker is emitted.  jpeg_set_defaults() and	jpeg_set_colorspace() set this TRUE if a JFIF-legal JPEG color space	(ie, YCbCr or grayscale) is selected, otherwise FALSE.UINT8 JFIF_major_versionUINT8 JFIF_minor_version	The version number to be written into the JFIF marker.	jpeg_set_defaults() initializes the version to 1.01 (major=minor=1).	You should set it to 1.02 (major=1, minor=2) if you plan to write	any JFIF 1.02 extension markers.UINT8 density_unitUINT16 X_densityUINT16 Y_density	The resolution information to be written into the JFIF marker;	not used otherwise.  density_unit may be 0 for unknown,	1 for dots/inch, or 2 for dots/cm.  The default values are 0,1,1	indicating square pixels of unknown size.boolean write_Adobe_marker	If TRUE, an Adobe APP14 marker is emitted.  jpeg_set_defaults() and	jpeg_set_colorspace() set this TRUE if JPEG color space RGB, CMYK,	or YCCK is selected, otherwise FALSE.  It is generally a bad idea	to set both write_JFIF_header and write_Adobe_marker.  In fact,	you probably shouldn't change the default settings at all --- the	default behavior ensures that the JPEG file's color space can be	recognized by the decoder.JQUANT_TBL * quant_tbl_ptrs[NUM_QUANT_TBLS]	Pointers to coefficient quantization tables, one per table slot,	or NULL if no table is defined for a slot.  Usually these should	be set via one of the above helper routines; jpeg_add_quant_table()	is general enough to define any quantization table.  The other	routines will set up table slot 0 for luminance quality and table	slot 1 for chrominance.JHUFF_TBL * dc_huff_tbl_ptrs[NUM_HUFF_TBLS]JHUFF_TBL * ac_huff_tbl_ptrs[NUM_HUFF_TBLS]	Pointers to Huffman coding tables, one per table slot, or NULL if	no table is defined for a slot.  Slots 0 and 1 are filled with the	JPEG sample tables by jpeg_set_defaults().  If you need to allocate	more table structures, jpeg_alloc_huff_table() may be used.	Note that optimal Huffman tables can be computed for an image	by setting optimize_coding, as discussed above; there's seldom	any need to mess with providing your own Huffman tables.There are some additional cinfo fields which are not documented herebecause you currently can't change them; for example, you can't setarith_code TRUE because arithmetic coding is unsupported.Per-component parameters are stored in the struct cinfo.comp_info[i] forcomponent number i.  Note that components here refer to components of theJPEG color space, *not* the source image color space.  A suitably largecomp_info[] array is allocated by jpeg_set_defaults(); if you choose notto use that routine, it's up to you to allocate the array.int component_id	The one-byte identifier code to be recorded in the JPEG file for	this component.  For the standard color spaces, we recommend you	leave the default values alone.int h_samp_factorint v_samp_factor	Horizontal and vertical sampling factors for the component; must	be 1..4 according to the JPEG standard.  Note that larger sampling	factors indicate a higher-resolution component; many people find	this behavior quite unintuitive.  The default values are 2,2 for	luminance components and 1,1 for chrominance components, except	for grayscale where 1,1 is used.int quant_tbl_no	Quantization table number for component.  The default value is	0 for luminance components and 1 for chrominance components.int dc_tbl_noint ac_tbl_no	DC and AC entropy coding table numbers.  The default values are	0 for luminance components and 1 for chrominance components.int component_index	Must equal the component's index in comp_info[].  (Beginning in	release v6, the compressor library will fill this in automatically;	you don't have to.)Decompression parameter selection---------------------------------Decompression parameter selection is somewhat simpler than compressionparameter selection, since all of the JPEG internal parameters arerecorded in the source file and need not be supplied by the application.(Unless you are working with abbreviated files, in which case see"Abbreviated datastreams", below.)  Decompression parameters controlthe postprocessing done on the image to deliver it in a format suitablefor the application's use.  Many of the parameters control speed/qualitytradeoffs, in which faster decompression may be obtained at the price ofa poorer-quality image.  The defaults select the highest quality (slowest)processing.The following fields in the JPEG object are set by jpeg_read_header() andmay be useful to the application in choosing decompression parameters:JDIMENSION image_width			Width and height of imageJDIMENSION image_heightint num_components			Number of color componentsJ_COLOR_SPACE jpeg_color_space		Colorspace of imageboolean saw_JFIF_marker			TRUE if a JFIF APP0 marker was seen  UINT8 JFIF_major_version		Version information from JFIF marker  UINT8 JFIF_minor_version  UINT8 density_unit			Resolution data from JFIF marker  UINT16 X_density  UINT16 Y_densityboolean saw_Adobe_marker		TRUE if an Adobe APP14 marker was seen  UINT8 Adobe_transform			Color transform code from Adobe markerThe JPEG color space, unfortunately, is something of a guess since the JPEGstandard proper does not provide a way to record it.  In practice most filesadhere to the JFIF or Adobe conventions, and the decoder will recognize thesecorrectly.  See "Special color spaces", below, for more info.The decompression parameters that determine the basic properties of thereturned image are:J_COLOR_SPACE out_color_space	Output color space.  jpeg_read_header() sets an appropriate default	based on jpeg_color_space; typically it will be RGB or grayscale.	The application can change this field to request output in a different	colorspace.  For example, set it to JCS_GRAYSCALE to get grayscale	output from a color file.  (This is useful for previewing: grayscale	output is faster than full color since the color components need not	be processed.)  Note that not all possible color space transforms are	currently implemented; you may need to extend jdcolor.c if you want an	unusual conversion.unsigned int scale_num, scale_denom	Scale the image by the fraction scale_num/scale_denom.  Default is	1/1, or no scaling.  Currently, the only supported scaling ratios	are 1/1, 1/2, 1/4, and 1/8.  (The library design allows for arbitrary	scaling ratios but this is not likely to be implemented any time soon.)	Smaller scaling ratios permit significantly faster decoding since	fewer pixels need be processed and a simpler IDCT method can be used.boolean quantize_colors	If set TRUE, colormapped output will be delivered.  Default is FALSE,	meaning that full-color output will be delivered.The next three parameters are relevant only if quantize_colors is TRUE.int desired_number_of_colors	Maximum number of colors to use in generating a library-supplied color	map (the actual number of colors is returned in a different field).	Default 256.  Ignored when the application supplies its own color map.boolean two_pass_quantize	If TRUE, an extra pass over the image is made to select a custom color	map for the image.  This usually looks a lot better than the one-size-

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -