--- /dev/null
+project(quirc)
+
+set(CURR_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/include")
+
+set_property(GLOBAL PROPERTY QUIRC_INCLUDE_DIR ${CURR_INCLUDE_DIR})
+ocv_include_directories(${CURR_INCLUDE_DIR})
+
+file(GLOB_RECURSE quirc_headers RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "include/*.h")
+file(GLOB_RECURSE quirc_sources RELATIVE "${CMAKE_CURRENT_LIST_DIR}" "src/*.c")
+
+add_library(${PROJECT_NAME} STATIC ${OPENCV_3RDPARTY_EXCLUDE_FROM_ALL} ${quirc_headers} ${quirc_sources})
+ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wshadow)
+
+set_target_properties(${PROJECT_NAME}
+ PROPERTIES OUTPUT_NAME ${PROJECT_NAME}
+ DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
+ COMPILE_PDB_NAME ${PROJECT_NAME}
+ COMPILE_PDB_NAME_DEBUG "${PROJECT_NAME}${OPENCV_DEBUG_POSTFIX}"
+ ARCHIVE_OUTPUT_DIRECTORY ${3P_LIBRARY_OUTPUT_PATH}
+ )
+
+if(ENABLE_SOLUTION_FOLDERS)
+ set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "3rdparty")
+endif()
+
+if(NOT BUILD_SHARED_LIBS)
+ ocv_install_target(${PROJECT_NAME} EXPORT OpenCVModules ARCHIVE DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT dev OPTIONAL)
+endif()
+
+ocv_install_3rdparty_licenses(${PROJECT_NAME} LICENSE)
--- /dev/null
+quirc -- QR-code recognition library
+Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+
+Permission to use, copy, modify, and/or distribute this software for
+any purpose with or without fee is hereby granted, provided that the
+above copyright notice and this permission notice appear in all
+copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
--- /dev/null
+/* quirc -- QR-code recognition library
+ * Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef QUIRC_H_
+#define QUIRC_H_
+
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct quirc;
+
+/* Obtain the library version string. */
+const char *quirc_version(void);
+
+/* Construct a new QR-code recognizer. This function will return NULL
+ * if sufficient memory could not be allocated.
+ */
+struct quirc *quirc_new(void);
+
+/* Destroy a QR-code recognizer. */
+void quirc_destroy(struct quirc *q);
+
+/* Resize the QR-code recognizer. The size of an image must be
+ * specified before codes can be analyzed.
+ *
+ * This function returns 0 on success, or -1 if sufficient memory could
+ * not be allocated.
+ */
+int quirc_resize(struct quirc *q, int w, int h);
+
+/* These functions are used to process images for QR-code recognition.
+ * quirc_begin() must first be called to obtain access to a buffer into
+ * which the input image should be placed. Optionally, the current
+ * width and height may be returned.
+ *
+ * After filling the buffer, quirc_end() should be called to process
+ * the image for QR-code recognition. The locations and content of each
+ * code may be obtained using accessor functions described below.
+ */
+uint8_t *quirc_begin(struct quirc *q, int *w, int *h);
+void quirc_end(struct quirc *q);
+
+/* This structure describes a location in the input image buffer. */
+struct quirc_point {
+ int x;
+ int y;
+};
+
+/* This enum describes the various decoder errors which may occur. */
+typedef enum {
+ QUIRC_SUCCESS = 0,
+ QUIRC_ERROR_INVALID_GRID_SIZE,
+ QUIRC_ERROR_INVALID_VERSION,
+ QUIRC_ERROR_FORMAT_ECC,
+ QUIRC_ERROR_DATA_ECC,
+ QUIRC_ERROR_UNKNOWN_DATA_TYPE,
+ QUIRC_ERROR_DATA_OVERFLOW,
+ QUIRC_ERROR_DATA_UNDERFLOW
+} quirc_decode_error_t;
+
+/* Return a string error message for an error code. */
+const char *quirc_strerror(quirc_decode_error_t err);
+
+/* Limits on the maximum size of QR-codes and their content. */
+#define QUIRC_MAX_BITMAP 3917
+#define QUIRC_MAX_PAYLOAD 8896
+
+/* QR-code ECC types. */
+#define QUIRC_ECC_LEVEL_M 0
+#define QUIRC_ECC_LEVEL_L 1
+#define QUIRC_ECC_LEVEL_H 2
+#define QUIRC_ECC_LEVEL_Q 3
+
+/* QR-code data types. */
+#define QUIRC_DATA_TYPE_NUMERIC 1
+#define QUIRC_DATA_TYPE_ALPHA 2
+#define QUIRC_DATA_TYPE_BYTE 4
+#define QUIRC_DATA_TYPE_KANJI 8
+
+/* Common character encodings */
+#define QUIRC_ECI_ISO_8859_1 1
+#define QUIRC_ECI_IBM437 2
+#define QUIRC_ECI_ISO_8859_2 4
+#define QUIRC_ECI_ISO_8859_3 5
+#define QUIRC_ECI_ISO_8859_4 6
+#define QUIRC_ECI_ISO_8859_5 7
+#define QUIRC_ECI_ISO_8859_6 8
+#define QUIRC_ECI_ISO_8859_7 9
+#define QUIRC_ECI_ISO_8859_8 10
+#define QUIRC_ECI_ISO_8859_9 11
+#define QUIRC_ECI_WINDOWS_874 13
+#define QUIRC_ECI_ISO_8859_13 15
+#define QUIRC_ECI_ISO_8859_15 17
+#define QUIRC_ECI_SHIFT_JIS 20
+#define QUIRC_ECI_UTF_8 26
+
+/* This structure is used to return information about detected QR codes
+ * in the input image.
+ */
+struct quirc_code {
+ /* The four corners of the QR-code, from top left, clockwise */
+ struct quirc_point corners[4];
+
+ /* The number of cells across in the QR-code. The cell bitmap
+ * is a bitmask giving the actual values of cells. If the cell
+ * at (x, y) is black, then the following bit is set:
+ *
+ * cell_bitmap[i >> 3] & (1 << (i & 7))
+ *
+ * where i = (y * size) + x.
+ */
+ int size;
+ uint8_t cell_bitmap[QUIRC_MAX_BITMAP];
+};
+
+/* This structure holds the decoded QR-code data */
+struct quirc_data {
+ /* Various parameters of the QR-code. These can mostly be
+ * ignored if you only care about the data.
+ */
+ int version;
+ int ecc_level;
+ int mask;
+
+ /* This field is the highest-valued data type found in the QR
+ * code.
+ */
+ int data_type;
+
+ /* Data payload. For the Kanji datatype, payload is encoded as
+ * Shift-JIS. For all other datatypes, payload is ASCII text.
+ */
+ uint8_t payload[QUIRC_MAX_PAYLOAD];
+ int payload_len;
+
+ /* ECI assignment number */
+ uint32_t eci;
+};
+
+/* Return the number of QR-codes identified in the last processed
+ * image.
+ */
+int quirc_count(const struct quirc *q);
+
+/* Extract the QR-code specified by the given index. */
+void quirc_extract(const struct quirc *q, int index,
+ struct quirc_code *code);
+
+/* Decode a QR-code, returning the payload data. */
+quirc_decode_error_t quirc_decode(const struct quirc_code *code,
+ struct quirc_data *data);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
--- /dev/null
+/* quirc -- QR-code recognition library
+ * Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#ifndef QUIRC_INTERNAL_H_
+#define QUIRC_INTERNAL_H_
+
+#include <quirc.h>
+
+#define QUIRC_PIXEL_WHITE 0
+#define QUIRC_PIXEL_BLACK 1
+#define QUIRC_PIXEL_REGION 2
+
+#ifndef QUIRC_MAX_REGIONS
+#define QUIRC_MAX_REGIONS 254
+#endif
+#define QUIRC_MAX_CAPSTONES 32
+#define QUIRC_MAX_GRIDS 8
+
+#define QUIRC_PERSPECTIVE_PARAMS 8
+
+#if QUIRC_MAX_REGIONS < UINT8_MAX
+#define QUIRC_PIXEL_ALIAS_IMAGE 1
+typedef uint8_t quirc_pixel_t;
+#elif QUIRC_MAX_REGIONS < UINT16_MAX
+#define QUIRC_PIXEL_ALIAS_IMAGE 0
+typedef uint16_t quirc_pixel_t;
+#else
+#error "QUIRC_MAX_REGIONS > 65534 is not supported"
+#endif
+
+struct quirc_region {
+ struct quirc_point seed;
+ int count;
+ int capstone;
+};
+
+struct quirc_capstone {
+ int ring;
+ int stone;
+
+ struct quirc_point corners[4];
+ struct quirc_point center;
+ double c[QUIRC_PERSPECTIVE_PARAMS];
+
+ int qr_grid;
+};
+
+struct quirc_grid {
+ /* Capstone indices */
+ int caps[3];
+
+ /* Alignment pattern region and corner */
+ int align_region;
+ struct quirc_point align;
+
+ /* Timing pattern endpoints */
+ struct quirc_point tpep[3];
+ int hscan;
+ int vscan;
+
+ /* Grid size and perspective transform */
+ int grid_size;
+ double c[QUIRC_PERSPECTIVE_PARAMS];
+};
+
+struct quirc {
+ uint8_t *image;
+ quirc_pixel_t *pixels;
+ int w;
+ int h;
+
+ int num_regions;
+ struct quirc_region regions[QUIRC_MAX_REGIONS];
+
+ int num_capstones;
+ struct quirc_capstone capstones[QUIRC_MAX_CAPSTONES];
+
+ int num_grids;
+ struct quirc_grid grids[QUIRC_MAX_GRIDS];
+};
+
+/************************************************************************
+ * QR-code version information database
+ */
+
+#define QUIRC_MAX_VERSION 40
+#define QUIRC_MAX_ALIGNMENT 7
+
+struct quirc_rs_params {
+ int bs; /* Small block size */
+ int dw; /* Small data words */
+ int ns; /* Number of small blocks */
+};
+
+struct quirc_version_info {
+ int data_bytes;
+ int apat[QUIRC_MAX_ALIGNMENT];
+ struct quirc_rs_params ecc[4];
+};
+
+extern const struct quirc_version_info quirc_version_db[QUIRC_MAX_VERSION + 1];
+
+#endif
--- /dev/null
+/* quirc -- QR-code recognition library
+ * Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <quirc_internal.h>
+
+#include <string.h>
+#include <stdlib.h>
+
+#define MAX_POLY 64
+
+/************************************************************************
+ * Galois fields
+ */
+
+struct galois_field {
+ int p;
+ const uint8_t *log;
+ const uint8_t *exp;
+};
+
+static const uint8_t gf16_exp[16] = {
+ 0x01, 0x02, 0x04, 0x08, 0x03, 0x06, 0x0c, 0x0b,
+ 0x05, 0x0a, 0x07, 0x0e, 0x0f, 0x0d, 0x09, 0x01
+};
+
+static const uint8_t gf16_log[16] = {
+ 0x00, 0x0f, 0x01, 0x04, 0x02, 0x08, 0x05, 0x0a,
+ 0x03, 0x0e, 0x09, 0x07, 0x06, 0x0d, 0x0b, 0x0c
+};
+
+static const struct galois_field gf16 = {
+ .p = 15,
+ .log = gf16_log,
+ .exp = gf16_exp
+};
+
+static const uint8_t gf256_exp[256] = {
+ 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80,
+ 0x1d, 0x3a, 0x74, 0xe8, 0xcd, 0x87, 0x13, 0x26,
+ 0x4c, 0x98, 0x2d, 0x5a, 0xb4, 0x75, 0xea, 0xc9,
+ 0x8f, 0x03, 0x06, 0x0c, 0x18, 0x30, 0x60, 0xc0,
+ 0x9d, 0x27, 0x4e, 0x9c, 0x25, 0x4a, 0x94, 0x35,
+ 0x6a, 0xd4, 0xb5, 0x77, 0xee, 0xc1, 0x9f, 0x23,
+ 0x46, 0x8c, 0x05, 0x0a, 0x14, 0x28, 0x50, 0xa0,
+ 0x5d, 0xba, 0x69, 0xd2, 0xb9, 0x6f, 0xde, 0xa1,
+ 0x5f, 0xbe, 0x61, 0xc2, 0x99, 0x2f, 0x5e, 0xbc,
+ 0x65, 0xca, 0x89, 0x0f, 0x1e, 0x3c, 0x78, 0xf0,
+ 0xfd, 0xe7, 0xd3, 0xbb, 0x6b, 0xd6, 0xb1, 0x7f,
+ 0xfe, 0xe1, 0xdf, 0xa3, 0x5b, 0xb6, 0x71, 0xe2,
+ 0xd9, 0xaf, 0x43, 0x86, 0x11, 0x22, 0x44, 0x88,
+ 0x0d, 0x1a, 0x34, 0x68, 0xd0, 0xbd, 0x67, 0xce,
+ 0x81, 0x1f, 0x3e, 0x7c, 0xf8, 0xed, 0xc7, 0x93,
+ 0x3b, 0x76, 0xec, 0xc5, 0x97, 0x33, 0x66, 0xcc,
+ 0x85, 0x17, 0x2e, 0x5c, 0xb8, 0x6d, 0xda, 0xa9,
+ 0x4f, 0x9e, 0x21, 0x42, 0x84, 0x15, 0x2a, 0x54,
+ 0xa8, 0x4d, 0x9a, 0x29, 0x52, 0xa4, 0x55, 0xaa,
+ 0x49, 0x92, 0x39, 0x72, 0xe4, 0xd5, 0xb7, 0x73,
+ 0xe6, 0xd1, 0xbf, 0x63, 0xc6, 0x91, 0x3f, 0x7e,
+ 0xfc, 0xe5, 0xd7, 0xb3, 0x7b, 0xf6, 0xf1, 0xff,
+ 0xe3, 0xdb, 0xab, 0x4b, 0x96, 0x31, 0x62, 0xc4,
+ 0x95, 0x37, 0x6e, 0xdc, 0xa5, 0x57, 0xae, 0x41,
+ 0x82, 0x19, 0x32, 0x64, 0xc8, 0x8d, 0x07, 0x0e,
+ 0x1c, 0x38, 0x70, 0xe0, 0xdd, 0xa7, 0x53, 0xa6,
+ 0x51, 0xa2, 0x59, 0xb2, 0x79, 0xf2, 0xf9, 0xef,
+ 0xc3, 0x9b, 0x2b, 0x56, 0xac, 0x45, 0x8a, 0x09,
+ 0x12, 0x24, 0x48, 0x90, 0x3d, 0x7a, 0xf4, 0xf5,
+ 0xf7, 0xf3, 0xfb, 0xeb, 0xcb, 0x8b, 0x0b, 0x16,
+ 0x2c, 0x58, 0xb0, 0x7d, 0xfa, 0xe9, 0xcf, 0x83,
+ 0x1b, 0x36, 0x6c, 0xd8, 0xad, 0x47, 0x8e, 0x01
+};
+
+static const uint8_t gf256_log[256] = {
+ 0x00, 0xff, 0x01, 0x19, 0x02, 0x32, 0x1a, 0xc6,
+ 0x03, 0xdf, 0x33, 0xee, 0x1b, 0x68, 0xc7, 0x4b,
+ 0x04, 0x64, 0xe0, 0x0e, 0x34, 0x8d, 0xef, 0x81,
+ 0x1c, 0xc1, 0x69, 0xf8, 0xc8, 0x08, 0x4c, 0x71,
+ 0x05, 0x8a, 0x65, 0x2f, 0xe1, 0x24, 0x0f, 0x21,
+ 0x35, 0x93, 0x8e, 0xda, 0xf0, 0x12, 0x82, 0x45,
+ 0x1d, 0xb5, 0xc2, 0x7d, 0x6a, 0x27, 0xf9, 0xb9,
+ 0xc9, 0x9a, 0x09, 0x78, 0x4d, 0xe4, 0x72, 0xa6,
+ 0x06, 0xbf, 0x8b, 0x62, 0x66, 0xdd, 0x30, 0xfd,
+ 0xe2, 0x98, 0x25, 0xb3, 0x10, 0x91, 0x22, 0x88,
+ 0x36, 0xd0, 0x94, 0xce, 0x8f, 0x96, 0xdb, 0xbd,
+ 0xf1, 0xd2, 0x13, 0x5c, 0x83, 0x38, 0x46, 0x40,
+ 0x1e, 0x42, 0xb6, 0xa3, 0xc3, 0x48, 0x7e, 0x6e,
+ 0x6b, 0x3a, 0x28, 0x54, 0xfa, 0x85, 0xba, 0x3d,
+ 0xca, 0x5e, 0x9b, 0x9f, 0x0a, 0x15, 0x79, 0x2b,
+ 0x4e, 0xd4, 0xe5, 0xac, 0x73, 0xf3, 0xa7, 0x57,
+ 0x07, 0x70, 0xc0, 0xf7, 0x8c, 0x80, 0x63, 0x0d,
+ 0x67, 0x4a, 0xde, 0xed, 0x31, 0xc5, 0xfe, 0x18,
+ 0xe3, 0xa5, 0x99, 0x77, 0x26, 0xb8, 0xb4, 0x7c,
+ 0x11, 0x44, 0x92, 0xd9, 0x23, 0x20, 0x89, 0x2e,
+ 0x37, 0x3f, 0xd1, 0x5b, 0x95, 0xbc, 0xcf, 0xcd,
+ 0x90, 0x87, 0x97, 0xb2, 0xdc, 0xfc, 0xbe, 0x61,
+ 0xf2, 0x56, 0xd3, 0xab, 0x14, 0x2a, 0x5d, 0x9e,
+ 0x84, 0x3c, 0x39, 0x53, 0x47, 0x6d, 0x41, 0xa2,
+ 0x1f, 0x2d, 0x43, 0xd8, 0xb7, 0x7b, 0xa4, 0x76,
+ 0xc4, 0x17, 0x49, 0xec, 0x7f, 0x0c, 0x6f, 0xf6,
+ 0x6c, 0xa1, 0x3b, 0x52, 0x29, 0x9d, 0x55, 0xaa,
+ 0xfb, 0x60, 0x86, 0xb1, 0xbb, 0xcc, 0x3e, 0x5a,
+ 0xcb, 0x59, 0x5f, 0xb0, 0x9c, 0xa9, 0xa0, 0x51,
+ 0x0b, 0xf5, 0x16, 0xeb, 0x7a, 0x75, 0x2c, 0xd7,
+ 0x4f, 0xae, 0xd5, 0xe9, 0xe6, 0xe7, 0xad, 0xe8,
+ 0x74, 0xd6, 0xf4, 0xea, 0xa8, 0x50, 0x58, 0xaf
+};
+
+static const struct galois_field gf256 = {
+ .p = 255,
+ .log = gf256_log,
+ .exp = gf256_exp
+};
+
+/************************************************************************
+ * Polynomial operations
+ */
+
+static void poly_add(uint8_t *dst, const uint8_t *src, uint8_t c,
+ int shift, const struct galois_field *gf)
+{
+ int i;
+ int log_c = gf->log[c];
+
+ if (!c)
+ return;
+
+ for (i = 0; i < MAX_POLY; i++) {
+ int p = i + shift;
+ uint8_t v = src[i];
+
+ if (p < 0 || p >= MAX_POLY)
+ continue;
+ if (!v)
+ continue;
+
+ dst[p] ^= gf->exp[(gf->log[v] + log_c) % gf->p];
+ }
+}
+
+static uint8_t poly_eval(const uint8_t *s, uint8_t x,
+ const struct galois_field *gf)
+{
+ int i;
+ uint8_t sum = 0;
+ uint8_t log_x = gf->log[x];
+
+ if (!x)
+ return s[0];
+
+ for (i = 0; i < MAX_POLY; i++) {
+ uint8_t c = s[i];
+
+ if (!c)
+ continue;
+
+ sum ^= gf->exp[(gf->log[c] + log_x * i) % gf->p];
+ }
+
+ return sum;
+}
+
+/************************************************************************
+ * Berlekamp-Massey algorithm for finding error locator polynomials.
+ */
+
+static void berlekamp_massey(const uint8_t *s, int N,
+ const struct galois_field *gf,
+ uint8_t *sigma)
+{
+ uint8_t C[MAX_POLY];
+ uint8_t B[MAX_POLY];
+ int L = 0;
+ int m = 1;
+ uint8_t b = 1;
+ int n;
+
+ memset(B, 0, sizeof(B));
+ memset(C, 0, sizeof(C));
+ B[0] = 1;
+ C[0] = 1;
+
+ for (n = 0; n < N; n++) {
+ uint8_t d = s[n];
+ uint8_t mult;
+ int i;
+
+ for (i = 1; i <= L; i++) {
+ if (!(C[i] && s[n - i]))
+ continue;
+
+ d ^= gf->exp[(gf->log[C[i]] +
+ gf->log[s[n - i]]) %
+ gf->p];
+ }
+
+ mult = gf->exp[(gf->p - gf->log[b] + gf->log[d]) % gf->p];
+
+ if (!d) {
+ m++;
+ } else if (L * 2 <= n) {
+ uint8_t T[MAX_POLY];
+
+ memcpy(T, C, sizeof(T));
+ poly_add(C, B, mult, m, gf);
+ memcpy(B, T, sizeof(B));
+ L = n + 1 - L;
+ b = d;
+ m = 1;
+ } else {
+ poly_add(C, B, mult, m, gf);
+ m++;
+ }
+ }
+
+ memcpy(sigma, C, MAX_POLY);
+}
+
+/************************************************************************
+ * Code stream error correction
+ *
+ * Generator polynomial for GF(2^8) is x^8 + x^4 + x^3 + x^2 + 1
+ */
+
+static int block_syndromes(const uint8_t *data, int bs, int npar, uint8_t *s)
+{
+ int nonzero = 0;
+ int i;
+
+ memset(s, 0, MAX_POLY);
+
+ for (i = 0; i < npar; i++) {
+ int j;
+
+ for (j = 0; j < bs; j++) {
+ uint8_t c = data[bs - j - 1];
+
+ if (!c)
+ continue;
+
+ s[i] ^= gf256_exp[((int)gf256_log[c] +
+ i * j) % 255];
+ }
+
+ if (s[i])
+ nonzero = 1;
+ }
+
+ return nonzero;
+}
+
+static void eloc_poly(uint8_t *omega,
+ const uint8_t *s, const uint8_t *sigma,
+ int npar)
+{
+ int i;
+
+ memset(omega, 0, MAX_POLY);
+
+ for (i = 0; i < npar; i++) {
+ const uint8_t a = sigma[i];
+ const uint8_t log_a = gf256_log[a];
+ int j;
+
+ if (!a)
+ continue;
+
+ for (j = 0; j + 1 < MAX_POLY; j++) {
+ const uint8_t b = s[j + 1];
+
+ if (i + j >= npar)
+ break;
+
+ if (!b)
+ continue;
+
+ omega[i + j] ^=
+ gf256_exp[(log_a + gf256_log[b]) % 255];
+ }
+ }
+}
+
+static quirc_decode_error_t correct_block(uint8_t *data,
+ const struct quirc_rs_params *ecc)
+{
+ int npar = ecc->bs - ecc->dw;
+ uint8_t s[MAX_POLY];
+ uint8_t sigma[MAX_POLY];
+ uint8_t sigma_deriv[MAX_POLY];
+ uint8_t omega[MAX_POLY];
+ int i;
+
+ /* Compute syndrome vector */
+ if (!block_syndromes(data, ecc->bs, npar, s))
+ return QUIRC_SUCCESS;
+
+ berlekamp_massey(s, npar, &gf256, sigma);
+
+ /* Compute derivative of sigma */
+ memset(sigma_deriv, 0, MAX_POLY);
+ for (i = 0; i + 1 < MAX_POLY; i += 2)
+ sigma_deriv[i] = sigma[i + 1];
+
+ /* Compute error evaluator polynomial */
+ eloc_poly(omega, s, sigma, npar - 1);
+
+ /* Find error locations and magnitudes */
+ for (i = 0; i < ecc->bs; i++) {
+ uint8_t xinv = gf256_exp[255 - i];
+
+ if (!poly_eval(sigma, xinv, &gf256)) {
+ uint8_t sd_x = poly_eval(sigma_deriv, xinv, &gf256);
+ uint8_t omega_x = poly_eval(omega, xinv, &gf256);
+ uint8_t error = gf256_exp[(255 - gf256_log[sd_x] +
+ gf256_log[omega_x]) % 255];
+
+ data[ecc->bs - i - 1] ^= error;
+ }
+ }
+
+ if (block_syndromes(data, ecc->bs, npar, s))
+ return QUIRC_ERROR_DATA_ECC;
+
+ return QUIRC_SUCCESS;
+}
+
+/************************************************************************
+ * Format value error correction
+ *
+ * Generator polynomial for GF(2^4) is x^4 + x + 1
+ */
+
+#define FORMAT_MAX_ERROR 3
+#define FORMAT_SYNDROMES (FORMAT_MAX_ERROR * 2)
+#define FORMAT_BITS 15
+
+static int format_syndromes(uint16_t u, uint8_t *s)
+{
+ int i;
+ int nonzero = 0;
+
+ memset(s, 0, MAX_POLY);
+
+ for (i = 0; i < FORMAT_SYNDROMES; i++) {
+ int j;
+
+ s[i] = 0;
+ for (j = 0; j < FORMAT_BITS; j++)
+ if (u & (1 << j))
+ s[i] ^= gf16_exp[((i + 1) * j) % 15];
+
+ if (s[i])
+ nonzero = 1;
+ }
+
+ return nonzero;
+}
+
+static quirc_decode_error_t correct_format(uint16_t *f_ret)
+{
+ uint16_t u = *f_ret;
+ int i;
+ uint8_t s[MAX_POLY];
+ uint8_t sigma[MAX_POLY];
+
+ /* Evaluate U (received codeword) at each of alpha_1 .. alpha_6
+ * to get S_1 .. S_6 (but we index them from 0).
+ */
+ if (!format_syndromes(u, s))
+ return QUIRC_SUCCESS;
+
+ berlekamp_massey(s, FORMAT_SYNDROMES, &gf16, sigma);
+
+ /* Now, find the roots of the polynomial */
+ for (i = 0; i < 15; i++)
+ if (!poly_eval(sigma, gf16_exp[15 - i], &gf16))
+ u ^= (1 << i);
+
+ if (format_syndromes(u, s))
+ return QUIRC_ERROR_FORMAT_ECC;
+
+ *f_ret = u;
+ return QUIRC_SUCCESS;
+}
+
+/************************************************************************
+ * Decoder algorithm
+ */
+
+struct datastream {
+ uint8_t raw[QUIRC_MAX_PAYLOAD];
+ int data_bits;
+ int ptr;
+
+ uint8_t data[QUIRC_MAX_PAYLOAD];
+};
+
+static inline int grid_bit(const struct quirc_code *code, int x, int y)
+{
+ int p = y * code->size + x;
+
+ return (code->cell_bitmap[p >> 3] >> (p & 7)) & 1;
+}
+
+static quirc_decode_error_t read_format(const struct quirc_code *code,
+ struct quirc_data *data, int which)
+{
+ int i;
+ uint16_t format = 0;
+ uint16_t fdata;
+ quirc_decode_error_t err;
+
+ if (which) {
+ for (i = 0; i < 7; i++)
+ format = (format << 1) |
+ grid_bit(code, 8, code->size - 1 - i);
+ for (i = 0; i < 8; i++)
+ format = (format << 1) |
+ grid_bit(code, code->size - 8 + i, 8);
+ } else {
+ static const int xs[15] = {
+ 8, 8, 8, 8, 8, 8, 8, 8, 7, 5, 4, 3, 2, 1, 0
+ };
+ static const int ys[15] = {
+ 0, 1, 2, 3, 4, 5, 7, 8, 8, 8, 8, 8, 8, 8, 8
+ };
+
+ for (i = 14; i >= 0; i--)
+ format = (format << 1) | grid_bit(code, xs[i], ys[i]);
+ }
+
+ format ^= 0x5412;
+
+ err = correct_format(&format);
+ if (err)
+ return err;
+
+ fdata = format >> 10;
+ data->ecc_level = fdata >> 3;
+ data->mask = fdata & 7;
+
+ return QUIRC_SUCCESS;
+}
+
+static int mask_bit(int mask, int i, int j)
+{
+ switch (mask) {
+ case 0: return !((i + j) % 2);
+ case 1: return !(i % 2);
+ case 2: return !(j % 3);
+ case 3: return !((i + j) % 3);
+ case 4: return !(((i / 2) + (j / 3)) % 2);
+ case 5: return !((i * j) % 2 + (i * j) % 3);
+ case 6: return !(((i * j) % 2 + (i * j) % 3) % 2);
+ case 7: return !(((i * j) % 3 + (i + j) % 2) % 2);
+ }
+
+ return 0;
+}
+
+static int reserved_cell(int version, int i, int j)
+{
+ const struct quirc_version_info *ver = &quirc_version_db[version];
+ int size = version * 4 + 17;
+ int ai = -1, aj = -1, a;
+
+ /* Finder + format: top left */
+ if (i < 9 && j < 9)
+ return 1;
+
+ /* Finder + format: bottom left */
+ if (i + 8 >= size && j < 9)
+ return 1;
+
+ /* Finder + format: top right */
+ if (i < 9 && j + 8 >= size)
+ return 1;
+
+ /* Exclude timing patterns */
+ if (i == 6 || j == 6)
+ return 1;
+
+ /* Exclude version info, if it exists. Version info sits adjacent to
+ * the top-right and bottom-left finders in three rows, bounded by
+ * the timing pattern.
+ */
+ if (version >= 7) {
+ if (i < 6 && j + 11 >= size)
+ return 1;
+ if (i + 11 >= size && j < 6)
+ return 1;
+ }
+
+ /* Exclude alignment patterns */
+ for (a = 0; a < QUIRC_MAX_ALIGNMENT && ver->apat[a]; a++) {
+ int p = ver->apat[a];
+
+ if (abs(p - i) < 3)
+ ai = a;
+ if (abs(p - j) < 3)
+ aj = a;
+ }
+
+ if (ai >= 0 && aj >= 0) {
+ a--;
+ if (ai > 0 && ai < a)
+ return 1;
+ if (aj > 0 && aj < a)
+ return 1;
+ if (aj == a && ai == a)
+ return 1;
+ }
+
+ return 0;
+}
+
+static void read_bit(const struct quirc_code *code,
+ struct quirc_data *data,
+ struct datastream *ds, int i, int j)
+{
+ int bitpos = ds->data_bits & 7;
+ int bytepos = ds->data_bits >> 3;
+ int v = grid_bit(code, j, i);
+
+ if (mask_bit(data->mask, i, j))
+ v ^= 1;
+
+ if (v)
+ ds->raw[bytepos] |= (0x80 >> bitpos);
+
+ ds->data_bits++;
+}
+
+static void read_data(const struct quirc_code *code,
+ struct quirc_data *data,
+ struct datastream *ds)
+{
+ int y = code->size - 1;
+ int x = code->size - 1;
+ int dir = -1;
+
+ while (x > 0) {
+ if (x == 6)
+ x--;
+
+ if (!reserved_cell(data->version, y, x))
+ read_bit(code, data, ds, y, x);
+
+ if (!reserved_cell(data->version, y, x - 1))
+ read_bit(code, data, ds, y, x - 1);
+
+ y += dir;
+ if (y < 0 || y >= code->size) {
+ dir = -dir;
+ x -= 2;
+ y += dir;
+ }
+ }
+}
+
+static quirc_decode_error_t codestream_ecc(struct quirc_data *data,
+ struct datastream *ds)
+{
+ const struct quirc_version_info *ver =
+ &quirc_version_db[data->version];
+ const struct quirc_rs_params *sb_ecc = &ver->ecc[data->ecc_level];
+ struct quirc_rs_params lb_ecc;
+ const int lb_count =
+ (ver->data_bytes - sb_ecc->bs * sb_ecc->ns) / (sb_ecc->bs + 1);
+ const int bc = lb_count + sb_ecc->ns;
+ const int ecc_offset = sb_ecc->dw * bc + lb_count;
+ int dst_offset = 0;
+ int i;
+
+ memcpy(&lb_ecc, sb_ecc, sizeof(lb_ecc));
+ lb_ecc.dw++;
+ lb_ecc.bs++;
+
+ for (i = 0; i < bc; i++) {
+ uint8_t *dst = ds->data + dst_offset;
+ const struct quirc_rs_params *ecc =
+ (i < sb_ecc->ns) ? sb_ecc : &lb_ecc;
+ const int num_ec = ecc->bs - ecc->dw;
+ quirc_decode_error_t err;
+ int j;
+
+ for (j = 0; j < ecc->dw; j++)
+ dst[j] = ds->raw[j * bc + i];
+ for (j = 0; j < num_ec; j++)
+ dst[ecc->dw + j] = ds->raw[ecc_offset + j * bc + i];
+
+ err = correct_block(dst, ecc);
+ if (err)
+ return err;
+
+ dst_offset += ecc->dw;
+ }
+
+ ds->data_bits = dst_offset * 8;
+
+ return QUIRC_SUCCESS;
+}
+
+static inline int bits_remaining(const struct datastream *ds)
+{
+ return ds->data_bits - ds->ptr;
+}
+
+static int take_bits(struct datastream *ds, int len)
+{
+ int ret = 0;
+
+ while (len && (ds->ptr < ds->data_bits)) {
+ uint8_t b = ds->data[ds->ptr >> 3];
+ int bitpos = ds->ptr & 7;
+
+ ret <<= 1;
+ if ((b << bitpos) & 0x80)
+ ret |= 1;
+
+ ds->ptr++;
+ len--;
+ }
+
+ return ret;
+}
+
+static int numeric_tuple(struct quirc_data *data,
+ struct datastream *ds,
+ int bits, int digits)
+{
+ int tuple;
+ int i;
+
+ if (bits_remaining(ds) < bits)
+ return -1;
+
+ tuple = take_bits(ds, bits);
+
+ for (i = digits - 1; i >= 0; i--) {
+ data->payload[data->payload_len + i] = tuple % 10 + '0';
+ tuple /= 10;
+ }
+
+ data->payload_len += digits;
+ return 0;
+}
+
+static quirc_decode_error_t decode_numeric(struct quirc_data *data,
+ struct datastream *ds)
+{
+ int bits = 14;
+ int count;
+
+ if (data->version < 10)
+ bits = 10;
+ else if (data->version < 27)
+ bits = 12;
+
+ count = take_bits(ds, bits);
+ if (data->payload_len + count + 1 > QUIRC_MAX_PAYLOAD)
+ return QUIRC_ERROR_DATA_OVERFLOW;
+
+ while (count >= 3) {
+ if (numeric_tuple(data, ds, 10, 3) < 0)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+ count -= 3;
+ }
+
+ if (count >= 2) {
+ if (numeric_tuple(data, ds, 7, 2) < 0)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+ count -= 2;
+ }
+
+ if (count) {
+ if (numeric_tuple(data, ds, 4, 1) < 0)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+ count--;
+ }
+
+ return QUIRC_SUCCESS;
+}
+
+static int alpha_tuple(struct quirc_data *data,
+ struct datastream *ds,
+ int bits, int digits)
+{
+ int tuple;
+ int i;
+
+ if (bits_remaining(ds) < bits)
+ return -1;
+
+ tuple = take_bits(ds, bits);
+
+ for (i = 0; i < digits; i++) {
+ static const char *alpha_map =
+ "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:";
+
+ data->payload[data->payload_len + digits - i - 1] =
+ alpha_map[tuple % 45];
+ tuple /= 45;
+ }
+
+ data->payload_len += digits;
+ return 0;
+}
+
+static quirc_decode_error_t decode_alpha(struct quirc_data *data,
+ struct datastream *ds)
+{
+ int bits = 13;
+ int count;
+
+ if (data->version < 10)
+ bits = 9;
+ else if (data->version < 27)
+ bits = 11;
+
+ count = take_bits(ds, bits);
+ if (data->payload_len + count + 1 > QUIRC_MAX_PAYLOAD)
+ return QUIRC_ERROR_DATA_OVERFLOW;
+
+ while (count >= 2) {
+ if (alpha_tuple(data, ds, 11, 2) < 0)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+ count -= 2;
+ }
+
+ if (count) {
+ if (alpha_tuple(data, ds, 6, 1) < 0)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+ count--;
+ }
+
+ return QUIRC_SUCCESS;
+}
+
+static quirc_decode_error_t decode_byte(struct quirc_data *data,
+ struct datastream *ds)
+{
+ int bits = 16;
+ int count;
+ int i;
+
+ if (data->version < 10)
+ bits = 8;
+
+ count = take_bits(ds, bits);
+ if (data->payload_len + count + 1 > QUIRC_MAX_PAYLOAD)
+ return QUIRC_ERROR_DATA_OVERFLOW;
+ if (bits_remaining(ds) < count * 8)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+
+ for (i = 0; i < count; i++)
+ data->payload[data->payload_len++] = take_bits(ds, 8);
+
+ return QUIRC_SUCCESS;
+}
+
+static quirc_decode_error_t decode_kanji(struct quirc_data *data,
+ struct datastream *ds)
+{
+ int bits = 12;
+ int count;
+ int i;
+
+ if (data->version < 10)
+ bits = 8;
+ else if (data->version < 27)
+ bits = 10;
+
+ count = take_bits(ds, bits);
+ if (data->payload_len + count * 2 + 1 > QUIRC_MAX_PAYLOAD)
+ return QUIRC_ERROR_DATA_OVERFLOW;
+ if (bits_remaining(ds) < count * 13)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+
+ for (i = 0; i < count; i++) {
+ int d = take_bits(ds, 13);
+ int msB = d / 0xc0;
+ int lsB = d % 0xc0;
+ int intermediate = (msB << 8) | lsB;
+ uint16_t sjw;
+
+ if (intermediate + 0x8140 <= 0x9ffc) {
+ /* bytes are in the range 0x8140 to 0x9FFC */
+ sjw = intermediate + 0x8140;
+ } else {
+ /* bytes are in the range 0xE040 to 0xEBBF */
+ sjw = intermediate + 0xc140;
+ }
+
+ data->payload[data->payload_len++] = sjw >> 8;
+ data->payload[data->payload_len++] = sjw & 0xff;
+ }
+
+ return QUIRC_SUCCESS;
+}
+
+static quirc_decode_error_t decode_eci(struct quirc_data *data,
+ struct datastream *ds)
+{
+ if (bits_remaining(ds) < 8)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+
+ data->eci = take_bits(ds, 8);
+
+ if ((data->eci & 0xc0) == 0x80) {
+ if (bits_remaining(ds) < 8)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+
+ data->eci = (data->eci << 8) | take_bits(ds, 8);
+ } else if ((data->eci & 0xe0) == 0xc0) {
+ if (bits_remaining(ds) < 16)
+ return QUIRC_ERROR_DATA_UNDERFLOW;
+
+ data->eci = (data->eci << 16) | take_bits(ds, 16);
+ }
+
+ return QUIRC_SUCCESS;
+}
+
+static quirc_decode_error_t decode_payload(struct quirc_data *data,
+ struct datastream *ds)
+{
+ while (bits_remaining(ds) >= 4) {
+ quirc_decode_error_t err = QUIRC_SUCCESS;
+ int type = take_bits(ds, 4);
+
+ switch (type) {
+ case QUIRC_DATA_TYPE_NUMERIC:
+ err = decode_numeric(data, ds);
+ break;
+
+ case QUIRC_DATA_TYPE_ALPHA:
+ err = decode_alpha(data, ds);
+ break;
+
+ case QUIRC_DATA_TYPE_BYTE:
+ err = decode_byte(data, ds);
+ break;
+
+ case QUIRC_DATA_TYPE_KANJI:
+ err = decode_kanji(data, ds);
+ break;
+
+ case 7:
+ err = decode_eci(data, ds);
+ break;
+
+ default:
+ goto done;
+ }
+
+ if (err)
+ return err;
+
+ if (!(type & (type - 1)) && (type > data->data_type))
+ data->data_type = type;
+ }
+done:
+
+ /* Add nul terminator to all payloads */
+ if (data->payload_len >= (int) sizeof(data->payload))
+ data->payload_len--;
+ data->payload[data->payload_len] = 0;
+
+ return QUIRC_SUCCESS;
+}
+
+quirc_decode_error_t quirc_decode(const struct quirc_code *code,
+ struct quirc_data *data)
+{
+ quirc_decode_error_t err;
+ struct datastream ds;
+
+ if ((code->size - 17) % 4)
+ return QUIRC_ERROR_INVALID_GRID_SIZE;
+
+ memset(data, 0, sizeof(*data));
+ memset(&ds, 0, sizeof(ds));
+
+ data->version = (code->size - 17) / 4;
+
+ if (data->version < 1 ||
+ data->version > QUIRC_MAX_VERSION)
+ return QUIRC_ERROR_INVALID_VERSION;
+
+ /* Read format information -- try both locations */
+ err = read_format(code, data, 0);
+ if (err)
+ err = read_format(code, data, 1);
+ if (err)
+ return err;
+
+ read_data(code, data, &ds);
+ err = codestream_ecc(data, &ds);
+ if (err)
+ return err;
+
+ err = decode_payload(data, &ds);
+ if (err)
+ return err;
+
+ return QUIRC_SUCCESS;
+}
--- /dev/null
+/* quirc -- QR-code recognition library
+ * Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <quirc_internal.h>
+
+const char *quirc_version(void)
+{
+ return "1.0";
+}
+
+struct quirc *quirc_new(void)
+{
+ struct quirc *q = malloc(sizeof(*q));
+
+ memset(q, 0, sizeof(*q));
+ return q;
+}
+
+void quirc_destroy(struct quirc *q)
+{
+ free(q->image);
+ /* q->pixels may alias q->image when their type representation is of the
+ same size, so we need to be careful here to avoid a double free */
+ if (!QUIRC_PIXEL_ALIAS_IMAGE)
+ free(q->pixels);
+ free(q);
+}
+
+int quirc_resize(struct quirc *q, int w, int h)
+{
+ uint8_t *image = NULL;
+ quirc_pixel_t *pixels = NULL;
+
+ /*
+ * XXX: w and h should be size_t (or at least unsigned) as negatives
+ * values would not make much sense. The downside is that it would break
+ * both the API and ABI. Thus, at the moment, let's just do a sanity
+ * check.
+ */
+ if (w < 0 || h < 0)
+ goto fail;
+
+ /*
+ * alloc a new buffer for q->image. We avoid realloc(3) because we want
+ * on failure to be leave `q` in a consistant, unmodified state.
+ */
+ image = calloc(w, h);
+ if (!image)
+ goto fail;
+
+ /* compute the "old" (i.e. currently allocated) and the "new"
+ (i.e. requested) image dimensions */
+ size_t olddim = q->w * q->h;
+ size_t newdim = w * h;
+ size_t min = (olddim < newdim ? olddim : newdim);
+
+ /*
+ * copy the data into the new buffer, avoiding (a) to read beyond the
+ * old buffer when the new size is greater and (b) to write beyond the
+ * new buffer when the new size is smaller, hence the min computation.
+ */
+ (void)memcpy(image, q->image, min);
+
+ /* alloc a new buffer for q->pixels if needed */
+ if (!QUIRC_PIXEL_ALIAS_IMAGE) {
+ pixels = calloc(newdim, sizeof(quirc_pixel_t));
+ if (!pixels)
+ goto fail;
+ }
+
+ /* alloc succeeded, update `q` with the new size and buffers */
+ q->w = w;
+ q->h = h;
+ free(q->image);
+ q->image = image;
+ if (!QUIRC_PIXEL_ALIAS_IMAGE) {
+ free(q->pixels);
+ q->pixels = pixels;
+ }
+
+ return 0;
+ /* NOTREACHED */
+fail:
+ free(image);
+ free(pixels);
+
+ return -1;
+}
+
+int quirc_count(const struct quirc *q)
+{
+ return q->num_grids;
+}
+
+static const char *const error_table[] = {
+ [QUIRC_SUCCESS] = "Success",
+ [QUIRC_ERROR_INVALID_GRID_SIZE] = "Invalid grid size",
+ [QUIRC_ERROR_INVALID_VERSION] = "Invalid version",
+ [QUIRC_ERROR_FORMAT_ECC] = "Format data ECC failure",
+ [QUIRC_ERROR_DATA_ECC] = "ECC failure",
+ [QUIRC_ERROR_UNKNOWN_DATA_TYPE] = "Unknown data type",
+ [QUIRC_ERROR_DATA_OVERFLOW] = "Data overflow",
+ [QUIRC_ERROR_DATA_UNDERFLOW] = "Data underflow"
+};
+
+const char *quirc_strerror(quirc_decode_error_t err)
+{
+ if ((int) err >= 0) {
+ if ((unsigned long) err < (unsigned long) (sizeof(error_table) / sizeof(error_table[0])))
+ return error_table[err];
+ }
+
+ return "Unknown error";
+}
--- /dev/null
+/* quirc -- QR-code recognition library
+ * Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com>
+ *
+ * Permission to use, copy, modify, and/or distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+#include <quirc_internal.h>
+
+const struct quirc_version_info quirc_version_db[QUIRC_MAX_VERSION + 1] = {
+ {0},
+ { /* Version 1 */
+ .data_bytes = 26,
+ .apat = {0},
+ .ecc = {
+ {.bs = 26, .dw = 16, .ns = 1},
+ {.bs = 26, .dw = 19, .ns = 1},
+ {.bs = 26, .dw = 9, .ns = 1},
+ {.bs = 26, .dw = 13, .ns = 1}
+ }
+ },
+ { /* Version 2 */
+ .data_bytes = 44,
+ .apat = {6, 18, 0},
+ .ecc = {
+ {.bs = 44, .dw = 28, .ns = 1},
+ {.bs = 44, .dw = 34, .ns = 1},
+ {.bs = 44, .dw = 16, .ns = 1},
+ {.bs = 44, .dw = 22, .ns = 1}
+ }
+ },
+ { /* Version 3 */
+ .data_bytes = 70,
+ .apat = {6, 22, 0},
+ .ecc = {
+ {.bs = 70, .dw = 44, .ns = 1},
+ {.bs = 70, .dw = 55, .ns = 1},
+ {.bs = 35, .dw = 13, .ns = 2},
+ {.bs = 35, .dw = 17, .ns = 2}
+ }
+ },
+ { /* Version 4 */
+ .data_bytes = 100,
+ .apat = {6, 26, 0},
+ .ecc = {
+ {.bs = 50, .dw = 32, .ns = 2},
+ {.bs = 100, .dw = 80, .ns = 1},
+ {.bs = 25, .dw = 9, .ns = 4},
+ {.bs = 50, .dw = 24, .ns = 2}
+ }
+ },
+ { /* Version 5 */
+ .data_bytes = 134,
+ .apat = {6, 30, 0},
+ .ecc = {
+ {.bs = 67, .dw = 43, .ns = 2},
+ {.bs = 134, .dw = 108, .ns = 1},
+ {.bs = 33, .dw = 11, .ns = 2},
+ {.bs = 33, .dw = 15, .ns = 2}
+ }
+ },
+ { /* Version 6 */
+ .data_bytes = 172,
+ .apat = {6, 34, 0},
+ .ecc = {
+ {.bs = 43, .dw = 27, .ns = 4},
+ {.bs = 86, .dw = 68, .ns = 2},
+ {.bs = 43, .dw = 15, .ns = 4},
+ {.bs = 43, .dw = 19, .ns = 4}
+ }
+ },
+ { /* Version 7 */
+ .data_bytes = 196,
+ .apat = {6, 22, 38, 0},
+ .ecc = {
+ {.bs = 49, .dw = 31, .ns = 4},
+ {.bs = 98, .dw = 78, .ns = 2},
+ {.bs = 39, .dw = 13, .ns = 4},
+ {.bs = 32, .dw = 14, .ns = 2}
+ }
+ },
+ { /* Version 8 */
+ .data_bytes = 242,
+ .apat = {6, 24, 42, 0},
+ .ecc = {
+ {.bs = 60, .dw = 38, .ns = 2},
+ {.bs = 121, .dw = 97, .ns = 2},
+ {.bs = 40, .dw = 14, .ns = 4},
+ {.bs = 40, .dw = 18, .ns = 4}
+ }
+ },
+ { /* Version 9 */
+ .data_bytes = 292,
+ .apat = {6, 26, 46, 0},
+ .ecc = {
+ {.bs = 58, .dw = 36, .ns = 3},
+ {.bs = 146, .dw = 116, .ns = 2},
+ {.bs = 36, .dw = 12, .ns = 4},
+ {.bs = 36, .dw = 16, .ns = 4}
+ }
+ },
+ { /* Version 10 */
+ .data_bytes = 346,
+ .apat = {6, 28, 50, 0},
+ .ecc = {
+ {.bs = 69, .dw = 43, .ns = 4},
+ {.bs = 86, .dw = 68, .ns = 2},
+ {.bs = 43, .dw = 15, .ns = 6},
+ {.bs = 43, .dw = 19, .ns = 6}
+ }
+ },
+ { /* Version 11 */
+ .data_bytes = 404,
+ .apat = {6, 30, 54, 0},
+ .ecc = {
+ {.bs = 80, .dw = 50, .ns = 1},
+ {.bs = 101, .dw = 81, .ns = 4},
+ {.bs = 36, .dw = 12, .ns = 3},
+ {.bs = 50, .dw = 22, .ns = 4}
+ }
+ },
+ { /* Version 12 */
+ .data_bytes = 466,
+ .apat = {6, 32, 58, 0},
+ .ecc = {
+ {.bs = 58, .dw = 36, .ns = 6},
+ {.bs = 116, .dw = 92, .ns = 2},
+ {.bs = 42, .dw = 14, .ns = 7},
+ {.bs = 46, .dw = 20, .ns = 4}
+ }
+ },
+ { /* Version 13 */
+ .data_bytes = 532,
+ .apat = {6, 34, 62, 0},
+ .ecc = {
+ {.bs = 59, .dw = 37, .ns = 8},
+ {.bs = 133, .dw = 107, .ns = 4},
+ {.bs = 33, .dw = 11, .ns = 12},
+ {.bs = 44, .dw = 20, .ns = 8}
+ }
+ },
+ { /* Version 14 */
+ .data_bytes = 581,
+ .apat = {6, 26, 46, 66, 0},
+ .ecc = {
+ {.bs = 64, .dw = 40, .ns = 4},
+ {.bs = 145, .dw = 115, .ns = 3},
+ {.bs = 36, .dw = 12, .ns = 11},
+ {.bs = 36, .dw = 16, .ns = 11}
+ }
+ },
+ { /* Version 15 */
+ .data_bytes = 655,
+ .apat = {6, 26, 48, 70, 0},
+ .ecc = {
+ {.bs = 65, .dw = 41, .ns = 5},
+ {.bs = 109, .dw = 87, .ns = 5},
+ {.bs = 36, .dw = 12, .ns = 11},
+ {.bs = 54, .dw = 24, .ns = 5}
+ }
+ },
+ { /* Version 16 */
+ .data_bytes = 733,
+ .apat = {6, 26, 50, 74, 0},
+ .ecc = {
+ {.bs = 73, .dw = 45, .ns = 7},
+ {.bs = 122, .dw = 98, .ns = 5},
+ {.bs = 45, .dw = 15, .ns = 3},
+ {.bs = 43, .dw = 19, .ns = 15}
+ }
+ },
+ { /* Version 17 */
+ .data_bytes = 815,
+ .apat = {6, 30, 54, 78, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 10},
+ {.bs = 135, .dw = 107, .ns = 1},
+ {.bs = 42, .dw = 14, .ns = 2},
+ {.bs = 50, .dw = 22, .ns = 1}
+ }
+ },
+ { /* Version 18 */
+ .data_bytes = 901,
+ .apat = {6, 30, 56, 82, 0},
+ .ecc = {
+ {.bs = 69, .dw = 43, .ns = 9},
+ {.bs = 150, .dw = 120, .ns = 5},
+ {.bs = 42, .dw = 14, .ns = 2},
+ {.bs = 50, .dw = 22, .ns = 17}
+ }
+ },
+ { /* Version 19 */
+ .data_bytes = 991,
+ .apat = {6, 30, 58, 86, 0},
+ .ecc = {
+ {.bs = 70, .dw = 44, .ns = 3},
+ {.bs = 141, .dw = 113, .ns = 3},
+ {.bs = 39, .dw = 13, .ns = 9},
+ {.bs = 47, .dw = 21, .ns = 17}
+ }
+ },
+ { /* Version 20 */
+ .data_bytes = 1085,
+ .apat = {6, 34, 62, 90, 0},
+ .ecc = {
+ {.bs = 67, .dw = 41, .ns = 3},
+ {.bs = 135, .dw = 107, .ns = 3},
+ {.bs = 43, .dw = 15, .ns = 15},
+ {.bs = 54, .dw = 24, .ns = 15}
+ }
+ },
+ { /* Version 21 */
+ .data_bytes = 1156,
+ .apat = {6, 28, 50, 72, 92, 0},
+ .ecc = {
+ {.bs = 68, .dw = 42, .ns = 17},
+ {.bs = 144, .dw = 116, .ns = 4},
+ {.bs = 46, .dw = 16, .ns = 19},
+ {.bs = 50, .dw = 22, .ns = 17}
+ }
+ },
+ { /* Version 22 */
+ .data_bytes = 1258,
+ .apat = {6, 26, 50, 74, 98, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 17},
+ {.bs = 139, .dw = 111, .ns = 2},
+ {.bs = 37, .dw = 13, .ns = 34},
+ {.bs = 54, .dw = 24, .ns = 7}
+ }
+ },
+ { /* Version 23 */
+ .data_bytes = 1364,
+ .apat = {6, 30, 54, 78, 102, 0},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 4},
+ {.bs = 151, .dw = 121, .ns = 4},
+ {.bs = 45, .dw = 15, .ns = 16},
+ {.bs = 54, .dw = 24, .ns = 11}
+ }
+ },
+ { /* Version 24 */
+ .data_bytes = 1474,
+ .apat = {6, 28, 54, 80, 106, 0},
+ .ecc = {
+ {.bs = 73, .dw = 45, .ns = 6},
+ {.bs = 147, .dw = 117, .ns = 6},
+ {.bs = 46, .dw = 16, .ns = 30},
+ {.bs = 54, .dw = 24, .ns = 11}
+ }
+ },
+ { /* Version 25 */
+ .data_bytes = 1588,
+ .apat = {6, 32, 58, 84, 110, 0},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 8},
+ {.bs = 132, .dw = 106, .ns = 8},
+ {.bs = 45, .dw = 15, .ns = 22},
+ {.bs = 54, .dw = 24, .ns = 7}
+ }
+ },
+ { /* Version 26 */
+ .data_bytes = 1706,
+ .apat = {6, 30, 58, 86, 114, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 19},
+ {.bs = 142, .dw = 114, .ns = 10},
+ {.bs = 46, .dw = 16, .ns = 33},
+ {.bs = 50, .dw = 22, .ns = 28}
+ }
+ },
+ { /* Version 27 */
+ .data_bytes = 1828,
+ .apat = {6, 34, 62, 90, 118, 0},
+ .ecc = {
+ {.bs = 73, .dw = 45, .ns = 22},
+ {.bs = 152, .dw = 122, .ns = 8},
+ {.bs = 45, .dw = 15, .ns = 12},
+ {.bs = 53, .dw = 23, .ns = 8}
+ }
+ },
+ { /* Version 28 */
+ .data_bytes = 1921,
+ .apat = {6, 26, 50, 74, 98, 122, 0},
+ .ecc = {
+ {.bs = 73, .dw = 45, .ns = 3},
+ {.bs = 147, .dw = 117, .ns = 3},
+ {.bs = 45, .dw = 15, .ns = 11},
+ {.bs = 54, .dw = 24, .ns = 4}
+ }
+ },
+ { /* Version 29 */
+ .data_bytes = 2051,
+ .apat = {6, 30, 54, 78, 102, 126, 0},
+ .ecc = {
+ {.bs = 73, .dw = 45, .ns = 21},
+ {.bs = 146, .dw = 116, .ns = 7},
+ {.bs = 45, .dw = 15, .ns = 19},
+ {.bs = 53, .dw = 23, .ns = 1}
+ }
+ },
+ { /* Version 30 */
+ .data_bytes = 2185,
+ .apat = {6, 26, 52, 78, 104, 130, 0},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 19},
+ {.bs = 145, .dw = 115, .ns = 5},
+ {.bs = 45, .dw = 15, .ns = 23},
+ {.bs = 54, .dw = 24, .ns = 15}
+ }
+ },
+ { /* Version 31 */
+ .data_bytes = 2323,
+ .apat = {6, 30, 56, 82, 108, 134, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 2},
+ {.bs = 145, .dw = 115, .ns = 13},
+ {.bs = 45, .dw = 15, .ns = 23},
+ {.bs = 54, .dw = 24, .ns = 42}
+ }
+ },
+ { /* Version 32 */
+ .data_bytes = 2465,
+ .apat = {6, 34, 60, 86, 112, 138, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 10},
+ {.bs = 145, .dw = 115, .ns = 17},
+ {.bs = 45, .dw = 15, .ns = 19},
+ {.bs = 54, .dw = 24, .ns = 10}
+ }
+ },
+ { /* Version 33 */
+ .data_bytes = 2611,
+ .apat = {6, 30, 58, 86, 114, 142, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 14},
+ {.bs = 145, .dw = 115, .ns = 17},
+ {.bs = 45, .dw = 15, .ns = 11},
+ {.bs = 54, .dw = 24, .ns = 29}
+ }
+ },
+ { /* Version 34 */
+ .data_bytes = 2761,
+ .apat = {6, 34, 62, 90, 118, 146, 0},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 14},
+ {.bs = 145, .dw = 115, .ns = 13},
+ {.bs = 46, .dw = 16, .ns = 59},
+ {.bs = 54, .dw = 24, .ns = 44}
+ }
+ },
+ { /* Version 35 */
+ .data_bytes = 2876,
+ .apat = {6, 30, 54, 78, 102, 126, 150},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 12},
+ {.bs = 151, .dw = 121, .ns = 12},
+ {.bs = 45, .dw = 15, .ns = 22},
+ {.bs = 54, .dw = 24, .ns = 39}
+ }
+ },
+ { /* Version 36 */
+ .data_bytes = 3034,
+ .apat = {6, 24, 50, 76, 102, 128, 154},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 6},
+ {.bs = 151, .dw = 121, .ns = 6},
+ {.bs = 45, .dw = 15, .ns = 2},
+ {.bs = 54, .dw = 24, .ns = 46}
+ }
+ },
+ { /* Version 37 */
+ .data_bytes = 3196,
+ .apat = {6, 28, 54, 80, 106, 132, 158},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 29},
+ {.bs = 152, .dw = 122, .ns = 17},
+ {.bs = 45, .dw = 15, .ns = 24},
+ {.bs = 54, .dw = 24, .ns = 49}
+ }
+ },
+ { /* Version 38 */
+ .data_bytes = 3362,
+ .apat = {6, 32, 58, 84, 110, 136, 162},
+ .ecc = {
+ {.bs = 74, .dw = 46, .ns = 13},
+ {.bs = 152, .dw = 122, .ns = 4},
+ {.bs = 45, .dw = 15, .ns = 42},
+ {.bs = 54, .dw = 24, .ns = 48}
+ }
+ },
+ { /* Version 39 */
+ .data_bytes = 3532,
+ .apat = {6, 26, 54, 82, 110, 138, 166},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 40},
+ {.bs = 147, .dw = 117, .ns = 20},
+ {.bs = 45, .dw = 15, .ns = 10},
+ {.bs = 54, .dw = 24, .ns = 43}
+ }
+ },
+ { /* Version 40 */
+ .data_bytes = 3706,
+ .apat = {6, 30, 58, 86, 114, 142, 170},
+ .ecc = {
+ {.bs = 75, .dw = 47, .ns = 18},
+ {.bs = 148, .dw = 118, .ns = 19},
+ {.bs = 45, .dw = 15, .ns = 20},
+ {.bs = 54, .dw = 24, .ns = 34}
+ }
+ }
+};
--- /dev/null
+Notes for the Debian OpenCV packages
+--------------------------------------
+
+The opencv package of Debian is divided every function.
+This is because a user does not install an unnecessary
+unction. For example, the libopencv_video library is not
+necessary when Video function is not necessary.
+
+ - libopencv-core*
+ - libopencv-imgproc*
+ - libopencv-flann*
+ - libopencv-features2d*
+ - libopencv-calib3d*
+ - libopencv-objdetect*
+ - libopencv-legacy*
+ - libopencv-video*
+ - libopencv-ml*
+ - libopencv-gpu*
+ - libopencv-superres*
+ - libopencv-imgproc*
+ - libopencv-highgui*
+ - libopencv-contrib*
+ - python-opencv
+ - and transition packages.
+
+Please install the package including a necessary library
+when you want to make a package using opencv.
+
+And, opencv provides pkg-config file and cmake config file.
+It is necessary you build it, and to Build-Depneds on
+libopencv-dev package if the package which you want to use
+pkg-config or cmake config file.
+
+When you build it and do not Build-Depends, please be careful
+because it becomes the build error.
+
+We ask an up stream to divide opencv.pc into every function.[0]
+
+ [0]: https://code.ros.org/trac/opencv/ticket/332
+
+-- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 02 Feb 2012 04:18:49 +0900
--- /dev/null
+How to use the Debian OpenCV java packages
+----
+
+Please see
+ http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html
+
+ ant -DocvJarDir=/usr/share/java/ -DocvLibDir=/usr/lib/
--- /dev/null
+#!/bin/bash
+set -e
+debian_dir="$(dirname "$0")"
+[ -z "$debian_dir" ] || cd "$debian_dir"
+old_sover="$(grep "^Package: libopencv-core[0-9]" control | cut -c24-)"
+new_sover="${1:?need new soversion as parameter}"
+[[ "$new_sover" = [0-9]* ]] || (echo>&2 "soversion must start with a digit"; exit 1)
+if [[ "$old_sover" = "$new_sover" ]]
+then
+ echo nothing to be done: $old_sover == $new_sover
+ exit 0
+fi
+packages=(
+ $(grep "^Package: lib" control | grep -F "${old_sover}" | cut -c10-)
+)
+for old_pkg in "${packages[@]}"
+do
+ new_pkg="${old_pkg/${old_sover}/${new_sover}}"
+ sed_args+=("-e" "s/${old_pkg/./\\.}/${new_pkg}/")
+ for old_f in ${old_pkg}.*
+ do
+ new_f="${old_f/${old_sover}/${new_sover}}"
+ mv -v "$old_f" "$new_f"
+ done
+done
+sed -i "${sed_args[@]}" control
+
--- /dev/null
+opencv (4.6.0+dfsg-13) unstable; urgency=medium
+
+ * Embed and enable the 3rdparty source for QUIRC as per user request.
+ * Add several missing build dependencies for libopenjp, libva and imath.
+ * Patch: remove the downloading function from cmake files.
+ * Fix obsolete B-D libgl1-mesa-dev => libgl-dev.
+ * Update copyright and lintian overrides. It's lintian-clean now.
+
+ -- Mo Zhou <lumin@debian.org> Sun, 16 Jul 2023 19:20:35 -0700
+
+opencv (4.6.0+dfsg-12) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Andreas Beckmann ]
+ * libopencv-core406: Add Breaks: libopencv-core4.5 for smoother upgrades
+ from bullseye (Closes: #1035886)
+
+ [ Jochen Sprickerhof ]
+ * Add upstream patches for CVE-2023-2617 and CVE-2023-2618 (Closes: #1035954)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Fri, 12 May 2023 11:40:38 +0200
+
+opencv (4.6.0+dfsg-11) unstable; urgency=medium
+
+ * Update d/rules.
+ Use -DCMAKE_SKIP_RPATH=ON instead of -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON.
+ (Closes: #1024638)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 01 Mar 2023 10:21:45 +0900
+
+opencv (4.6.0+dfsg-10) unstable; urgency=medium
+
+ * Update d/rules.
+ Add -DCMAKE_BUILD_RPATH_USE_ORIGIN=ON to configure of python extension
+ (Closes: #1024638)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 16 Jan 2023 11:23:50 +0900
+
+opencv (4.6.0+dfsg-9) unstable; urgency=medium
+
+ * Team upload.
+ * Fix FTBFS on arch any (Closes: #1024507)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Sun, 20 Nov 2022 22:22:15 +0100
+
+opencv (4.6.0+dfsg-8) unstable; urgency=medium
+
+ * Team upload.
+
+ [ Victor Westerhuis ]
+ * Build Python extension for all supported versions (Closes: 972566)
+ * Make binaries build reproducibly
+ * Make documentation build reproducibly (Closes: #1024482)
+
+ [ Jochen Sprickerhof ]
+ * Update build dependency
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Sun, 20 Nov 2022 16:12:59 +0100
+
+opencv (4.6.0+dfsg-7) unstable; urgency=medium
+
+ [ Victor Westerhuis ]
+ * Do not try to download any files while building (Closes: 1019519)
+ * Support building by directly calling d/rules
+ * Fix Java architecture test in d/build
+ * Do not build unused statically linked apps and Java bindings
+ * Delete useless Build-Depends on libswresample
+ * Fix building with LAPACK
+ * Build highgui module with QT support (Closes: 958028)
+
+ [ Mo Zhou ]
+ * Fix broken symlink for .jar file. (Closes: #1019863)
+
+ -- Mo Zhou <lumin@debian.org> Wed, 21 Sep 2022 20:51:42 -0400
+
+opencv (4.6.0+dfsg-6) unstable; urgency=medium
+
+ * Team upload.
+ * Revert "Package ovis module"
+ Needs libogre-1.12-dev which is not available on mipsel
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Tue, 09 Aug 2022 09:38:18 +0200
+
+opencv (4.6.0+dfsg-5) unstable; urgency=medium
+
+ * Team upload.
+ * Add patches to fix build (Closes: #1016684)
+ * Package ovis module
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Tue, 09 Aug 2022 07:02:57 +0200
+
+opencv (4.6.0+dfsg-4) unstable; urgency=medium
+
+ * Team upload.
+ * Upload to unstable
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Fri, 01 Jul 2022 22:22:48 +0200
+
+opencv (4.6.0+dfsg-3) experimental; urgency=medium
+
+ * Team upload.
+ * Don't build static Python 3 module
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Thu, 30 Jun 2022 13:13:22 +0200
+
+opencv (4.6.0+dfsg-2) experimental; urgency=medium
+
+ [ Adrian Bunk ]
+ * Team upload.
+ * Link with libatomic on architectures that might need it
+
+ [ Jochen Sprickerhof ]
+ * Clean up old Breaks/Conflicts/Replaces
+ * Drop versioned dependency (in oldoldstable)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Tue, 28 Jun 2022 07:39:59 +0200
+
+opencv (4.6.0+dfsg-1) experimental; urgency=medium
+
+ * Team upload.
+ * Update d/copyright
+ * Use oversionmangle in d/watch
+ * Add d/gbp.conf to import component as well
+ * New upstream version 4.6.0+dfsg (Closes: #1004718)
+ * Drop patch for debian-specific SOVERSION
+ * Drop salsa-ci.yml
+ * Rename packages due to Soname change
+ * Make libopencv-java unversioned
+ * Drop old manpages
+ * Bump policy version (no changes)
+ * Use dh-sequences
+ * Remove old files in d/
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Fri, 24 Jun 2022 10:06:16 +0200
+
+opencv (4.5.4+dfsg-9) unstable; urgency=medium
+
+ * Fix broken symlink
+ * Apply MA hint
+
+ -- Timo Röhling <roehling@debian.org> Tue, 30 Nov 2021 23:32:18 +0100
+
+opencv (4.5.4+dfsg-8) unstable; urgency=medium
+
+ * Resolve file conflict with libopencv4.5-jni (Closes: #999760)
+
+ -- Timo Röhling <roehling@debian.org> Tue, 30 Nov 2021 13:24:59 +0100
+
+opencv (4.5.4+dfsg-7) unstable; urgency=medium
+
+ * Team upload.
+ * Add patch for Debian Soname in pkg-config (Closes: #1000625)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Fri, 26 Nov 2021 09:52:16 +0100
+
+opencv (4.5.4+dfsg-6) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Timo Röhling <roehling@debian.org> Thu, 25 Nov 2021 22:21:16 +0100
+
+opencv (4.5.4+dfsg-5) experimental; urgency=medium
+
+ * Keep package name libopencv4.5-java
+
+ -- Timo Röhling <roehling@debian.org> Thu, 25 Nov 2021 20:56:30 +0100
+
+opencv (4.5.4+dfsg-4) experimental; urgency=medium
+
+ * Also add -d suffix to jar files (Closes: #999760)
+
+ -- Timo Röhling <roehling@debian.org> Fri, 19 Nov 2021 18:43:14 +0100
+
+opencv (4.5.4+dfsg-3) experimental; urgency=medium
+
+ * Also add -d suffix to shared library filenames (Closes: #999760)
+
+ -- Timo Röhling <roehling@debian.org> Tue, 16 Nov 2021 15:09:55 +0100
+
+opencv (4.5.4+dfsg-2) experimental; urgency=medium
+
+ * Team upload.
+ * Bump SOVERSION to 4.5d after upstream ABI breakage (Closes: #998141)
+
+ -- Timo Röhling <roehling@debian.org> Sat, 13 Nov 2021 12:49:30 +0100
+
+opencv (4.5.4+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 4.5.4+dfsg.
+ * Update d/control
+ - Add dh-sequence-python3 to B-D
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 18 Oct 2021 11:54:56 +0900
+
+opencv (4.5.3+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 4.5.3+dfsg.
+ * Add barcode and wechat-qrcode libraries to libopencv-contrib package.
+ * Add opencv_model_diagnostics to libopencv-dev.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 23 Aug 2021 15:46:54 +0900
+
+opencv (4.5.1+dfsg-5) unstable; urgency=medium
+
+ * Team upload.
+ * Drop depends between library packages (Closes: #979809)
+ * Drop ${java:Depends}/${java:Recommends} (undefined)
+ * Update libgdcm-dev arch list (Closes: #987621)
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Wed, 16 Jun 2021 14:09:47 +0200
+
+opencv (4.5.1+dfsg-4) unstable; urgency=medium
+
+ * Team upload.
+ * Revert "Fix debian-rules-sets-DEB_BUILD_OPTIONS"
+ * Add more Breaks for old ros-vision-opencv packages
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Thu, 31 Dec 2020 12:01:15 +0100
+
+opencv (4.5.1+dfsg-3) unstable; urgency=medium
+
+ * Team upload.
+ * Add Breaks for packages encoding old library names
+ * Fix debian-rules-sets-DEB_BUILD_OPTIONS
+ * Remove wrong lintian-overrides
+ * bump policy and debhelper versions
+ * Add MA hints
+
+ -- Jochen Sprickerhof <jspricke@debian.org> Wed, 30 Dec 2020 17:24:43 +0100
+
+opencv (4.5.1+dfsg-2) unstable; urgency=medium
+
+ [ Mo Zhou ]
+ * Bump B-D from VTK-7 to VTK-9.
+ * Add runtime Deps libcharls2 for python3-opencv. (Closes: #978452)
+
+ [ Pino Toscano ]
+ * Fix FTBFS on architectures without java. (Closes: #978028)
+
+ -- Mo Zhou <lumin@debian.org> Tue, 29 Dec 2020 14:45:26 +0800
+
+opencv (4.5.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 4.5.1+dfsg
+ * Refresh installation paths for upstream 4.5.1 release.
+ * Mark libopencv*-{java,jni} as Multi-Arch: no. (Closes: #969957)
+ * Correct bogus build dependencies on gdcm packages (Closes: #977991)
+ * Demote libopencv*-java to Recommends for libopencv-dev. (Closes: #969960)
+
+ -- Mo Zhou <lumin@debian.org> Thu, 24 Dec 2020 14:03:53 +0800
+
+opencv (4.5.0+dfsg-2) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Mo Zhou <lumin@debian.org> Tue, 22 Dec 2020 14:47:25 +0800
+
+opencv (4.5.0+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.5.0+dfsg (Closes: #959526)
+ * Bump VERSION from 4.4.0->4.5.0 for all control files.
+ * Install the newly added "mcc" module to libopencv-contrib{4.5,-dev}.
+ * d/copyright: Global license has been changed into Apache-2.0
+ * Deprecate libavresample in favor of libswresample. (Closes: #971330)
+ * Replace B-D libdc1394-22-dev with libdc1394-dev. (Closes: #970842)
+ * Bump VTK dep from libvtk6-dev to libvtk7-dev.
+ * Refresh d/copyright for opencv 4.5.0.
+ * Update lintian overrides.
+
+ -- Mo Zhou <lumin@debian.org> Wed, 02 Dec 2020 17:01:26 +0800
+
+opencv (4.4.0+dfsg2-1) experimental; urgency=medium
+
+ * New upstream version 4.4.0+dfsg2 (Closes: #959526)
+ * Refresh existing patches.
+ * Bump VERSION from 4.3->4.4 for all control files.
+ * rules: Add a comment on WITH_QT=OFF.
+ * rules: Toggle cmake option -DWITH_GPHOTO2=ON. (Closes: #963143)
+ * d/copyright: Filter out one more lena image.
+
+ -- Mo Zhou <lumin@debian.org> Sat, 05 Sep 2020 14:08:36 +0800
+
+opencv (4.3.0+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.3.0+dfsg
+ * Bump SOVER from 4.2 to 4.3 for control files.
+
+ -- Mo Zhou <lumin@debian.org> Thu, 23 Apr 2020 14:51:13 +0800
+
+opencv (4.2.0+dfsg-6) unstable; urgency=medium
+
+ [ Samuel Thibault ]
+ * Really drop statically linked tests (Closes: #943706)
+
+ [ Andreas Tille ]
+ * cme fix dpkg-control
+ * Respect DEB_BUILD_OPTIONS in override_dh_auto_test target (routine-update)
+ * Remove trailing whitespace in debian/copyright (routine-update)
+ * Add salsa-ci file (routine-update)
+ * Use correct machine-readable copyright file URI.
+ * Add debian/upstream/metadata
+ * Re-add riscv64 which is not known yet to cme and thus was removed to run cme successfully
+
+ [ Mo Zhou ]
+ * Really disable building test code and remove bin:libopencv-ts-dev.
+ * Mark libopencv4.2-java as M-A: foreign. (Closes: #942016)
+
+ -- Mo Zhou <lumin@debian.org> Thu, 02 Apr 2020 21:35:38 +0800
+
+opencv (4.2.0+dfsg-5) unstable; urgency=medium
+
+ [ Mo Zhou ]
+ * Enable building with gstreamer as per user request.
+ * Bump Standards-Version to 4.5.0 (no change).
+ * Specify Rules-Requires-Root: no.
+
+ [ Aurelien Jarno ]
+ * Re-enable features disabled on riscv64. (Closes: #951464)
+
+ -- Mo Zhou <lumin@debian.org> Tue, 18 Feb 2020 11:31:25 +0800
+
+opencv (4.2.0+dfsg-4) unstable; urgency=medium
+
+ * Skip dh_dwz on mipsel architecture.
+
+ -- Mo Zhou <lumin@debian.org> Mon, 03 Feb 2020 09:14:53 +0800
+
+opencv (4.2.0+dfsg-3) unstable; urgency=medium
+
+ * Upload to unstable.
+
+ -- Mo Zhou <lumin@debian.org> Sat, 01 Feb 2020 11:14:25 +0800
+
+opencv (4.2.0+dfsg-2) experimental; urgency=medium
+
+ * Remove unnecessary CPU baseline/dispatch flags and use upstream default.
+ * Stop building examples (-DBUILD_EXAMPLES=OFF) (Closes: #943706)
+ * Build without Java on several port architectures.
+ (Thanks Samuel Thibault) (Closes: #948248)
+ * Initialize autopkgtest: read image via python interface.
+ * No longer build tests for the shared object build.
+ * Remove get-orig-source target as uscan is already useful enough.
+ * Override lintian warnings for libopencv-dev::opencv4.pc .
+ * Bump debhelper compat level to 12 and deprecate d/compat.
+ * Update lintian overrides.
+
+ -- Mo Zhou <lumin@debian.org> Fri, 10 Jan 2020 16:58:15 +0800
+
+opencv (4.2.0+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.2.0+dfsg
+ * control: bump SOVERSION from 4.1 to 4.2
+ * Let libopencv4.2-java breaks&replaces libopencv4.1-java.
+ * Bump SOVERSION for install control files and pom.xml.
+ * Remove obsolete patch workaround-javadoc-failure.patch .
+ * Remove obsolete patch cmake-mips-no-msa.patch.
+ * Add the missing B-D libilmbase-dev.
+ * Add patch cmake-revert-openexr.patch to prevent FTBFS.
+ * Add missing B-D python3-bs4.
+ Make this package buildtable for RISCV64.
+ * Remove SSE3 and AVX from dynamic dispatching list for amd64.
+ * Explicitly set WITH_LAPACK and WITH_PROTOBUF to ON, and WITH_QT to OFF.
+ * Add WITH_NGRAPH=OFF to cmake options.
+ * Update my email address.
+
+ -- Mo Zhou <lumin@debian.org> Tue, 31 Dec 2019 12:33:06 +0800
+
+opencv (4.1.2+dfsg-5) unstable; urgency=medium
+
+ [ Bas Couwenberg ]
+ * Replace libgdbm2-dev with libgdbm-dev,
+ and libvtkgdcm2-dev with libvtkgdcm-dev. (closes: #944341)
+
+ [ Mo Zhou ]
+ * Add AVX512_COMMON to amd64 dispatch list, and VFPV3,NEON to arm64 list.
+ * Exclude gdcm development packages from B-D on non-release architectures.
+
+ [ Gianfranco Costamagna ]
+ * Remove builddir-static to save some space (Closes: #943706)
+
+ -- Mo Zhou <cdluminate@gmail.com> Sun, 24 Nov 2019 16:08:26 +0800
+
+opencv (4.1.2+dfsg-4) unstable; urgency=medium
+
+ * Disable MSA (MIPS* arch) to avoid ISA violation. (Closes: #942561)
+ * Re-enable pkg-config file generation. (Closes: #942562)
+ * Install the opencv4.pc file to libopencv-dev
+
+ -- Mo Zhou <cdluminate@gmail.com> Fri, 18 Oct 2019 14:39:01 +0000
+
+opencv (4.1.2+dfsg-3) unstable; urgency=medium
+
+ * Upload to unstable and start transition.
+
+ -- Mo Zhou <cdluminate@gmail.com> Wed, 16 Oct 2019 16:46:08 +0800
+
+opencv (4.1.2+dfsg-2) experimental; urgency=medium
+
+ * Deprecate the Python2 package: python-opencv. (Closes: #937199)
+ * Don't run unit tests on mipsel at all.
+ * Revert "Bump VTK B-D from libvtk6-dev to libvtk7-dev." for portability.
+ * Rebuild in experimental (Closes: #940483)
+
+ -- Mo Zhou <cdluminate@gmail.com> Tue, 15 Oct 2019 11:42:43 +0800
+
+opencv (4.1.2+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.1.2+dfsg
+ * Files-Excluded: exclude more Lena images from the source.
+ * Drop patches for "fixing the atomic linkage".
+ * Bump version numbers for java files from 4.1.1 to 4.1.2.
+ * Install the new contrib module dnn_superres.
+ * Use "noopt" and "-gsplit-dwarf" on mipsel.
+
+ -- Mo Zhou <cdluminate@gmail.com> Sun, 13 Oct 2019 16:51:16 +0800
+
+opencv (4.1.1+dfsg-3) experimental; urgency=medium
+
+ * Disable parallel build for mips* architectures due to OOM issue.
+
+ -- Mo Zhou <cdluminate@gmail.com> Sat, 28 Sep 2019 14:35:37 +0800
+
+opencv (4.1.1+dfsg-2) experimental; urgency=medium
+
+ * Enable code path dispatch for SIMD optimization.
+ * Prevent dh_numpy from generating depends field for every package.
+ * Copyright: mention different 3rd clauses in BSD-3 licenses.
+ * Fixup armel FTBFS:
+ * Cherry-pick 4649728 to fix atomic linkage.
+ * Cherry-pick c657c6c to fix minor issue in the atomic fix.
+ * RISCV64: disable gdcm2 support and enable tbb support. (Closes: #924713)
+
+ -- Mo Zhou <cdluminate@gmail.com> Fri, 20 Sep 2019 05:22:17 +0000
+
+opencv (4.1.1+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.1.1+dfsg
+ * Re-enable dh_auto_tests and keep performance tests disabled.
+ + Allow some tests to fail.
+ * Bump OpenCV version number for Java related control files.
+ * Fix disordered output when building the package:
+ * Use ninja (-GNinja & B-D) build.
+ * Avoid parallel d/rules build steps.
+ * Avoid parallel d/rules configure steps.
+ * Patch a XML file to circumvent the javadoc build failure.
+ * Install additional YML files to opencv-data.
+
+ -- Mo Zhou <cdluminate@gmail.com> Tue, 27 Aug 2019 06:12:54 +0000
+
+opencv (4.1.0+dfsg-1) experimental; urgency=medium
+
+ * New upstream version 4.1.0+dfsg
+ * Bump SOVERSION from 4.0 to 4.1, and update installation files as well.
+ * Update OpenCV version to 4.1.0 in pom.xml.
+ * libopencv4.1-java Breaks&Replaces libopencv4.0-java.
+ * Patch cmake to prevent it from installing excluded files.
+ * New "quality" module in contrib.
+ * Override several lintian warnings.
+
+ -- Mo Zhou <cdluminate@gmail.com> Tue, 16 Apr 2019 07:37:32 +0000
+
+opencv (4.0.1+dfsg-1~exp1) experimental; urgency=medium
+
+ * New upstream version 4.0.1+dfsg
+ + Bump package names: 3.4 => 4.0
+ + Bump version number for java package installation files.
+ + libopencv4.0-java breaks & replaces libopencv3.4-java.
+ * New place-holder packages for "gapi" module (Graph API).
+ + libopencv-gapi4.0, libopencv-gapi-dev
+ - Append CMake option WITH_ADE=OFF to disable building gapi,
+ because WITH_ADE=ON triggers 3rdparty tarball download.
+ * Remove unused "modules/dnn/3rdparty" exclusion from copyright.
+ * Bump VTK B-D from libvtk6-dev to libvtk7-dev.
+ * Remove sed-patch for installed CMake files and update install target.
+ * Add WITH_OPENCL=on and WITH_OPENGL=on to CMake options.
+ * Reflect changes of upstream installation layout.
+ + /usr/include/opencv/ has been completely removed.
+ + Headers have been moved to /usr/include/opencv4/opencv2/*
+ * Remove debian/not-installed
+ * Replace dh_install --fail-missing with override_dh_missing target.
+ * Fix typo for the -DOPENCV_SKIP_PYTHON_LOADER=ON argument.
+ * Pkg-config file (deprecated) is no longer provided by libopencv-dev.
+ * Append myself to copyright holders of debian directory.
+ * Bump Standards-Version to 4.3.0 (no change).
+
+ -- Mo Zhou <cdluminate@gmail.com> Mon, 04 Feb 2019 02:13:51 +0000
+
+opencv (3.4.5+dfsg-1~exp1) experimental; urgency=medium
+
+ * New upstream version 3.4.5+dfsg
+ * Reference bugs forgot to close in changelog of previous revision.
+ * Add Depends: libilmbase-dev to libopencv-dev to fix missing shlib
+ deps for binary executables shipped in libopencv-dev.
+ * Update the list of closed CVEs in the previous changelog section.
+ Synced with Gianfranco Costamagna's Ubuntu delta (3.2.0+dfsg-5ubuntu1).
+ * RM README.source, move Files-Excluded to d/copyright (Closes: #862796)
+ * Breaks+Replaces libopencv3.3-java. (Closes: #880212)
+ * Bump version string from 344 to 345 for Java stuff and pom.xml
+ * Amend installation of python files.
+ * Define OPENCV_SKIP_PYTHON_LOADER=ON.
+
+ -- Mo Zhou <cdluminate@gmail.com> Sun, 30 Dec 2018 10:18:57 +0000
+
+opencv (3.4.4+dfsg-1~exp1) experimental; urgency=medium
+
+ [ Mattia Rizzolo ]
+ * d/control:
+ + Use unversioned Conflicts in libopencv-dev, to force the removal
+ of some old packages. Closes: #880921
+ + Remove dbus-x11 work around now that #878878 is fixed.
+
+ [ Nobuhiro Iwamatsu ]
+ * Add libvtkgdcm2-dev, libgdcm-tools to Build-Depends.
+ * Set -DBUILD_PROTOBUF=OFF in CMake options
+ * Remove patches:
+ - fix_ftbfs_on_non_linux, support_multiarch, mathjax
+ - disable_dnn_modern, fix_java_build.patch
+ * Update module list of contrib, add hfs module to contrib.
+ * Install usr/share/OpenCV/licenses/SoftFloat-COPYING.txt to libopencv-dev
+ * Update debhelper compatibility to 11
+ * Bump Standards-Version to 4.1.5
+ * Change Vcs-Git and Vcs-Browser to salsa
+ * Update patches/disable_opengl_test_build
+ * Update patches/change_jquery.js_path
+
+ [ Mo Zhou ]
+ * New upstream version 3.4.4+dfsg (Closes: #913330)
+ * Append myself to Uploaders.
+ * Remove patch disable_opengl_test_build, not useful anymore.
+ * Sort CMake options in rules.
+ * Explicitly enable the dnn and face modules in CMake options.
+ (Closes: #909179)
+ * Prevent CMake from downloading pre-trained model for face module. (patch)
+ * Update jar Version in d/pom.xml
+ * Fix java build/installation by explicitly specifying ANT_EXECUTABLE.
+ (Ref: #914748)
+ * Compile then install the text module to the -contrib package.
+ * New binary package libopencv-dnn3.4, and it's corresponding dev package.
+ * New shared object libopencv_dnn_objdetect.so in the -contrib package.
+ * Update d/copyright.
+ * Misc cleanup: fix metadata syntax error.
+ * Define PROTOBUF_UPDATE_FILES=ON in cmake options in order to refresh
+ protobuf related files for the dnn module.
+
+ [ Vulnerabilities Fixed in Upstream 3.4.4 Release ]
+ * CVE-2016-1516, CVE-2016-1517 (Ref: #872043)
+ * CVE-2017-12597, CVE-2017-12598, CVE-2017-12599, CVE-2017-12601,
+ CVE-2017-12603, CVE-2017-12604, CVE-2017-12605, CVE-2017-12606
+ (Ref: 872044)
+ * CVE-2017-12600, CVE-2017-12602 (Ref: #872045)
+ * CVE-2017-12862 (Ref: #875342)
+ * CVE-2017-12863 (Ref: #875344)
+ * CVE-2017-12864 (Ref: #875345)
+ * CVE-2017-14136
+ * CVE-2017-17760 (Ref: #885843)
+ * CVE-2017-18009
+ * CVE-2017-1000450 (Ref: #886282)
+ * CVE-2018-5268 (Closes: #886674)
+ * CVE-2018-5269 (Closes: #886675)
+
+ -- Mo Zhou <cdluminate@gmail.com> Tue, 27 Nov 2018 14:13:09 +0000
+
+opencv (3.3.0+dfsg-1~exp0) experimental; urgency=medium
+
+ * Team upload.
+
+ [ Nobuhiro Iwamatsu ]
+ * Update to OpenCV 3.3.0.
+ * Refresh patches.
+ + Remove fix_VFP_asm patch, applied upstream.
+ * Disable ITT.
+ * Disable the dnn module through a CMake option instead of a patch.
+ * Disable the dnn_modern module.
+ * Add img_hasn and traking modules to libopencv-contrib.
+ * Remove valgrind.supp and valgrind_3rdparty.supp.
+
+ [ Mattia Rizzolo ]
+ * d/patches:
+ + Drop unused Don-t-check-sphinx-build-version.patch patch file.
+ + Forward fix_ftbfs_on_non_linux.
+ * d/rules:
+ + Handle CPU optimization the way OpenCV 3.3 expects us to.
+ * Bump debhelper compat level to 10.
+ + Drop dh --parallel option, now default.
+ * Drop unused lintian override debian-watch-file-should-mangle-version
+ * d/patches/fix_java_build.patch: add to fix FTBFS in certain conditions.
+ * d/control: place libopencv3.3-jni in section java.
+ * Install maven artifacts with maven-repo-helper so reverse dependencies can
+ automatically pick the dependency by using ${maven:Depends}.
+ Thanks to Gilles Filippini <pini@debian.org> for the patch. Closes: #878949
+
+ -- Mattia Rizzolo <mattia@debian.org> Sun, 29 Oct 2017 15:59:18 +0100
+
+opencv (3.2.0+dfsg-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * debian/patches: Fix building with ffmpeg 4.0. (Closes: #888386)
+
+ -- Sebastian Ramacher <sramacher@debian.org> Wed, 11 Jul 2018 22:59:18 +0200
+
+opencv (3.2.0+dfsg-4) unstable; urgency=medium
+
+ * Team upload.
+ * Install maven artifacts with maven-repo-helper so reverse dependencies can
+ automatically pick the dependency by using ${maven:Depends}.
+ Thanks to Gilles Filippini <pini@debian.org> for the patch. Closes: #878949
+ * d/control:
+ + Use unversioned Conflicts in libopencv-dev, to force the removal
+ of some old packages. Closes: #880921
+ + Remove dbus-x11 work around now that #878878 is fixed.
+
+ -- Mattia Rizzolo <mattia@debian.org> Sat, 11 Nov 2017 13:46:48 +0100
+
+opencv (3.2.0+dfsg-3) unstable; urgency=medium
+
+ * Team upload.
+ * d/p/support_multiarch: forward the patch after a small edit.
+ * d/p/mathjax: make the MATHJAX_RELPATH option configurable at build time
+ through cmake, and then forward the patch.
+ * Despite tbb being available in all linux architectures, we need it in a
+ version that is not available everywhere, so revert back to enabling it
+ only on a hand-picked list of architectures. Closes: #878830
+ * d/control: work around #878878 in dbus by explictly adding dbus-x11 to
+ build-deps for !linux.
+
+ -- Mattia Rizzolo <mattia@debian.org> Tue, 17 Oct 2017 16:27:02 +0200
+
+opencv (3.2.0+dfsg-2) unstable; urgency=medium
+
+ * Team upload.
+ * d/patches:
+ + support_x32 patch: drop, it actually did nothing useful.
+ + fix_ftbfs_on_non_linux: simplify patch, by removing several hunks no
+ longer needed.
+ Incidentally, this fixes the FTBFS in x32. Closes: #878705
+ * d/rules:
+ + Enable DICOM support. Closes: #843513
+ + tbb is now available in all linux archs, so enable it for all linux-any.
+ + Enable SSE and SSE2 on all architectures based on a amd64 cpu, not just
+ amd64 itself
+ + Use /usr/share/dpkg/architecture.mk instead of calling dpkg-architecture.
+
+ -- Mattia Rizzolo <mattia@debian.org> Mon, 16 Oct 2017 23:44:22 +0200
+
+opencv (3.2.0+dfsg-1) unstable; urgency=medium
+
+ * Team upload.
+ * Upload to unstable.
+ * Bump Standards-Version to 4.1.1:
+ + Use HTTPS in debian/copyright's Format field.
+ * Use HTTPS for the Homepage URL.
+
+ -- Mattia Rizzolo <mattia@debian.org> Fri, 13 Oct 2017 19:32:01 +0200
+
+opencv (3.2.0+dfsg-1~exp2) experimental; urgency=medium
+
+ * Team upload.
+ * Explicitly disable carotene support to fix FTBFS on arm*.
+ * Drop conditional enabling of OpenGL, it can't be enabled with GTK+3
+ anyway. Closes: #869975
+ * Changelog for 3.2.0+dfsg-1~exp2
+
+ -- Mattia Rizzolo <mattia@debian.org> Mon, 31 Jul 2017 10:50:25 +0200
+
+opencv (3.2.0+dfsg-1~exp1) experimental; urgency=medium
+
+ * Update to 3.2.0.
+ - Add freetype and phase_unwrapping modules into libopencv-contrib.
+ - Disable DNN and tracking module (temporary).
+ * Add patches/fix_VFP_asm.patch.
+ * Update Standards-Version to 4.0.0.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 29 Jun 2017 09:42:02 +0900
+
+opencv (3.1.0+dfsg1-1~exp1) experimental; urgency=medium
+
+ * Team upload.
+
+ [ Mattia Rizzolo ]
+ * Rewrite d/copyright using copyright-format 1.0.
+ * Add Files-Excluded listing the removed files.
+ * Update watch file, pointing to github.
+ * Add the contrib modules as a multiple upstream tarball.
+ * Add new build-dependencies needed by contrib modules.
+ * Override lintian tag debian-watch-file-should-mangle-version (see #505857).
+ * override lintian warning package-name-doesnt-match-sonames for
+ libopencv-contrib.
+ * Add some DEP-3 descriptions to two patches.
+
+ [ Nobuhiro Iwamatsu ]
+ * Remove obsolete files of libopencv-legacy.
+ * Build the opencv_contrib libraries. Closes: #861194
+ * Fix Build with HDF5. Add patches/moudles_hdf5.patch
+
+ -- Mattia Rizzolo <mattia@debian.org> Wed, 26 Apr 2017 18:17:33 +0200
+
+opencv (3.1.0+dfsg-1~exp5) experimental; urgency=medium
+
+ * Team upload.
+ * wrap-and-sort -ast.
+ * Add (Build-)Depends on libavresample-dev.
+ * Add (Build-)Depends on libgphoto2-dev.
+ * Install usr/include/opencv2/cvconfig.h in libopencv-core-dev. LP: #1315418
+ * d/rules: use --fail-missing instead of --list-missing, to be really sure
+ nothing is left out.
+
+ -- Mattia Rizzolo <mattia@debian.org> Mon, 24 Apr 2017 01:35:03 +0200
+
+opencv (3.1.0+dfsg-1~exp4) experimental; urgency=medium
+
+ * Team upload.
+ * debian/rules cleanup:
+ + Remove rm(1)s that do not seem to do anything (anymore).
+ + DRY up the BUILDDIR variable.
+ + Do not mangle BUILDDIR on i386, there should be no need for it.
+ + Add an override to dh_auto_install to pass the correct BUILDDIR (should
+ fix FTBFS for kfreebsd-i386 (and probably this is what the original
+ BUILDDIR mangling is about)).
+ + Proper calls to clean cmake build products.
+ + The build system is recognized by debhelper, no need to tell it.
+ + Use a single cp call to copy the static libs.
+
+ -- Mattia Rizzolo <mattia@debian.org> Sun, 23 Apr 2017 22:12:08 +0200
+
+opencv (3.1.0+dfsg-1~exp3) experimental; urgency=medium
+
+ * Team upload.
+ * debian/rules:
+ + Do not forcefully disable PIE anymore, -pie changed meaning.
+ Also remove +fortify, as that's on by default anyway. Closes: #859440
+ + Drop empty override_dh_fixperms.
+ + Remove empty directories from the installed tree.
+ * debian/control:
+ + Make libopencv-dev suggest opencv-doc. Closes: #806703
+ + Drop not needed libgtk2.0-dev dependency of libopencv-highgui-dev.
+ Closes: #817017
+ + Fix installability problem in case of binNMUs. Closes: #844067
+ Mark libopencv3.1-java as Breaking/Replacing the 2.4 version.
+ Closes: #810516
+ + Avoid duplicate long descriptions.
+ * Build a python3 package. Closes: #799262; LP: #1556156
+ Thanks to Kota Kato <orangain@gmail.com> for the initial patch.
+ * Use dh_numpy instead of hardconding the numpy ABI number.
+ * Build with GTK+ 3 (instead of GTK+ 2). (Closes: #822607)
+ * Remove disabled patches
+ * Refresh patches.
+ * Remove obsolete lintian override.
+
+ -- Mattia Rizzolo <mattia@debian.org> Mon, 03 Apr 2017 22:25:01 +0200
+
+opencv (3.1.0+dfsg-1~exp2) experimental; urgency=medium
+
+ * Fix Depends of libopencv-shape3.1 and libopencv-shape-dev.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 19 Oct 2016 09:17:57 +0900
+
+opencv (3.1.0+dfsg-1~exp1) experimental; urgency=medium
+
+ * Add old header files into libopencv-dev.
+ * Update debian/control.
+ - Add Replaces and Conflicts to libopencv-dev.
+ - Fix version of libopencv3.1-jni for libopencv3.1-java.
+ - Fix Depends of libopencv-dev. Add libopencv3.1-java. (Closes: #833616)
+ - Add libopencv-shape-dev to Depends of libopencv-dev. (Closes: #818738)
+ - Add libtbb-dev to Depends of libopencv-core-dev. (Closes: #838916)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 18 Oct 2016 06:22:32 +0900
+
+opencv (3.1.0+dfsg-1~exp0) experimental; urgency=medium
+
+ * Update to 3.1.0.
+ * Add patches/disable_opengl_test_build.
+ * Add libjs-mathjax to Depends of opencv-doc and debian/patches/mathjax.
+ * Add libjs-jquery to Depends of opencv-doc and add
+ debian/patches/change_jquery.js_path.
+ * Update Standards-Version to 3.9.8.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 25 Jun 2016 06:15:45 +0900
+
+opencv (3.0.0+dfsg-1~exp7) experimental; urgency=medium
+
+ * Fix libopencv_shape dependencies.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 27 Jul 2016 15:07:29 +0200
+
+opencv (3.0.0+dfsg-1~exp6) experimental; urgency=medium
+
+ [ Nobuhiro Iwamatsu ]
+ * Fix missing install of opencv2/core.hpp
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 26 Jul 2016 08:39:25 +0200
+
+opencv (3.0.0+dfsg-1~exp5) experimental; urgency=medium
+
+ * Fix libvtk6.3 runtime dependency
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 17 Jul 2016 10:08:15 +0200
+
+opencv (3.0.0+dfsg-1~exp4) experimental; urgency=medium
+
+ * Upload again on experimental, to build against new gdal 2.1.1
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 16 Jul 2016 10:07:18 +0200
+
+opencv (3.0.0+dfsg-1~exp3) experimental; urgency=medium
+
+ [ Andreas Cadhalpun ]
+ * Fix build with ffmpeg 3.0. (Closes: #803847)
+
+ [ Gianfranco Costamagna ]
+ * Team upload
+ * merge unstable NMUs
+ * rebase ffmpeg patch
+ * Disable optimize i586 patch, now Debian has i686
+
+ [ Tobias Frost ]
+ * Do not use precompiled headers (Closes: #818450)
+
+ [ Mattia Rizzolo ]
+ * Use HTTPS in Vcs-* fields.
+ * Disable opengl when building in armhf (in Ubuntu only)
+ * Don't build with jasper. Closes: #818207
+ - This causes libopencv-highgui to lose symbols, but we don't rename the
+ package because the breakage is in experimental only.
+ * Fix typo in README.Debian.
+ * Remove unused lintian override python-script-but-no-python-dep.
+
+ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 08 Jul 2016 15:43:15 +0200
+
+opencv (3.0.0+dfsg-1~exp2) experimental; urgency=medium
+
+ * Fix FTBFS on i386.
+ * Build with -march=i586 instead of -march=i686 on i386.
+ Add debian/patches/optimize_i586.patch.
+ * Fix FTBFS on x32. (Closes: #792264)
+ Add debian/patches/support_x32. Thanks to Thorsten Glaser <tg@mirbsd.de>.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 07 Jan 2016 23:48:01 +0900
+
+opencv (3.0.0+dfsg-1~exp1) experimental; urgency=medium
+
+ * Update to 3.0.0 (Closes: #792677, #805099; LP: #1516985).
+ * Remove libopencv-legacy and libopencv-contrib.
+ These features are not provided from the new version.
+ * Remove old packages (libcv*, libhighgui*, libcvaux*).
+ * Add support gdal and vtk.
+ * Enable parallel building.
+ * Remove image files of Lena (Closes: #794856).
+ * Add debug packages (Closes: #803404).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 10 Dec 2015 00:07:44 +0900
+
+opencv (2.4.11+dfsg-1) unstable; urgency=medium
+
+ * Update to 2.4.11.
+ * Update debian/control.
+ - Bumped standards-version to 3.9.6.
+ * Remove image files of Lena (Closes: #794856)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 09 Dec 2015 00:36:05 +0900
+
+opencv (2.4.9.1+dfsg-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * debian/patches:
+ - Add fix_ftbfs_with_gcc6 to fix FTBFS with gcc-6. (Closes: #828928)
+
+ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Tue, 04 Oct 2016 17:07:49 +0200
+
+opencv (2.4.9.1+dfsg-2) unstable; urgency=medium
+
+ * Team upload.
+ * Use HTTPS in Vcs-* fields.
+ * Disable opengl when building in armhf (in Ubuntu only)
+ * Don't build with jasper. Closes: #818207
+ This causes libopencv-highgui to lose symbols, so we need to rename the
+ package and do a transition.
+ * Fix typo in README.Debian.
+ * Remove unused lintian override python-script-but-no-python-dep.
+ * Add missing dependency on libopencv-gpu2.4v5 to libopencv-gpu-dev.
+ Closes: #825583
+
+ -- Mattia Rizzolo <mattia@debian.org> Mon, 27 Jun 2016 05:08:42 +0000
+
+opencv (2.4.9.1+dfsg-1.5) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Do not use precompiled headers (Closes: #818450)
+
+ -- Tobias Frost <tobi@debian.org> Thu, 07 Apr 2016 16:43:31 +0200
+
+opencv (2.4.9.1+dfsg-1.4) unstable; urgency=medium
+
+ * Non-maintainer upload.
+
+ [ Andreas Cadhalpun ]
+ * Fix build with ffmpeg 3.0. (Closes: #803847)
+
+ -- Sebastian Ramacher <sramacher@debian.org> Sun, 06 Mar 2016 23:57:30 +0100
+
+opencv (2.4.9.1+dfsg-1.3) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Refresh debian/patches:
+ - Update change_type_from_int_to_Atomic_word to fix
+ FTBFS on sparc64. (Closes: #714923)
+ - Re-add fix_without_sysctl.patch to fix FTBFS on x32. (Closes: #792264)
+
+ -- John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Mon, 08 Feb 2016 10:51:45 +0100
+
+opencv (2.4.9.1+dfsg-1.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Rename library packages for g++5 ABI transition.
+ Patch provided by Matthias Klose. (Closes: #791226)
+ * Remove Lintian overrides from Matthias' patch, current Lintian accepts
+ v5 package names as-is.
+ * Build-depend on the version of openexr that started its transition.
+ * Add patch to stop checking the version of sphinx-build (which makes
+ no difference anyway), fixing arch-indep build (#792715; not closing
+ that bug here because it is unclear whether it is considered to be a
+ sphinx bug).
+ * Deliberately not addressing #794856 in this upload, since it requires
+ repacking the orig.tar and is not a regression.
+
+ -- Simon McVittie <smcv@debian.org> Wed, 19 Aug 2015 22:36:43 +0100
+
+opencv (2.4.9.1+dfsg-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+
+ [ Bernhard Übelacker ]
+ * Build with -march=i586 instead of -march=i686 on i386. (Closes: #784647)
+
+ -- Sebastian Ramacher <sramacher@debian.org> Fri, 15 May 2015 21:34:12 +0200
+
+opencv (2.4.9.1+dfsg-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Add support ppc64el. (Closes: #754094)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 19 Sep 2014 11:04:13 +0900
+
+opencv (2.4.9+dfsg-1) unstable; urgency=medium
+
+ * New upstream release. (Closes:#753689)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 01 Jul 2014 07:58:34 +0900
+
+opencv (2.4.8+dfsg1-2.2) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix version in symbolic links for libopencv2.4-java (closes: #747500)
+
+ -- Gilles Filippini <pini@debian.org> Wed, 21 May 2014 07:52:52 +0200
+
+opencv (2.4.8+dfsg1-2.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Add libav10.patch by Anton Khirnov to allow compilation against
+ Libav10 (Closes: #739440)
+
+ -- Reinhard Tartler <siretart@tauware.de> Sun, 11 May 2014 09:57:31 -0400
+
+opencv (2.4.8+dfsg1-2) unstable; urgency=medium
+
+ * Update debian/control.
+ - Add libopencv-java and libopencv-jni to Depends of libopencv-dev.
+ - Update depends of libopencv-jni, libopencv-java and libopencv-dev.
+ * Update debian/libopencv2.4-jni.install.
+ Fix install path of libopencv_java248.so
+ * Update debian/rules.
+ Fix install path of jni library.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 18 Feb 2014 06:16:59 +0900
+
+opencv (2.4.8+dfsg1-1) unstable; urgency=low
+
+ * Update to new source.
+ Remove Milky directory in modules/highgui/src/files_Qt/.
+ * Update debian/control.
+ Add libopencv-ocl-dev to Depends of libopencv-dev. (Closes: #737584)
+ * Update libopencv-dev.install.
+ Install OpenCVModules-release.cmake and OpenCVModules.cmake.
+ (Closes: #737153)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 12 Feb 2014 16:37:21 +0900
+
+opencv (2.4.8+dfsg-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 14 Jan 2014 12:28:02 +0900
+
+opencv (2.4.7+dfsg-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #732063)
+ * Add patches/revert-Make-ts-always-static.
+ * Add ocl library. (Closes: #732028, #720092)
+ * Add java library. (Closes: #728221)
+ * Update debian/control.
+ - Remove Vcs-Svn field and add Vcs-Git field.
+ - Update Vcs-Browser field.
+ - Update Homepage field.
+ - Bumped standards-version to 3.9.5.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 03 Dec 2013 08:17:57 +0900
+
+opencv (2.4.6.1+dfsg-2) unstable; urgency=low
+
+ [ Anton Gladky ]
+ * Replace libeigen2-dev by libeigen3-dev. (Closes: #726155)
+
+ [ Nobuhiro Iwamatsu ]
+ * FTBFS on sparc64. (Closes: #714923)
+ Add patches/change_type_from_int_to_Atomic_word.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 23 Nov 2013 11:31:08 +0900
+
+opencv (2.4.6.1+dfsg-1) unstable; urgency=low
+
+ * Upload to unstable. (Closes: #719998, #716811)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 23 Sep 2013 06:28:00 +0900
+
+opencv (2.4.6.1+dfsg-0exp4) experimental; urgency=low
+
+ * Update debian/control.
+ - Fix fails to upgrade from testing by opencv-data. (Closes: #722927)
+ - Change Vcs host to anonscm.debian.org.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 20 Sep 2013 08:16:39 +0900
+
+opencv (2.4.6.1+dfsg-0exp3) experimental; urgency=low
+
+ * Update patches/pkg-config. (Closes: #678222, #721894)
+ Fix broken pkg-config file.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 06 Sep 2013 13:51:39 +0900
+
+opencv (2.4.6.1+dfsg-0exp2) unstable; urgency=low
+
+ * Update debian/rules.
+ - Move configuration for 1394 and V4L to CMAKE_ARCH_FLAGS.
+ Thanks to Pino Toscano.
+ - Change from target name from override_dh_fixperms to
+ override_dh_fixperms-indep.
+ * Add fix_ftbfs_on_non_linux.patch.
+ Fix FTBFS on non linux. (Closes: #719741)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 04 Sep 2013 10:22:46 +0900
+
+opencv (2.4.6.1+dfsg-0exp1) experimental; urgency=low
+
+ * New upstream release.
+ * Update debian/control.
+ - Add libgtkglext1-dev, libgl1-mesa-dev and libglu1-mesa-dev
+ to Build-Depends.
+ - Remove swig from Build-Depends.
+ * Update debian/rules.
+ - Enable OpenGL.
+ * Update patches.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 07 Aug 2013 12:37:41 +0900
+
+opencv (2.4.5+dfsg-0exp1) experimental; urgency=low
+
+ * New upstream release. (Closes: #716811)
+ * Update debian/control.
+ - Add support all arch with TBB support. (Closes: 701195)
+ - Add opencv-data. Move haarcascades and lbpcascades's data to this.
+ (Closes: #711385)
+ * Update debian/rules.
+ - Add python2 to dh of sequence.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 12 Jul 2013 13:00:43 +0900
+
+opencv (2.4.3+dfsg-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 10 Dec 2012 01:01:14 +0900
+
+opencv (2.4.2+dfsg-0exp2) experimental; urgency=low
+
+ * Update debian/control.
+ - Dump cmake version to 2.8.7.
+ When old cmake is used, building failed.
+ * Update libopencv-core-dev.install.
+ - Add opencv2/opencv_modules.hpp.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 24 Jul 2012 12:22:11 +0900
+
+opencv (2.4.2+dfsg-0exp1) experimental; urgency=low
+
+ * New upstream release.
+ * Update debian/control.
+ - Changed Depends from libtiff4-dev to libtiff-dev. (Closes: #682238)
+ - Support eigen2. Add libeigen2-dev to Build-Depends.
+ * Update install file.
+ Change path of samples and add python2.
+ * Update debian/rules.
+ - Remove chmod line. Removed build_all.sh.
+ - Add -r for option of rm command.
+ * Update patches/build-static-libs.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 16 Jul 2012 04:03:56 +0900
+
+opencv (2.4.1+dfsg-0exp2) experimental; urgency=low
+
+ * Update package description.
+ * Add patches/pkg-config.patch.
+ This changed library specification method in pkgconfig.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 26 Jun 2012 16:19:21 +0900
+
+opencv (2.4.1+dfsg-0exp1) experimental; urgency=low
+
+ * New upstream release.
+ * Update debian/rules.
+ - Enable hardening option.
+ * Update debian/control.
+ - Fix wrong package name.
+ - Add python-numpy-abi9 and python-numpy (>= 1:1.6.1) to python-opencv.
+ Fix lintian error for missing-dependency-on-numpy-abi.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 07 Jun 2012 08:54:31 +0900
+
+opencv (2.4.0+dfsg-0exp1) experimental; urgency=low
+
+ * New upstream release. (Closes: 671377)
+ - Add stitching, ts, videostab and photo packages.
+ - Remove gpu package.
+ * Update debian/control.
+ - Bumped Standards-Version to 3.9.3. No changes needed.
+ - Update Homepage field.
+ * Update debian/rules.
+ - Remove unnecessary option of build config.
+ * Update patches.
+ - 0005-build-static-libs.patch
+ - 0007-typos-in-strings-docs.patch
+ - 0013_drop_asm_types_h_kfreebsd.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 23 May 2012 12:42:17 +0900
+
+opencv (2.3.1-10) unstable; urgency=high
+
+ * Update debian/control.
+ - Add Replaces and Breaks of libopencv-core-dev to libopencv-dev.
+ (Closes: #674242)
+ - Cleanup Depends of packages.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 29 May 2012 08:43:39 +0900
+
+opencv (2.3.1-9) unstable; urgency=low
+
+ * Update debian/control.
+ - pkg-config and binarys move from libopencv-core-dev to libopencv-dev.
+ (Closes: #671376, #658197)
+ - Drop Replaces and Breaks from libopencv-core-dev. (Closes: #668708)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 22 May 2012 12:17:09 +0900
+
+opencv (2.3.1-8) unstable; urgency=low
+
+ * Add support TBB.
+ * Fix getting value of dpkg-architecture.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 02 Feb 2012 12:40:01 +0900
+
+opencv (2.3.1-7) unstable; urgency=low
+
+ * Update debian/libopencv-core-dev.install.
+ - Change install path of OpenCVConfig.cmake from usr/share/opencv/
+ to usr/share/OpenCV. (Closes: #658196)
+ - usr/share/OpenCV/OpenCVConfig-version.cmake was added to the
+ installation file of libopencv-core-dev.
+ * Add debian/*-dev.docs.
+ This provides README.Debian with *-dev packages.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 02 Feb 2012 02:39:05 +0900
+
+opencv (2.3.1-6) unstable; urgency=low
+
+ * Fix installation of usr/include/opencv2/opencv.hpp. (Closes: #656860)
+ Update debian/libopencv-core-dev.install.
+ * Remove old build flags and add optimize flag for amd64.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 31 Jan 2012 08:08:00 +0900
+
+opencv (2.3.1-5) unstable; urgency=low
+
+ * Fix FTBFS with libav 0.8. (Closes: #654220)
+ Add patches/0014_fix_ftbfs_libav0.8.patch.
+ * Update debian/control.
+ Add python-sphinx to Build-Depends.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 27 Jan 2012 05:36:29 +0900
+
+opencv (2.3.1-4) unstable; urgency=low
+
+ * Update patches/0013_drop_asm_types_h_kfreebsd.patch.
+ Drop <asm/types.h>, not <sys/types.h>.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 21 Dec 2011 17:01:12 +0900
+
+opencv (2.3.1-3) unstable; urgency=low
+
+ * Update debian/README.Debian.
+ * Update debian/control.
+ - Update Depends package for libopencv-dev.
+ * Fix build on kfreeBSD. (Closes: #651872)
+ Update patches/0013_drop_asm_types_h_kfreebsd.patch.
+ Thanks to Julien Cristau.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 21 Dec 2011 12:02:10 +0900
+
+opencv (2.3.1-2) unstable; urgency=low
+
+ * Update debian/control.
+ - Adjusted version for Replaces and Breaks of libopencv-core-dev.
+ (Closes: #651988). Thanks to Ansgar Burchardt.
+ * Fix build on kfreeBSD. (Closes: #651872)
+ Add patches/0013_drop_asm_types_h_kfreebsd.patch.
+ Thanks to Julien Cristau.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 20 Dec 2011 17:10:11 +0900
+
+opencv (2.3.1-1) unstable; urgency=low
+
+ * Upload to unstable.
+ * Update debian/control.
+ Switch Build-Depends from libong62-dev to libpng-dev.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 12 Dec 2011 12:06:57 +0900
+
+opencv (2.3.1-0exp1) experimental; urgency=low
+
+ * New upstream release.
+ * Update debian/control.
+ - Fix uses hardcoded list of non-Linux architectures in debian/control.
+ (Closes: #634365)
+ * Add lintian overrides files.
+ * Update install files.
+ * Update and remove some patches.
+ - Update patches/0005-build-static-libs.patch.
+ - Update patches/0007-typos-in-strings-docs.patch.
+ - Update patches/0011_optimize_i486.patch.
+ - Remove patches/0001-fix_3rdparty_build.patch.
+ - Remove patches/0006-typos-in-license.patch.
+ - Remove patches/0012_cvcap_ffmpeg_fix_compile_against_libav0.7.patch.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 25 Aug 2011 12:04:49 +0900
+
+opencv (2.3.0-0exp4) experimental; urgency=low
+
+ * Fix FTBFS with libav 0.7. (Closes: #634818)
+ Add patches/vcap_ffmpeg_fix_compile_against_libav0.7.patch.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 27 Jul 2011 01:51:25 +0900
+
+opencv (2.3.0-0exp3) experimental; urgency=low
+
+ * Add libopencv-dev package.
+ This is a meta package providing development package necessary for
+ development of OpenCV (Open Computer Vision).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 15 Jul 2011 02:46:05 +0900
+
+opencv (2.3.0-0exp2) experimental; urgency=low
+
+ * Update debian/control
+ - Switch Build-Depends from libjpeg62-dev to libjpeg-dev for libjpeg8
+ transition.
+ - Add zlib1g-dev Build-Depends of libopencv-core-dev.
+ - Add some development package to Build-Depends of libopencv-highgui-dev.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 12 Jul 2011 08:54:37 +0900
+
+opencv (2.3.0-0exp1) experimental; urgency=low
+
+ * New upstream release.
+ - Update install files.
+ - Update some patches for 2.3.
+ patches/0005-build-static-libs.patch
+ patches/0001-fix_3rdparty_build.patch
+ patches/0011_optimize_i486.patch
+ - Remove some patches revised in upstream.
+ patches/0002-fix_build_pdf.patch patches/0003-hurd.patch
+ patches/0004-fix_stdint_gcc45.patch patches/0009_support_v4lv2_only.patch
+ patches/0008_fix_ftbfs_with_gcc-4.6.patch patches/0010_fix_ftbs_png15.patch
+ * Update debian/control.
+ - Update depends of packages.
+ * Update debian/rules.
+ - Update path of hdr_parser.pyc from modules/python to
+ modules/python/src2.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 06 Jul 2011 09:47:09 +0900
+
+opencv (2.2.0-0exp2) experimental; urgency=low
+
+ * Add libopencv-contrib-dev to Depends of libcvaux-dev (Closes: #632439).
+ Thanks to Mark Purcell.
+ * Arranged the dependence.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 05 Jul 2011 13:30:06 +0900
+
+opencv (2.2.0-0exp1) experimental; urgency=low
+
+ * New upstream release. (Closes: #623532, #563428, #604642)
+ - Update, refresh and prune debian/patches.
+ - Account for upstream splitting/renaming libs:
+ + generate N dynamic library packages.
+ + name all library package as libopencv-*.
+ - Update debian/copyright.
+ - Remove debian/README.source.
+ - Update debian/*.install scripts.
+ - Update lintian overrides.
+ - Add libv4l-dev to Build-Depends.
+ * Bump to dh 8.
+ * Switch to source format 3.0 (quilt).
+ * Patch minor upstream typos.
+ * Fix formatting in debian/man/opencv_traincascade.1.
+ * Bumped standards-version to 3.9.2. No changes needed.
+ * Update debian repository pointers for new alioth hosts.
+ * Add support openexr.
+ * Move usr/share/opencv/haarcascades and usr/share/opencv/lbpcascades
+ to libopencv-core-dev (Closes: #598356).
+ * Fix build using gcc-4.6 (Closes: #624917).
+ - Add patches/0008_fix_ftbfs_with_gcc-4.6.patch.
+ * Fix build without v4l1 (Closes: #623418).
+ - Add patches/0009_support_v4lv2_only.patch.
+ * Fix build with libpng15.
+ - Add patch/0010_fix_ftbs_png15.patch.
+ * Fix optimize of i386 (Closes: 629414).
+ - Opencv was optimized to i686. This chenged optimization to i486.
+ - Add patch/0011_optimize_i486.patch.
+ * If build architecture is amd64, enable SSE2 option.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 27 Jun 2011 11:51:39 +0900
+
+opencv (2.1.0-4) unstable; urgency=low
+
+ * Fix install path of opencv-doc (Closes: #610803).
+ * Fix FTBFS on gcc-4.5(Closes: #607086, #618045).
+ - Add patches/fix_stdint_gcc45.patch
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 16 Mar 2011 01:55:22 +0900
+
+opencv (2.1.0-3) unstable; urgency=low
+
+ * Fix set opencv minor version on Python (Closes: #600836).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 02 Nov 2010 19:55:47 +0900
+
+opencv (2.1.0-2) unstable; urgency=low
+
+ * Update debian/control.
+ - Bumped standards-version to 3.9.1. No changes needed.
+ - Add python-numpy to Build-depends (Closes: #593310)
+ * Add hurd support patch (Closes: #589586).
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 25 Aug 2010 01:49:14 +0900
+
+opencv (2.1.0-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #577594, #587232, #563717)
+ * Update debian/rules.
+ - Update build-system to debhelper v7.
+ * Update debian/control.
+ - Bumped standards-version to 3.9.0. No changes needed.
+ - library package name update.
+ Soname of opencv library changed from 4 to 2.1.
+ - Add cmake, liblapack-dev, texlive-fonts-extra, texlive-latex-extra,
+ texlive-latex-recommended, latex-xcolor and texlive-fonts-recommended
+ to Build-depends.
+ - Add arch depends to libraw1394-dev and libdc1394-22-dev.
+ Thanks to Pino Toscano. (Closes: #581210)
+ * Add opencv-doc.lintian-overrides.
+ opencv-doc has some sample program of python.
+ * Update man files.
+ * Update patches
+ - Update and rename 500_remove_bashism.patch.
+ And rename to remove_bashism.patch.
+ * Add new patches.
+ - Enable build static library.
+ enable_static.patch
+ - Disable build 3rd party library.
+ Use zlib and lapack in debian package.
+ fix_3rdparty_build.patch
+ - Fix build pdf.
+ fix_build_pdf.patch
+ - Remove cvconfig.h
+ remove_cvconfig.h.patch
+ * Remove some patches.
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 16 Jul 2010 13:12:28 +0900
+
+opencv (2.0.0-4) unstable; urgency=low
+
+ * Update debian/control.
+ - Bumped standards-version to 3.8.4. No changes needed.
+ * Change install path of python-opencv. (Closes: #565121)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sun, 14 Mar 2010 13:19:00 +0900
+
+opencv (2.0.0-3) unstable; urgency=low
+
+ * Remove libcv1, libhighgui1 and libcvaux1 from Conflicts and Replaces.
+ (Closes: #560283)
+ * Remove cvconfig.h from libcv-dev package. (Closes: #559857)
+ Update libcv-dev.install and backport r2242 of commit from upstream.
+ Thanks to Filippo Giunchedi.
+ debian/patches/110_backport_r2242.diff
+ * Fix FTBFS with GCC 4.4. (Closes: #562742)
+ Backport r2255 of commit from upstream. Thanks to Filippo Giunchedi.
+ debian/patches/110_backport_r2255.diff
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 07 Jan 2010 20:48:47 +0900
+
+opencv (2.0.0-2) unstable; urgency=low
+
+ * Add cvconfig.h to libcv-dev. (Closes: #559857)
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 08 Dec 2009 10:00:14 +0900
+
+opencv (2.0.0-1) unstable; urgency=low
+
+ * New upstream release. (Closes: #507588, #549997, #492445)
+ * Update Standards-Version to 3.8.3
+ * Add debian/README.source
+ * Add libdc1394-22-dev to Build-Depends. (Closes: #507584, #516794)
+ * Remove libcvaux-dev and libhighgui-dev from Depends of libcv-dev.
+ (Closes: #525023)
+ * Remove all .la files.
+ * Update debian/watch file. (Closes: #557140)
+ * Update debian/rules file.
+ Add --disable-sse and --disable-optimization to configure.
+ * Remove bashism. (Closes: #530153)
+ 500_remove_bashism.patch
+ * Update debian/patches
+ 010_m4_syntax.diff
+ 010_fix_optimisations.diff
+ 010_makefile_syntax.diff
+ 010_python_cspec.diff
+ 020_python_linking.diff
+ 100_static_inline.diff
+ 100_amd64.diff
+ 120_header_warnings.diff
+ * Remove debian/patches
+ - Merge to upstream
+ 030_install_hook.diff
+ 100_ffmpeg_updates.diff
+ 210_openmp_compilation.diff
+ 300_fix_segfault_in_window_gtk.diff
+ 400_ffmpeg_splitting_autofoo.diff
+ 410_ffmpeg_use_swscale.diff
+ 420_typedef_longint.diff
+ 430_highgui_jpeg_camera.diff
+ - Don't need new version
+ 010_ffmpeg_linking.diff
+ 050_rebootstrap.diff
+ 200_documentation.diff
+ 500_ftbfs_gcc44.diff
+
+ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 01 Dec 2009 01:13:18 +0900
+
+opencv (1.0.0-6.3) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Rebuild against new libraw1394 (Closes: #516646, #516920)
+ * Add libhighgui-dev dependency on libswscale-dev thanks Giel van Schijndel
+ (Closes: #547729)
+ * debian/patches/420_typedef_longint.diff: define int64/uint64 as int64_t
+ and uint64_t respectively, patch pulled from upstream r2163
+ (Closes: #543546)
+ * debian/patches/410_ffmpeg_use_swscale.diff: move
+ #define __STDC_CONSTANT_MACROS before #include <stdint.h> into
+ debian/patches/420_typedef_longint.diff
+ * debian/patches/500_ftbfs_gcc44.diff: fix FTBFS with gcc-4.4
+ thanks to Martin Michlmayr (Closes: #504831)
+ * debian/patches/430_highgui_jpeg_camera.diff: recognize JPEG cameras
+ (Closes: #536041)
+
+ -- Filippo Giunchedi <filippo@debian.org> Sat, 14 Nov 2009 17:04:41 +0100
+
+opencv (1.0.0-6.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Port to newer ffmpeg. Closes: #487638, #490700, #493915
+ Loosely based on patch Gijs Molenaar, thanks.
+
+ -- Thomas Viehmann <tv@beamnet.de> Thu, 09 Jul 2009 21:43:02 +0200
+
+opencv (1.0.0-6.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * debian/control:
+ + Dropped build dependency on libdc1394-22-dev (Closes: #497689)
+ + Added ${misc:Depends} where missing
+
+ -- Raphael Geissert <atomo64@gmail.com> Thu, 11 Sep 2008 14:36:06 -0500
+
+opencv (1.0.0-6) unstable; urgency=low
+
+ * debian/patches/120_header_warnings.diff:
+ + Fix more warnings in shipped headers.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 28 Aug 2008 22:53:43 +0000
+
+opencv (1.0.0-5) unstable; urgency=high
+
+ [ Daniel Leidert ]
+
+ * debian/control: Added Homepage field.
+ (Vcs-Svn): Fixed.
+ (Depends, Build-Depends): Added libjasper-dev (closes: #428474).
+ * debian/dirs: Removed (useless). Avoids empty directories.
+ * debian/libcv-dev.install: Small cosmetic fix.
+ * debian/libcv-dev.manpages: Added for haartraining utilities.
+ * debian/opencv-createsamples.1: Initially added.
+ * debian/opencv-haartraining.1: Ditto.
+ * debian/opencv-performance.1: Ditto.
+ * debian/opencv-doc.install: Install Makefile.debian here.
+ * debian/rules (install, binary-arch, binary-indep): Removed most of the
+ unused debhelper calls. Let dh_install exclude files we don't want. Don't
+ install examples twice. Removed installation of opencv-config.1 (closes:
+ #407946).
+ * debian/watch: Added.
+ * debian/patches/300_fix_segfault_in_window_gtk.diff: Added. Merged from
+ Ubuntu.
+ * debian/patches/series: Adjusted.
+
+ [ Sam Hocevar ]
+
+ * High urgency to ease testing propagations.
+ * debian/patches/100_ffmpeg_updates.diff:
+ + Updated patch to latest ffmpeg version (Closes: #482217).
+ * debian/patches/020_python_linking.diff:
+ + Link python bindings with required libraries.
+ * debian/patches/030_install_hook.diff:
+ + Use install-exec-hook instead of install-hook.
+
+ * debian/control:
+ + Build-depend on more recent libavcodec-dev.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Sun, 08 Jun 2008 15:01:18 +0000
+
+opencv (1.0.0-4) unstable; urgency=low
+
+ * debian/rules:
+ + Support CONCURRENCY_LEVEL.
+ + Don't ignore make distclean errors.
+
+ * debian/control:
+ + Add ${shlibs:Depends} to -dev packages, to get a proper dependency
+ when these packages ship binaries.
+ + Use ${binary:Version} instead of ${Source-Version} (Closes: 430726).
+ + Set policy to 3.7.3.
+ + Use Vcs-Svn: instead of XS-Vcs-Svn: fields.
+
+ * debian/patches/100_ffmpeg_updates.diff:
+ + Updated patch. Getting and setting framerate in FFmpeg streams now
+ works properly again. Thanks to Eric Beets for half the fix.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Mon, 10 Mar 2008 16:41:56 +0000
+
+opencv (1.0.0-3) unstable; urgency=low
+
+ * debian/control:
+ + Set maintainer to the pkg-scicomp team.
+ + Updated Vcs fields.
+ * debian/compat:
+ + Set compat version to 5.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Sun, 1 Apr 2007 15:19:15 +0200
+
+opencv (1.0.0-2) unstable; urgency=low
+
+ * Upload to unstable.
+ * debian/patches/120_header_warnings.diff:
+ + New patch. Fix warnings in shipped headers.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 28 Mar 2007 19:02:18 +0200
+
+opencv (1.0.0-1) experimental; urgency=low
+
+ * New upstream release.
+ * debian/control:
+ + Depend on pkg-config now that opencv-config is deprecated.
+ * debian/rules:
+ + Do not remove haartraining files (Closes: #368568).
+
+ * debian/patches/010_python_cspec.diff:
+ + New patch. Add -fno-strict-aliasing because of numerous aliasing
+ issues in the code (Closes: #388129).
+
+ * debian/patches/110_dc1394.diff:
+ + Fix a few bugs in the dc1394 code.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Tue, 14 Nov 2006 17:12:26 +0100
+
+opencv (0.9.7-4) unstable; urgency=low
+
+ * Migrate package to the new python policy (Closes: #373469), thanks to
+ Pierre Habouzit.
+ * debian/control: add XS-Vcs-Svn information.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 12 Oct 2006 09:21:14 +0200
+
+opencv (0.9.7-3) unstable; urgency=low
+
+ * debian/patches/110_dereferencement.diff:
+ + Fix compilation warnings due to type-punned pointer dereferencement.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Mon, 12 Jun 2006 12:14:44 +0200
+
+opencv (0.9.7-2) unstable; urgency=low
+
+ * Switched patch system from dpatch to quilt.
+ * debian/control:
+ + Set policy to 3.7.2.
+ + Build-depend on newer versions of libavcodec-dev so that we can get
+ dynamically linked with it.
+ + Build-depend on quilt instead of dpatch.
+
+ * debian/patches/010_enable_static.diff:
+ + Old patch -- enable static libraries.
+
+ * debian/patches/010_ffmpeg_linking.diff:
+ + Old patch -- correct ffmpeg linking.
+
+ * debian/patches/010_fix_optimisations.diff:
+ + Old patch -- fix optimisation flags for GCC bug workarounds.
+
+ * debian/patches/010_m4_syntax.diff:
+ + Old patch -- fix m4 syntax.
+
+ * debian/patches/010_makefile_syntax.diff:
+ + Old patch -- fix Makefile.am syntax.
+
+ * debian/patches/010_proper_sonames.diff:
+ + Old patch -- fix library sonames.
+
+ * debian/patches/020_rebootstrap.diff:
+ + Old patch -- rebootstrap package.
+
+ * debian/patches/100_amd64.diff:
+ + Fix inclusion of <emmintrin.h> on AMD64 (Closes: #365752, #366105).
+
+ * debian/patches/100_ffmpeg_updates.diff:
+ + Old patch -- update ffmpeg code to get in sync with newer API.
+
+ * debian/patches/100_python_files.diff:
+ + Old patch -- remove shebang from non-executable python files.
+
+ * debian/patches/100_static_inline.diff:
+ + Old patch -- replace inline with static inline in public headers.
+
+ * debian/patches/200_documentation.diff:
+ + Old patch -- get documentation in sync with the API.
+
+ * debian/patches/200_examples_makefile.diff:
+ + Old patch -- add a Makefile to the examples directory.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Sun, 14 May 2006 05:40:42 +0200
+
+opencv (0.9.7-1) unstable; urgency=low
+
+ * New upstream release.
+ * Maintainer upload.
+ * Acknowledging previous NMU (Closes: #339240). Thanks to Steve Langasek.
+ * debian/control:
+ + Build-depend on swig because of the Python bindings.
+ + Renamed 0.9-0c2 packages to 0.9.7-0 due to API changes.
+ + Depend and build-depend on libavformat-dev.
+ * debian/rules:
+ + Activated Python wrappers.
+ + Build example apps.
+ * cxtypes.h highgui.h: Replace "static" with "static inline" for inline
+ functions declared in the public headers.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 19 Apr 2006 09:37:55 +0200
+
+opencv (0.9.6-4.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Medium-urgency upload for RC bugfix.
+ * Rename libcvaux0.9-0c2 to libcvaux0.9-0c2a for the C++ mt allocator ABI
+ transition, and conflict/replace libcvaux0.9-0c2 accordingly
+ (closes: #339240).
+
+ -- Steve Langasek <vorlon@debian.org> Sat, 3 Dec 2005 21:27:40 -0800
+
+opencv (0.9.6-4) unstable; urgency=low
+
+ * tests/cv/src/asobel.cpp:
+ + Fixed an illegal int/void* cast.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Mon, 26 Sep 2005 19:39:52 +0200
+
+opencv (0.9.6-3) unstable; urgency=low
+
+ * debian/control:
+ + Build-depend on a newer libavcodec-dev.
+ + Make libhighgui-dev depend on all required -dev packages such as
+ libtheora-dev (Closes: #319018).
+ * debian/rules:
+ + Hint --build and --host to configure.
+ * configure.in:
+ + Use -O2 on m68k instead of -O3 to bypass gcc ICEs (Closes: #321106).
+ * tests/cv/src/apyramids.cpp: fixed 64 bits compilation (Closes: #318791).
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 16 Sep 2005 11:53:13 +0200
+
+opencv (0.9.6-2) unstable; urgency=low
+
+ * The great g++ transition upload.
+ * debian/control:
+ + Renamed 0.9-0 packages to 0.9-0c2.
+ + Set policy to 3.6.2.1.
+ + Build-depend on a newer libavcodec-dev.
+ * docs/index.htm:
+ + Encoded invalid HTML characters.
+ + Fixed links to the reference manual (Closes: #306922).
+ * docs/ref/opencvref_cv.htm:
+ + Encoded invalid HTML characters.
+ + Fixed the definition of CvHistogram (Closes: #307269).
+ * otherlibs/highgui/cvcap.cpp:
+ + Hardcoded the capture framerate because ffmpeg no longer easily provides
+ the information.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 14 Jul 2005 15:48:31 +0200
+
+opencv (0.9.6-1) unstable; urgency=low
+
+ * New upstream release (Closes: #267825).
+ * Major upstream changes:
+ + This release merged most Debian-specific patches upstream.
+ + This version now uses pkg-config instead of opencv-config.
+ + This version uses GTK+ instead of Motif widgets.
+ + Example programs were fixed (Closes: #254150).
+ * debian/control:
+ + Build-depend on libdc1394 and libavcodec. As a result, build no longer
+ fails if libavcodec-dev is installed (Closes: #270345).
+ * debian/copyright:
+ + Fixed upstream URL (Closes: #270344).
+ * cvaux/src/cvvideo.cpp: the code portion causing an FTBFS on amd64 is no
+ longer there (Closes: #297625).
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 1 Apr 2005 19:30:58 +0200
+
+opencv (0.9.5-10) unstable; urgency=high
+
+ * debian/patches/30_delete.dpatch:
+ + Fixed a crash at program exit (Closes: #269799).
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 3 Sep 2004 21:59:26 +0200
+
+opencv (0.9.5-9) unstable; urgency=high
+
+ * debian/control:
+ + Build-depend on lesstif2-dev to take advantage of new Motif 2 features.
+ + libhighgui-dev depends on lesstif2-dev as well.
+ * debian/patches/20_old.dpatch:
+ + No longer patch/unpatch the Makefiles to avoid clock skew issues
+ (Closes: #266622).
+ * debian/patches/30_delete.dpatch:
+ + Fixed delete[] / delete mismatches.
+ * debian/patches/30_window_lnx.cpp.setTrackbarPos_crash.dpatch:
+ + Fix a crash in cvSetTrackbarPos() for closed windows, courtesy of
+ micha137 at users.sourceforge.net.
+ * debian/patches/40_linux_trackbar.dpatch
+ debian/patches/30_linux_mouse.dpatch:
+ + Add arrows to trackbars, courtesy of Filip Sadlo.
+ + Fixed position of mouse button events, courtesy of Filip Sadlo.
+ * debian/patches/30_render.dpatch:
+ + Fixed pointer casts, courtesy of buddha_pht at users.sourceforge.net.
+ * debian/patches/30_xshm.dpatch:
+ + Don't use XShm over network connections.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Tue, 17 Aug 2004 18:01:23 +0200
+
+opencv (0.9.5-8) unstable; urgency=low
+
+ * debian/control:
+ + Added missing build dependency on dpatch (Closes: #262209).
+ * debian/rules:
+ + Call unpatch before make clean.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Fri, 30 Jul 2004 08:34:59 +0200
+
+opencv (0.9.5-7) unstable; urgency=low
+
+ * Rebuilt against libtiff4 due to an ABI change.
+ * Fixed numerous compilation warning due to pointer/int size assumptions and
+ char signedness assumption.
+ * debian/control:
+ + Set policy to 3.6.1.1.
+ + Switched packaging method to dpatch.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Sun, 25 Jul 2004 21:54:33 +0200
+
+opencv (0.9.5-6) unstable; urgency=low
+
+ * cv/include/cvcompat.h cv/include/cvtypes.h:
+ + Fixed more C preprocessor warnings.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 30 Jun 2004 14:04:12 +0200
+
+opencv (0.9.5-5) unstable; urgency=low
+
+ * cv/include/cv.h:
+ + Fixed C preprocessor warnings.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 30 Jun 2004 11:59:36 +0200
+
+opencv (0.9.5-4) unstable; urgency=low
+
+ * debian/control:
+ + Added missing lesstif-dev build dependency to the libhighgui-dev
+ package (Closes: #252304).
+ * debian/README.Debian:
+ + Minor updates.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 2 Jun 2004 13:27:07 -0300
+
+opencv (0.9.5-3) unstable; urgency=low
+
+ * debian/rules:
+ + Enabled static libraries in the build (Closes: #249471).
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 19 May 2004 21:48:47 +0200
+
+opencv (0.9.5-2) unstable; urgency=low
+
+ * debian/control:
+ + Added libxaw7-dev to the build dependencies.
+ + Added libxaw7-dev to the libcvcam-dev dependencies.
+ * debian/copyright:
+ + Removed a duplicate copyright entry.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Wed, 28 Apr 2004 10:25:56 +0200
+
+opencv (0.9.5-1) unstable; urgency=low
+
+ * Initial release.
+
+ -- Sam Hocevar (Debian packages) <sam+deb@zoy.org> Thu, 22 Apr 2004 14:55:19 +0200
--- /dev/null
+modules/python/src2/hdr_parser.pyc
+modules/java/generator/rst_parser.pyc
+modules/refman.rst
+modules/python/src2/__pycache__/
+.cache/
--- /dev/null
+Source: opencv
+Maintainer: Debian Science Team <debian-science-maintainers@lists.alioth.debian.org>
+Uploaders: Sam Hocevar (Debian packages) <sam+deb@zoy.org>,
+ Nobuhiro Iwamatsu <iwamatsu@debian.org>,
+ Mo Zhou <lumin@debian.org>
+Section: devel
+Priority: optional
+Build-Depends: ant [!hppa !hurd-any !kfreebsd-any],
+ cmake,
+ debhelper-compat (= 13),
+ default-jdk [!hppa !hurd-any !kfreebsd-any],
+ dh-sequence-python3,
+ doxygen,
+ dh-sequence-javahelper,
+ ninja-build,
+ libavcodec-dev,
+ libavformat-dev,
+ libdc1394-dev [linux-any],
+ libeigen3-dev,
+ libgdal-dev,
+ libgdcm-dev [!alpha !hppa !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !powerpcspe !sh4 !x32],
+ libvtkgdcm-dev [!alpha !hppa !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !powerpcspe !sh4 !x32],
+ libgdcm-tools [!alpha !hppa !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !powerpcspe !sh4 !x32],
+ libgl-dev,
+ libglu1-mesa-dev,
+ libgoogle-glog-dev,
+ libgphoto2-dev,
+ libharfbuzz-dev,
+ libjpeg-dev,
+ liblapack-dev,
+ liblapacke-dev,
+ libleptonica-dev,
+ libopenexr-dev,
+ libopenjp2-7-dev,
+ libopenjpip-dec-server,
+ libopenjpip-server,
+ libopenjp2-tools,
+ libimath-dev,
+ libpng-dev,
+ libprotobuf-dev,
+ libqt5opengl5-dev,
+ libraw1394-dev [linux-any],
+ libswscale-dev,
+ libtbb-dev [amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x powerpc powerpcspe ppc64 riscv64 sh4 sparc64],
+ libtesseract-dev,
+ libtiff-dev,
+ libv4l-dev [linux-any],
+ libva-dev,
+ libvtk9-dev,
+ libgstreamer1.0-dev,
+ libgstreamer-plugins-base1.0-dev,
+ dh-sequence-maven-repo-helper [!hppa !hurd-any !kfreebsd-any],
+ ocl-icd-opencl-dev,
+ protobuf-compiler,
+ python3-all-dev,
+ dh-sequence-numpy3,
+ python3-bs4,
+ python3-imath,
+ qtbase5-dev,
+ zlib1g-dev
+Standards-Version: 4.6.1
+Vcs-Browser: https://salsa.debian.org/science-team/opencv
+Vcs-Git: https://salsa.debian.org/science-team/opencv.git
+Homepage: https://opencv.org
+Rules-Requires-Root: no
+
+Package: opencv-doc
+Architecture: all
+Multi-Arch: foreign
+Section: doc
+Depends: libjs-jquery,
+ libjs-mathjax,
+ ${misc:Depends}
+Description: OpenCV documentation and examples
+ This package contains the OpenCV documentation and example programs.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-dev
+Architecture: any
+Section: libdevel
+Depends: libopencv-calib3d-dev (= ${binary:Version}),
+ libopencv-contrib-dev (= ${binary:Version}),
+ libopencv-core-dev (= ${binary:Version}),
+ libopencv-dnn-dev (= ${binary:Version}),
+ libopencv-features2d-dev (= ${binary:Version}),
+ libopencv-flann-dev (= ${binary:Version}),
+ libopencv-highgui-dev (= ${binary:Version}),
+ libopencv-imgcodecs-dev (= ${binary:Version}),
+ libopencv-imgproc-dev (= ${binary:Version}),
+ libopencv-ml-dev (= ${binary:Version}),
+ libopencv-objdetect-dev (= ${binary:Version}),
+ libopencv-photo-dev (= ${binary:Version}),
+ libopencv-shape-dev (= ${binary:Version}),
+ libopencv-stitching-dev (= ${binary:Version}),
+ libopencv-superres-dev (= ${binary:Version}),
+ libopencv-video-dev (= ${binary:Version}),
+ libopencv-videoio-dev (= ${binary:Version}),
+ libopencv-videostab-dev (= ${binary:Version}),
+ libopencv-viz-dev (= ${binary:Version}),
+ pkg-config,
+ ${misc:Depends},
+ ${shlibs:Depends},
+ libilmbase-dev
+Recommends: opencv-data, libopencv-java (= ${binary:Version}),
+Suggests: opencv-doc
+Description: development files for opencv
+ This is a metapackage providing development package necessary for
+ development of OpenCV (Open Computer Vision).
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: opencv-data
+Architecture: all
+Multi-Arch: foreign
+Section: libdevel
+Depends: ${misc:Depends}
+Description: development data for opencv
+ This package contains some architecture independent files useful for
+ development with OpenCV.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-core-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core406 (= ${binary:Version}),
+ libtbb-dev [amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x powerpc powerpcspe ppc64 riscv64 sh4 sparc64],
+ zlib1g-dev,
+ ${misc:Depends}
+Description: development files for libopencv-core406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) core.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-core406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Breaks: libopencv-core4.5 (<< 4.6),
+Description: computer vision core library
+ This package contains the OpenCV (Open Computer Vision) core runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-ml-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core-dev (= ${binary:Version}),
+ libopencv-ml406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-ml406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Machine Learning library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-ml406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Machine Learning library
+ This package contains the OpenCV (Open Computer Vision) Machine Learning
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-imgproc-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core-dev (= ${binary:Version}),
+ libopencv-imgproc406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-imgproc406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Image Processing library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-imgproc406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Image Processing library
+ This package contains the OpenCV (Open Computer Vision) Image Processing
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-imgcodecs-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libgdcm-dev [!alpha !hppa !ia64 !kfreebsd-amd64 !kfreebsd-i386 !m68k !powerpcspe !sh4 !x32],
+ libopencv-imgcodecs406 (= ${binary:Version}),
+ libopencv-imgproc-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-imgcodecs406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Image Codecs library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-imgcodecs406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Image Codecs library
+ This package contains the OpenCV (Open Computer Vision) Image Codecs
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-video-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-imgproc-dev (= ${binary:Version}),
+ libopencv-video406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-video406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Video analysis library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-video406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Video analysis library
+ This package contains the OpenCV (Open Computer Vision) Video analysis
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-videoio-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libgphoto2-dev,
+ libopencv-imgcodecs-dev (= ${binary:Version}),
+ libopencv-videoio406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-videoio406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Video I/O library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-videoio406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Video I/O library
+ This package contains the OpenCV (Open Computer Vision) Video I/O
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-objdetect-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-highgui-dev (= ${binary:Version}),
+ libopencv-ml-dev (= ${binary:Version}),
+ libopencv-objdetect406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-objdetect406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Object Detection library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-objdetect406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Object Detection library
+ This package contains the OpenCV (Open Computer Vision) Object Detection
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-highgui-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libavcodec-dev,
+ libavformat-dev,
+ libdc1394-dev [!kfreebsd-amd64 !kfreebsd-i386 !hurd-i386],
+ libgphoto2-dev,
+ libjpeg-dev,
+ libopencv-highgui406 (= ${binary:Version}),
+ libopencv-videoio-dev (= ${binary:Version}),
+ libopenexr-dev,
+ libpng-dev,
+ libraw1394-dev [!kfreebsd-amd64 !kfreebsd-i386 !hurd-i386],
+ libswscale-dev,
+ libtiff-dev,
+ ${misc:Depends}
+Description: development files for libopencv-highgui406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) High-level GUI and
+ Media I/O library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-highgui406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision High-level GUI and Media I/O library
+ This package contains the OpenCV (Open Computer Vision) High-level GUI
+ and Media I/O runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-calib3d-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-calib3d406 (= ${binary:Version}),
+ libopencv-features2d-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-calib3d406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Camera Calibration library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-calib3d406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Camera Calibration library
+ This package contains the OpenCV (Open Computer Vision) Camera Calibration
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-flann-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core-dev (= ${binary:Version}),
+ libopencv-flann406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-flann406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Clustering and Search
+ in Multi-Dimensional spaces library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-flann406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Clustering and Search in Multi-Dimensional spaces library
+ This package contains the OpenCV (Open Computer Vision) clustering and
+ search in Multi-Dimensional spaces runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-dnn-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core-dev (= ${binary:Version}),
+ libopencv-dnn406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-dnn406
+ This package contains the header files and static library needed to compile
+ in deep neural network module.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-dnn406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Deep neural network module
+ This package contains the OpenCV (Open Computer Vision) deep neural network
+ module.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-features2d-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-features2d406 (= ${binary:Version}),
+ libopencv-flann-dev (= ${binary:Version}),
+ libopencv-highgui-dev (= ${binary:Version}),
+ libopencv-ml-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-features2d406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Feature Detection and
+ Descriptor Extraction library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-features2d406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Feature Detection and Descriptor Extraction library
+ This package contains the OpenCV (Open Computer Vision) Feature Detection
+ and Descriptor Extraction runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-photo-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-imgproc-dev (= ${binary:Version}),
+ libopencv-photo406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-photo406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) computational photography
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-photo406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision computational photography library
+ This package contains the OpenCV (Open Computer Vision) computational
+ photography runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-videostab-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-calib3d-dev (= ${binary:Version}),
+ libopencv-photo-dev (= ${binary:Version}),
+ libopencv-video-dev (= ${binary:Version}),
+ libopencv-videostab406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-videostab406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) video stabilization
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-videostab406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision video stabilization library
+ This package contains the OpenCV (Open Computer Vision) video stabilization
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-stitching-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-calib3d-dev (= ${binary:Version}),
+ libopencv-objdetect-dev (= ${binary:Version}),
+ libopencv-stitching406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-stitching406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) image stitching library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-stitching406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision image stitching library
+ This package contains the OpenCV (Open Computer Vision) image stitching
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-shape-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-shape406 (= ${binary:Version}),
+ libopencv-video-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-shape406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) shape descriptors and
+ matchers library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-shape406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision shape descriptors and matchers library
+ This package contains the OpenCV (Open Computer Vision) shape descriptors
+ and matchers runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-superres-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-superres406 (= ${binary:Version}),
+ libopencv-video-dev (= ${binary:Version}),
+ libopencv-videoio-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-superres406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) Super Resolution library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-superres406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision Super Resolution library
+ This package contains the OpenCV (Open Computer Vision) Super Resolution
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-viz-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-core-dev (= ${binary:Version}),
+ libopencv-viz406 (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-viz406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) 3D data visualization
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-viz406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision 3D data visualization library
+ This package contains the OpenCV (Open Computer Vision) 3D data visualization
+ runtime libraries.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+#Package: libopencv-gapi-dev
+#Section: libdevel
+#Architecture: any
+#Multi-Arch: same
+#Depends:
+# libopencv-core-dev (= ${binary:Version}),
+# libopencv-gapi4.5 (= ${binary:Version}),
+# ${misc:Depends},
+#Description: development files for libopencv-gapi4.5
+# This package contains the header files and static library needed to compile
+# applications that use OpenCV (Open Computer Vision) Graph API library.
+# .
+# The Open Computer Vision Library is a collection of algorithms and sample
+# code for various computer vision problems. The library is compatible with
+# IPL (Intel's Image Processing Library) and, if available, can use IPP
+# (Intel's Integrated Performance Primitives) for better performance.
+# .
+# OpenCV provides low level portable data types and operators, and a set
+# of high level functionalities for video acquisition, image processing and
+# analysis, structural analysis, motion analysis and object tracking, object
+# recognition, camera calibration and 3D reconstruction.
+#
+#Package: libopencv-gapi4.5
+#Section: libs
+#Architecture: any
+#Multi-Arch: same
+#Pre-Depends:
+# ${misc:Pre-Depends},
+#Depends:
+# libopencv-core406 (= ${binary:Version}),
+# ${misc:Depends},
+# ${shlibs:Depends},
+#Description: computer vision Graph API library
+# This package contains the OpenCV (Open Computer Vision) Graph API
+# runtime libraries.
+# .
+# The Open Computer Vision Library is a collection of algorithms and sample
+# code for various computer vision problems. The library is compatible with
+# IPL (Intel's Image Processing Library) and, if available, can use IPP
+# (Intel's Integrated Performance Primitives) for better performance.
+# .
+# OpenCV provides low level portable data types and operators, and a set
+# of high level functionalities for video acquisition, image processing and
+# analysis, structural analysis, motion analysis and object tracking, object
+# recognition, camera calibration and 3D reconstruction.
+Package: libopencv-contrib-dev
+Architecture: any
+Multi-Arch: same
+Section: libdevel
+Depends: libopencv-calib3d-dev (= ${binary:Version}),
+ libopencv-contrib406 (= ${binary:Version}),
+ libopencv-core-dev (= ${binary:Version}),
+ libopencv-dnn-dev (= ${binary:Version}),
+ libopencv-features2d-dev (= ${binary:Version}),
+ libopencv-flann-dev (= ${binary:Version}),
+ libopencv-highgui-dev (= ${binary:Version}),
+ libopencv-imgcodecs-dev (= ${binary:Version}),
+ libopencv-imgproc-dev (= ${binary:Version}),
+ libopencv-ml-dev (= ${binary:Version}),
+ libopencv-objdetect-dev (= ${binary:Version}),
+ libopencv-photo-dev (= ${binary:Version}),
+ libopencv-shape-dev (= ${binary:Version}),
+ libopencv-stitching-dev (= ${binary:Version}),
+ libopencv-superres-dev (= ${binary:Version}),
+ libopencv-video-dev (= ${binary:Version}),
+ libopencv-videoio-dev (= ${binary:Version}),
+ libopencv-videostab-dev (= ${binary:Version}),
+ libopencv-viz-dev (= ${binary:Version}),
+ ${misc:Depends}
+Description: development files for libopencv-contrib406
+ This package contains the header files and static library needed to compile
+ applications that use OpenCV (Open Computer Vision) contrib library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-contrib406
+Architecture: any
+Multi-Arch: same
+Section: libs
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Description: computer vision contrlib library
+ This package contains the OpenCV (Open Computer Vision) opencv_contrib runtime
+ libraries. This package contain following contrlib libraries:
+ .
+ - aruco
+ - barcode
+ - bgsegm
+ - bioinspired
+ - ccalib
+ - cnn_3dobj
+ - cvv
+ - datasets
+ - dpm
+ - face
+ - freetype
+ - fuzzy
+ - hdf
+ - hfs
+ - img_hash
+ - line_descriptor
+ - matlab
+ - optflow
+ - ovis
+ - phase_unwrapping
+ - plot
+ - reg
+ - rgbd
+ - saliency
+ - sfm
+ - stereo
+ - structured_light
+ - surface_matching
+ - tracking
+ - ximgproc
+ - xobjdetect
+ - xphoto
+ - wechat-qrcode
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv-java
+Architecture: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x alpha ia64 m68k powerpc ppc64 riscv64 sh4 sparc64 x32
+Multi-Arch: no
+Section: java
+Depends: libopencv406-jni (>= ${binary:Version}), ${misc:Depends}
+Breaks: libopencv4.5-java,
+Replaces: libopencv4.5-java,
+Description: Java bindings for the computer vision library
+ This package contains Java bindings for the OpenCV (Open Computer Vision)
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: libopencv406-jni
+Architecture: amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x alpha ia64 m68k powerpc ppc64 riscv64 sh4 sparc64 x32
+Multi-Arch: no
+Section: java
+Depends: ${misc:Depends},
+ ${shlibs:Depends}
+Description: Java jni library for the computer vision library
+ This package contains Java jni library for the OpenCV (Open Computer Vision)
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
+
+Package: python3-opencv
+Architecture: any
+Multi-Arch: same
+Section: python
+Depends: ${misc:Depends},
+ ${python3:Depends},
+ ${shlibs:Depends}
+Description: Python 3 bindings for the computer vision library
+ This package contains Python 3 bindings for the OpenCV (Open Computer Vision)
+ library.
+ .
+ The Open Computer Vision Library is a collection of algorithms and sample
+ code for various computer vision problems. The library is compatible with
+ IPL (Intel's Image Processing Library) and, if available, can use IPP
+ (Intel's Integrated Performance Primitives) for better performance.
+ .
+ OpenCV provides low level portable data types and operators, and a set
+ of high level functionalities for video acquisition, image processing and
+ analysis, structural analysis, motion analysis and object tracking, object
+ recognition, camera calibration and 3D reconstruction.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: OpenCV
+Source: https://opencv.org
+Files-Excluded:
+ 3rdparty
+ doc/js_tutorials/js_assets/lena.jpg
+ doc/js_tutorials/js_assets/lenaFace.png
+ doc/tutorials/dnn/images/lena_hed.jpg
+ modules/highgui/src/files_Qt/Milky
+ modules/java/test/common_test/res/drawable/lena.png
+ modules/core/misc/objc/test/resources/lena.png
+ samples/data/lena.jpg
+ samples/data/lena_tmpl.jpg
+ samples/java/clojure/simple-sample/resources
+ samples/java/clojure/simple-sample/resources/images
+ samples/java/clojure/simple-sample/resources/images/lena.png
+ samples/winrt/OcvImageProcessing/OcvImageProcessing/Assets/Lena.png
+ samples/winrt_universal/PhoneTutorial/Lena.png
+ samples/wp8/OcvRotatingCube/PhoneXamlDirect3DApp1/PhoneXamlDirect3DApp1/Assets/Lena.png
+ samples/wp8/OpenCVXaml/OpenCVXaml/Assets/Lena.png
+Files-Excluded-contrib:
+ modules/xfeatures2d
+
+Files: *
+Copyright: 2000-2022, Intel Corporation, all rights reserved.
+ 2009-2011, Willow Garage Inc., all rights reserved.
+ 2009-2016, NVIDIA Corporation, all rights reserved.
+ 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
+ 2015-2022, OpenCV Foundation, all rights reserved.
+ 2008-2016, Itseez Inc., all rights reserved.
+ 2019-2022, Xperience AI, all rights reserved.
+ 2019-2022, Shenzhen Institute of Artificial Intelligence and Robotics for Society, all rights reserved.
+ Respective opencv contributors.
+License: Apache-2.0 AND BSD-3-Clause
+Comment: upstream relicensed the whole project to Apache-2.0, but a large
+ portion of the source tree remains to be licensed under BSD-3-Clause.
+
+# /* apps */
+
+Files: apps/annotation/opencv_annotation.cpp
+ apps/createsamples/*.cpp
+ apps/createsamples/*.hpp
+ apps/traincascade/old_ml*.cpp
+ apps/traincascade/old_ml*.hpp
+ apps/visualisation/opencv_visualisation.cpp
+Copyright: 2000-2008, Intel Corporation
+ 2009, Willow Garage Inc.
+ 2013, OpenCV Foundation
+License: BSD-3-Clause
+
+# /* cmake */
+
+Files: cmake/FindCUDA/*
+Copyright: 2008 - 2009 NVIDIA Corporation.
+ 2007-2009 Scientific Computing and Imaging Institute, University of Utah
+License: Expat
+
+Files: cmake/OpenCVFindAtlas.cmake
+ cmake/OpenCVFindOpenBLAS.cmake
+Copyright: 2014, 2015, The Regents of the University of California
+ 2014, 2015, the respective contributors
+License: BSD-2-Clause
+Comment: upstream copied these files from src:caffe
+
+Files: cmake/OpenCVFindTengine.cmake
+Copyright: 2020, OPEN AI LAB
+License: Apache-2.0
+
+# /* contrib */
+
+Files: contrib/modules/ximgproc/src/scansegment.cpp
+Copyright: 2021, Dr Seng Cheong Loke (lokesengcheong@gmail.com)
+License: Apache-2.0
+
+# /* data */
+
+Files: data/*
+Copyright: 2000, Intel Corporation, all rights reserved.
+ 2014-2016, Joseph Howse (Nummist Media Corporation Limited)
+ 2004, Hannes Kruppa and Bernt Schiele (ETH Zurich)
+ 2011, Modesto Castrillon-Santana (IUSIANI, Universidad de Las Palmas de Gran Canaria, Spain)
+ 2017, Puttemans Steven, Can Ergun and Toon Goedeme
+License: BSD-3-Clause
+
+# /* doc */
+
+Files: doc/pattern_tools/svgfig.py
+Copyright: 2008 Jim Pivarski <jpivarski@gmail.com>
+License: GPL-2.0+
+
+# /* include */
+
+Files: include/opencv2/opencv.hpp
+Copyright: 2000-2008, Intel Corporation, all rights reserved.
+ 2009-2010, Willow Garage Inc., all rights reserved.
+License: BSD-3-Clause
+
+# /* platforms */
+
+Files: platforms/android/android.toolchain.cmake
+Copyright: 2010-2011, Ethan Rublee
+ 2011-2014, Andrey Kamaev
+License: BSD-3-Clause
+
+Files: platforms/winrt/*
+Copyright: Microsoft Open Technologies, Inc.
+License: BSD-3-Clause
+
+# /* samples */
+
+Files: samples/cpp/stereo_calib.cpp
+Copyright: Gary Bradski and Adrian Kaehler
+License: STEREO_CALIB_PERMISSIVE
+ Right to use this code in any way you want without warranty, support or
+ any guarantee of it working.
+
+Files: samples/cpp/logistic_regression.cpp
+ samples/cpp/tutorial_code/gapi/face_beautification/face_beautification.cpp
+ samples/winrt/FaceDetection/FaceDetection/Assets/haarcascade_frontalface_alt.xml
+Copyright: Copyright (C) 2000-2008, Intel Corporation, all rights reserved.
+ Copyright (C) 2008-2011, Willow Garage Inc., all rights reserved.
+License: BSD-3-Clause
+
+Files: samples/cpp/stereo_match.cpp
+Copyright: 2010 Argus Corp
+License: Apache-2.0
+
+Files: samples/cpp/videocapture_gphoto2_autofocus.cpp
+Copyright: 2015, Piotr Dobrowolski dobrypd[at]gmail[dot]com
+License: BSD-2-Clause
+
+Files: samples/va_intel/va_intel_interop.cpp
+Copyright: 2007-2008 Intel Corporation
+License: Expat
+
+Files: samples/winrt/JavaScript/*
+ samples/winrt/ImageManipulations/*
+ samples/winrt_universal/VideoCaptureXAML/*
+Copyright: Microsoft Corporation.
+ Microsoft Open Technologies, Inc.
+License: Apache-2.0
+
+# /* modules */
+
+Files: modules/calib3d/misc/objc/test/Calib3dTest.swift
+Copyright: Giles Payne
+License: Apache-2.0
+
+Files: modules/core/3rdparty/SoftFloat/*
+Copyright: 2017 John R. Hauser
+License: BSD-3-Clause
+
+Files: modules/dnn/src/tengine4dnn/*
+Copyright: 2020, OPEN AI LAB
+License: Apache-2.0
+
+Files: modules/dnn/src/onnx/opencv-onnx.proto
+Copyright: 2018 Facebook Inc. and Microsoft Corporation
+License: Expat
+
+Files: modules/dnn/src/caffe/opencv-caffe.proto
+Copyright: 2014, The Regents of the University of California
+ 2014, Caffe Contributors
+License: BSD-2-Clause
+
+Files: modules/dnn/src/opencl/lrn.cl
+ modules/dnn/src/opencl/pooling.cl
+ modules/dnn/src/opencl/softmax.cl
+Copyright: 2015, Advanced Micro Devices, Inc.
+License: BSD-2-Clause
+
+Files: modules/dnn/src/torch/*
+Copyright:2011-2014 Idiap Research Institute (Ronan Collobert)
+ 2012-2014 Deepmind Technologies (Koray Kavukcuoglu)
+ 2011-2012 NEC Laboratories America (Koray Kavukcuoglu)
+ 2011-2013 NYU (Clement Farabet)
+ 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston)
+ 2006 Idiap Research Institute (Samy Bengio)
+ 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz)
+ 2013, OpenCV Foundation
+License: BSD-3-Clause
+
+Files: modules/features2d/src/*
+Copyright: 2006, 2008 Edward Rosten
+License: BSD-3-Clause
+
+Files: modules/features2d/doc/agast*
+ modules/features2d/src/agast*
+Copyright: 2010 Elmar Mair
+License: BSD-3-Clause
+
+Files: modules/features2d/src/sift.dispatch.cpp
+Copyright: 2006-2010, Rob Hess <hess@eecs.oregonstate.edu>
+ 2009, Willow Garage Inc., all rights reserved.
+ 2020, Intel Corporation, all rights reserved.
+License: BSD-3-Clause
+Comment: The related patent has expired.
+
+Files: modules/features2d/src/mser.cpp
+Copyright: 2009, Liu Liu All rights reserved.
+License: BSD-3-Clause
+
+Files: modules/flann/*
+Copyright: 2008-2009 Marius Muja (mariusm@cs.ubc.ca)
+ 2008-2009 David G. Lowe (lowe@cs.ubc.ca)
+ Christopher Diggins 2005-2011
+ Pablo Aguilar 2005
+ Kevlin Henney 2001
+License: BSD-2-Clause
+
+Files: modules/ml/src/svm.cpp
+Copyright: 2000-2003 Chih-Chung Chang and Chih-Jen Lin
+License: BSD-3-Clause
+
+Files: modules/videoio/src/cap_gstreamer.cpp
+ modules/videoio/src/cap_images.cpp
+Copyright: 2008, 2011, Nils Hasler, all rights reserved.
+License: BSD-3-Clause
+
+# /* debian */
+
+Files: debian/*
+Copyright: 2004-2008 Sam Hocevar <sam@zoy.org>
+ 2009-2017 Nobuhiro Iwamatsu <iwamatsu@debian.org>
+ 2016-2017 Mattia Rizzolo <mattia@debian.org>
+ 2018-2019 Mo Zhou <cdluminate@gmail.com>
+ 2018-2020 Mo Zhou <lumin@debian.org>
+License: BSD-3-clause
+
+# /* embedded sources */
+Files: debian/3rdparty-4.6.0/quirc/*
+Copyright: 2010-2012, Daniel Beer <dlbeer@gmail.com>
+License: ISC
+Comment: We embed this code because it has been removed through Files-Excluded: 3rdparty.
+ We may include this part for the next upstream release.
+
+License: BSD-3-clause
+ Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+ .
+ * Redistribution's [sic] of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ .
+ * Redistribution's [sic] 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.
+ .
+ * The name of the copyright holders may not be used to endorse or promote products
+ derived from this software without specific prior written permission.
+ .
+ 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 the Intel Corporation or 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.
+
+License: Expat
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: BSD-2-Clause
+ 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 THE HOLDERS OR
+ 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.
+
+License: Apache-2.0
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ .
+ http://www.apache.org/licenses/LICENSE-2.0
+ .
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ .
+ On Debian systems, the complete text of the Apache version 2.0 license
+ can be found in "/usr/share/common-licenses/Apache-2.0".
+
+License: GPL-2.0+
+ This package is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ This package is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for
+ any purpose with or without fee is hereby granted, provided that the
+ above copyright notice and this permission notice appear in all
+ copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ PERFORMANCE OF THIS SOFTWARE.
--- /dev/null
+[DEFAULT]
+component = contrib
+
+[import-orig]
+pristine-tar = True
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/calib3d.hpp
+usr/include/opencv4/opencv2/calib3d/*
+usr/lib/*/libopencv_calib3d.a
+usr/lib/*/libopencv_calib3d.so
--- /dev/null
+usr/lib/*/libopencv_calib3d.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+# aruco
+usr/include/opencv4/opencv2/aruco/*
+usr/include/opencv4/opencv2/aruco.hpp
+usr/lib/*/libopencv_aruco.a
+usr/lib/*/libopencv_aruco.so
+# barcode
+usr/include/opencv4/opencv2/barcode.hpp
+usr/lib/*/libopencv_barcode.a
+usr/lib/*/libopencv_barcode.so
+# bgsegm
+# usr/include/opencv4/opencv2/bgsegm/*
+usr/include/opencv4/opencv2/bgsegm.hpp
+usr/lib/*/libopencv_bgsegm.a
+usr/lib/*/libopencv_bgsegm.so
+# bioinspired
+usr/include/opencv4/opencv2/bioinspired/*
+usr/include/opencv4/opencv2/bioinspired.hpp
+usr/lib/*/libopencv_bioinspired.a
+usr/lib/*/libopencv_bioinspired.so
+# ccalib
+usr/include/opencv4/opencv2/ccalib/*
+usr/include/opencv4/opencv2/ccalib.hpp
+usr/lib/*/libopencv_ccalib.a
+usr/lib/*/libopencv_ccalib.so
+# cvv
+usr/include/opencv4/opencv2/cvv/*
+usr/include/opencv4/opencv2/cvv.hpp
+usr/lib/*/libopencv_cvv.a
+usr/lib/*/libopencv_cvv.so
+# dpm
+usr/include/opencv4/opencv2/dpm.hpp
+usr/lib/*/libopencv_dpm.a
+usr/lib/*/libopencv_dpm.so
+# fuzzy
+usr/include/opencv4/opencv2/fuzzy/*
+usr/include/opencv4/opencv2/fuzzy.hpp
+usr/lib/*/libopencv_fuzzy.a
+usr/lib/*/libopencv_fuzzy.so
+# hdf
+usr/include/opencv4/opencv2/hdf/*
+usr/include/opencv4/opencv2/hdf.hpp
+usr/lib/*/libopencv_hdf.a
+usr/lib/*/libopencv_hdf.so
+# hfs
+usr/include/opencv4/opencv2/hfs.hpp
+usr/lib/*/libopencv_hfs.a
+usr/lib/*/libopencv_hfs.so
+# line_descriptor
+usr/include/opencv4/opencv2/line_descriptor/*
+usr/include/opencv4/opencv2/line_descriptor.hpp
+usr/lib/*/libopencv_line_descriptor.a
+usr/lib/*/libopencv_line_descriptor.so
+# optflow
+usr/include/opencv4/opencv2/optflow/*
+usr/include/opencv4/opencv2/optflow.hpp
+usr/lib/*/libopencv_optflow.a
+usr/lib/*/libopencv_optflow.so
+# plot
+# usr/include/opencv4/opencv2/plot/*
+usr/include/opencv4/opencv2/plot.hpp
+usr/lib/*/libopencv_plot.a
+usr/lib/*/libopencv_plot.so
+# reg
+usr/include/opencv4/opencv2/reg/*
+# usr/include/opencv4/opencv2/reg.hpp
+usr/lib/*/libopencv_reg.a
+usr/lib/*/libopencv_reg.so
+# saliency
+usr/include/opencv4/opencv2/saliency/*
+usr/include/opencv4/opencv2/saliency.hpp
+usr/lib/*/libopencv_saliency.a
+usr/lib/*/libopencv_saliency.so
+# stereo
+usr/include/opencv4/opencv2/stereo/*
+usr/include/opencv4/opencv2/stereo.hpp
+usr/lib/*/libopencv_stereo.a
+usr/lib/*/libopencv_stereo.so
+# surface_matching
+usr/include/opencv4/opencv2/surface_matching/*
+usr/include/opencv4/opencv2/surface_matching.hpp
+usr/lib/*/libopencv_surface_matching.a
+usr/lib/*/libopencv_surface_matching.so
+# structred_light
+usr/include/opencv4/opencv2/structured_light/*
+usr/include/opencv4/opencv2/structured_light.hpp
+usr/lib/*/libopencv_structured_light.a
+usr/lib/*/libopencv_structured_light.so
+# rgbd
+usr/include/opencv4/opencv2/rgbd/*
+usr/include/opencv4/opencv2/rgbd.hpp
+usr/lib/*/libopencv_rgbd.a
+usr/lib/*/libopencv_rgbd.so
+# datasets
+usr/include/opencv4/opencv2/datasets/*
+#usr/include/opencv4/opencv2/datasets.hpp
+usr/lib/*/libopencv_datasets.a
+usr/lib/*/libopencv_datasets.so
+# text
+usr/include/opencv4/opencv2/text/*
+usr/include/opencv4/opencv2/text.hpp
+usr/lib/*/libopencv_text.a
+usr/lib/*/libopencv_text.so
+# face
+usr/include/opencv4/opencv2/face/*
+usr/include/opencv4/opencv2/face.hpp
+usr/lib/*/libopencv_face.a
+usr/lib/*/libopencv_face.so
+# freetype
+usr/include/opencv4/opencv2/freetype.hpp
+usr/lib/*/libopencv_freetype.a
+usr/lib/*/libopencv_freetype.so
+# ximgproc
+usr/include/opencv4/opencv2/ximgproc/*
+usr/include/opencv4/opencv2/ximgproc.hpp
+usr/lib/*/libopencv_ximgproc.a
+usr/lib/*/libopencv_ximgproc.so
+# xobjdetect
+usr/include/opencv4/opencv2/xobjdetect.hpp
+usr/lib/*/libopencv_xobjdetect.a
+usr/lib/*/libopencv_xobjdetect.so
+# xphoto
+usr/include/opencv4/opencv2/xphoto/*
+usr/include/opencv4/opencv2/xphoto.hpp
+usr/lib/*/libopencv_xphoto.a
+usr/lib/*/libopencv_xphoto.so
+# wechat-qrcode
+usr/include/opencv4/opencv2/wechat_qrcode.hpp
+usr/lib/*/libopencv_wechat_qrcode.a
+usr/lib/*/libopencv_wechat_qrcode.so
+# phase_unwrapping
+usr/include/opencv4/opencv2/phase_unwrapping/*
+usr/include/opencv4/opencv2/phase_unwrapping.hpp
+usr/lib/*/libopencv_phase_unwrapping.a
+usr/lib/*/libopencv_phase_unwrapping.so
+# img_hash
+usr/include/opencv4/opencv2/img_hash/*
+usr/include/opencv4/opencv2/img_hash.hpp
+usr/lib/*/libopencv_img_hash.a
+usr/lib/*/libopencv_img_hash.so
+# tracking
+usr/include/opencv4/opencv2/tracking/*
+usr/include/opencv4/opencv2/tracking.hpp
+usr/lib/*/libopencv_tracking.a
+usr/lib/*/libopencv_tracking.so
+# dnn_objdetect
+usr/include/opencv4/opencv2/core_detect.hpp
+usr/lib/*/libopencv_dnn_objdetect.so
+usr/lib/*/libopencv_dnn_objdetect.a
+# quality
+usr/include/opencv4/opencv2/quality.hpp
+usr/include/opencv4/opencv2/quality/*
+usr/lib/*/libopencv_quality.a
+usr/lib/*/libopencv_quality.so
+# dnn_superres
+usr/include/opencv4/opencv2/dnn_superres.hpp
+usr/lib/*/libopencv_dnn_superres.a
+usr/lib/*/libopencv_dnn_superres.so
+# alphamat
+usr/include/opencv4/opencv2/alphamat.hpp
+usr/lib/*/libopencv_alphamat.a
+usr/lib/*/libopencv_alphamat.so
+# intensity-transform
+usr/include/opencv4/opencv2/intensity_transform.hpp
+usr/lib/*/libopencv_intensity_transform.a
+usr/lib/*/libopencv_intensity_transform.so
+# rapid
+usr/include/opencv4/opencv2/rapid.hpp
+usr/lib/*/libopencv_rapid.a
+usr/lib/*/libopencv_rapid.so
+# mcc
+usr/include/opencv4/opencv2/mcc.hpp
+usr/include/opencv4/opencv2/mcc/ccm.hpp
+usr/include/opencv4/opencv2/mcc/checker_detector.hpp
+usr/include/opencv4/opencv2/mcc/checker_model.hpp
+usr/lib/*/libopencv_mcc.a
+usr/lib/*/libopencv_mcc.so
--- /dev/null
+usr/lib/*/libopencv_aruco.so.*
+usr/lib/*/libopencv_barcode.so.*
+usr/lib/*/libopencv_bgsegm.so.*
+usr/lib/*/libopencv_bioinspired.so.*
+usr/lib/*/libopencv_ccalib.so.*
+usr/lib/*/libopencv_cvv.so.*
+usr/lib/*/libopencv_datasets.so.*
+usr/lib/*/libopencv_dpm.so.*
+usr/lib/*/libopencv_face.so.*
+usr/lib/*/libopencv_freetype.so.*
+usr/lib/*/libopencv_fuzzy.so.*
+usr/lib/*/libopencv_hdf.so.*
+usr/lib/*/libopencv_hfs.so.*
+usr/lib/*/libopencv_img_hash.so.*
+usr/lib/*/libopencv_line_descriptor.so.*
+usr/lib/*/libopencv_optflow.so.*
+usr/lib/*/libopencv_phase_unwrapping.so.*
+usr/lib/*/libopencv_plot.so.*
+usr/lib/*/libopencv_reg.so.*
+usr/lib/*/libopencv_rgbd.so.*
+usr/lib/*/libopencv_saliency.so.*
+usr/lib/*/libopencv_stereo.so.*
+usr/lib/*/libopencv_structured_light.so.*
+usr/lib/*/libopencv_surface_matching.so.*
+usr/lib/*/libopencv_text.so.*
+usr/lib/*/libopencv_tracking.so.*
+usr/lib/*/libopencv_ximgproc.so.*
+usr/lib/*/libopencv_xobjdetect.so.*
+usr/lib/*/libopencv_xphoto.so.*
+usr/lib/*/libopencv_wechat_qrcode.so.*
+usr/lib/*/libopencv_dnn_objdetect.so.*
+usr/lib/*/libopencv_quality.so.*
+usr/lib/*/libopencv_dnn_superres.so.*
+usr/lib/*/libopencv_alphamat.so.*
+usr/lib/*/libopencv_intensity_transform.so.*
+usr/lib/*/libopencv_rapid.so.*
+usr/lib/*/libopencv_mcc.so.*
+
--- /dev/null
+# bundle of a bunch of libraries
+package-name-doesnt-match-sonames
--- /dev/null
+debian/README.Debian
--- /dev/null
+# header files
+usr/include/opencv4/opencv2/core.hpp
+usr/include/opencv4/opencv2/core/*
+usr/include/opencv4/opencv2/cvconfig.h usr/include/${DEB_HOST_MULTIARCH}/opencv4/opencv2
+usr/include/opencv4/opencv2/opencv.hpp
+usr/include/opencv4/opencv2/opencv_modules.hpp
+# libraries
+usr/lib/*/libopencv_core.a
+usr/lib/*/libopencv_core.so
--- /dev/null
+usr/lib/*/libopencv_core.so.*
--- /dev/null
+# samples
+usr/bin/opencv_annotation
+usr/bin/opencv_interactive-calibration
+usr/bin/opencv_model_diagnostics
+usr/bin/opencv_version
+usr/bin/opencv_visualisation
+usr/bin/opencv_waldboost_detector
+# cmake
+usr/lib/*/cmake/opencv4/*.cmake
+# pkg-config
+usr/lib/*/pkgconfig/opencv4.pc
+# misc
+usr/share/licenses/opencv4/SoftFloat-COPYING.txt
--- /dev/null
+libopencv-dev: no-manual-page [usr/bin/opencv_annotation]
+libopencv-dev: no-manual-page [usr/bin/opencv_interactive-calibration]
+libopencv-dev: no-manual-page [usr/bin/opencv_model_diagnostics]
+libopencv-dev: no-manual-page [usr/bin/opencv_version]
+libopencv-dev: no-manual-page [usr/bin/opencv_visualisation]
+libopencv-dev: no-manual-page [usr/bin/opencv_waldboost_detector]
--- /dev/null
+usr/include/opencv4/opencv2/dnn.hpp
+usr/include/opencv4/opencv2/dnn/*
+usr/lib/*/libopencv_dnn.a
+usr/lib/*/libopencv_dnn.so
--- /dev/null
+usr/lib/*/libopencv_dnn.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/features2d.hpp
+usr/include/opencv4/opencv2/features2d/*
+usr/lib/*/libopencv_features2d.a
+usr/lib/*/libopencv_features2d.so
--- /dev/null
+usr/lib/*/libopencv_features2d.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/flann.hpp
+usr/include/opencv4/opencv2/flann/*
+usr/lib/*/libopencv_flann.a
+usr/lib/*/libopencv_flann.so
--- /dev/null
+usr/lib/*/libopencv_flann.so.*
--- /dev/null
+usr/include/opencv4/opencv2/gapi.hpp
+usr/include/opencv4/opencv2/gapi/*
+usr/lib/*/libopencv_gapi.a
+usr/lib/*/libopencv_gapi.so
--- /dev/null
+usr/lib/*/libopencv_gapi.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+#usr/include/opencv4/opencv2/gpu/*
+#usr/lib/*/libopencv_gpu.a
+#usr/lib/*/libopencv_gpu.so
--- /dev/null
+# usr/lib/*/libopencv_gpu.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/highgui.hpp
+usr/include/opencv4/opencv2/highgui/*
+usr/lib/*/libopencv_highgui.a
+usr/lib/*/libopencv_highgui.so
--- /dev/null
+usr/lib/*/libopencv_highgui.so.*
--- /dev/null
+usr/include/opencv4/opencv2/imgcodecs.hpp
+usr/include/opencv4/opencv2/imgcodecs/*
+usr/lib/*/libopencv_imgcodecs.a
+usr/lib/*/libopencv_imgcodecs.so
--- /dev/null
+usr/lib/*/libopencv_imgcodecs.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/imgproc.hpp
+usr/include/opencv4/opencv2/imgproc/*
+usr/lib/*/libopencv_imgproc.a
+usr/lib/*/libopencv_imgproc.so
--- /dev/null
+usr/lib/*/libopencv_imgproc.so.*
--- /dev/null
+usr/share/java/opencv4/opencv-*.jar
--- /dev/null
+usr/share/java/opencv4/opencv-460.jar usr/share/java/opencv-460.jar
+usr/share/java/opencv4/opencv-460.jar usr/share/java/opencv.jar
--- /dev/null
+libopencv-java: jar-contains-source *
--- /dev/null
+debian/pom.xml --usj-name=opencv
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/ml.hpp
+usr/include/opencv4/opencv2/ml/*
+usr/lib/*/libopencv_ml.a
+usr/lib/*/libopencv_ml.so
--- /dev/null
+usr/lib/*/libopencv_ml.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/objdetect.hpp
+usr/include/opencv4/opencv2/objdetect/*
+usr/lib/*/libopencv_objdetect.a
+usr/lib/*/libopencv_objdetect.so
--- /dev/null
+usr/lib/*/libopencv_objdetect.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+#usr/include/opencv4/opencv2/ocl/*
+#usr/lib/*/libopencv_ocl.a
+#usr/lib/*/libopencv_ocl.so
--- /dev/null
+# usr/lib/*/libopencv_ocl.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/photo.hpp
+usr/include/opencv4/opencv2/photo/*
+usr/lib/*/libopencv_photo.a
+usr/lib/*/libopencv_photo.so
--- /dev/null
+usr/lib/*/libopencv_photo.so.*
--- /dev/null
+usr/include/opencv4/opencv2/shape.hpp
+usr/include/opencv4/opencv2/shape/*
+usr/lib/*/libopencv_shape.a
+usr/lib/*/libopencv_shape.so
--- /dev/null
+usr/lib/*/libopencv_shape.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/stitching.hpp
+usr/include/opencv4/opencv2/stitching/*
+usr/lib/*/libopencv_stitching.a
+usr/lib/*/libopencv_stitching.so
--- /dev/null
+usr/lib/*/libopencv_stitching.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/superres.hpp
+usr/include/opencv4/opencv2/superres/*
+usr/lib/*/libopencv_superres.a
+usr/lib/*/libopencv_superres.so
--- /dev/null
+usr/lib/*/libopencv_superres.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/video.hpp
+usr/include/opencv4/opencv2/video/*
+usr/lib/*/libopencv_video.a
+usr/lib/*/libopencv_video.so
--- /dev/null
+usr/lib/*/libopencv_video.so.*
--- /dev/null
+usr/include/opencv4/opencv2/videoio.hpp
+usr/include/opencv4/opencv2/videoio/*
+usr/lib/*/libopencv_videoio.a
+usr/lib/*/libopencv_videoio.so
--- /dev/null
+usr/lib/*/libopencv_videoio.so.*
--- /dev/null
+debian/README.Debian
--- /dev/null
+usr/include/opencv4/opencv2/videostab.hpp
+usr/include/opencv4/opencv2/videostab/*
+usr/lib/*/libopencv_videostab.a
+usr/lib/*/libopencv_videostab.so
--- /dev/null
+usr/lib/*/libopencv_videostab.so.*
--- /dev/null
+usr/include/opencv4/opencv2/viz.hpp
+usr/include/opencv4/opencv2/viz/*
+usr/lib/*/libopencv_viz.a
+usr/lib/*/libopencv_viz.so
--- /dev/null
+usr/lib/*/libopencv_viz.so.*
--- /dev/null
+usr/share/java/opencv4/libopencv_java*.so usr/lib/jni
--- /dev/null
+usr/bin/setup_vars_opencv4.sh
+usr/share/licenses/opencv4/quirc-LICENSE
--- /dev/null
+usr/share/opencv4/haarcascades
+usr/share/opencv4/lbpcascades
+usr/share/opencv4/quality
--- /dev/null
+usr/share/doc/* usr/share/doc/opencv-doc/
+usr/share/opencv4/samples/* usr/share/doc/opencv-doc/examples/
--- /dev/null
+opencv-doc: privacy-breach-generic *
+opencv-doc: embedded-javascript-library *
--- /dev/null
+From: Jochen Sprickerhof <jspricke@debian.org>
+Date: Mon, 8 Aug 2022 21:10:13 +0200
+Subject: Add missing header for LIBAVCODEC_VERSION_INT
+
+---
+ modules/videoio/src/ffmpeg_codecs.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules/videoio/src/ffmpeg_codecs.hpp b/modules/videoio/src/ffmpeg_codecs.hpp
+index 61788e0..faad259 100644
+--- a/modules/videoio/src/ffmpeg_codecs.hpp
++++ b/modules/videoio/src/ffmpeg_codecs.hpp
+@@ -60,6 +60,7 @@ extern "C" {
+ #include <errno.h>
+ #endif
+
++#include <libavcodec/version.h>
+ #include <libavformat/avformat.h>
+
+ #ifdef __cplusplus
--- /dev/null
+From: Pavel Procopiuc <pavel.procopiuc@gmail.com>
+Date: Wed, 8 Jun 2022 13:55:33 +0200
+Subject: Fix building error with OGRE 1.12.9
+
+---
+ contrib/modules/ovis/src/ovis.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/modules/ovis/src/ovis.cpp b/contrib/modules/ovis/src/ovis.cpp
+index 1fa6db9..8c0e343 100644
+--- a/contrib/modules/ovis/src/ovis.cpp
++++ b/contrib/modules/ovis/src/ovis.cpp
+@@ -453,7 +453,8 @@ public:
+ if(tus->getTextureName() != name)
+ {
+ RTShader::ShaderGenerator::getSingleton().invalidateMaterial(
+- RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, *bgplane->getMaterial());
++ RTShader::ShaderGenerator::DEFAULT_SCHEME_NAME, bgplane->getMaterial()->getName(),
++ RESOURCEGROUP_NAME);
+
+ tus->setTextureName(name);
+ tus->setTextureAddressingMode(TAM_CLAMP);
--- /dev/null
+From: Victor Westerhuis <VJ.Westerhuis@student.han.nl>
+Date: Fri, 9 Sep 2022 14:01:42 +0200
+Subject: Fix LAPACK finding CMake code
+
+On Debian cblas.h and lapacke.h are not installed in the same include
+directory. This does not matter when compiling, but the custom header
+check in OpenCV fails on it. Force OpenCV to use the standard CMake
+check_include_file function to do the check so it succeeds.
+---
+ cmake/OpenCVFindLAPACK.cmake | 19 ++++---------------
+ 1 file changed, 4 insertions(+), 15 deletions(-)
+
+diff --git a/cmake/OpenCVFindLAPACK.cmake b/cmake/OpenCVFindLAPACK.cmake
+index 9b1b60f..f51479b 100644
+--- a/cmake/OpenCVFindLAPACK.cmake
++++ b/cmake/OpenCVFindLAPACK.cmake
+@@ -1,22 +1,11 @@
+ macro(_find_header_file_in_dirs VAR NAME)
+ unset(${VAR})
+ unset(${VAR} CACHE)
+- if(" ${ARGN}" STREQUAL " ")
+- check_include_file("${NAME}" HAVE_${VAR})
+- if(HAVE_${VAR})
+- set(${VAR} "${NAME}") # fallback
+- else()
+- set(${VAR} "")
+- endif()
++ check_include_file("${NAME}" HAVE_${VAR})
++ if(HAVE_${VAR})
++ set(${VAR} "${NAME}") # fallback
+ else()
+- find_path(${VAR} "${NAME}" ${ARGN} NO_DEFAULT_PATH)
+- if(${VAR})
+- set(${VAR} "${${VAR}}/${NAME}")
+- unset(${VAR} CACHE)
+- else()
+- unset(${VAR} CACHE)
+- set(${VAR} "")
+- endif()
++ set(${VAR} "")
+ endif()
+ endmacro()
+
--- /dev/null
+From: Victor Westerhuis <VJ.Westerhuis@student.han.nl>
+Date: Fri, 9 Sep 2022 11:07:35 +0200
+Subject: Build highgui module with QT support
+
+Removes the dependency on the removed non-free Milky icon set. Four
+directional arrows are replaced by standard Qt icons. The other icons
+are replaced by corresponding icons from the freedesktop.org Icon Naming
+Specification.
+---
+ modules/highgui/src/window_QT.cpp | 22 +++++++++++-----------
+ modules/highgui/src/window_QT.qrc | 11 -----------
+ 2 files changed, 11 insertions(+), 22 deletions(-)
+
+diff --git a/modules/highgui/src/window_QT.cpp b/modules/highgui/src/window_QT.cpp
+index eba3599..97a4db5 100644
+--- a/modules/highgui/src/window_QT.cpp
++++ b/modules/highgui/src/window_QT.cpp
+@@ -2037,47 +2037,47 @@ void CvWindow::createActions()
+ QWidget* view = myView->getWidget();
+
+ //if the shortcuts are changed in window_QT.h, we need to update the tooltip manually
+- vect_QActions[0] = new QAction(QIcon(":/left-icon"), "Panning left (CTRL+arrowLEFT)", this);
++ vect_QActions[0] = new QAction(style()->standardIcon(QStyle::SP_ArrowLeft), "Panning left (CTRL+arrowLEFT)", this);
+ vect_QActions[0]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[0], SIGNAL(triggered()), view, SLOT(siftWindowOnLeft()));
+
+- vect_QActions[1] = new QAction(QIcon(":/right-icon"), "Panning right (CTRL+arrowRIGHT)", this);
++ vect_QActions[1] = new QAction(style()->standardIcon(QStyle::SP_ArrowRight), "Panning right (CTRL+arrowRIGHT)", this);
+ vect_QActions[1]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[1], SIGNAL(triggered()), view, SLOT(siftWindowOnRight()));
+
+- vect_QActions[2] = new QAction(QIcon(":/up-icon"), "Panning up (CTRL+arrowUP)", this);
++ vect_QActions[2] = new QAction(style()->standardIcon(QStyle::SP_ArrowUp), "Panning up (CTRL+arrowUP)", this);
+ vect_QActions[2]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[2], SIGNAL(triggered()), view, SLOT(siftWindowOnUp()));
+
+- vect_QActions[3] = new QAction(QIcon(":/down-icon"), "Panning down (CTRL+arrowDOWN)", this);
++ vect_QActions[3] = new QAction(style()->standardIcon(QStyle::SP_ArrowDown), "Panning down (CTRL+arrowDOWN)", this);
+ vect_QActions[3]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[3], SIGNAL(triggered()), view, SLOT(siftWindowOnDown()) );
+
+- vect_QActions[4] = new QAction(QIcon(":/zoom_x1-icon"), "Zoom x1 (CTRL+P)", this);
++ vect_QActions[4] = new QAction(QIcon::fromTheme("zoom-original"), "Zoom x1 (CTRL+P)", this);
+ vect_QActions[4]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[4], SIGNAL(triggered()), view, SLOT(resetZoom()));
+
+- vect_QActions[5] = new QAction(QIcon(":/imgRegion-icon"), tr("Zoom x%1 (see label) (CTRL+X)").arg(threshold_zoom_img_region), this);
++ vect_QActions[5] = new QAction(QIcon::fromTheme("zoom-fit-best"), tr("Zoom x%1 (see label) (CTRL+X)").arg(threshold_zoom_img_region), this);
+ vect_QActions[5]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[5], SIGNAL(triggered()), view, SLOT(imgRegion()));
+
+- vect_QActions[6] = new QAction(QIcon(":/zoom_in-icon"), "Zoom in (CTRL++)", this);
++ vect_QActions[6] = new QAction(QIcon::fromTheme("zoom-in"), "Zoom in (CTRL++)", this);
+ vect_QActions[6]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[6], SIGNAL(triggered()), view, SLOT(ZoomIn()));
+
+- vect_QActions[7] = new QAction(QIcon(":/zoom_out-icon"), "Zoom out (CTRL+-)", this);
++ vect_QActions[7] = new QAction(QIcon::fromTheme("zoom-out"), "Zoom out (CTRL+-)", this);
+ vect_QActions[7]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[7], SIGNAL(triggered()), view, SLOT(ZoomOut()));
+
+- vect_QActions[8] = new QAction(QIcon(":/save-icon"), "Save current image (CTRL+S)", this);
++ vect_QActions[8] = new QAction(QIcon::fromTheme("document-save"), "Save current image (CTRL+S)", this);
+ vect_QActions[8]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[8], SIGNAL(triggered()), view, SLOT(saveView()));
+
+- vect_QActions[9] = new QAction(QIcon(":/copy_clipbrd-icon"), "Copy image to clipboard (CTRL+C)", this);
++ vect_QActions[9] = new QAction(QIcon::fromTheme("edit-copy"), "Copy image to clipboard (CTRL+C)", this);
+ vect_QActions[9]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[9], SIGNAL(triggered()), view, SLOT(copy2Clipbrd()));
+
+- vect_QActions[10] = new QAction(QIcon(":/properties-icon"), "Display properties window (CTRL+P)", this);
++ vect_QActions[10] = new QAction(QIcon::fromTheme("document-properties"), "Display properties window (CTRL+P)", this);
+ vect_QActions[10]->setIconVisibleInMenu(true);
+ QObject::connect(vect_QActions[10], SIGNAL(triggered()), this, SLOT(displayPropertiesWin()));
+
+diff --git a/modules/highgui/src/window_QT.qrc b/modules/highgui/src/window_QT.qrc
+index efdd8c2..f7e6f37 100644
+--- a/modules/highgui/src/window_QT.qrc
++++ b/modules/highgui/src/window_QT.qrc
+@@ -1,16 +1,5 @@
+ <RCC>
+ <qresource prefix="/">
+- <file alias="left-icon">files_Qt/Milky/48/28.png</file>
+- <file alias="right-icon">files_Qt/Milky/48/23.png</file>
+- <file alias="up-icon">files_Qt/Milky/48/19.png</file>
+- <file alias="down-icon">files_Qt/Milky/48/24.png</file>
+- <file alias="zoom_x1-icon">files_Qt/Milky/48/27.png</file>
+- <file alias="imgRegion-icon">files_Qt/Milky/48/61.png</file>
+- <file alias="zoom_in-icon">files_Qt/Milky/48/106.png</file>
+- <file alias="zoom_out-icon">files_Qt/Milky/48/107.png</file>
+- <file alias="save-icon">files_Qt/Milky/48/7.png</file>
+- <file alias="copy_clipbrd-icon">files_Qt/Milky/48/43.png</file>
+- <file alias="properties-icon">files_Qt/Milky/48/38.png</file>
+ <file alias="stylesheet-trackbar">files_Qt/stylesheet_trackbar.qss</file>
+ </qresource>
+ </RCC>
--- /dev/null
+From: Victor Westerhuis <victor@westerhu.is>
+Date: Sat, 19 Nov 2022 21:45:39 +0100
+Subject: Do not embed build directory in binaries
+
+This makes the opencv core module build reproducibly.
+---
+ modules/core/CMakeLists.txt | 10 ------
+ modules/core/include/opencv2/core/private.hpp | 4 +--
+ modules/core/include/opencv2/core/utility.hpp | 4 +--
+ modules/core/src/utils/datafile.cpp | 48 +--------------------------
+ 4 files changed, 5 insertions(+), 61 deletions(-)
+
+diff --git a/modules/core/CMakeLists.txt b/modules/core/CMakeLists.txt
+index b78bb98..d96b669 100644
+--- a/modules/core/CMakeLists.txt
++++ b/modules/core/CMakeLists.txt
+@@ -188,16 +188,6 @@ if(OPENCV_OTHER_INSTALL_PATH)
+ ")
+ endif()
+
+-set(OPENCV_DATA_CONFIG_STR "${OPENCV_DATA_CONFIG_STR}
+-#define OPENCV_BUILD_DIR \"${CMAKE_BINARY_DIR}\"
+-")
+-
+-file(RELATIVE_PATH SOURCE_DIR_RELATIVE ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR})
+-set(OPENCV_DATA_CONFIG_STR "${OPENCV_DATA_CONFIG_STR}
+-#define OPENCV_DATA_BUILD_DIR_SEARCH_PATHS \\
+- \"${SOURCE_DIR_RELATIVE}/\"
+-")
+-
+ if(WIN32)
+ file(RELATIVE_PATH INSTALL_DATA_DIR_RELATIVE "${CMAKE_INSTALL_PREFIX}/${OPENCV_BIN_INSTALL_PATH}" "${CMAKE_INSTALL_PREFIX}/${OPENCV_OTHER_INSTALL_PATH}")
+ else()
+diff --git a/modules/core/include/opencv2/core/private.hpp b/modules/core/include/opencv2/core/private.hpp
+index 146d37f..dd675bc 100644
+--- a/modules/core/include/opencv2/core/private.hpp
++++ b/modules/core/include/opencv2/core/private.hpp
+@@ -818,10 +818,10 @@ Search directories:
+ 2. Check path specified by configuration parameter with "_HINT" suffix (name of environment variable).
+ 3. Check path specified by configuration parameter (name of environment variable).
+ If parameter value is not empty and nothing is found then stop searching.
+-4. Detects build/install path based on:
++4. Detects install path based on:
+ a. current working directory (CWD)
+ b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage)
+-5. Scan `<source>/{,data}` directories if build directory is detected or the current directory is in source tree.
++5. Scan `<source>/{,data}` directories if the current directory is in source tree.
+ 6. Scan `<install>/share/OpenCV` directory if install directory is detected.
+
+ @param relative_path Relative path to data file
+diff --git a/modules/core/include/opencv2/core/utility.hpp b/modules/core/include/opencv2/core/utility.hpp
+index 108c0d9..f15d9ea 100644
+--- a/modules/core/include/opencv2/core/utility.hpp
++++ b/modules/core/include/opencv2/core/utility.hpp
+@@ -1163,10 +1163,10 @@ Search directories:
+ 2. OPENCV_SAMPLES_DATA_PATH_HINT environment variable
+ 3. OPENCV_SAMPLES_DATA_PATH environment variable
+ If parameter value is not empty and nothing is found then stop searching.
+-4. Detects build/install path based on:
++4. Detects install path based on:
+ a. current working directory (CWD)
+ b. and/or binary module location (opencv_core/opencv_world, doesn't work with static linkage)
+-5. Scan `<source>/{,data,samples/data}` directories if build directory is detected or the current directory is in source tree.
++5. Scan `<source>/{,data,samples/data}` directories if the current directory is in source tree.
+ 6. Scan `<install>/share/OpenCV` directory if install directory is detected.
+
+ @see cv::utils::findDataFile
+diff --git a/modules/core/src/utils/datafile.cpp b/modules/core/src/utils/datafile.cpp
+index 3af83a5..6bda857 100644
+--- a/modules/core/src/utils/datafile.cpp
++++ b/modules/core/src/utils/datafile.cpp
+@@ -280,32 +280,8 @@ cv::String findDataFile(const cv::String& relative_path,
+
+
+ // Steps: 4, 5, 6
+- cv::String cwd = utils::fs::getcwd();
+- cv::String build_dir(OPENCV_BUILD_DIR);
+- bool has_tested_build_directory = false;
+- if (isSubDirectory(build_dir, cwd) || isSubDirectory(utils::fs::canonical(build_dir), utils::fs::canonical(cwd)))
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): the current directory is build sub-directory: " << cwd);
+- const char* build_subdirs[] = { OPENCV_DATA_BUILD_DIR_SEARCH_PATHS };
+- for (size_t k = 0; k < sizeof(build_subdirs)/sizeof(build_subdirs[0]); k++)
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): <build>/" << build_subdirs[k]);
+- cv::String datapath = utils::fs::join(build_dir, build_subdirs[k]);
+- if (utils::fs::isDirectory(datapath))
+- {
+- for(size_t i = search_subdir.size(); i > 0; i--)
+- {
+- const cv::String& subdir = search_subdir[i - 1];
+- cv::String prefix = utils::fs::join(datapath, subdir);
+- TRY_FILE_WITH_PREFIX(prefix);
+- }
+- }
+- }
+- has_tested_build_directory = true;
+- }
+-
+ cv::String source_dir;
+- cv::String try_source_dir = cwd;
++ cv::String try_source_dir = utils::fs::getcwd();
+ for (int levels = 0; levels < 3; ++levels)
+ {
+ if (utils::fs::exists(utils::fs::join(try_source_dir, "modules/core/include/opencv2/core/version.hpp")))
+@@ -341,28 +317,6 @@ cv::String findDataFile(const cv::String& relative_path,
+ CV_LOG_INFO(NULL, "Can't detect module binaries location");
+ }
+
+- if (!has_tested_build_directory &&
+- (isSubDirectory(build_dir, module_path) || isSubDirectory(utils::fs::canonical(build_dir), utils::fs::canonical(module_path)))
+- )
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): the binary module directory is build sub-directory: " << module_path);
+- const char* build_subdirs[] = { OPENCV_DATA_BUILD_DIR_SEARCH_PATHS };
+- for (size_t k = 0; k < sizeof(build_subdirs)/sizeof(build_subdirs[0]); k++)
+- {
+- CV_LOG_DEBUG(NULL, "utils::findDataFile(): <build>/" << build_subdirs[k]);
+- cv::String datapath = utils::fs::join(build_dir, build_subdirs[k]);
+- if (utils::fs::isDirectory(datapath))
+- {
+- for(size_t i = search_subdir.size(); i > 0; i--)
+- {
+- const cv::String& subdir = search_subdir[i - 1];
+- cv::String prefix = utils::fs::join(datapath, subdir);
+- TRY_FILE_WITH_PREFIX(prefix);
+- }
+- }
+- }
+- }
+-
+ #if defined OPENCV_INSTALL_DATA_DIR_RELATIVE
+ if (!module_path.empty()) // require module path
+ {
--- /dev/null
+From: Victor Westerhuis <victor@westerhu.is>
+Date: Sat, 19 Nov 2022 23:12:02 +0100
+Subject: Do not embed build directory in documentation
+
+This makes the documentation build reproducibly.
+---
+ doc/CMakeLists.txt | 4 +++-
+ doc/Doxyfile.in | 2 +-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index c19fe96..4068514 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -27,6 +27,7 @@ if(DOXYGEN_FOUND)
+
+ # gathering headers
+ set(paths_include)
++ set(paths_source)
+ set(paths_doc)
+ set(paths_bib)
+ set(paths_sample)
+@@ -63,6 +64,7 @@ if(DOXYGEN_FOUND)
+ endif()
+ endif()
+ endif()
++ list(APPEND paths_source "${OPENCV_MODULE_opencv_${m}_LOCATION}/src")
+ # doc folder
+ set(docs_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/doc")
+ if(EXISTS "${docs_dir}")
+@@ -166,7 +168,7 @@ if(DOXYGEN_FOUND)
+ string(REPLACE ";" " " CMAKE_DOXYGEN_ENABLED_SECTIONS "${CMAKE_DOXYGEN_ENABLED_SECTIONS}")
+ # TODO: remove paths_doc from EXAMPLE_PATH after face module tutorials/samples moved to separate folders
+ string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_EXAMPLE_PATH "${example_path} ; ${paths_doc} ; ${paths_sample}")
+- string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include}")
++ string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include} ; ${paths_source}")
+ set(CMAKE_DOXYGEN_LAYOUT "${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml")
+ set(CMAKE_DOXYGEN_OUTPUT_PATH "doxygen")
+ set(CMAKE_DOXYGEN_MAIN_REFERENCE "${refs_main}")
+diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in
+index ce207d3..91cfb4c 100644
+--- a/doc/Doxyfile.in
++++ b/doc/Doxyfile.in
+@@ -22,7 +22,7 @@ ABBREVIATE_BRIEF = "The $name class" \
+ ALWAYS_DETAILED_SEC = NO
+ INLINE_INHERITED_MEMB = NO
+ FULL_PATH_NAMES = YES
+-STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/modules @CMAKE_DOXYGEN_INCLUDE_ROOTS@
++STRIP_FROM_PATH = @CMAKE_SOURCE_DIR@/modules @OPENCV_EXTRA_MODULES_PATH@ @CMAKE_SOURCE_DIR@/doc @CMAKE_BINARY_DIR@ @CMAKE_DOXYGEN_INCLUDE_ROOTS@
+ STRIP_FROM_INC_PATH = @CMAKE_DOXYGEN_INCLUDE_ROOTS@
+ SHORT_NAMES = NO
+ JAVADOC_AUTOBRIEF = NO
--- /dev/null
+From: Nano <nanoapezlk@gmail.com>
+Date: Wed, 26 Apr 2023 15:09:52 +0800
+Subject: fix(wechat_qrcode): Init nBytes after the count value is determined
+ (#3480)
+
+* fix(wechat_qrcode): Initialize nBytes after the count value is determined
+
+* fix(wechat_qrcode): Incorrect count data repair
+
+* chore: format expr
+
+* fix(wechat_qrcode): Avoid null pointer exception
+
+* fix(wechat_qrcode): return when bytes_ is empty
+
+* test(wechat_qrcode): add test case
+
+---------
+
+Co-authored-by: GZTime <Time.GZ@outlook.com>
+---
+ .../src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp | 13 +++++++++----
+ contrib/modules/wechat_qrcode/test/test_qrcode.cpp | 11 +++++++++++
+ 2 files changed, 20 insertions(+), 4 deletions(-)
+
+diff --git a/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp b/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
+index 05de793..b3a0a69 100644
+--- a/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
++++ b/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
+@@ -65,7 +65,8 @@ void DecodedBitStreamParser::append(std::string& result, string const& in,
+
+ void DecodedBitStreamParser::append(std::string& result, const char* bufIn, size_t nIn,
+ ErrorHandler& err_handler) {
+- if (err_handler.ErrCode()) return;
++ // avoid null pointer exception
++ if (err_handler.ErrCode() || bufIn == nullptr) return;
+ #ifndef NO_ICONV_INSIDE
+ if (nIn == 0) {
+ return;
+@@ -190,16 +191,20 @@ void DecodedBitStreamParser::decodeByteSegment(Ref<BitSource> bits_, string& res
+ CharacterSetECI* currentCharacterSetECI,
+ ArrayRef<ArrayRef<char> >& byteSegments,
+ ErrorHandler& err_handler) {
+- int nBytes = count;
+ BitSource& bits(*bits_);
+ // Don't crash trying to read more bits than we have available.
+ int available = bits.available();
+ // try to repair count data if count data is invalid
+ if (count * 8 > available) {
+- count = (available + 7 / 8);
++ count = (available + 7) / 8;
+ }
++ size_t nBytes = count;
++
++ ArrayRef<char> bytes_(nBytes);
++ // issue https://github.com/opencv/opencv_contrib/issues/3478
++ if (bytes_->empty())
++ return;
+
+- ArrayRef<char> bytes_(count);
+ char* readBytes = &(*bytes_)[0];
+ for (int i = 0; i < count; i++) {
+ // readBytes[i] = (char) bits.readBits(8);
+diff --git a/contrib/modules/wechat_qrcode/test/test_qrcode.cpp b/contrib/modules/wechat_qrcode/test/test_qrcode.cpp
+index 5de6533..6989563 100644
+--- a/contrib/modules/wechat_qrcode/test/test_qrcode.cpp
++++ b/contrib/modules/wechat_qrcode/test/test_qrcode.cpp
+@@ -289,5 +289,16 @@ INSTANTIATE_TEST_CASE_P(/**/, Objdetect_QRCode_Monitor, testing::ValuesIn(qrcode
+ INSTANTIATE_TEST_CASE_P(/**/, Objdetect_QRCode_Curved, testing::ValuesIn(qrcode_images_curved));
+ // INSTANTIATE_TEST_CASE_P(/**/, Objdetect_QRCode_Multi, testing::ValuesIn(qrcode_images_multiple));
+
++TEST(Objdetect_QRCode_bug, issue_3478) {
++ auto detector = wechat_qrcode::WeChatQRCode();
++ std::string image_path = findDataFile("qrcode/issue_3478.png");
++ Mat src = imread(image_path, IMREAD_GRAYSCALE);
++ ASSERT_FALSE(src.empty()) << "Can't read image: " << image_path;
++ std::vector<std::string> outs = detector.detectAndDecode(src);
++ ASSERT_EQ(1, (int) outs.size());
++ ASSERT_EQ(16, (int) outs[0].size());
++ ASSERT_EQ("KFCVW50 ", outs[0]);
++}
++
+ } // namespace
+ } // namespace opencv_test
--- /dev/null
+From: Nano <nanoapezlk@gmail.com>
+Date: Thu, 27 Apr 2023 17:38:35 +0800
+Subject: fix(wechat_qrcode): fixed memory leaks
+
+---
+ .../src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp b/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
+index b3a0a69..f02435d 100644
+--- a/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
++++ b/contrib/modules/wechat_qrcode/src/zxing/qrcode/decoder/decoded_bit_stream_parser.cpp
+@@ -127,7 +127,10 @@ void DecodedBitStreamParser::decodeHanziSegment(Ref<BitSource> bits_, string& re
+ while (count > 0) {
+ // Each 13 bits encodes a 2-byte character
+ int twoBytes = bits.readBits(13, err_handler);
+- if (err_handler.ErrCode()) return;
++ if (err_handler.ErrCode()) {
++ delete[] buffer;
++ return;
++ }
+ int assembledTwoBytes = ((twoBytes / 0x060) << 8) | (twoBytes % 0x060);
+ if (assembledTwoBytes < 0x003BF) {
+ // In the 0xA1A1 to 0xAAFE range
--- /dev/null
+From 2159fa1b456891510ada38a48e09ad1acec65786 Mon Sep 17 00:00:00 2001
+From: Nobuhiro Iwamatsu <iwamatsu@debian.org>
+Date: Sat, 4 Aug 2018 09:28:35 +0900
+Subject: [PATCH 2/2] use system-installed jquery
+
+Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@debian.org>
+---
+ doc/header.html | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/doc/header.html
++++ b/doc/header.html
+@@ -9,7 +9,7 @@
+ <!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
+ <link href="$relpath^opencv.ico" rel="shortcut icon" type="image/x-icon" />
+ <link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
+-<script type="text/javascript" src="$relpath^jquery.js"></script>
++<script type="text/javascript" src="/usr/share/javascript/jquery/jquery.js"></script>
+ <script type="text/javascript" src="$relpath^dynsections.js"></script>
+ <script type="text/javascript" src="$relpath^tutorial-utils.js"></script>
+ $treeview
--- /dev/null
+--- a/cmake/OpenCVDetectOpenCL.cmake
++++ b/cmake/OpenCVDetectOpenCL.cmake
+@@ -5,7 +5,6 @@
+ else()
+ set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library")
+ set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory")
+- ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt")
+ endif()
+ mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
+
--- /dev/null
+Index: opencv/cmake/OpenCVDownload.cmake
+===================================================================
+--- opencv.orig/cmake/OpenCVDownload.cmake
++++ opencv/cmake/OpenCVDownload.cmake
+@@ -40,263 +40,11 @@ file(REMOVE "${OPENCV_DOWNLOAD_WITH_WGET
+ ocv_check_environment_variables(OPENCV_DOWNLOAD_MIRROR_ID)
+
+ function(ocv_init_download_mirror)
+- if(NOT DEFINED OPENCV_DOWNLOAD_MIRROR_ID)
+- # Run `git remote get-url origin` to get remote source
+- execute_process(
+- COMMAND
+- git remote get-url origin
+- WORKING_DIRECTORY
+- ${CMAKE_SOURCE_DIR}
+- RESULT_VARIABLE
+- RESULT_STATUS
+- OUTPUT_VARIABLE
+- OCV_GIT_ORIGIN_URL_OUTPUT
+- ERROR_QUIET
+- )
+- # if non-git, OCV_GIT_ORIGIN_URL_OUTPUT is empty
+- if(NOT OCV_GIT_ORIGIN_URL_OUTPUT)
+- message(STATUS "ocv_init_download: OpenCV source tree is not fetched as git repository. 3rdparty resources will be downloaded from github.com by default.")
+- return()
+- else()
+- # Check if git origin is github.com
+- string(FIND "${OCV_GIT_ORIGIN_URL_OUTPUT}" "github.com" _found_github)
+- if(NOT ${_found_github} EQUAL -1)
+- set(OPENCV_DOWNLOAD_MIRROR_ID "github" CACHE STRING "")
+- endif()
+- # Check if git origin is gitcode.net
+- string(FIND "${OCV_GIT_ORIGIN_URL_OUTPUT}" "gitcode.net" _found_gitcode)
+- if(NOT ${_found_gitcode} EQUAL -1)
+- set(OPENCV_DOWNLOAD_MIRROR_ID "gitcode" CACHE STRING "")
+- endif()
+- endif()
+- endif()
+-
+- if(OPENCV_DOWNLOAD_MIRROR_ID STREQUAL "gitcode" OR OPENCV_DOWNLOAD_MIRROR_ID STREQUAL "custom")
+- message(STATUS "ocv_init_download: Using ${OPENCV_DOWNLOAD_MIRROR_ID}-hosted mirror to download 3rdparty components.")
+- ocv_cmake_hook_append(OPENCV_DOWNLOAD_PRE "${CMAKE_CURRENT_SOURCE_DIR}/cmake/mirrors/${OPENCV_DOWNLOAD_MIRROR_ID}.cmake")
+- elseif(OPENCV_DOWNLOAD_MIRROR_ID STREQUAL "github")
+- return()
+- else()
+- message(STATUS "ocv_init_download: Unable to recognize git server of OpenCV source code. Using github.com to download 3rdparty components.")
+- endif()
++ message(STATUS "ocv_init_download: No downloading as per Debian policy.")
+ endfunction()
+
+ function(ocv_download)
+- cmake_parse_arguments(DL "UNPACK;RELATIVE_URL" "FILENAME;HASH;DESTINATION_DIR;ID;STATUS" "URL" ${ARGN})
+-
+- function(ocv_download_log)
+- file(APPEND "${OPENCV_DOWNLOAD_LOG}" "${ARGN}\n")
+- endfunction()
+-
+- ocv_assert(DL_FILENAME)
+- ocv_assert(DL_HASH)
+- ocv_assert(DL_URL)
+- ocv_assert(DL_DESTINATION_DIR)
+- if((NOT " ${DL_UNPARSED_ARGUMENTS}" STREQUAL " ")
+- OR DL_FILENAME STREQUAL ""
+- OR DL_HASH STREQUAL ""
+- OR DL_URL STREQUAL ""
+- OR DL_DESTINATION_DIR STREQUAL ""
+- )
+- set(msg_level FATAL_ERROR)
+- if(DEFINED DL_STATUS)
+- set(${DL_STATUS} FALSE PARENT_SCOPE)
+- set(msg_level WARNING)
+- endif()
+- message(${msg_level} "ERROR: ocv_download() unsupported arguments: ${ARGV}")
+- return()
+- endif()
+-
+- if(DEFINED DL_STATUS)
+- set(${DL_STATUS} TRUE PARENT_SCOPE)
+- endif()
+-
+- ocv_cmake_hook(OPENCV_DOWNLOAD_PRE)
+-
+- # Check CMake cache for already processed tasks
+- string(FIND "${DL_DESTINATION_DIR}" "${CMAKE_BINARY_DIR}" DL_BINARY_PATH_POS)
+- if(DL_BINARY_PATH_POS EQUAL 0)
+- set(__file_id "${DL_DESTINATION_DIR}/${DL_FILENAME}")
+- file(RELATIVE_PATH __file_id "${CMAKE_BINARY_DIR}" "${__file_id}")
+- string(REGEX REPLACE "[^a-zA-Z0-9_]" "_" __file_id "${__file_id}")
+- if(DL_ID)
+- string(TOUPPER ${DL_ID} __id)
+- string(REGEX REPLACE "[^a-zA-Z0-9_]" "_" __id "${__id}")
+- set(OCV_DOWNLOAD_HASH_NAME "OCV_DOWNLOAD_${__id}_HASH_${__file_id}")
+- else()
+- set(OCV_DOWNLOAD_HASH_NAME "OCV_DOWNLOAD_HASH_${__file_id}")
+- endif()
+- if(" ${${OCV_DOWNLOAD_HASH_NAME}}" STREQUAL " ${DL_HASH}")
+- ocv_download_log("#match_hash_in_cmake_cache \"${OCV_DOWNLOAD_HASH_NAME}\"")
+- return()
+- endif()
+- unset("${OCV_DOWNLOAD_HASH_NAME}" CACHE)
+- else()
+- set(OCV_DOWNLOAD_HASH_NAME "")
+- #message(WARNING "Download destination is not in CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}: ${DL_DESTINATION_DIR}")
+- endif()
+-
+- # Select first non-empty url
+- foreach(url ${DL_URL})
+- if(url)
+- set(DL_URL "${url}")
+- break()
+- endif()
+- endforeach()
+-
+- # Append filename to url if needed
+- if(DL_RELATIVE_URL)
+- set(DL_URL "${DL_URL}${DL_FILENAME}")
+- endif()
+-
+- set(mode "copy")
+- if(DL_UNPACK)
+- set(mode "unpack")
+- endif()
+-
+- # Log all calls to file
+- ocv_download_log("#do_${mode} \"${DL_FILENAME}\" \"${DL_HASH}\" \"${DL_URL}\" \"${DL_DESTINATION_DIR}\"")
+- # ... and to console
+- set(__msg_prefix "")
+- if(DL_ID)
+- set(__msg_prefix "${DL_ID}: ")
+- endif()
+- message(STATUS "${__msg_prefix}Downloading ${DL_FILENAME} from ${DL_URL}")
+-
+- # Copy mode: check if copy destination exists and is correct
+- if(NOT DL_UNPACK)
+- set(COPY_DESTINATION "${DL_DESTINATION_DIR}/${DL_FILENAME}")
+- if(EXISTS "${COPY_DESTINATION}")
+- ocv_download_log("#check_md5 \"${COPY_DESTINATION}\"")
+- file(MD5 "${COPY_DESTINATION}" target_md5)
+- if(target_md5 STREQUAL DL_HASH)
+- ocv_download_log("#match_md5 \"${COPY_DESTINATION}\" \"${target_md5}\"")
+- if(OCV_DOWNLOAD_HASH_NAME)
+- set(${OCV_DOWNLOAD_HASH_NAME} "${DL_HASH}" CACHE INTERNAL "")
+- endif()
+- return()
+- endif()
+- ocv_download_log("#mismatch_md5 \"${COPY_DESTINATION}\" \"${target_md5}\"")
+- else()
+- ocv_download_log("#missing \"${COPY_DESTINATION}\"")
+- endif()
+- endif()
+-
+- # Check cache first
+- if(DL_ID)
+- string(TOLOWER "${DL_ID}" __id)
+- string(REGEX REPLACE "[^a-zA-Z0-9_/ ]" "_" __id "${__id}")
+- set(CACHE_CANDIDATE "${OPENCV_DOWNLOAD_PATH}/${__id}/${DL_HASH}-${DL_FILENAME}")
+- else()
+- set(CACHE_CANDIDATE "${OPENCV_DOWNLOAD_PATH}/${DL_HASH}-${DL_FILENAME}")
+- endif()
+- if(EXISTS "${CACHE_CANDIDATE}")
+- ocv_download_log("#check_md5 \"${CACHE_CANDIDATE}\"")
+- file(MD5 "${CACHE_CANDIDATE}" target_md5)
+- if(NOT target_md5 STREQUAL DL_HASH)
+- ocv_download_log("#mismatch_md5 \"${CACHE_CANDIDATE}\" \"${target_md5}\"")
+- ocv_download_log("#delete \"${CACHE_CANDIDATE}\"")
+- file(REMOVE ${CACHE_CANDIDATE})
+- endif()
+- endif()
+-
+- # Download
+- if(NOT EXISTS "${CACHE_CANDIDATE}")
+- ocv_download_log("#cmake_download \"${CACHE_CANDIDATE}\" \"${DL_URL}\"")
+- foreach(try ${OPENCV_DOWNLOAD_TRIES_LIST})
+- ocv_download_log("#try ${try}")
+- file(DOWNLOAD "${DL_URL}" "${CACHE_CANDIDATE}"
+- STATUS status
+- LOG __log
+- ${OPENCV_DOWNLOAD_PARAMS})
+- if(status EQUAL 0)
+- break()
+- endif()
+- message(STATUS "Try ${try} failed")
+- endforeach()
+- if(NOT OPENCV_SKIP_FILE_DOWNLOAD_DUMP) # workaround problem with old CMake versions: "Invalid escape sequence"
+- string(LENGTH "${__log}" __log_length)
+- if(__log_length LESS 65536)
+- string(REPLACE "\n" "\n# " __log "${__log}")
+- ocv_download_log("# ${__log}\n")
+- endif()
+- endif()
+- if(NOT status EQUAL 0)
+- set(msg_level FATAL_ERROR)
+- if(DEFINED DL_STATUS)
+- set(${DL_STATUS} FALSE PARENT_SCOPE)
+- set(msg_level WARNING)
+- endif()
+- if(status MATCHES "Couldn't resolve host name")
+- message(STATUS "
+-=======================================================================
+- Couldn't download files from the Internet.
+- Please check the Internet access on this host.
+-=======================================================================
+-")
+- elseif(status MATCHES "Couldn't connect to server")
+- message(STATUS "
+-=======================================================================
+- Couldn't connect to server from the Internet.
+- Perhaps direct connections are not allowed in the current network.
+- To use proxy please check/specify these environment variables:
+- - http_proxy/https_proxy
+- - and/or HTTP_PROXY/HTTPS_PROXY
+-=======================================================================
+-")
+- endif()
+- message(${msg_level} "${__msg_prefix}Download failed: ${status}
+-For details please refer to the download log file:
+-${OPENCV_DOWNLOAD_LOG}
+-")
+- # write helper scripts for failed downloads
+- file(APPEND "${OPENCV_DOWNLOAD_WITH_CURL}" "curl --create-dirs --output \"${CACHE_CANDIDATE}\" \"${DL_URL}\"\n")
+- file(APPEND "${OPENCV_DOWNLOAD_WITH_WGET}" "mkdir -p $(dirname ${CACHE_CANDIDATE}) && wget -O \"${CACHE_CANDIDATE}\" \"${DL_URL}\"\n")
+- return()
+- endif()
+-
+- # Don't remove this code, because EXPECTED_MD5 parameter doesn't fail "file(DOWNLOAD)" step on wrong hash
+- ocv_download_log("#check_md5 \"${CACHE_CANDIDATE}\"")
+- file(MD5 "${CACHE_CANDIDATE}" target_md5)
+- if(NOT target_md5 STREQUAL DL_HASH)
+- ocv_download_log("#mismatch_md5 \"${CACHE_CANDIDATE}\" \"${target_md5}\"")
+- set(msg_level FATAL_ERROR)
+- if(DEFINED DL_STATUS)
+- set(${DL_STATUS} FALSE PARENT_SCOPE)
+- set(msg_level WARNING)
+- endif()
+- message(${msg_level} "${__msg_prefix}Hash mismatch: ${target_md5}")
+- return()
+- endif()
+- endif()
+-
+- # Unpack or copy
+- if(DL_UNPACK)
+- if(EXISTS "${DL_DESTINATION_DIR}")
+- ocv_download_log("#remove_unpack \"${DL_DESTINATION_DIR}\"")
+- file(REMOVE_RECURSE "${DL_DESTINATION_DIR}")
+- endif()
+- ocv_download_log("#mkdir \"${DL_DESTINATION_DIR}\"")
+- file(MAKE_DIRECTORY "${DL_DESTINATION_DIR}")
+- ocv_download_log("#unpack \"${DL_DESTINATION_DIR}\" \"${CACHE_CANDIDATE}\"")
+- execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xzf "${CACHE_CANDIDATE}"
+- WORKING_DIRECTORY "${DL_DESTINATION_DIR}"
+- RESULT_VARIABLE res)
+- if(NOT res EQUAL 0)
+- message(FATAL_ERROR "${__msg_prefix}Unpack failed: ${res}")
+- endif()
+- else()
+- ocv_download_log("#copy \"${COPY_DESTINATION}\" \"${CACHE_CANDIDATE}\"")
+- execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CACHE_CANDIDATE}" "${COPY_DESTINATION}"
+- RESULT_VARIABLE res)
+- if(NOT res EQUAL 0)
+- message(FATAL_ERROR "${__msg_prefix}Copy failed: ${res}")
+- endif()
+- endif()
+-
+- if(OCV_DOWNLOAD_HASH_NAME)
+- set(${OCV_DOWNLOAD_HASH_NAME} "${DL_HASH}" CACHE INTERNAL "")
+- endif()
++ message(STATUS "ocv_download: Not downloading ${FILENAME} from ${URL} as per Debian policy.")
+ endfunction()
+
+ # ----------------------------------------------------------------------------
--- /dev/null
+change_jquery.js_path
+cmake-dont-install-inexistent-files.patch
+0004-Add-missing-header-for-LIBAVCODEC_VERSION_INT.patch
+0005-Fix-building-error-with-OGRE-1.12.9.patch
+0006-Fix-LAPACK-finding-CMake-code.patch
+0007-Build-highgui-module-with-QT-support.patch
+0008-Do-not-embed-build-directory-in-binaries.patch
+0009-Do-not-embed-build-directory-in-documentation.patch
+0009-fix-wechat_qrcode-Init-nBytes-after-the-count-value-.patch
+0010-fix-wechat_qrcode-fixed-memory-leaks.patch
+cmake-no-download.patch
--- /dev/null
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.opencv</groupId>
+ <artifactId>opencv</artifactId>
+ <packaging>jar</packaging>
+ <version>4.6.0</version>
+ <name>OpenCV</name>
+ <licenses>
+ <license>
+ <name>License Agreement For Open Source Computer Vision Library (3-clause BSD License)</name>
+ </license>
+ </licenses>
+ <url>https://opencv.org/</url>
+ <dependencies/>
+</project>
+
--- /dev/null
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/architecture.mk
+
+export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+
+BUILDDIR = obj-$(DEB_HOST_MULTIARCH)
+
+CMAKE_ARCH_FLAGS :=
+
+# Comply with Debian architectures baseline.
+# See cmake/OpenCVCompilerOptimizations.cmake for a list of known features.
+# Reference: https://github.com/opencv/opencv/wiki/CPU-optimizations-build-options
+ifeq ($(DEB_HOST_ARCH_CPU),amd64)
+ # Only SSE2 on amd64
+ CMAKE_ARCH_FLAGS += -DCPU_BASELINE="SSE2"
+ CMAKE_ARCH_FLAGS += -DCPU_BASELINE_DISABLE="SSE3"
+else ifeq ($(DEB_HOST_ARCH_CPU),armhf)
+ CMAKE_ARCH_FLAGS += -DCPU_BASELINE_DISABLE="VFPV3,NEON"
+ CMAKE_ARCH_FLAGS += -DCPU_DISPATCH="VFPV3,NEON"
+else ifeq ($(DEB_HOST_ARCH_CPU),i386)
+ # Be extra sure SSE is not picked up on i386
+ CMAKE_ARCH_FLAGS += -DCPU_BASELINE_DISABLE="SSE,SSE2"
+else ifeq ($(DEB_HOST_ARCH_CPU),ppc64el)
+ # VSX for Power8, VSX3 for Power9
+ CMAKE_ARCH_FLAGS += -DCPU_BASELINE="VSX"
+ CMAKE_ARCH_FLAGS += -DCPU_DISPATCH="VSX3"
+endif
+
+# TBB support
+ifneq (,$(findstring $(DEB_HOST_ARCH), amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x powerpc powerpcspe riscv64 ppc64 sh4 sparc64))
+CMAKE_ARCH_FLAGS += -DWITH_TBB=ON
+else
+CMAKE_ARCH_FLAGS += -DWITH_TBB=OFF
+endif
+
+# Linux-specific stuff
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+CMAKE_ARCH_FLAGS += -DWITH_1394=ON -DWITH_V4L=ON
+else
+CMAKE_ARCH_FLAGS += -DWITH_1394=OFF -DWITH_V4L=OFF
+endif
+
+CMAKE_JAVA_FLAGS :=
+
+# Java support
+ifeq (,$(filter $(DEB_HOST_ARCH), hppa hurd-i386 kfreebsd-i386 kfreebsd-amd64))
+CMAKE_JAVA_FLAGS += -DBUILD_JAVA=ON
+endif
+
+# mitigate compiler OOM during build
+ifeq ($(DEB_HOST_ARCH),mipsel)
+export DEB_BUILD_OPTIONS=noopt
+CXXFLAGS+=-gsplit-dwarf
+endif
+
+ifneq (,$(filter $(DEB_HOST_ARCH), armel m68k mipsel powerpc sh4))
+export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic -Wl,--as-needed
+endif
+
+# For Java
+export JAVA_HOME=/usr/lib/jvm/default-java
+
+CMAKE_FLAGS = \
+ -GNinja \
+ -DANT_EXECUTABLE=/usr/bin/ant \
+ -DBUILD_EXAMPLES=OFF \
+ -DBUILD_INFO_SKIP_TIMESTAMP=ON \
+ -DBUILD_PROTOBUF=OFF \
+ -DBUILD_PERF_TESTS=OFF \
+ -DBUILD_opencv_dnn=ON \
+ -DBUILD_opencv_dnn_modern=ON \
+ -DBUILD_opencv_face=ON \
+ -DBUILD_opencv_python2=OFF \
+ -DBUILD_opencv_python3=OFF \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS_RELEASE="$(CXXFLAGS)" \
+ -DCMAKE_C_FLAGS_RELEASE="$(CFLAGS)" \
+ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="$(LDFLAGS)" \
+ -DCMAKE_INSTALL_LIBDIR="lib/$(DEB_HOST_MULTIARCH)" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DENABLE_PRECOMPILED_HEADERS=OFF \
+ -DINSTALL_C_EXAMPLES=ON \
+ -DINSTALL_PYTHON_EXAMPLES=ON \
+ -DOPENCL_INCLUDE_DIR:PATH="/usr/include/CL/" \
+ -DOPENCV_EXTRA_MODULES_PATH="$(CURDIR)/contrib/modules" \
+ -DOPENCV_MATHJAX_RELPATH=/usr/share/javascript/mathjax/ \
+ -DOPENCV_GENERATE_PKGCONFIG=ON \
+ -DOPENCV_LAPACK_FIND_PACKAGE_ONLY=ON \
+ -DOPENCV_DOWNLOAD_TRIES_LIST= \
+ -DOpenGL_GL_PREFERENCE=GLVND \
+ -DPROTOBUF_UPDATE_FILES=ON \
+ -DWITH_ADE=OFF \
+ -DWITH_CAROTENE=OFF \
+ -DWITH_CUDA=OFF \
+ -DWITH_EIGEN=ON \
+ -DWITH_FFMPEG=ON \
+ -DWITH_GDAL=ON \
+ -DWITH_GDCM=ON \
+ -DWITH_GSTREAMER=ON \
+ -DWITH_GPHOTO2=ON \
+ -DWITH_GTK=OFF \
+ -DWITH_IPP=OFF \
+ -DWITH_ITT=OFF \
+ -DWITH_JASPER=OFF \
+ -DWITH_JPEG=ON \
+ -DWITH_LAPACK=ON \
+ -DWITH_NGRAPH=OFF \
+ -DWITH_OPENCL=ON \
+ -DWITH_OPENEXR=ON \
+ -DWITH_OPENGL=ON \
+ -DWITH_PNG=ON \
+ -DWITH_PROTOBUF=ON \
+ -DWITH_PVAPI=ON \
+ -DWITH_QT=5 \
+ -DWITH_QUIRC=ON \
+ -DWITH_TIFF=ON \
+ -DWITH_UNICAP=OFF \
+ -DWITH_VTK=ON \
+ -DWITH_XINE=OFF \
+ $(CMAKE_ARCH_FLAGS)
+
+%:
+ dh $@
+
+override_dh_auto_clean:
+ dh_auto_clean -B $(BUILDDIR)
+ dh_auto_clean -B $(BUILDDIR)-static
+ dh_auto_clean -S pybuild \
+ -- --name=opencv --system=custom \
+ --clean-args "dh_auto_clean -B {build_dir}"
+
+
+override_dh_auto_configure:
+ # prepare the 3rd party directory
+ test -d 3rdparty || cp -av debian/3rdparty-4.6.0 3rdparty
+ # dynamically linked
+ dh_auto_configure -B $(BUILDDIR) \
+ -- $(CMAKE_FLAGS) $(CMAKE_JAVA_FLAGS) \
+ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$(LDFLAGS)" \
+ -DBUILD_SHARED_LIBS=ON -DBUILD_DOCS=ON \
+ -DBUILD_TESTS=OFF
+ # statically linked
+ dh_auto_configure -B $(BUILDDIR)-static \
+ -- $(CMAKE_FLAGS) \
+ -DBUILD_SHARED_LIBS=OFF -DBUILD_DOCS=OFF \
+ -DBUILD_TESTS=OFF \
+ -DBUILD_opencv_apps=OFF -DBUILD_JAVA=OFF
+ # Python extension
+ dh_auto_configure -S pybuild \
+ -- --name=opencv --system=custom --configure-args "\
+ dh_auto_configure -S cmake -D modules/python -B {build_dir} -- \
+ -GNinja \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DOpenCV_BINARY_DIR=$(CURDIR)/$(BUILDDIR) \
+ -DOPENCV_PYTHON_STANDALONE_INSTALL_PATH={install_dir} \
+ -DOPENCV_SKIP_PYTHON_LOADER=ON \
+ -DOPENCV_PYTHON_VERSION={version} \
+ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/{interpreter} \
+ -DPYTHON_LIBRARY:FILEPATH={interpreter.library_file} \
+ -DPYTHON_INCLUDE_DIR:PATH={interpreter.include_dir}"
+ # strip non-reproducible info from version string
+ sed -i -e 's,$(CURDIR),<<PKGBUILDDIR>>,g' \
+ -e "s,$$(uname -sr),,g" \
+ $(BUILDDIR)/modules/core/version_string.inc \
+ $(BUILDDIR)-static/modules/core/version_string.inc
+
+override_dh_auto_build:
+ # documentation
+ dh_auto_build -B $(BUILDDIR) -- doxygen
+ifneq (,$(findstring $(DEB_HOST_ARCH), mipsel))
+ # dynamically linked
+ dh_auto_build --no-parallel -B $(BUILDDIR)
+ # statically linked
+ dh_auto_build --no-parallel -B $(BUILDDIR)-static
+ # Python extension
+ dh_auto_build --no-parallel -S pybuild \
+ -- --name=opencv --system=custom \
+ --build-args "dh_auto_build -B {build_dir}"
+else
+ # dynamically linked
+ dh_auto_build -B $(BUILDDIR)
+ # statically linked
+ dh_auto_build -B $(BUILDDIR)-static
+ # Python extension
+ dh_auto_build -S pybuild \
+ -- --name=opencv --system=custom \
+ --build-args "dh_auto_build -B {build_dir}"
+endif
+
+override_dh_auto_test:
+ifeq ($(DEB_HOST_ARCH),mipsel)
+ true # Don't run the tests at all
+else
+ -LD_LIBRARY_PATH=$(shell realpath $(BUILDDIR))/lib dh_auto_test
+endif
+
+ifeq ($(DEB_HOST_ARCH),mipsel)
+override_dh_dwz:
+ true # mipsel would FTBFS, possibly due to out-of-memory
+endif
+
+override_dh_auto_install:
+ dh_auto_install -B $(BUILDDIR)
+ # Python extension
+ dh_auto_install -S pybuild \
+ -- --name=opencv --system=custom \
+ --install-args "dh_auto_install -B {build_dir} --destdir={destdir}"
+
+execute_before_dh_install:
+ # put the static libs together with the rest of the stuff
+ cp -v $(BUILDDIR)-static/lib/*.a debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/
+ -find debian/tmp -type f -name jquery.js -delete
+ -find debian/tmp -type f -name '*.supp' -delete
+ -find debian/tmp -type d -empty -delete
+ -$(RM) -r $(BUILDDIR)-static
+
+execute_before_dh_strip_nondeterminism-indep:
+ # This can be deleted after https://github.com/doxygen/doxygen/pull/9227 is
+ # in the version of Doxygen in Debian. It won't hurt afterwards, because
+ # there will be nothing to strip anymore.
+ sed -i -e 's,$(CURDIR)/\($(BUILDDIR)/\)\?,,g' \
+ debian/opencv-doc/usr/share/doc/opencv-doc/opencv4/html/opencv.tag
--- /dev/null
+3.0 (quilt)
--- /dev/null
+# This is to mitigate FTBFS due to OOM on low-mem architectures.
+opencv source: debian-rules-sets-DEB_BUILD_OPTIONS *
--- /dev/null
+Test-Command: python3 debian/tests/test.py
+Depends: @, python3, python3-numpy
+Restrictions: allow-stderr
--- /dev/null
+#!/usr/bin/python3
+import cv2
+img = cv2.imread('samples/data/LinuxLogo.jpg')
+print(img.shape)
--- /dev/null
+Bug-Submit: https://github.com/opencv/opencv/issues//new
+Reference:
+ - Author: Gary Bradski and Adrian Kaehler
+ Title: "Learning OpenCV: Computer Vision with the OpenCV Library"
+ Edition: 1st
+ ISBN: 0596516134
+ Publisher: O'Reilly
+ Year: 2008
+ Type: book
+Donation: https://opencv.org/
+Documentation: https://docs.opencv.org/master/
+Bug-Database: https://github.com/opencv/opencv/issues/
+Repository: https://github.com/opencv/opencv.git
+Repository-Browse: https://github.com/opencv/opencv
+Registry:
+ - Name: OMICtools
+ Entry: OMICS_10147
+ - Name: bio.tools
+ Entry: NA
+ - Name: SciCrunch
+ Entry: SCR_015526
--- /dev/null
+version=4
+
+opts="\
+compression=xz, \
+oversionmangle=s/$/+dfsg/, \
+dversionmangle=s/\+(dfsg|ds)\d?$//, \
+filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.(.+)$%@PACKAGE@_$1.orig.$2%, \
+" \
+ https://github.com/opencv/opencv/tags \
+ (?:.*?/)?v?(\d[\d.]*)@ARCHIVE_EXT@ debian
+
+opts="\
+compression=xz, \
+component=contrib, \
+dversionmangle=s/\+(dfsg|ds)\d?$//, \
+filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.(.+)$%@PACKAGE@_$1.orig-contrib.$2%, \
+" \
+ https://github.com/opencv/opencv_contrib/tags \
+ (?:.*?/)?v?(\d[\d.]*)@ARCHIVE_EXT@ same