-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-LEPT_DLL extern HBITMAP pixGetWindowsHBITMAP( PIX *pixs );
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* LEPTONICA_LEPTWIN_H */
-#endif /* _WIN32 */
diff --git a/WebRtc.NET/include/leptonica/list.h b/WebRtc.NET/include/leptonica/list.h
deleted file mode 100644
index d207e79f..00000000
--- a/WebRtc.NET/include/leptonica/list.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-
-#ifndef LEPTONICA_LIST_H
-#define LEPTONICA_LIST_H
-
-/*!
- * \file list.h
- *
- *
- * Cell for double-linked lists
- *
- * This allows composition of a list of cells with
- * prev, next and data pointers. Generic data
- * structures hang on the list cell data pointers.
- *
- * The list is not circular because that would add much
- * complexity in traversing the list under general
- * conditions where list cells can be added and removed.
- * The only disadvantage of not having the head point to
- * the last cell is that the list must be traversed to
- * find its tail. However, this traversal is fast, and
- * the listRemoveFromTail() function updates the tail
- * so there is no searching overhead with repeated use.
- *
- * The list macros are used to run through a list, and their
- * use is encouraged. They are invoked, e.g., as
- *
- * DLLIST *head, *elem;
- * ...
- * L_BEGIN_LIST_FORWARD(head, elem)
- * data >
- * L_END_LIST
- *
- */
-
-struct DoubleLinkedList
-{
- struct DoubleLinkedList *prev;
- struct DoubleLinkedList *next;
- void *data;
-};
-typedef struct DoubleLinkedList DLLIST;
-
-
- /*! Simple list traverse macro - forward */
-#define L_BEGIN_LIST_FORWARD(head, element) \
- { \
- DLLIST *_leptvar_nextelem_; \
- for ((element) = (head); (element); (element) = _leptvar_nextelem_) { \
- _leptvar_nextelem_ = (element)->next;
-
-
- /*! Simple list traverse macro - reverse */
-#define L_BEGIN_LIST_REVERSE(tail, element) \
- { \
- DLLIST *_leptvar_prevelem_; \
- for ((element) = (tail); (element); (element) = _leptvar_prevelem_) { \
- _leptvar_prevelem_ = (element)->prev;
-
-
- /*! Simple list traverse macro - end of a list traverse */
-#define L_END_LIST }}
-
-
-#endif /* LEPTONICA_LIST_H */
diff --git a/WebRtc.NET/include/leptonica/morph.h b/WebRtc.NET/include/leptonica/morph.h
deleted file mode 100644
index c0cd7987..00000000
--- a/WebRtc.NET/include/leptonica/morph.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_MORPH_H
-#define LEPTONICA_MORPH_H
-
-/*!
- * \file morph.h
- *
- *
- * Contains the following structs:
- * struct Sel
- * struct Sela
- * struct Kernel
- *
- * Contains definitions for:
- * morphological b.c. flags
- * structuring element types
- * runlength flags for granulometry
- * direction flags for grayscale morphology
- * morphological operation flags
- * standard border size
- * grayscale intensity scaling flags
- * morphological tophat flags
- * arithmetic and logical operator flags
- * grayscale morphology selection flags
- * distance function b.c. flags
- * image comparison flags
- * color content flags
- *
- */
-
-/*-------------------------------------------------------------------------*
- * Sel and Sel array *
- *-------------------------------------------------------------------------*/
-#define SEL_VERSION_NUMBER 1
-
-/*! Selection */
-struct Sel
-{
- l_int32 sy; /*!< sel height */
- l_int32 sx; /*!< sel width */
- l_int32 cy; /*!< y location of sel origin */
- l_int32 cx; /*!< x location of sel origin */
- l_int32 **data; /*!< {0,1,2}; data[i][j] in [row][col] order */
- char *name; /*!< used to find sel by name */
-};
-typedef struct Sel SEL;
-
-/*! Array of Sel */
-struct Sela
-{
- l_int32 n; /*!< number of sel actually stored */
- l_int32 nalloc; /*!< size of allocated ptr array */
- struct Sel **sel; /*!< sel ptr array */
-};
-typedef struct Sela SELA;
-
-
-/*-------------------------------------------------------------------------*
- * Kernel *
- *-------------------------------------------------------------------------*/
-#define KERNEL_VERSION_NUMBER 2
-
-/*! Kernel */
-struct L_Kernel
-{
- l_int32 sy; /*!< kernel height */
- l_int32 sx; /*!< kernel width */
- l_int32 cy; /*!< y location of kernel origin */
- l_int32 cx; /*!< x location of kernel origin */
- l_float32 **data; /*!< data[i][j] in [row][col] order */
-};
-typedef struct L_Kernel L_KERNEL;
-
-
-/*-------------------------------------------------------------------------*
- * Morphological boundary condition flags *
- * *
- * Two types of boundary condition for erosion. *
- * The global variable MORPH_BC takes on one of these two values. *
- * See notes in morph.c for usage. *
- *-------------------------------------------------------------------------*/
-
-/*! Morphological boundary condition flags */
-enum {
- SYMMETRIC_MORPH_BC = 0,
- ASYMMETRIC_MORPH_BC = 1
-};
-
-/*-------------------------------------------------------------------------*
- * Structuring element types *
- *-------------------------------------------------------------------------*/
-
-/*! Structuring element types */
-enum {
- SEL_DONT_CARE = 0,
- SEL_HIT = 1,
- SEL_MISS = 2
-};
-
-/*-------------------------------------------------------------------------*
- * Runlength flags for granulometry *
- *-------------------------------------------------------------------------*/
-
-/*! Runlength flags for granulometry */
-enum {
- L_RUN_OFF = 0,
- L_RUN_ON = 1
-};
-
-/*-------------------------------------------------------------------------*
- * Direction flags for grayscale morphology, granulometry, *
- * composable Sels, convolution, etc. *
- *-------------------------------------------------------------------------*/
-
-/*! Direction flags */
-enum {
- L_HORIZ = 1,
- L_VERT = 2,
- L_BOTH_DIRECTIONS = 3
-};
-
-/*-------------------------------------------------------------------------*
- * Morphological operation flags *
- *-------------------------------------------------------------------------*/
-
-/*! Morphological operation flags */
-enum {
- L_MORPH_DILATE = 1,
- L_MORPH_ERODE = 2,
- L_MORPH_OPEN = 3,
- L_MORPH_CLOSE = 4,
- L_MORPH_HMT = 5
-};
-
-/*-------------------------------------------------------------------------*
- * Grayscale intensity scaling flags *
- *-------------------------------------------------------------------------*/
-
-/*! Grayscale intensity scaling flags */
-enum {
- L_LINEAR_SCALE = 1,
- L_LOG_SCALE = 2
-};
-
-/*-------------------------------------------------------------------------*
- * Morphological tophat flags *
- *-------------------------------------------------------------------------*/
-
-/*! Morphological tophat flags */
-enum {
- L_TOPHAT_WHITE = 0,
- L_TOPHAT_BLACK = 1
-};
-
-/*-------------------------------------------------------------------------*
- * Arithmetic and logical operator flags *
- * (use on grayscale images and Numas) *
- *-------------------------------------------------------------------------*/
-
-/*! Arithmetic and logical operator flags */
-enum {
- L_ARITH_ADD = 1,
- L_ARITH_SUBTRACT = 2,
- L_ARITH_MULTIPLY = 3, /* on numas only */
- L_ARITH_DIVIDE = 4, /* on numas only */
- L_UNION = 5, /* on numas only */
- L_INTERSECTION = 6, /* on numas only */
- L_SUBTRACTION = 7, /* on numas only */
- L_EXCLUSIVE_OR = 8 /* on numas only */
-};
-
-/*-------------------------------------------------------------------------*
- * Min/max selection flags *
- *-------------------------------------------------------------------------*/
-
-/*! Min/max selection flags */
-enum {
- L_CHOOSE_MIN = 1, /* useful in a downscaling "erosion" */
- L_CHOOSE_MAX = 2, /* useful in a downscaling "dilation" */
- L_CHOOSE_MAXDIFF = 3, /* useful in a downscaling contrast */
- L_CHOOSE_MIN_BOOST = 4, /* use a modification of the min value */
- L_CHOOSE_MAX_BOOST = 5 /* use a modification of the max value */
-};
-
-/*-------------------------------------------------------------------------*
- * Distance function b.c. flags *
- *-------------------------------------------------------------------------*/
-
-/*! Distance function b.c. flags */
-enum {
- L_BOUNDARY_BG = 1, /* assume bg outside image */
- L_BOUNDARY_FG = 2 /* assume fg outside image */
-};
-
-/*-------------------------------------------------------------------------*
- * Image comparison flags *
- *-------------------------------------------------------------------------*/
-
-/*! Image comparison flags */
-enum {
- L_COMPARE_XOR = 1,
- L_COMPARE_SUBTRACT = 2,
- L_COMPARE_ABS_DIFF = 3
-};
-
-/*-------------------------------------------------------------------------*
- * Color content flags *
- *-------------------------------------------------------------------------*/
-
-/*! Color content flags */
-enum {
- L_MAX_DIFF_FROM_AVERAGE_2 = 1,
- L_MAX_MIN_DIFF_FROM_2 = 2,
- L_MAX_DIFF = 3
-};
-
-/*-------------------------------------------------------------------------*
- * Standard size of border added around images for special processing *
- *-------------------------------------------------------------------------*/
-static const l_int32 ADDED_BORDER = 32; /*!< pixels, not bits */
-
-
-#endif /* LEPTONICA_MORPH_H */
diff --git a/WebRtc.NET/include/leptonica/pix.h b/WebRtc.NET/include/leptonica/pix.h
deleted file mode 100644
index 466243f3..00000000
--- a/WebRtc.NET/include/leptonica/pix.h
+++ /dev/null
@@ -1,1281 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_PIX_H
-#define LEPTONICA_PIX_H
-
-/*!
- * \file pix.h
- *
- *
- * Valid image types in leptonica:
- * Pix: 1 bpp, with and without colormap
- * Pix: 2 bpp, with and without colormap
- * Pix: 4 bpp, with and without colormap
- * Pix: 8 bpp, with and without colormap
- * Pix: 16 bpp (1 spp)
- * Pix: 32 bpp (rgb, 3 spp)
- * Pix: 32 bpp (rgba, 4 spp)
- * FPix: 32 bpp float
- * DPix: 64 bpp double
- * Notes:
- * (1) The only valid Pix image type with alpha is rgba.
- * In particular, the alpha component is not used in
- * cmapped images.
- * (2) PixComp can hold any Pix with IFF_PNG encoding.
- *
- * Contents:
- *
- * (1) This file defines most of the image-related structs used in leptonica:
- * struct Pix
- * struct PixColormap
- * struct RGBA_Quad
- * struct Pixa
- * struct Pixaa
- * struct Box
- * struct Boxa
- * struct Boxaa
- * struct Pta
- * struct Ptaa
- * struct Pixacc
- * struct PixTiling
- * struct FPix
- * struct FPixa
- * struct DPix
- * struct PixComp
- * struct PixaComp
- *
- * (2) This file has definitions for:
- * Colors for RGB
- * Colors for drawing boxes
- * Perceptual color weights
- * Colormap conversion flags
- * Rasterop bit flags
- * Structure access flags (for insert, copy, clone, copy-clone)
- * Sorting flags (by type and direction)
- * Blending flags
- * Graphics pixel setting flags
- * Size filtering flags
- * Color component selection flags
- * 16-bit conversion flags
- * Rotation and shear flags
- * Affine transform order flags
- * Grayscale filling flags
- * Flags for setting to white or black
- * Flags for getting white or black pixel value
- * Flags for 8 and 16 bit pixel sums
- * Dithering flags
- * Distance flags
- * Statistical measures
- * Set selection flags
- * Text orientation flags
- * Edge orientation flags
- * Line orientation flags
- * Scan direction flags
- * Box size adjustment flags
- * Flags for selecting box boundaries from two choices
- * Handling overlapping bounding boxes in boxa
- * Flags for replacing invalid boxes
- * Horizontal warp
- * Pixel selection for resampling
- * Thinning flags
- * Runlength flags
- * Edge filter flags
- * Subpixel color component ordering in LCD display
- * HSV histogram flags
- * Region flags (inclusion, exclusion)
- * Flags for adding text to a pix
- * Flags for plotting on a pix
- * Flags for selecting display program
- * Flags in the 'special' pix field for non-default operations
- * Handling negative values in conversion to unsigned int
- * Relative to zero flags
- * Flags for adding or removing traling slash from string
- *
- * (3) This file has typedefs for the pix allocator and deallocator functions
- * alloc_fn()
- * dealloc_fn().
- *
- */
-
-
-/*-------------------------------------------------------------------------*
- * Basic Pix *
- *-------------------------------------------------------------------------*/
- /* The 'special' field is by default 0, but it can hold integers
- * that direct non-default actions, e.g., in png and jpeg I/O. */
-
-/*! Basic Pix */
-struct Pix
-{
- l_uint32 w; /*!< width in pixels */
- l_uint32 h; /*!< height in pixels */
- l_uint32 d; /*!< depth in bits (bpp) */
- l_uint32 spp; /*!< number of samples per pixel */
- l_uint32 wpl; /*!< 32-bit words/line */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- l_int32 xres; /*!< image res (ppi) in x direction */
- /*!< (use 0 if unknown) */
- l_int32 yres; /*!< image res (ppi) in y direction */
- /*!< (use 0 if unknown) */
- l_int32 informat; /*!< input file format, IFF_* */
- l_int32 special; /*!< special instructions for I/O, etc */
- char *text; /*!< text string associated with pix */
- struct PixColormap *colormap; /*!< colormap (may be null) */
- l_uint32 *data; /*!< the image data */
-};
-typedef struct Pix PIX;
-
-/*! Colormap of a Pix */
-struct PixColormap
-{
- void *array; /*!< colormap table (array of RGBA_QUAD) */
- l_int32 depth; /*!< of pix (1, 2, 4 or 8 bpp) */
- l_int32 nalloc; /*!< number of color entries allocated */
- l_int32 n; /*!< number of color entries used */
-};
-typedef struct PixColormap PIXCMAP;
-
-
- /*! Colormap table entry (after the BMP version).
- * Note that the BMP format stores the colormap table exactly
- * as it appears here, with color samples being stored sequentially,
- * in the order (b,g,r,a). */
-struct RGBA_Quad
-{
- l_uint8 blue; /*!< blue value */
- l_uint8 green; /*!< green value */
- l_uint8 red; /*!< red value */
- l_uint8 alpha; /*!< alpha value */
-};
-typedef struct RGBA_Quad RGBA_QUAD;
-
-
-
-/*-------------------------------------------------------------------------*
- * Colors for 32 bpp *
- *-------------------------------------------------------------------------*/
-/*
- * Notes:
- * (1) These are the byte indices for colors in 32 bpp images.
- * They are used through the GET/SET_DATA_BYTE accessors.
- * The 4th byte, typically known as the "alpha channel" and used
- * for blending, is used to a small extent in leptonica.
- * (2) Do not change these values! If you redefine them, functions
- * that have the shifts hardcoded for efficiency and conciseness
- * (instead of using the constants below) will break. These
- * functions are labelled with "***" next to their names at
- * the top of the files in which they are defined.
- * (3) The shifts to extract the red, green, blue and alpha components
- * from a 32 bit pixel are defined here.
- *
- */
-
-/*! Colors for 32 bpp */
-enum {
- COLOR_RED = 0, /*!< red color index in RGBA_QUAD */
- COLOR_GREEN = 1, /*!< green color index in RGBA_QUAD */
- COLOR_BLUE = 2, /*!< blue color index in RGBA_QUAD */
- L_ALPHA_CHANNEL = 3 /*!< alpha value index in RGBA_QUAD */
-};
-
-static const l_int32 L_RED_SHIFT =
- 8 * (sizeof(l_uint32) - 1 - COLOR_RED); /* 24 */
-static const l_int32 L_GREEN_SHIFT =
- 8 * (sizeof(l_uint32) - 1 - COLOR_GREEN); /* 16 */
-static const l_int32 L_BLUE_SHIFT =
- 8 * (sizeof(l_uint32) - 1 - COLOR_BLUE); /* 8 */
-static const l_int32 L_ALPHA_SHIFT =
- 8 * (sizeof(l_uint32) - 1 - L_ALPHA_CHANNEL); /* 0 */
-
-
-/*-------------------------------------------------------------------------*
- * Colors for drawing boxes *
- *-------------------------------------------------------------------------*/
-/*! Colors for drawing boxes */
-enum {
- L_DRAW_RED = 0, /*!< draw in red */
- L_DRAW_GREEN = 1, /*!< draw in green */
- L_DRAW_BLUE = 2, /*!< draw in blue */
- L_DRAW_SPECIFIED = 3, /*!< draw specified color */
- L_DRAW_RGB = 4, /*!< draw as sequence of r,g,b */
- L_DRAW_RANDOM = 5 /*!< draw randomly chosen colors */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Perceptual color weights *
- *-------------------------------------------------------------------------*/
-/*
- * Notes:
- * (1) These perceptual weighting factors are ad-hoc, but they do
- * add up to 1. Unlike, for example, the weighting factors for
- * converting RGB to luminance, or more specifically to Y in the
- * YUV colorspace. Those numbers come from the
- * International Telecommunications Union, via ITU-R.
- *
- */
-static const l_float32 L_RED_WEIGHT = 0.3; /*!< Percept. weight for red */
-static const l_float32 L_GREEN_WEIGHT = 0.5; /*!< Percept. weight for green */
-static const l_float32 L_BLUE_WEIGHT = 0.2; /*!< Percept. weight for blue */
-
-
-/*-------------------------------------------------------------------------*
- * Flags for colormap conversion *
- *-------------------------------------------------------------------------*/
-/*! Flags for colormap conversion */
-enum {
- REMOVE_CMAP_TO_BINARY = 0, /*!< remove colormap for conv to 1 bpp */
- REMOVE_CMAP_TO_GRAYSCALE = 1, /*!< remove colormap for conv to 8 bpp */
- REMOVE_CMAP_TO_FULL_COLOR = 2, /*!< remove colormap for conv to 32 bpp */
- REMOVE_CMAP_WITH_ALPHA = 3, /*!< remove colormap and alpha */
- REMOVE_CMAP_BASED_ON_SRC = 4 /*!< remove depending on src format */
-};
-
-
-/*------------------------------------------------------------------------*
- *!
- *
- * The following operation bit flags have been modified from
- * Sun's pixrect.h.
- *
- * The 'op' in 'rasterop' is represented by an integer
- * composed with Boolean functions using the set of five integers
- * given below. The integers, and the op codes resulting from
- * boolean expressions on them, need only be in the range from 0 to 15.
- * The function is applied on a per-pixel basis.
- *
- * Examples: the op code representing ORing the src and dest
- * is computed using the bit OR, as PIX_SRC | PIX_DST; the op
- * code representing XORing src and dest is found from
- * PIX_SRC ^ PIX_DST; the op code representing ANDing src and dest
- * is found from PIX_SRC & PIX_DST. Note that
- * PIX_NOT(PIX_CLR) = PIX_SET, and v.v., as they must be.
- *
- * We use the following set of definitions:
- *
- * #define PIX_SRC 0xc
- * #define PIX_DST 0xa
- * #define PIX_NOT(op) (op) ^ 0xf
- * #define PIX_CLR 0x0
- * #define PIX_SET 0xf
- *
- * These definitions differ from Sun's, in that Sun left-shifted
- * each value by 1 pixel, and used the least significant bit as a
- * flag for the "pseudo-operation" of clipping. We don't need
- * this bit, because it is both efficient and safe ALWAYS to clip
- * the rectangles to the src and dest images, which is what we do.
- * See the notes in rop.h on the general choice of these bit flags.
- *
- * [If for some reason you need compatibility with Sun's xview package,
- * you can adopt the original Sun definitions to avoid redefinition conflicts:
- *
- * #define PIX_SRC (0xc << 1)
- * #define PIX_DST (0xa << 1)
- * #define PIX_NOT(op) ((op) ^ 0x1e)
- * #define PIX_CLR (0x0 << 1)
- * #define PIX_SET (0xf << 1)
- * ]
- *
- * We have, for reference, the following 16 unique op flags:
- *
- * PIX_CLR 0000 0x0
- * PIX_SET 1111 0xf
- * PIX_SRC 1100 0xc
- * PIX_DST 1010 0xa
- * PIX_NOT(PIX_SRC) 0011 0x3
- * PIX_NOT(PIX_DST) 0101 0x5
- * PIX_SRC | PIX_DST 1110 0xe
- * PIX_SRC & PIX_DST 1000 0x8
- * PIX_SRC ^ PIX_DST 0110 0x6
- * PIX_NOT(PIX_SRC) | PIX_DST 1011 0xb
- * PIX_NOT(PIX_SRC) & PIX_DST 0010 0x2
- * PIX_SRC | PIX_NOT(PIX_DST) 1101 0xd
- * PIX_SRC & PIX_NOT(PIX_DST) 0100 0x4
- * PIX_NOT(PIX_SRC | PIX_DST) 0001 0x1
- * PIX_NOT(PIX_SRC & PIX_DST) 0111 0x7
- * PIX_NOT(PIX_SRC ^ PIX_DST) 1001 0x9
- *
- *
- *-------------------------------------------------------------------------*/
-
-#define PIX_SRC (0xc) /*!< use source pixels */
-#define PIX_DST (0xa) /*!< use destination pixels */
-#define PIX_NOT(op) ((op) ^ 0x0f) /*!< invert operation %op */
-#define PIX_CLR (0x0) /*!< clear pixels */
-#define PIX_SET (0xf) /*!< set pixels */
-
-#define PIX_PAINT (PIX_SRC | PIX_DST) /*!< paint = src | dst */
-#define PIX_MASK (PIX_SRC & PIX_DST) /*!< mask = src & dst */
-#define PIX_SUBTRACT (PIX_DST & PIX_NOT(PIX_SRC)) /*!< subtract = */
- /*!< src & !dst */
-#define PIX_XOR (PIX_SRC ^ PIX_DST) /*!< xor = src ^ dst */
-
-
-/*-------------------------------------------------------------------------*
- *
- * Important Notes:
- *
- * (1) The image data is stored in a single contiguous
- * array of l_uint32, into which the pixels are packed.
- * By "packed" we mean that there are no unused bits
- * between pixels, except for end-of-line padding to
- * satisfy item (2) below.
- *
- * (2) Every image raster line begins on a 32-bit word
- * boundary within this array.
- *
- * (3) Pix image data is stored in 32-bit units, with the
- * pixels ordered from left to right in the image being
- * stored in order from the MSB to LSB within the word,
- * for both big-endian and little-endian machines.
- * This is the natural ordering for big-endian machines,
- * as successive bytes are stored and fetched progressively
- * to the right. However, for little-endians, when storing
- * we re-order the bytes from this byte stream order, and
- * reshuffle again for byte access on 32-bit entities.
- * So if the bytes come in sequence from left to right, we
- * store them on little-endians in byte order:
- * 3 2 1 0 7 6 5 4 ...
- * This MSB to LSB ordering allows left and right shift
- * operations on 32 bit words to move the pixels properly.
- *
- * (4) We use 32 bit pixels for both RGB and RGBA color images.
- * The A (alpha) byte is ignored in most leptonica functions
- * operating on color images. Within each 4 byte pixel, the
- * colors are ordered from MSB to LSB, as follows:
- *
- * | MSB | 2nd MSB | 3rd MSB | LSB |
- * red green blue alpha
- * 0 1 2 3 (big-endian)
- * 3 2 1 0 (little-endian)
- *
- * Because we use MSB to LSB ordering within the 32-bit word,
- * the individual 8-bit samples can be accessed with
- * GET_DATA_BYTE and SET_DATA_BYTE macros, using the
- * (implicitly big-ending) ordering
- * red: byte 0 (MSB)
- * green: byte 1 (2nd MSB)
- * blue: byte 2 (3rd MSB)
- * alpha: byte 3 (LSB)
- *
- * The specific color assignment is made in this file,
- * through the definitions of COLOR_RED, etc. Then the R, G
- * B and A sample values can be retrieved using
- * redval = GET_DATA_BYTE(&pixel, COLOR_RED);
- * greenval = GET_DATA_BYTE(&pixel, COLOR_GREEN);
- * blueval = GET_DATA_BYTE(&pixel, COLOR_BLUE);
- * alphaval = GET_DATA_BYTE(&pixel, L_ALPHA_CHANNEL);
- * and they can be set with
- * SET_DATA_BYTE(&pixel, COLOR_RED, redval);
- * SET_DATA_BYTE(&pixel, COLOR_GREEN, greenval);
- * SET_DATA_BYTE(&pixel, COLOR_BLUE, blueval);
- * SET_DATA_BYTE(&pixel, L_ALPHA_CHANNEL, alphaval);
- *
- * For extra speed we extract these components directly
- * by shifting and masking, explicitly using the values in
- * L_RED_SHIFT, etc.:
- * (pixel32 >> L_RED_SHIFT) & 0xff; (red)
- * (pixel32 >> L_GREEN_SHIFT) & 0xff; (green)
- * (pixel32 >> L_BLUE_SHIFT) & 0xff; (blue)
- * (pixel32 >> L_ALPHA_SHIFT) & 0xff; (alpha)
- * All these operations work properly on both big- and little-endians.
- *
- * For a few situations, these color shift values are hard-coded.
- * Changing the RGB color component ordering through the assignments
- * in this file will cause functions marked with "***" to fail.
- *
- * (5) A reference count is held within each pix, giving the
- * number of ptrs to the pix. When a pixClone() call
- * is made, the ref count is increased by 1, and
- * when a pixDestroy() call is made, the reference count
- * of the pix is decremented. The pix is only destroyed
- * when the reference count goes to zero.
- *
- * (6) The version numbers (below) are used in the serialization
- * of these data structures. They are placed in the files,
- * and rarely (if ever) change. Provision is currently made for
- * backward compatibility in reading from boxaa version 2.
- *
- * (7) The serialization dependencies are as follows:
- * pixaa : pixa : boxa
- * boxaa : boxa
- * So, for example, pixaa and boxaa can be changed without
- * forcing a change in pixa or boxa. However, if pixa is
- * changed, it forces a change in pixaa, and if boxa is
- * changed, if forces a change in the other three.
- * We define four version numbers:
- * PIXAA_VERSION_NUMBER
- * PIXA_VERSION_NUMBER
- * BOXAA_VERSION_NUMBER
- * BOXA_VERSION_NUMBER
- *
- *-------------------------------------------------------------------------*/
-
-
-
-/*-------------------------------------------------------------------------*
- * Array of pix *
- *-------------------------------------------------------------------------*/
-
- /* Serialization for primary data structures */
-#define PIXAA_VERSION_NUMBER 2 /*!< Version for Pixaa serialization */
-#define PIXA_VERSION_NUMBER 2 /*!< Version for Pixa serialization */
-#define BOXA_VERSION_NUMBER 2 /*!< Version for Boxa serialization */
-#define BOXAA_VERSION_NUMBER 3 /*!< Version for Boxaa serialization */
-
-/*! Array of pix */
-struct Pixa
-{
- l_int32 n; /*!< number of Pix in ptr array */
- l_int32 nalloc; /*!< number of Pix ptrs allocated */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- struct Pix **pix; /*!< the array of ptrs to pix */
- struct Boxa *boxa; /*!< array of boxes */
-};
-typedef struct Pixa PIXA;
-
-/*! Array of arrays of pix */
-struct Pixaa
-{
- l_int32 n; /*!< number of Pixa in ptr array */
- l_int32 nalloc; /*!< number of Pixa ptrs allocated */
- struct Pixa **pixa; /*!< array of ptrs to pixa */
- struct Boxa *boxa; /*!< array of boxes */
-};
-typedef struct Pixaa PIXAA;
-
-
-/*-------------------------------------------------------------------------*
- * Basic rectangle and rectangle arrays *
- *-------------------------------------------------------------------------*/
-
-/*! Basic rectangle */
-struct Box
-{
- l_int32 x; /*!< left coordinate */
- l_int32 y; /*!< top coordinate */
- l_int32 w; /*!< box width */
- l_int32 h; /*!< box height */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
-
-};
-typedef struct Box BOX;
-
-/*! Array of Box */
-struct Boxa
-{
- l_int32 n; /*!< number of box in ptr array */
- l_int32 nalloc; /*!< number of box ptrs allocated */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- struct Box **box; /*!< box ptr array */
-};
-typedef struct Boxa BOXA;
-
-/*! Array of Boxa */
-struct Boxaa
-{
- l_int32 n; /*!< number of boxa in ptr array */
- l_int32 nalloc; /*!< number of boxa ptrs allocated */
- struct Boxa **boxa; /*!< boxa ptr array */
-};
-typedef struct Boxaa BOXAA;
-
-
-/*-------------------------------------------------------------------------*
- * Array of points *
- *-------------------------------------------------------------------------*/
-#define PTA_VERSION_NUMBER 1 /*!< Version for Pta serialization */
-
-/*! Array of points */
-struct Pta
-{
- l_int32 n; /*!< actual number of pts */
- l_int32 nalloc; /*!< size of allocated arrays */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- l_float32 *x, *y; /*!< arrays of floats */
-};
-typedef struct Pta PTA;
-
-
-/*-------------------------------------------------------------------------*
- * Array of Pta *
- *-------------------------------------------------------------------------*/
-
-/*! Array of Pta */
-struct Ptaa
-{
- l_int32 n; /*!< number of pta in ptr array */
- l_int32 nalloc; /*!< number of pta ptrs allocated */
- struct Pta **pta; /*!< pta ptr array */
-};
-typedef struct Ptaa PTAA;
-
-
-/*-------------------------------------------------------------------------*
- * Pix accumulator container *
- *-------------------------------------------------------------------------*/
-
-/*! Pix accumulator container */
-struct Pixacc
-{
- l_int32 w; /*!< array width */
- l_int32 h; /*!< array height */
- l_int32 offset; /*!< used to allow negative */
- /*!< intermediate results */
- struct Pix *pix; /*!< the 32 bit accumulator pix */
-};
-typedef struct Pixacc PIXACC;
-
-
-/*-------------------------------------------------------------------------*
- * Pix tiling *
- *-------------------------------------------------------------------------*/
-
-/*! Pix tiling */
-struct PixTiling
-{
- struct Pix *pix; /*!< input pix (a clone) */
- l_int32 nx; /*!< number of tiles horizontally */
- l_int32 ny; /*!< number of tiles vertically */
- l_int32 w; /*!< tile width */
- l_int32 h; /*!< tile height */
- l_int32 xoverlap; /*!< overlap on left and right */
- l_int32 yoverlap; /*!< overlap on top and bottom */
- l_int32 strip; /*!< strip for paint; default is TRUE */
-};
-typedef struct PixTiling PIXTILING;
-
-
-/*-------------------------------------------------------------------------*
- * FPix: pix with float array *
- *-------------------------------------------------------------------------*/
-#define FPIX_VERSION_NUMBER 2 /*!< Version for FPix serialization */
-
-/*! Pix with float array */
-struct FPix
-{
- l_int32 w; /*!< width in pixels */
- l_int32 h; /*!< height in pixels */
- l_int32 wpl; /*!< 32-bit words/line */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- l_int32 xres; /*!< image res (ppi) in x direction */
- /*!< (use 0 if unknown) */
- l_int32 yres; /*!< image res (ppi) in y direction */
- /*!< (use 0 if unknown) */
- l_float32 *data; /*!< the float image data */
-};
-typedef struct FPix FPIX;
-
-/*! Array of FPix */
-struct FPixa
-{
- l_int32 n; /*!< number of fpix in ptr array */
- l_int32 nalloc; /*!< number of fpix ptrs allocated */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- struct FPix **fpix; /*!< the array of ptrs to fpix */
-};
-typedef struct FPixa FPIXA;
-
-
-/*-------------------------------------------------------------------------*
- * DPix: pix with double array *
- *-------------------------------------------------------------------------*/
-#define DPIX_VERSION_NUMBER 2 /*!< Version for DPix serialization */
-
-/*! Pix with double array */
-struct DPix
-{
- l_int32 w; /*!< width in pixels */
- l_int32 h; /*!< height in pixels */
- l_int32 wpl; /*!< 32-bit words/line */
- l_uint32 refcount; /*!< reference count (1 if no clones) */
- l_int32 xres; /*!< image res (ppi) in x direction */
- /*!< (use 0 if unknown) */
- l_int32 yres; /*!< image res (ppi) in y direction */
- /*!< (use 0 if unknown) */
- l_float64 *data; /*!< the double image data */
-};
-typedef struct DPix DPIX;
-
-
-/*-------------------------------------------------------------------------*
- * PixComp: compressed pix *
- *-------------------------------------------------------------------------*/
-
-/*! Compressed Pix */
-struct PixComp
-{
- l_int32 w; /*!< width in pixels */
- l_int32 h; /*!< height in pixels */
- l_int32 d; /*!< depth in bits */
- l_int32 xres; /*!< image res (ppi) in x direction */
- /*!< (use 0 if unknown) */
- l_int32 yres; /*!< image res (ppi) in y direction */
- /*!< (use 0 if unknown) */
- l_int32 comptype; /*!< compressed format (IFF_TIFF_G4, */
- /*!< IFF_PNG, IFF_JFIF_JPEG) */
- char *text; /*!< text string associated with pix */
- l_int32 cmapflag; /*!< flag (1 for cmap, 0 otherwise) */
- l_uint8 *data; /*!< the compressed image data */
- size_t size; /*!< size of the data array */
-};
-typedef struct PixComp PIXC;
-
-
-/*-------------------------------------------------------------------------*
- * PixaComp: array of compressed pix *
- *-------------------------------------------------------------------------*/
-#define PIXACOMP_VERSION_NUMBER 2 /*!< Version for PixaComp serialization */
-
-/*! Array of compressed pix */
-struct PixaComp
-{
- l_int32 n; /*!< number of PixComp in ptr array */
- l_int32 nalloc; /*!< number of PixComp ptrs allocated */
- l_int32 offset; /*!< indexing offset into ptr array */
- struct PixComp **pixc; /*!< the array of ptrs to PixComp */
- struct Boxa *boxa; /*!< array of boxes */
-};
-typedef struct PixaComp PIXAC;
-
-
-/*-------------------------------------------------------------------------*
- * Access and storage flags *
- *-------------------------------------------------------------------------*/
-/*
- *
- * For Pix, Box, Pta and Numa, there are 3 standard methods for handling
- * the retrieval or insertion of a struct:
- * (1) direct insertion (Don't do this if there is another handle
- * somewhere to this same struct!)
- * (2) copy (Always safe, sets up a refcount of 1 on the new object.
- * Can be undesirable if very large, such as an image or
- * an array of images.)
- * (3) clone (Makes another handle to the same struct, and bumps the
- * refcount up by 1. Safe to do unless you're changing
- * data through one of the handles but don't want those
- * changes to be seen by the other handle.)
- *
- * For Pixa and Boxa, which are structs that hold an array of clonable
- * structs, there is an additional method:
- * (4) copy-clone (Makes a new higher-level struct with a refcount
- * of 1, but clones all the structs in the array.)
- *
- * Unlike the other structs, when retrieving a string from an Sarray,
- * you are allowed to get a handle without a copy or clone (i.e., that
- * you don't own!). You must not free or insert such a string!
- * Specifically, for an Sarray, the copyflag for retrieval is either:
- * L_COPY or L_NOCOPY
- * and for insertion, the copyflag is either:
- * L_COPY or one of {L_INSERT , L_NOCOPY} (the latter are equivalent
- * for insertion))
- *
- */
-
-/*! Access and storage flags */
-enum {
- L_NOCOPY = 0, /*!< do not copy the object; do not delete the ptr */
- L_COPY = 1, /*!< make/use a copy of the object */
- L_CLONE = 2, /*!< make/use clone (ref count) of the object */
- L_COPY_CLONE = 3 /*!< make a new object and fill each object in the */
- /*!< array(s) with clones */
-};
-static const l_int32 L_INSERT = 0; /*!< stuff it in; no copy or clone */
-
-
-/*----------------------------------------------------------------------------*
- * Sort flags *
- *----------------------------------------------------------------------------*/
-
-/*! Sort mode flags */
-enum {
- L_SHELL_SORT = 1, /*!< use shell sort */
- L_BIN_SORT = 2 /*!< use bin sort */
-};
-
-/*! Sort order flags */
-enum {
- L_SORT_INCREASING = 1, /*!< sort in increasing order */
- L_SORT_DECREASING = 2 /*!< sort in decreasing order */
-};
-
-/*! Sort type flags */
-enum {
- L_SORT_BY_X = 1, /*!< sort box or c.c. by left edge location */
- L_SORT_BY_Y = 2, /*!< sort box or c.c. by top edge location */
- L_SORT_BY_RIGHT = 3, /*!< sort box or c.c. by right edge location */
- L_SORT_BY_BOT = 4, /*!< sort box or c.c. by bot edge location */
- L_SORT_BY_WIDTH = 5, /*!< sort box or c.c. by width */
- L_SORT_BY_HEIGHT = 6, /*!< sort box or c.c. by height */
- L_SORT_BY_MIN_DIMENSION = 7, /*!< sort box or c.c. by min dimension */
- L_SORT_BY_MAX_DIMENSION = 8, /*!< sort box or c.c. by max dimension */
- L_SORT_BY_PERIMETER = 9, /*!< sort box or c.c. by perimeter */
- L_SORT_BY_AREA = 10, /*!< sort box or c.c. by area */
- L_SORT_BY_ASPECT_RATIO = 11 /*!< sort box or c.c. by width/height ratio */
-};
-
-
-/*---------------------------------------------------------------------------*
- * Blend flags *
- *---------------------------------------------------------------------------*/
-
-/*! Blend flags */
-enum {
- L_BLEND_WITH_INVERSE = 1, /*!< add some of src inverse to itself */
- L_BLEND_TO_WHITE = 2, /*!< shift src colors towards white */
- L_BLEND_TO_BLACK = 3, /*!< shift src colors towards black */
- L_BLEND_GRAY = 4, /*!< blend src directly with blender */
- L_BLEND_GRAY_WITH_INVERSE = 5 /*!< add amount of src inverse to itself, */
- /*!< based on blender pix value */
-};
-
-enum {
- L_PAINT_LIGHT = 1, /*!< colorize non-black pixels */
- L_PAINT_DARK = 2 /*!< colorize non-white pixels */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Graphics pixel setting *
- *-------------------------------------------------------------------------*/
-
-/*! Graphics pixel setting */
-enum {
- L_SET_PIXELS = 1, /*!< set all bits in each pixel to 1 */
- L_CLEAR_PIXELS = 2, /*!< set all bits in each pixel to 0 */
- L_FLIP_PIXELS = 3 /*!< flip all bits in each pixel */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Size and location filter flags *
- *-------------------------------------------------------------------------*/
-
-/*! Location filter flags */
-enum {
- L_SELECT_WIDTH = 1, /*!< width must satisfy constraint */
- L_SELECT_HEIGHT = 2, /*!< height must satisfy constraint */
- L_SELECT_XVAL = 3, /*!< x value satisfy constraint */
- L_SELECT_YVAL = 4, /*!< y value must satisfy constraint */
- L_SELECT_IF_EITHER = 5, /*!< either width or height (or xval */
- /*!< or yval) can satisfy */
- L_SELECT_IF_BOTH = 6 /*!< both width and height (or xval */
- /*!< and yval must satisfy */
-};
-
-/*! Size filter flags */
-enum {
- L_SELECT_IF_LT = 1, /*!< save if value is less than threshold */
- L_SELECT_IF_GT = 2, /*!< save if value is more than threshold */
- L_SELECT_IF_LTE = 3, /*!< save if value is <= to the threshold */
- L_SELECT_IF_GTE = 4 /*!< save if value is >= to the threshold */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Color component selection flags *
- *-------------------------------------------------------------------------*/
-
-/*! Color component selection flags */
-enum {
- L_SELECT_RED = 1, /*!< use red component */
- L_SELECT_GREEN = 2, /*!< use green component */
- L_SELECT_BLUE = 3, /*!< use blue component */
- L_SELECT_MIN = 4, /*!< use min color component */
- L_SELECT_MAX = 5, /*!< use max color component */
- L_SELECT_AVERAGE = 6 /*!< use average of color components */
-};
-
-
-/*-------------------------------------------------------------------------*
- * 16-bit conversion flags *
- *-------------------------------------------------------------------------*/
-
-/*! 16-bit conversion flags */
-enum {
- L_LS_BYTE = 1, /*!< use LSB */
- L_MS_BYTE = 2, /*!< use MSB */
- L_CLIP_TO_FF = 3, /*!< use max(val, 255) */
- L_LS_TWO_BYTES = 4, /*!< use two LSB */
- L_MS_TWO_BYTES = 5, /*!< use two MSB */
- L_CLIP_TO_FFFF = 6 /*!< use max(val, 65535) */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Rotate and shear flags *
- *-------------------------------------------------------------------------*/
-
-/*! Rotate flags */
-enum {
- L_ROTATE_AREA_MAP = 1, /*!< use area map rotation, if possible */
- L_ROTATE_SHEAR = 2, /*!< use shear rotation */
- L_ROTATE_SAMPLING = 3 /*!< use sampling */
-};
-
-/*! Background flags */
-enum {
- L_BRING_IN_WHITE = 1, /*!< bring in white pixels from the outside */
- L_BRING_IN_BLACK = 2 /*!< bring in black pixels from the outside */
-};
-
-/*! Shear flags */
-enum {
- L_SHEAR_ABOUT_CORNER = 1, /*!< shear image about UL corner */
- L_SHEAR_ABOUT_CENTER = 2 /*!< shear image about center */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Affine transform order flags *
- *-------------------------------------------------------------------------*/
-
-/*! Affine transform order flags */
-enum {
- L_TR_SC_RO = 1, /*!< translate, scale, rotate */
- L_SC_RO_TR = 2, /*!< scale, rotate, translate */
- L_RO_TR_SC = 3, /*!< rotate, translate, scale */
- L_TR_RO_SC = 4, /*!< translate, rotate, scale */
- L_RO_SC_TR = 5, /*!< rotate, scale, translate */
- L_SC_TR_RO = 6 /*!< scale, translate, rotate */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Grayscale filling flags *
- *-------------------------------------------------------------------------*/
-
-/*! Grayscale filling flags */
-enum {
- L_FILL_WHITE = 1, /*!< fill white pixels (e.g, in fg map) */
- L_FILL_BLACK = 2 /*!< fill black pixels (e.g., in bg map) */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for setting to white or black *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for setting to white or black */
-enum {
- L_SET_WHITE = 1, /*!< set pixels to white */
- L_SET_BLACK = 2 /*!< set pixels to black */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for getting white or black value *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for getting white or black value */
-enum {
- L_GET_WHITE_VAL = 1, /*!< get white pixel value */
- L_GET_BLACK_VAL = 2 /*!< get black pixel value */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for 8 bit and 16 bit pixel sums *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for 8 bit and 16 bit pixel sums */
-enum {
- L_WHITE_IS_MAX = 1, /*!< white pixels are 0xff or 0xffff; black are 0 */
- L_BLACK_IS_MAX = 2 /*!< black pixels are 0xff or 0xffff; white are 0 */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Dither parameters *
- * If within this grayscale distance from black or white, *
- * do not propagate excess or deficit to neighboring pixels. *
- *-------------------------------------------------------------------------*/
-
-/*! Dither parameters */
-enum {
- DEFAULT_CLIP_LOWER_1 = 10, /*!< dist to black with no prop; 1 bpp */
- DEFAULT_CLIP_UPPER_1 = 10, /*!< dist to black with no prop; 1 bpp */
- DEFAULT_CLIP_LOWER_2 = 5, /*!< dist to black with no prop; 2 bpp */
- DEFAULT_CLIP_UPPER_2 = 5 /*!< dist to black with no prop; 2 bpp */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Distance flags *
- *-------------------------------------------------------------------------*/
-
-/*! Distance flags */
-enum {
- L_MANHATTAN_DISTANCE = 1, /*!< L1 distance (e.g., in color space) */
- L_EUCLIDEAN_DISTANCE = 2 /*!< L2 distance */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Statistical measures *
- *-------------------------------------------------------------------------*/
-
-/*! Statistical measures */
-enum {
- L_MEAN_ABSVAL = 1, /*!< average of abs values */
- L_MEDIAN_VAL = 2, /*!< median value of set */
- L_MODE_VAL = 3, /*!< mode value of set */
- L_MODE_COUNT = 4, /*!< mode count of set */
- L_ROOT_MEAN_SQUARE = 5, /*!< rms of values */
- L_STANDARD_DEVIATION = 6, /*!< standard deviation from mean */
- L_VARIANCE = 7 /*!< variance of values */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Set selection flags *
- *-------------------------------------------------------------------------*/
-
-/*! Set selection flags */
-enum {
- L_CHOOSE_CONSECUTIVE = 1, /*!< select 'n' consecutive */
- L_CHOOSE_SKIP_BY = 2 /*!< select at intervals of 'n' */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Text orientation flags *
- *-------------------------------------------------------------------------*/
-
-/*! Text orientation flags */
-enum {
- L_TEXT_ORIENT_UNKNOWN = 0, /*!< low confidence on text orientation */
- L_TEXT_ORIENT_UP = 1, /*!< portrait, text rightside-up */
- L_TEXT_ORIENT_LEFT = 2, /*!< landscape, text up to left */
- L_TEXT_ORIENT_DOWN = 3, /*!< portrait, text upside-down */
- L_TEXT_ORIENT_RIGHT = 4 /*!< landscape, text up to right */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Edge orientation flags *
- *-------------------------------------------------------------------------*/
-
-/*! Edge orientation flags */
-enum {
- L_HORIZONTAL_EDGES = 0, /*!< filters for horizontal edges */
- L_VERTICAL_EDGES = 1, /*!< filters for vertical edges */
- L_ALL_EDGES = 2 /*!< filters for all edges */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Line orientation flags *
- *-------------------------------------------------------------------------*/
-
-/*! Line orientation flags */
-enum {
- L_HORIZONTAL_LINE = 0, /*!< horizontal line */
- L_POS_SLOPE_LINE = 1, /*!< 45 degree line with positive slope */
- L_VERTICAL_LINE = 2, /*!< vertical line */
- L_NEG_SLOPE_LINE = 3, /*!< 45 degree line with negative slope */
- L_OBLIQUE_LINE = 4 /*!< neither horizontal nor vertical */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Scan direction flags *
- *-------------------------------------------------------------------------*/
-
-/*! Scan direction flags */
-enum {
- L_FROM_LEFT = 0, /*!< scan from left */
- L_FROM_RIGHT = 1, /*!< scan from right */
- L_FROM_TOP = 2, /*!< scan from top */
- L_FROM_BOT = 3, /*!< scan from bottom */
- L_SCAN_NEGATIVE = 4, /*!< scan in negative direction */
- L_SCAN_POSITIVE = 5, /*!< scan in positive direction */
- L_SCAN_BOTH = 6, /*!< scan in both directions */
- L_SCAN_HORIZONTAL = 7, /*!< horizontal scan (direction unimportant) */
- L_SCAN_VERTICAL = 8 /*!< vertical scan (direction unimportant) */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Box size adjustment and location flags *
- *-------------------------------------------------------------------------*/
-
-/*! Box size adjustment and location flags */
-enum {
- L_ADJUST_SKIP = 0, /*!< do not adjust */
- L_ADJUST_LEFT = 1, /*!< adjust left edge */
- L_ADJUST_RIGHT = 2, /*!< adjust right edge */
- L_ADJUST_LEFT_AND_RIGHT = 3, /*!< adjust both left and right edges */
- L_ADJUST_TOP = 4, /*!< adjust top edge */
- L_ADJUST_BOT = 5, /*!< adjust bottom edge */
- L_ADJUST_TOP_AND_BOT = 6, /*!< adjust both top and bottom edges */
- L_ADJUST_CHOOSE_MIN = 7, /*!< choose the min median value */
- L_ADJUST_CHOOSE_MAX = 8, /*!< choose the max median value */
- L_SET_LEFT = 9, /*!< set left side to a given value */
- L_SET_RIGHT = 10, /*!< set right side to a given value */
- L_SET_TOP = 11, /*!< set top side to a given value */
- L_SET_BOT = 12, /*!< set bottom side to a given value */
- L_GET_LEFT = 13, /*!< get left side location */
- L_GET_RIGHT = 14, /*!< get right side location */
- L_GET_TOP = 15, /*!< get top side location */
- L_GET_BOT = 16 /*!< get bottom side location */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for selecting box boundaries from two choices *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for selecting box boundaries from two choices */
-enum {
- L_USE_MINSIZE = 1, /*!< use boundaries giving min size */
- L_USE_MAXSIZE = 2, /*!< use boundaries giving max size */
- L_SUB_ON_BIG_DIFF = 3, /*!< substitute boundary if big abs diff */
- L_USE_CAPPED_MIN = 4, /*!< substitute boundary with capped min */
- L_USE_CAPPED_MAX = 5 /*!< substitute boundary with capped max */
-};
-
-/*-------------------------------------------------------------------------*
- * Handling overlapping bounding boxes in boxa *
- *-------------------------------------------------------------------------*/
-
-/*! Handling overlapping bounding boxes in Boxa */
-enum {
- L_COMBINE = 1, /*!< resize to bounding region; remove smaller */
- L_REMOVE_SMALL = 2 /*!< only remove smaller */
-};
-
-/*-------------------------------------------------------------------------*
- * Flags for replacing invalid boxes *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for replacing invalid boxes */
-enum {
- L_USE_ALL_BOXES = 1, /*!< consider all boxes in the sequence */
- L_USE_SAME_PARITY_BOXES = 2 /*!< consider boxes with the same parity */
-};
-
-/*-------------------------------------------------------------------------*
- * Horizontal warp *
- *-------------------------------------------------------------------------*/
-
-/*! Horizonal warp direction */
-enum {
- L_WARP_TO_LEFT = 1, /*!< increasing stretch or contraction to left */
- L_WARP_TO_RIGHT = 2 /*!< increasing stretch or contraction to right */
-};
-
-/*! Horizonal warp stretch mode */
-enum {
- L_LINEAR_WARP = 1, /*!< stretch or contraction grows linearly */
- L_QUADRATIC_WARP = 2 /*!< stretch or contraction grows quadratically */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Pixel selection for resampling *
- *-------------------------------------------------------------------------*/
-
-/*! Pixel selection for resampling */
-enum {
- L_INTERPOLATED = 1, /*!< linear interpolation from src pixels */
- L_SAMPLED = 2 /*!< nearest src pixel sampling only */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Thinning flags *
- *-------------------------------------------------------------------------*/
-
-/*! Thinning flags */
-enum {
- L_THIN_FG = 1, /*!< thin foreground of 1 bpp image */
- L_THIN_BG = 2 /*!< thin background of 1 bpp image */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Runlength flags *
- *-------------------------------------------------------------------------*/
-
-/*! Runlength flags */
-enum {
- L_HORIZONTAL_RUNS = 0, /*!< determine runlengths of horizontal runs */
- L_VERTICAL_RUNS = 1 /*!< determine runlengths of vertical runs */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Edge filter flags *
- *-------------------------------------------------------------------------*/
-
-/*! Edge filter flags */
-enum {
- L_SOBEL_EDGE = 1, /*!< Sobel edge filter */
- L_TWO_SIDED_EDGE = 2 /*!< Two-sided edge filter */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Subpixel color component ordering in LCD display *
- *-------------------------------------------------------------------------*/
-
-/*! Subpixel color component ordering in LC display */
-enum {
- L_SUBPIXEL_ORDER_RGB = 1, /*!< sensor order left-to-right RGB */
- L_SUBPIXEL_ORDER_BGR = 2, /*!< sensor order left-to-right BGR */
- L_SUBPIXEL_ORDER_VRGB = 3, /*!< sensor order top-to-bottom RGB */
- L_SUBPIXEL_ORDER_VBGR = 4 /*!< sensor order top-to-bottom BGR */
-};
-
-
-/*-------------------------------------------------------------------------*
- * HSV histogram flags *
- *-------------------------------------------------------------------------*/
-
-/*! HSV histogram flags */
-enum {
- L_HS_HISTO = 1, /*!< Use hue-saturation histogram */
- L_HV_HISTO = 2, /*!< Use hue-value histogram */
- L_SV_HISTO = 3 /*!< Use saturation-value histogram */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Region flags (inclusion, exclusion) *
- *-------------------------------------------------------------------------*/
-
-/*! Region flags (inclusion, exclusion) */
-enum {
- L_INCLUDE_REGION = 1, /*!< Use hue-saturation histogram */
- L_EXCLUDE_REGION = 2 /*!< Use hue-value histogram */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for adding text to a pix *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for adding text to a Pix */
-enum {
- L_ADD_ABOVE = 1, /*!< Add text above the image */
- L_ADD_BELOW = 2, /*!< Add text below the image */
- L_ADD_LEFT = 3, /*!< Add text to the left of the image */
- L_ADD_RIGHT = 4, /*!< Add text to the right of the image */
- L_ADD_AT_TOP = 5, /*!< Add text over the top of the image */
- L_ADD_AT_BOT = 6, /*!< Add text over the bottom of the image */
- L_ADD_AT_LEFT = 7, /*!< Add text over left side of the image */
- L_ADD_AT_RIGHT = 8 /*!< Add text over right side of the image */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for plotting on a pix *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for plotting on a Pix */
-enum {
- L_PLOT_AT_TOP = 1, /*!< Plot horizontally at top */
- L_PLOT_AT_MID_HORIZ = 2, /*!< Plot horizontally at middle */
- L_PLOT_AT_BOT = 3, /*!< Plot horizontally at bottom */
- L_PLOT_AT_LEFT = 4, /*!< Plot vertically at left */
- L_PLOT_AT_MID_VERT = 5, /*!< Plot vertically at middle */
- L_PLOT_AT_RIGHT = 6 /*!< Plot vertically at right */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for selecting display program *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for selecting display program */
-enum {
- L_DISPLAY_WITH_XZGV = 1, /*!< Use xzgv with pixDisplay() */
- L_DISPLAY_WITH_XLI = 2, /*!< Use xli with pixDisplay() */
- L_DISPLAY_WITH_XV = 3, /*!< Use xv with pixDisplay() */
- L_DISPLAY_WITH_IV = 4, /*!< Use irfvanview (win) with pixDisplay() */
- L_DISPLAY_WITH_OPEN = 5 /*!< Use open (apple) with pixDisplay() */
-};
-
-/*-------------------------------------------------------------------------*
- * Flag(s) used in the 'special' pix field for non-default operations *
- * - 0 is default for chroma sampling in jpeg *
- * - 10-19 are used for zlib compression in png write *
- * - 4 and 8 are used for specifying connectivity in labelling *
- *-------------------------------------------------------------------------*/
-
-/*! Flags used in Pix::special */
-enum {
- L_NO_CHROMA_SAMPLING_JPEG = 1 /*!< Write full resolution chroma */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Handling negative values in conversion to unsigned int *
- *-------------------------------------------------------------------------*/
-
-/*! Handling negative values in conversion to unsigned int */
-enum {
- L_CLIP_TO_ZERO = 1, /*!< Clip negative values to 0 */
- L_TAKE_ABSVAL = 2 /*!< Convert to positive using L_ABS() */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Relative to zero flags *
- *-------------------------------------------------------------------------*/
-
-/*! Relative to zero flags */
-enum {
- L_LESS_THAN_ZERO = 1, /*!< Choose values less than zero */
- L_EQUAL_TO_ZERO = 2, /*!< Choose values equal to zero */
- L_GREATER_THAN_ZERO = 3 /*!< Choose values greater than zero */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Flags for adding or removing traling slash from string *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for adding or removing traling slash from string */
-enum {
- L_ADD_TRAIL_SLASH = 1, /*!< Add trailing slash to string */
- L_REMOVE_TRAIL_SLASH = 2 /*!< Remove trailing slash from string */
-};
-
-
-/*-------------------------------------------------------------------------*
- * Pix allocator and deallocator function types *
- *-------------------------------------------------------------------------*/
-/*! Allocator function type */
-typedef void *(*alloc_fn)(size_t);
-
-/*! Deallocator function type */
-typedef void (*dealloc_fn)(void *);
-
-
-#endif /* LEPTONICA_PIX_H */
diff --git a/WebRtc.NET/include/leptonica/ptra.h b/WebRtc.NET/include/leptonica/ptra.h
deleted file mode 100644
index 2de841cc..00000000
--- a/WebRtc.NET/include/leptonica/ptra.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_PTRA_H
-#define LEPTONICA_PTRA_H
-
-/*!
- * \file ptra.h
- *
- *
- * Contains the following structs:
- * struct L_Ptra
- * struct L_Ptraa
- *
- * Contains definitions for:
- * L_Ptra compaction flags for removal
- * L_Ptra shifting flags for insert
- * L_Ptraa accessor flags
- *
- */
-
-
-/*------------------------------------------------------------------------*
- * Generic Ptr Array Structs *
- *------------------------------------------------------------------------*/
-
- /*! Generic pointer array */
-struct L_Ptra
-{
- l_int32 nalloc; /*!< size of allocated ptr array */
- l_int32 imax; /*!< greatest valid index */
- l_int32 nactual; /*!< actual number of stored elements */
- void **array; /*!< ptr array */
-};
-typedef struct L_Ptra L_PTRA;
-
-
- /*! Array of generic pointer arrays */
-struct L_Ptraa
-{
- l_int32 nalloc; /*!< size of allocated ptr array */
- struct L_Ptra **ptra; /*!< array of ptra */
-};
-typedef struct L_Ptraa L_PTRAA;
-
-
-
-/*------------------------------------------------------------------------*
- * Array flags *
- *------------------------------------------------------------------------*/
-
- /*! Flags for removal from L_Ptra */
-enum {
- L_NO_COMPACTION = 1, /*!< null the pointer only */
- L_COMPACTION = 2 /*!< compact the array */
-};
-
- /*! Flags for insertion into L_Ptra */
-enum {
- L_AUTO_DOWNSHIFT = 0, /*!< choose based on number of holes */
- L_MIN_DOWNSHIFT = 1, /*!< downshifts min # of ptrs below insert */
- L_FULL_DOWNSHIFT = 2 /*!< downshifts all ptrs below insert */
-};
-
- /*! Accessor flags for L_Ptraa */
-enum {
- L_HANDLE_ONLY = 0, /*!< ptr to L_Ptra; caller can inspect only */
- L_REMOVE = 1 /*!< caller owns; destroy or save in L_Ptraa */
-};
-
-
-#endif /* LEPTONICA_PTRA_H */
diff --git a/WebRtc.NET/include/leptonica/queue.h b/WebRtc.NET/include/leptonica/queue.h
deleted file mode 100644
index fd380e83..00000000
--- a/WebRtc.NET/include/leptonica/queue.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_QUEUE_H
-#define LEPTONICA_QUEUE_H
-
-/*!
- * \file queue.h
- *
- *
- * Expandable pointer queue for arbitrary void* data.
- *
- * The L_Queue is a fifo that implements a queue of void* pointers.
- * It can be used to hold a queue of any type of struct.
- *
- * Internally, it maintains two counters:
- * nhead: location of head (in ptrs) from the beginning
- * of the array.
- * nelem: number of ptr elements stored in the queue.
- *
- * The element at the head of the queue, which is the next to
- * be removed, is array[nhead]. The location at the tail of the
- * queue to which the next element will be added is
- * array[nhead + nelem].
- *
- * As items are added to the queue, nelem increases.
- * As items are removed, nhead increases and nelem decreases.
- * Any time the tail reaches the end of the allocated array,
- * all the pointers are shifted to the left, so that the head
- * is at the beginning of the array.
- * If the array becomes more than 3/4 full, it doubles in size.
- *
- * The auxiliary stack can be used in a wrapper for re-using
- * items popped from the queue. It is not made by default.
- *
- * For further implementation details, see queue.c.
- *
- */
-
-/*! Expandable pointer queue for arbitrary void* data */
-struct L_Queue
-{
- l_int32 nalloc; /*!< size of allocated ptr array */
- l_int32 nhead; /*!< location of head (in ptrs) from the */
- /*!< beginning of the array */
- l_int32 nelem; /*!< number of elements stored in the queue */
- void **array; /*!< ptr array */
- struct L_Stack *stack; /*!< auxiliary stack */
-
-};
-typedef struct L_Queue L_QUEUE;
-
-
-#endif /* LEPTONICA_QUEUE_H */
diff --git a/WebRtc.NET/include/leptonica/rbtree.h b/WebRtc.NET/include/leptonica/rbtree.h
deleted file mode 100644
index a7fbffef..00000000
--- a/WebRtc.NET/include/leptonica/rbtree.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-/*
- * Modified from the excellent code here:
- * http://en.literateprograms.org/Red-black_tree_(C)?oldid=19567
- * which has been placed in the public domain under the Creative Commons
- * CC0 1.0 waiver (http://creativecommons.org/publicdomain/zero/1.0/).
- *
- * When the key is generated from a hash (e.g., string --> uint64),
- * there is always the possibility of having collisions, but to make
- * the collision probability very low requires using a large hash.
- * For that reason, the key types are 64 bit quantities, which will result
- * in a negligible probabililty of collisions for millions of hashed values.
- * Using 8 byte keys instead of 4 byte keys requires a little more
- * storage, but the simplification in being able to ignore collisions
- * with the red-black trees for most applications is worth it.
- */
-
-#ifndef LEPTONICA_RBTREE_H
-#define LEPTONICA_RBTREE_H
-
- /*! The three valid key types for red-black trees, maps and sets. */
-enum {
- L_INT_TYPE = 1,
- L_UINT_TYPE = 2,
- L_FLOAT_TYPE = 3
-};
-
- /*!
- * Storage for keys and values for red-black trees, maps and sets.
- *
- * Note:
- * (1) Keys and values of the valid key types are all 64-bit
- * (2) (void *) can be used for values but not for keys.
- *
- */
-union Rb_Type {
- l_int64 itype;
- l_uint64 utype;
- l_float64 ftype;
- void *ptype;
-};
-typedef union Rb_Type RB_TYPE;
-
-struct L_Rbtree {
- struct L_Rbtree_Node *root;
- l_int32 keytype;
-};
-typedef struct L_Rbtree L_RBTREE;
-typedef struct L_Rbtree L_AMAP; /* hide underlying implementation for map */
-typedef struct L_Rbtree L_ASET; /* hide underlying implementation for set */
-
-struct L_Rbtree_Node {
- union Rb_Type key;
- union Rb_Type value;
- struct L_Rbtree_Node *left;
- struct L_Rbtree_Node *right;
- struct L_Rbtree_Node *parent;
- l_int32 color;
-};
-typedef struct L_Rbtree_Node L_RBTREE_NODE;
-typedef struct L_Rbtree_Node L_AMAP_NODE; /* hide tree implementation */
-typedef struct L_Rbtree_Node L_ASET_NODE; /* hide tree implementation */
-
-
-#endif /* LEPTONICA_RBTREE_H */
diff --git a/WebRtc.NET/include/leptonica/readbarcode.h b/WebRtc.NET/include/leptonica/readbarcode.h
deleted file mode 100644
index 7452f236..00000000
--- a/WebRtc.NET/include/leptonica/readbarcode.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_READBARCODE_H
-#define LEPTONICA_READBARCODE_H
-
- /* ----------------------------------------------------------------- *
- * Flags for method of extracting barcode widths *
- * ----------------------------------------------------------------- */
-
-/*! Flags for method of extracting barcode widths */
-enum {
- L_USE_WIDTHS = 1, /*!< use histogram of barcode widths */
- L_USE_WINDOWS = 2 /*!< find best window for decoding transitions */
-};
-
- /* ----------------------------------------------------------------- *
- * Flags for barcode formats *
- * These are used both to identify a barcode format and to identify *
- * the decoding method to use on a barcode. *
- * ----------------------------------------------------------------- */
-
-/*! Flags for barcode formats */
-enum {
- L_BF_UNKNOWN = 0, /*!< unknown format */
- L_BF_ANY = 1, /*!< try decoding with all known formats */
- L_BF_CODE128 = 2, /*!< decode with Code128 format */
- L_BF_EAN8 = 3, /*!< decode with EAN8 format */
- L_BF_EAN13 = 4, /*!< decode with EAN13 format */
- L_BF_CODE2OF5 = 5, /*!< decode with Code 2 of 5 format */
- L_BF_CODEI2OF5 = 6, /*!< decode with Interleaved 2 of 5 format */
- L_BF_CODE39 = 7, /*!< decode with Code39 format */
- L_BF_CODE93 = 8, /*!< decode with Code93 format */
- L_BF_CODABAR = 9, /*!< decode with Code93 format */
- L_BF_UPCA = 10 /*!< decode with UPC A format */
-};
-
- /* ----------------------------------------------------------------- *
- * Currently supported formats *
- * Update these arrays as new formats are added. *
- * ----------------------------------------------------------------- */
-
-/*! Currently supported formats */
-static const l_int32 SupportedBarcodeFormat[] = {
- L_BF_CODE2OF5,
- L_BF_CODEI2OF5,
- L_BF_CODE93,
- L_BF_CODE39,
- L_BF_CODABAR,
- L_BF_UPCA,
- L_BF_EAN13
-};
-
-/*! Currently supported format names */
-static const char *SupportedBarcodeFormatName[] = {
- "Code2of5",
- "CodeI2of5",
- "Code93",
- "Code39",
- "Codabar",
- "Upca",
- "Ean13"
-};
-static const l_int32 NumSupportedBarcodeFormats = 7; /*!< Number of formats */
-
-
- /* ----------------------------------------------------------------- *
- * Code 2 of 5 symbology *
- * ----------------------------------------------------------------- */
-static const char *Code2of5[] = {
- "111121211", "211111112", "112111112", "212111111", /* 0 - 3 */
- "111121112", "211121111", "112121111", "111111212", /* 4 - 7 */
- "211111211", "112111211", /* 8 - 9 */
- "21211", "21112" /* Start, Stop */
-};
-
-static const l_int32 C25_START = 10;
-static const l_int32 C25_STOP = 11;
-
-
- /* ----------------------------------------------------------------- *
- * Code Interleaved 2 of 5 symbology *
- * ----------------------------------------------------------------- */
-static const char *CodeI2of5[] = {
- "11221", "21112", "12112", "22111", "11212", /* 0 - 4 */
- "21211", "12211", "11122", "21121", "12121", /* 5 - 9 */
- "1111", "211" /* start, stop */
-};
-
-static const l_int32 CI25_START = 10;
-static const l_int32 CI25_STOP = 11;
-
-
- /* ----------------------------------------------------------------- *
- * Code 93 symbology *
- * ----------------------------------------------------------------- */
-static const char *Code93[] = {
- "131112", "111213", "111312", "111411", "121113", /* 0: 0 - 4 */
- "121212", "121311", "111114", "131211", "141111", /* 5: 5 - 9 */
- "211113", "211212", "211311", "221112", "221211", /* 10: A - E */
- "231111", "112113", "112212", "112311", "122112", /* 15: F - J */
- "132111", "111123", "111222", "111321", "121122", /* 20: K - O */
- "131121", "212112", "212211", "211122", "211221", /* 25: P - T */
- "221121", "222111", "112122", "112221", "122121", /* 30: U - Y */
- "123111", "121131", "311112", "311211", "321111", /* 35: Z,-,.,SP,$ */
- "112131", "113121", "211131", "131221", "312111", /* 40: /,+,%,($),(%) */
- "311121", "122211", "111141" /* 45: (/),(+), Start */
-};
-
- /* Use "[]{}#" to represent special codes 43-47 */
-static const char Code93Val[] =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%[]{}#";
-
-static const l_int32 C93_START = 47;
-static const l_int32 C93_STOP = 47;
-
-
- /* ----------------------------------------------------------------- *
- * Code 39 symbology *
- * ----------------------------------------------------------------- */
-static const char *Code39[] = {
- "111221211", "211211112", "112211112", "212211111", /* 0: 0 - 3 */
- "111221112", "211221111", "112221111", "111211212", /* 4: 4 - 7 */
- "211211211", "112211211", "211112112", "112112112", /* 8: 8 - B */
- "212112111", "111122112", "211122111", "112122111", /* 12: C - F */
- "111112212", "211112211", "112112211", "111122211", /* 16: G - J */
- "211111122", "112111122", "212111121", "111121122", /* 20: K - N */
- "211121121", "112121121", "111111222", "211111221", /* 24: O - R */
- "112111221", "111121221", "221111112", "122111112", /* 28: S - V */
- "222111111", "121121112", "221121111", "122121111", /* 32: W - Z */
- "121111212", "221111211", "122111211", "121212111", /* 36: -,.,SP,$ */
- "121211121", "121112121", "111212121", "121121211" /* 40: /,+,%,* */
-};
-
- /* Use "*" to represent the Start and Stop codes (43) */
-static const char Code39Val[] =
- "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ-. $/+%*";
-
-static const l_int32 C39_START = 43;
-static const l_int32 C39_STOP = 43;
-
-
- /* ----------------------------------------------------------------- *
- * Codabar symbology *
- * ----------------------------------------------------------------- */
-static const char *Codabar[] = {
- "1111122", "1111221", "1112112", "2211111", "1121121", /* 0: 0 - 4 */
- "2111121", "1211112", "1211211", "1221111", "2112111", /* 5: 5 - 9 */
- "1112211", "1122111", "2111212", "2121112", "2121211", /* 10: -,$,:,/,. */
- "1121212", "1122121", "1212112", "1112122", "1112221" /* 15: +,A,B,C,D */
-};
-
- /* Ascii representations for codes 16-19: (A or T), (B or N), (C or *),
- * (D or E). These are used in pairs for the Start and Stop codes. */
-static const char CodabarVal[] = "0123456789-$:/.+ABCD";
-
-
- /* ----------------------------------------------------------------- *
- * UPC-A symbology *
- * ----------------------------------------------------------------- */
-static const char *Upca[] = {
- "3211", "2221", "2122", "1411", "1132", /* 0: 0 - 4 */
- "1231", "1114", "1312", "1213", "3112", /* 5: 5 - 9 */
- "111", "111", "11111" /* 10: Start, Stop, Mid */
-};
-
-static const l_int32 UPCA_START = 10;
-static const l_int32 UPCA_STOP = 11;
-static const l_int32 UPCA_MID = 12;
-
-
- /* ----------------------------------------------------------------- *
- * Code128 symbology *
- * ----------------------------------------------------------------- */
-static const char *Code128[] = {
- "212222", "222122", "222221", "121223", "121322", /* 0 - 4 */
- "131222", "122213", "122312", "132212", "221213", /* 5 - 9 */
- "221312", "231212", "112232", "122132", "122231", /* 10 - 14 */
- "113222", "123122", "123221", "223211", "221132", /* 15 - 19 */
- "221231", "213212", "223112", "312131", "311222", /* 20 - 24 */
- "321122", "321221", "312212", "322112", "322211", /* 25 - 29 */
- "212123", "212321", "232121", "111323", "131123", /* 30 - 34 */
- "131321", "112313", "132113", "132311", "211313", /* 35 - 39 */
- "231113", "231311", "112133", "112331", "132131", /* 40 - 44 */
- "113123", "113321", "133121", "313121", "211331", /* 45 - 49 */
- "231131", "213113", "213311", "213131", "311123", /* 50 - 54 */
- "311321", "331121", "312113", "312311", "332111", /* 55 - 59 */
- "314111", "221411", "431111", "111224", "111422", /* 60 - 64 */
- "121124", "121421", "141122", "141221", "112214", /* 65 - 69 */
- "112412", "122114", "122411", "142112", "142211", /* 70 - 74 */
- "241211", "221114", "413111", "241112", "134111", /* 75 - 79 */
- "111242", "121142", "121241", "114212", "124112", /* 80 - 84 */
- "124211", "411212", "421112", "421211", "212141", /* 85 - 89 */
- "214121", "412121", "111143", "111341", "131141", /* 90 - 94 */
- "114113", "114311", "411113", "411311", "113141", /* 95 - 99 */
- "114131", "311141", "411131", "211412", "211214", /* 100 - 104 */
- "211232", "2331112" /* 105 - 106 */
-};
-
-static const l_int32 C128_FUN_3 = 96; /* in A or B only; in C it is 96 */
-static const l_int32 C128_FUNC_2 = 97; /* in A or B only; in C it is 97 */
-static const l_int32 C128_SHIFT = 98; /* in A or B only; in C it is 98 */
-static const l_int32 C128_GOTO_C = 99; /* in A or B only; in C it is 99 */
-static const l_int32 C128_GOTO_B = 100;
-static const l_int32 C128_GOTO_A = 101;
-static const l_int32 C128_FUNC_1 = 102;
-static const l_int32 C128_START_A = 103;
-static const l_int32 C128_START_B = 104;
-static const l_int32 C128_START_C = 105;
-static const l_int32 C128_STOP = 106;
- /* code 128 symbols are 11 units */
-static const l_int32 C128_SYMBOL_WIDTH = 11;
-
-
-
-#endif /* LEPTONICA_READBARCODE_H */
diff --git a/WebRtc.NET/include/leptonica/recog.h b/WebRtc.NET/include/leptonica/recog.h
deleted file mode 100644
index 9bebefc4..00000000
--- a/WebRtc.NET/include/leptonica/recog.h
+++ /dev/null
@@ -1,266 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_RECOG_H
-#define LEPTONICA_RECOG_H
-
-/*!
- * \file recog.h
- *
- *
- * A simple utility for training and recognizing individual
- * machine-printed text characters. In an application, one can
- * envision using a number of these, one for each trained set.
- *
- * In training mode, a set of labelled bitmaps is presented, either
- * one at a time, or in a directory, or in a pixa. If in a directory,
- * or a pixa, the labelling text string must be embedded in the
- * text field of the image file.
- *
- * Any number of recognizers (L_Recog) can be trained and then used
- * together in an array (L_Recoga). All these trained structures
- * can be serialized to file and read back. The serialized version
- * holds all the bitmaps used for training, plus, for arbitrary
- * character sets, the UTF8 representation and the lookup table
- * mapping from the character representation to index.
- *
- * There are three levels of "sets" here:
- *
- * (1) Example set: the examples representing a character that
- * were printed in the same way, so that they can be combined
- * without scaling to form an "average" template for the character.
- * In the recognition phase, we use either this aligned average,
- * or the individual bitmaps. All examples in the set are given
- * the same character label. Example: the letter 'a' in the
- * predominant font in a book.
- *
- * (2) Character set (represented by L_Recog, a single recognizer):
- * The set of different characters, each of which is described
- * by (1). Each element of the set has a different character
- * label. Example: the digits '0' through '9' that are used for
- * page numbering in a book.
- *
- * (3) Recognizer set (represented by L_Recoga, an array of recogs):
- * A set of recognizers, each of which is described by (2).
- * In general, we do not want to combine the character sets
- * with the same labels within different recognizer sets,
- * because the bitmaps can differ in font type, style or size.
- * Example 1: the letter 'a' can be printed in two very different
- * ways (either with a large loop or with a smaller loop in
- * the lower half); both share the same label but need to be
- * distinguished so that they are not mixed when averaging.
- * Example 2: a recognizer trained for a book may be missing
- * some characters, so we need to supplement it with another
- * "generic" or "bootstrap" recognizer that has the additional
- * characters from a variety of sources. Bootstrap recognizers
- * must be run in a mode where all characters are scaled.
- *
- * In the recognition process, for each component in an input image,
- * each recognizer (L_Recog) records the best match (highest
- * correlation score). If there is more than one recognizer, these
- * results are aggregated to find the best match for each character
- * for all the recognizers, and this is stored in L_Recoga.
- *
- */
-
-#define RECOG_VERSION_NUMBER 1
-
-struct L_Recoga {
- l_int32 n; /*!< number of recogs */
- l_int32 nalloc; /*!< number of recog ptrs allocated */
- struct L_Recog **recog; /*!< recog ptr array */
- struct L_Rcha *rcha; /*!< stores the array of best chars */
-};
-typedef struct L_Recoga L_RECOGA;
-
-
-struct L_Recog {
- l_int32 scalew; /*!< scale all examples to this width; */
- /*!< use 0 prevent horizontal scaling */
- l_int32 scaleh; /*!< scale all examples to this height; */
- /*!< use 0 prevent vertical scaling */
- l_int32 templ_type; /*!< template type: either an average of */
- /*!< examples (L_USE_AVERAGE) or the set */
- /*!< of all examples (L_USE_ALL) */
- l_int32 maxarraysize; /*!< initialize container arrays to this */
- l_int32 setsize; /*!< size of character set */
- l_int32 threshold; /*!< for binarizing if depth > 1 */
- l_int32 maxyshift; /*!< vertical jiggle on nominal centroid */
- /*!< alignment; typically 0 or 1 */
- l_float32 asperity_fr; /*!< +- allowed fractional asperity ratio */
- l_int32 charset_type; /*!< one of L_ARABIC_NUMERALS, etc. */
- l_int32 charset_size; /*!< expected number of classes in charse */
- char *bootdir; /*!< dir with bootstrap pixa charsets */
- char *bootpattern; /*!< file pattern: bootstrap pixa charsets */
- char *bootpath; /*!< path for single bootstrap pixa charset */
- l_int32 boot_iters; /*!< num of 2x2 erosion iters on boot pixa */
- l_int32 min_nopad; /*!< min number of samples without padding */
- l_int32 max_afterpad; /*!< max number of samples after padding */
- l_int32 min_samples; /*!< min num of total samples; else use boot */
- l_int32 num_samples; /*!< number of training samples */
- l_int32 minwidth_u; /*!< min width averaged unscaled templates */
- l_int32 maxwidth_u; /*!< max width averaged unscaled templates */
- l_int32 minheight_u; /*!< min height averaged unscaled templates */
- l_int32 maxheight_u; /*!< max height averaged unscaled templates */
- l_int32 minwidth; /*!< min width averaged scaled templates */
- l_int32 maxwidth; /*!< max width averaged scaled templates */
- l_int32 ave_done; /*!< set to 1 when averaged bitmaps are made */
- l_int32 train_done; /*!< set to 1 when training is complete or */
- /*!< identification has started */
- l_int32 min_splitw; /*!< min component width kept in splitting */
- l_int32 min_splith; /*!< min component height kept in splitting */
- l_int32 max_splith; /*!< max component height kept in splitting */
- struct Sarray *sa_text; /*!< text array for arbitrary char set */
- struct L_Dna *dna_tochar; /*!< index-to-char lut for arbitrary charset */
- l_int32 *centtab; /*!< table for finding centroids */
- l_int32 *sumtab; /*!< table for finding pixel sums */
- struct Pixaa *pixaa_u; /*!< all unscaled bitmaps for each class */
- struct Pixa *pixa_u; /*!< averaged unscaled bitmaps per class */
- struct Ptaa *ptaa_u; /*!< centroids of all unscaled bitmaps */
- struct Pta *pta_u; /*!< centroids of unscaled averaged bitmaps */
- struct Numaa *naasum_u; /*!< area of all unscaled bitmap examples */
- struct Numa *nasum_u; /*!< area of unscaled averaged bitmaps */
- struct Pixaa *pixaa; /*!< all bitmap examples for each class */
- struct Pixa *pixa; /*!< averaged bitmaps for each class */
- struct Ptaa *ptaa; /*!< centroids of all bitmap examples */
- struct Pta *pta; /*!< centroids of averaged bitmaps */
- struct Numaa *naasum; /*!< area of all bitmap examples */
- struct Numa *nasum; /*!< area of averaged bitmaps */
- struct Pixa *pixa_tr; /*!< input training images */
- struct Pixa *pixadb_ave; /*!< unscaled and scaled averaged bitmaps */
- struct Pixa *pixa_id; /*!< input images for identifying */
- struct Pix *pixdb_ave; /*!< debug: best match of input against ave. */
- struct Pix *pixdb_range; /*!< debug: best matches within range */
- struct Pixa *pixadb_boot; /*!< debug: bootstrap training results */
- struct Pixa *pixadb_split; /*!< debug: splitting results */
- struct L_Bmf *bmf; /*!< bmf fonts */
- l_int32 bmf_size; /*!< font size of bmf; default is 6 pt */
- struct L_Rdid *did; /*!< temp data used for image decoding */
- struct L_Rch *rch; /*!< temp data used for holding best char */
- struct L_Rcha *rcha; /*!< temp data used for array of best chars */
- l_int32 bootrecog; /*!< 1 if using bootstrap samples; else 0 */
- l_int32 index; /*!< recog index in recoga; -1 if no parent */
- struct L_Recoga *parent; /*!< ptr to parent array; can be null */
-
-};
-typedef struct L_Recog L_RECOG;
-
-/*!
- * Data returned from correlation matching on a single character
- */
-struct L_Rch {
- l_int32 index; /*!< index of best template */
- l_float32 score; /*!< correlation score of best template */
- char *text; /*!< character string of best template */
- l_int32 sample; /*!< index of best sample (within the best */
- /*!< template class, if all samples are used) */
- l_int32 xloc; /*!< x-location of template (delx + shiftx) */
- l_int32 yloc; /*!< y-location of template (dely + shifty) */
- l_int32 width; /*!< width of best template */
-};
-typedef struct L_Rch L_RCH;
-
-/*!
- * Data returned from correlation matching on an array of characters
- */
-struct L_Rcha {
- struct Numa *naindex; /*!< indices of best templates */
- struct Numa *nascore; /*!< correlation scores of best templates */
- struct Sarray *satext; /*!< character strings of best templates */
- struct Numa *nasample; /*!< indices of best samples */
- struct Numa *naxloc; /*!< x-locations of templates (delx + shiftx) */
- struct Numa *nayloc; /*!< y-locations of templates (dely + shifty) */
- struct Numa *nawidth; /*!< widths of best templates */
-};
-typedef struct L_Rcha L_RCHA;
-
-/*!
- * Data used for decoding a line of characters.
- */
-struct L_Rdid {
- struct Pix *pixs; /*!< clone of pix to be decoded */
- l_int32 **counta; /*!< count array for each averaged template */
- l_int32 **delya; /*!< best y-shift array per average template */
- l_int32 narray; /*!< number of averaged templates */
- l_int32 size; /*!< size of count array (width of pixs) */
- l_int32 *setwidth; /*!< setwidths for each template */
- struct Numa *nasum; /*!< pixel count in pixs by column */
- struct Numa *namoment; /*!< first moment of pixels in pixs by cols */
- l_int32 fullarrays; /*!< 1 if full arrays are made; 0 otherwise */
- l_float32 *beta; /*!< channel coeffs for template fg term */
- l_float32 *gamma; /*!< channel coeffs for bit-and term */
- l_float32 *trellisscore; /*!< score on trellis */
- l_int32 *trellistempl; /*!< template on trellis (for backtrack) */
- struct Numa *natempl; /*!< indices of best path templates */
- struct Numa *naxloc; /*!< x locations of best path templates */
- struct Numa *nadely; /*!< y locations of best path templates */
- struct Numa *nawidth; /*!< widths of best path templates */
- struct Numa *nascore; /*!< correlation scores: best path templates */
- struct Numa *natempl_r; /*!< indices of best rescored templates */
- struct Numa *naxloc_r; /*!< x locations of best rescoredtemplates */
- struct Numa *nadely_r; /*!< y locations of best rescoredtemplates */
- struct Numa *nawidth_r; /*!< widths of best rescoredtemplates */
- struct Numa *nascore_r; /*!< correlation scores: rescored templates */
-};
-typedef struct L_Rdid L_RDID;
-
-
-/*-------------------------------------------------------------------------*
- * Flags for selecting processing *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for selecting processing */
-enum {
- L_SELECT_UNSCALED = 0, /*!< select the unscaled bitmaps */
- L_SELECT_SCALED = 1, /*!< select the scaled bitmaps */
- L_SELECT_BOTH = 2 /*!< select both unscaled and scaled */
-};
-
-/*-------------------------------------------------------------------------*
- * Flags for determining what to test against *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for determining what to test against */
-enum {
- L_USE_AVERAGE = 0, /*!< form template from class average */
- L_USE_ALL = 1 /*!< match against all elements of each class */
-};
-
-/*-------------------------------------------------------------------------*
- * Flags for describing limited character sets *
- *-------------------------------------------------------------------------*/
-
-/*! Flags for describing limited character sets */
-enum {
- L_UNKNOWN = 0, /*!< character set type is not specified */
- L_ARABIC_NUMERALS = 1, /*!< 10 digits */
- L_LC_ROMAN_NUMERALS = 2, /*!< 7 lower-case letters (i,v,x,l,c,d,m) */
- L_UC_ROMAN_NUMERALS = 3, /*!< 7 upper-case letters (I,V,X,L,C,D,M) */
- L_LC_ALPHA = 4, /*!< 26 lower-case letters */
- L_UC_ALPHA = 5 /*!< 26 upper-case letters */
-};
-
-#endif /* LEPTONICA_RECOG_H */
diff --git a/WebRtc.NET/include/leptonica/regutils.h b/WebRtc.NET/include/leptonica/regutils.h
deleted file mode 100644
index f3506a31..00000000
--- a/WebRtc.NET/include/leptonica/regutils.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_REGUTILS_H
-#define LEPTONICA_REGUTILS_H
-
-/*!
- * \file regutils.h
- *
- *
- * Contains this regression test parameter packaging struct
- * struct L_RegParams
- *
- * The regression test utility allows you to write regression tests
- * that compare results with existing "golden files" and with
- * compiled in data.
- *
- * Regression tests can be called in three ways.
- * For example, for distance_reg:
- *
- * Case 1: distance_reg [compare]
- * This runs the test against the set of golden files. It
- * appends to 'outfile.txt' either "SUCCESS" or "FAILURE",
- * as well as the details of any parts of the test that failed.
- * It writes to a temporary file stream (fp).
- * Using 'compare' on the command line is optional.
- *
- * Case 2: distance_reg generate
- * This generates golden files in /tmp for the reg test.
- *
- * Case 3: distance_reg display
- * This runs the test but makes no comparison of the output
- * against the set of golden files. In addition, this displays
- * images and plots that are specified in the test under
- * control of the display variable. Display is enabled only
- * for this case.
- *
- * Regression tests follow the pattern given below. Tests are
- * automatically numbered sequentially, and it is convenient to
- * comment each with a number to keep track (for comparison tests
- * and for debugging). In an actual case, comparisons of pix and
- * of files can occur in any order. We give a specific order here
- * for clarity.
- *
- * L_REGPARAMS *rp; // holds data required by the test functions
- *
- * // Setup variables; optionally open stream
- * if (regTestSetup(argc, argv, &rp))
- * return 1;
- *
- * // Test pairs of generated pix for identity. This compares
- * // two pix; no golden file is generated.
- * regTestComparePix(rp, pix1, pix2); // 0
- *
- * // Test pairs of generated pix for similarity. This compares
- * // two pix; no golden file is generated. The last arg determines
- * // if stats are to be written to stderr.
- * regTestCompareSimilarPix(rp, pix1, pix2, 15, 0.001, 0); // 1
- *
- * // Generation of outputs and testing for identity
- * // These files can be anything, of course.
- * regTestCheckFile(rp, ); // 2
- * regTestCheckFile(rp, ); // 3
- *
- * // Test pairs of output golden files for identity. Here we
- * // are comparing golden files 2 and 3.
- * regTestCompareFiles(rp, 2, 3); // 4
- *
- * // "Write and check". This writes a pix using a canonical
- * // formulation for the local filename and either:
- * // case 1: generates a golden file
- * // case 2: compares the local file with a golden file
- * // case 3: generates local files and displays
- * // Here we write the pix compressed with png and jpeg, respectively;
- * // Then check against the golden file. The internal %index
- * // is incremented; it is embedded in the local filename and,
- * // if generating, in the golden file as well.
- * regTestWritePixAndCheck(rp, pix1, IFF_PNG); // 5
- * regTestWritePixAndCheck(rp, pix2, IFF_JFIF_JPEG); // 6
- *
- * // Display if reg test was called in 'display' mode
- * pixDisplayWithTitle(pix1, 100, 100, NULL, rp->display);
- *
- * // Clean up and output result
- * regTestCleanup(rp);
- *
- */
-
-/*----------------------------------------------------------------------------*
- * Regression test parameter packer *
- *----------------------------------------------------------------------------*/
-
-/*! Regression test parameter packer */
-struct L_RegParams
-{
- FILE *fp; /*!< stream to temporary output file for compare mode */
- char *testname; /*!< name of test, without '_reg' */
- char *tempfile; /*!< name of temp file for compare mode output */
- l_int32 mode; /*!< generate, compare or display */
- l_int32 index; /*!< index into saved files for this test; 0-based */
- l_int32 success; /*!< overall result of the test */
- l_int32 display; /*!< 1 if in display mode; 0 otherwise */
- L_TIMER tstart; /*!< marks beginning of the reg test */
-};
-typedef struct L_RegParams L_REGPARAMS;
-
-
- /*! Running modes for the test */
-enum {
- L_REG_GENERATE = 0,
- L_REG_COMPARE = 1,
- L_REG_DISPLAY = 2
-};
-
-
-#endif /* LEPTONICA_REGUTILS_H */
-
diff --git a/WebRtc.NET/include/leptonica/stack.h b/WebRtc.NET/include/leptonica/stack.h
deleted file mode 100644
index 4fa61141..00000000
--- a/WebRtc.NET/include/leptonica/stack.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_STACK_H
-#define LEPTONICA_STACK_H
-
-/*!
- * \file stack.h
- *
- *
- * Expandable pointer stack for arbitrary void* data.
- *
- * The L_Stack is an array of void * ptrs, onto which arbitrary
- * objects can be stored. At any time, the number of
- * stored objects is stack->n. The object at the bottom
- * of the stack is at array[0]; the object at the top of
- * the stack is at array[n-1]. New objects are added
- * to the top of the stack, at the first available location,
- * which is array[n]. Objects are removed from the top of the
- * stack. When an attempt is made to remove an object from an
- * empty stack, the result is null. When the stack becomes
- * filled, so that n = nalloc, the size is doubled.
- *
- * The auxiliary stack can be used to store and remove
- * objects for re-use. It must be created by a separate
- * call to pstackCreate(). [Just imagine the chaos if
- * pstackCreate() created the auxiliary stack!]
- * pstackDestroy() checks for the auxiliary stack and removes it.
- *
- */
-
-
- /*! Expandable pointer stack for arbitrary void* data.
- * Note that array[n] is the first null ptr in the array
- */
-struct L_Stack
-{
- l_int32 nalloc; /*!< size of ptr array */
- l_int32 n; /*!< number of stored elements */
- void **array; /*!< ptr array */
- struct L_Stack *auxstack; /*!< auxiliary stack */
-};
-typedef struct L_Stack L_STACK;
-
-
-#endif /* LEPTONICA_STACK_H */
-
diff --git a/WebRtc.NET/include/leptonica/stringcode.h b/WebRtc.NET/include/leptonica/stringcode.h
deleted file mode 100644
index db0faa20..00000000
--- a/WebRtc.NET/include/leptonica/stringcode.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_STRINGCODE_H
-#define LEPTONICA_STRINGCODE_H
-
-/*!
- * \file stringcode.h
- *
- * Data structure to hold accumulating generated code for storing
- * and extracing serializable leptonica objects (e.g., pixa, recog).
- *
- * Also a flag for selecting a string from the L_GenAssoc struct
- * in stringcode.
- */
-
-struct L_StrCode
-{
- l_int32 fileno; /*!< index for function and output file names */
- l_int32 ifunc; /*!< index into struct currently being stored */
- SARRAY *function; /*!< store case code for extraction */
- SARRAY *data; /*!< store base64 encoded data as strings */
- SARRAY *descr; /*!< store line in description table */
- l_int32 n; /*!< number of data strings */
-};
-typedef struct L_StrCode L_STRCODE;
-
-
-/*! Select string in stringcode for a specific serializable data type */
-enum {
- L_STR_TYPE = 0, /*!< typedef for the data type */
- L_STR_NAME = 1, /*!< name of the data type */
- L_STR_READER = 2, /*!< reader to get the data type from file */
- L_STR_MEMREADER = 3 /*!< reader to get the compressed string in memory */
-};
-
-#endif /* LEPTONICA_STRINGCODE_H */
diff --git a/WebRtc.NET/include/leptonica/sudoku.h b/WebRtc.NET/include/leptonica/sudoku.h
deleted file mode 100644
index ba4b21e9..00000000
--- a/WebRtc.NET/include/leptonica/sudoku.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef SUDOKU_H_INCLUDED
-#define SUDOKU_H_INCLUDED
-
-/*!
- * \file sudoku.h
- *
- *
- * The L_Sudoku holds all the information of the current state.
- *
- * The input to sudokuCreate() is a file with any number of lines
- * starting with '#', followed by 9 lines consisting of 9 numbers
- * in each line. These have the known values and use 0 for the unknowns.
- * Blank lines are ignored.
- *
- * The %locs array holds the indices of the unknowns, numbered
- * left-to-right and top-to-bottom from 0 to 80. The array size
- * is initialized to %num. %current is the index into the %locs
- * array of the current guess: locs[current].
- *
- * The %state array is used to determine the validity of each guess.
- * It is of size 81, and is initialized by setting the unknowns to 0
- * and the knowns to their input values.
- *
- */
-
-struct L_Sudoku
-{
- l_int32 num; /*!< number of unknowns */
- l_int32 *locs; /*!< location of unknowns */
- l_int32 current; /*!< index into %locs of current location */
- l_int32 *init; /*!< initial state, with 0 representing */
- /*!< the unknowns */
- l_int32 *state; /*!< present state, including inits and */
- /*!< guesses of unknowns up to %current */
- l_int32 nguess; /*!< shows current number of guesses */
- l_int32 finished; /*!< set to 1 when solved */
- l_int32 failure; /*!< set to 1 if no solution is possible */
-};
-typedef struct L_Sudoku L_SUDOKU;
-
-
- /*! For printing out array data */
-enum {
- L_SUDOKU_INIT = 0,
- L_SUDOKU_STATE = 1
-};
-
-#endif /* SUDOKU_H_INCLUDED */
-
-
diff --git a/WebRtc.NET/include/leptonica/watershed.h b/WebRtc.NET/include/leptonica/watershed.h
deleted file mode 100644
index d6b20775..00000000
--- a/WebRtc.NET/include/leptonica/watershed.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*====================================================================*
- - Copyright (C) 2001 Leptonica. All rights reserved.
- -
- - Redistribution and use in source and binary forms, with or without
- - modification, are permitted provided that the following conditions
- - are met:
- - 1. Redistributions of source code must retain the above copyright
- - notice, this list of conditions and the following disclaimer.
- - 2. Redistributions in binary form must reproduce the above
- - copyright notice, this list of conditions and the following
- - disclaimer in the documentation and/or other materials
- - provided with the distribution.
- -
- - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANY
- - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- - OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *====================================================================*/
-
-#ifndef LEPTONICA_WATERSHED_H
-#define LEPTONICA_WATERSHED_H
-
-/*!
- * \file watershed.h
- *
- * Simple data structure to hold watershed data.
- * All data here is owned by the L_WShed and must be freed.
- */
-
-/*! Simple data structure to hold watershed data. */
-struct L_WShed
-{
- struct Pix *pixs; /*!< clone of input 8 bpp pixs */
- struct Pix *pixm; /*!< clone of input 1 bpp seed (marker) pixm */
- l_int32 mindepth; /*!< minimum depth allowed for a watershed */
- struct Pix *pixlab; /*!< 16 bpp label pix */
- struct Pix *pixt; /*!< scratch pix for computing wshed regions */
- void **lines8; /*!< line ptrs for pixs */
- void **linem1; /*!< line ptrs for pixm */
- void **linelab32; /*!< line ptrs for pixlab */
- void **linet1; /*!< line ptrs for pixt */
- struct Pixa *pixad; /*!< result: 1 bpp pixa of watersheds */
- struct Pta *ptas; /*!< pta of initial seed pixels */
- struct Numa *nasi; /*!< numa of seed indicators; 0 if completed */
- struct Numa *nash; /*!< numa of initial seed heights */
- struct Numa *namh; /*!< numa of initial minima heights */
- struct Numa *nalevels; /*!< result: numa of watershed levels */
- l_int32 nseeds; /*!< number of seeds (markers) */
- l_int32 nother; /*!< number of minima different from seeds */
- l_int32 *lut; /*!< lut for pixel indices */
- struct Numa **links; /*!< back-links into lut, for updates */
- l_int32 arraysize; /*!< size of links array */
- l_int32 debug; /*!< set to 1 for debug output */
-};
-typedef struct L_WShed L_WSHED;
-
-#endif /* LEPTONICA_WATERSHED_H */
diff --git a/WebRtc.NET/include/third_party/jsoncpp/overrides/include/json/value.h b/WebRtc.NET/include/third_party/jsoncpp/overrides/include/json/value.h
deleted file mode 100644
index 57072602..00000000
--- a/WebRtc.NET/include/third_party/jsoncpp/overrides/include/json/value.h
+++ /dev/null
@@ -1,1111 +0,0 @@
-// Copyright 2007-2010 Baptiste Lepilleur
-// Distributed under MIT license, or public domain if desired and
-// recognized in your jurisdiction.
-// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
-
-#ifndef CPPTL_JSON_H_INCLUDED
-# define CPPTL_JSON_H_INCLUDED
-
-#if !defined(JSON_IS_AMALGAMATION)
-# include "third_party/jsoncpp/source/include/json/forwards.h"
-#endif // if !defined(JSON_IS_AMALGAMATION)
-# include
-# include
-
-# ifndef JSON_USE_CPPTL_SMALLMAP
-# include