opencv/3rdparty/libjpeg-turbo/src/jdsample.h
Alexander Alekhin 777953923e 3rdparty: added libjpeg-turbo source code (1.5.3)
Repo: https://github.com/libjpeg-turbo/libjpeg-turbo.git
Tag: 1.5.3

excluded libjpeg-turbo files:
- bmp.c
- bmp.h
- cderror.h
- cdjpeg.c
- cdjpeg.h
- cjpeg.c
- djpeg.c
- example.c
- jcstest.c
- jdatadst-tj.c
- jdatasrc-tj.c
- jpegtran.c
- rdbmp.c
- rdcolmap.c
- rdgif.c
- rdjpgcom.c
- rdppm.c
- rdrle.c
- rdswitch.c
- rdtarga.c
- tjbench.c
- tjunittest.c
- tjutil.c
- tjutil.h
- transupp.c
- transupp.h
- turbojpeg-jni.c
- turbojpeg.c
- turbojpeg.h
- wrbmp.c
- wrgif.c
- wrjpgcom.c
- wrppm.c
- wrrle.c
- wrtarga.c
2018-05-11 17:43:50 +03:00

51 lines
1.7 KiB
C

/*
* jdsample.h
*
* This file was part of the Independent JPEG Group's software:
* Copyright (C) 1991-1996, Thomas G. Lane.
* For conditions of distribution and use, see the accompanying README.ijg
* file.
*/
#define JPEG_INTERNALS
#include "jpeglib.h"
/* Pointer to routine to upsample a single component */
typedef void (*upsample1_ptr) (j_decompress_ptr cinfo,
jpeg_component_info *compptr,
JSAMPARRAY input_data,
JSAMPARRAY *output_data_ptr);
/* Private subobject */
typedef struct {
struct jpeg_upsampler pub; /* public fields */
/* Color conversion buffer. When using separate upsampling and color
* conversion steps, this buffer holds one upsampled row group until it
* has been color converted and output.
* Note: we do not allocate any storage for component(s) which are full-size,
* ie do not need rescaling. The corresponding entry of color_buf[] is
* simply set to point to the input data array, thereby avoiding copying.
*/
JSAMPARRAY color_buf[MAX_COMPONENTS];
/* Per-component upsampling method pointers */
upsample1_ptr methods[MAX_COMPONENTS];
int next_row_out; /* counts rows emitted from color_buf */
JDIMENSION rows_to_go; /* counts rows remaining in image */
/* Height of an input row group for each component. */
int rowgroup_height[MAX_COMPONENTS];
/* These arrays save pixel expansion factors so that int_expand need not
* recompute them each time. They are unused for other upsampling methods.
*/
UINT8 h_expand[MAX_COMPONENTS];
UINT8 v_expand[MAX_COMPONENTS];
} my_upsampler;
typedef my_upsampler *my_upsample_ptr;