Import opencv_4.10.0+dfsg-3.debian.tar.xz
authorMo Zhou <lumin@debian.org>
Tue, 25 Feb 2025 05:55:44 +0000 (00:55 -0500)
committerMo Zhou <lumin@debian.org>
Tue, 25 Feb 2025 05:55:44 +0000 (00:55 -0500)
[dgit import tarball opencv 4.10.0+dfsg-3 opencv_4.10.0+dfsg-3.debian.tar.xz]

104 files changed:
3rdparty-4.10.0/quirc/CMakeLists.txt [new file with mode: 0644]
3rdparty-4.10.0/quirc/LICENSE [new file with mode: 0644]
3rdparty-4.10.0/quirc/include/quirc.h [new file with mode: 0644]
3rdparty-4.10.0/quirc/include/quirc_internal.h [new file with mode: 0644]
3rdparty-4.10.0/quirc/src/decode.c [new file with mode: 0644]
3rdparty-4.10.0/quirc/src/quirc.c [new file with mode: 0644]
3rdparty-4.10.0/quirc/src/version_db.c [new file with mode: 0644]
README.Debian [new file with mode: 0644]
README.java [new file with mode: 0644]
bump-sover.sh [new file with mode: 0755]
changelog [new file with mode: 0644]
clean [new file with mode: 0644]
control [new file with mode: 0644]
copyright [new file with mode: 0644]
gbp.conf [new file with mode: 0644]
libopencv-calib3d-dev.docs [new file with mode: 0644]
libopencv-calib3d-dev.install [new file with mode: 0644]
libopencv-calib3d410.install [new file with mode: 0644]
libopencv-contrib-dev.docs [new file with mode: 0644]
libopencv-contrib-dev.install [new file with mode: 0644]
libopencv-contrib410.install [new file with mode: 0644]
libopencv-contrib410.lintian-overrides [new file with mode: 0644]
libopencv-core-dev.docs [new file with mode: 0644]
libopencv-core-dev.install [new file with mode: 0644]
libopencv-core410.install [new file with mode: 0644]
libopencv-dev.install [new file with mode: 0644]
libopencv-dev.lintian-overrides [new file with mode: 0644]
libopencv-dnn-dev.install [new file with mode: 0644]
libopencv-dnn410.install [new file with mode: 0644]
libopencv-features2d-dev.docs [new file with mode: 0644]
libopencv-features2d-dev.install [new file with mode: 0644]
libopencv-features2d410.install [new file with mode: 0644]
libopencv-flann-dev.docs [new file with mode: 0644]
libopencv-flann-dev.install [new file with mode: 0644]
libopencv-flann410.install [new file with mode: 0644]
libopencv-gapi-dev.install [new file with mode: 0644]
libopencv-gapi4.5.install [new file with mode: 0644]
libopencv-gpu-dev.docs [new file with mode: 0644]
libopencv-gpu-dev.install [new file with mode: 0644]
libopencv-gpu4.5.install [new file with mode: 0644]
libopencv-highgui-dev.docs [new file with mode: 0644]
libopencv-highgui-dev.install [new file with mode: 0644]
libopencv-highgui410.install [new file with mode: 0644]
libopencv-imgcodecs-dev.install [new file with mode: 0644]
libopencv-imgcodecs410.install [new file with mode: 0644]
libopencv-imgproc-dev.docs [new file with mode: 0644]
libopencv-imgproc-dev.install [new file with mode: 0644]
libopencv-imgproc410.install [new file with mode: 0644]
libopencv-java.install [new file with mode: 0644]
libopencv-java.links [new file with mode: 0644]
libopencv-java.lintian-overrides [new file with mode: 0644]
libopencv-java.poms [new file with mode: 0644]
libopencv-ml-dev.docs [new file with mode: 0644]
libopencv-ml-dev.install [new file with mode: 0644]
libopencv-ml410.install [new file with mode: 0644]
libopencv-objdetect-dev.docs [new file with mode: 0644]
libopencv-objdetect-dev.install [new file with mode: 0644]
libopencv-objdetect410.install [new file with mode: 0644]
libopencv-ocl-dev.docs [new file with mode: 0644]
libopencv-ocl-dev.install [new file with mode: 0644]
libopencv-ocl4.5.install [new file with mode: 0644]
libopencv-photo-dev.docs [new file with mode: 0644]
libopencv-photo-dev.install [new file with mode: 0644]
libopencv-photo410.install [new file with mode: 0644]
libopencv-shape-dev.install [new file with mode: 0644]
libopencv-shape410.install [new file with mode: 0644]
libopencv-stitching-dev.docs [new file with mode: 0644]
libopencv-stitching-dev.install [new file with mode: 0644]
libopencv-stitching410.install [new file with mode: 0644]
libopencv-superres-dev.docs [new file with mode: 0644]
libopencv-superres-dev.install [new file with mode: 0644]
libopencv-superres410.install [new file with mode: 0644]
libopencv-video-dev.docs [new file with mode: 0644]
libopencv-video-dev.install [new file with mode: 0644]
libopencv-video410.install [new file with mode: 0644]
libopencv-videoio-dev.install [new file with mode: 0644]
libopencv-videoio410.install [new file with mode: 0644]
libopencv-videostab-dev.docs [new file with mode: 0644]
libopencv-videostab-dev.install [new file with mode: 0644]
libopencv-videostab410.install [new file with mode: 0644]
libopencv-viz-dev.install [new file with mode: 0644]
libopencv-viz410.install [new file with mode: 0644]
libopencv410-jni.install [new file with mode: 0644]
not-installed [new file with mode: 0644]
opencv-data.install [new file with mode: 0644]
opencv-doc.install [new file with mode: 0644]
opencv-doc.lintian-overrides [new file with mode: 0644]
patches/0006-Fix-LAPACK-finding-CMake-code.patch [new file with mode: 0644]
patches/0008-Do-not-embed-build-directory-in-binaries.patch [new file with mode: 0644]
patches/0009-Do-not-embed-build-directory-in-documentation.patch [new file with mode: 0644]
patches/change_jquery.js_path [new file with mode: 0644]
patches/cmake-dont-install-inexistent-files.patch [new file with mode: 0644]
patches/cmake-no-download.patch [new file with mode: 0644]
patches/series [new file with mode: 0644]
pom.xml [new file with mode: 0644]
python3-opencv.lintian-overrides [new file with mode: 0644]
rules [new file with mode: 0755]
source/format [new file with mode: 0644]
source/lintian-overrides [new file with mode: 0644]
tests/bts-1017348.cc [new file with mode: 0644]
tests/control [new file with mode: 0644]
tests/test.py [new file with mode: 0755]
upstream/metadata [new file with mode: 0644]
watch [new file with mode: 0644]

diff --git a/3rdparty-4.10.0/quirc/CMakeLists.txt b/3rdparty-4.10.0/quirc/CMakeLists.txt
new file mode 100644 (file)
index 0000000..c0464c1
--- /dev/null
@@ -0,0 +1,30 @@
+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)
diff --git a/3rdparty-4.10.0/quirc/LICENSE b/3rdparty-4.10.0/quirc/LICENSE
new file mode 100644 (file)
index 0000000..d47c026
--- /dev/null
@@ -0,0 +1,16 @@
+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.
diff --git a/3rdparty-4.10.0/quirc/include/quirc.h b/3rdparty-4.10.0/quirc/include/quirc.h
new file mode 100644 (file)
index 0000000..957ae10
--- /dev/null
@@ -0,0 +1,175 @@
+/* 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);
+/* flip the QR code horizontaly (mirror flip) */
+void quirc_flip(struct quirc_code *code);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/3rdparty-4.10.0/quirc/include/quirc_internal.h b/3rdparty-4.10.0/quirc/include/quirc_internal.h
new file mode 100644 (file)
index 0000000..21cd561
--- /dev/null
@@ -0,0 +1,116 @@
+/* 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
diff --git a/3rdparty-4.10.0/quirc/src/decode.c b/3rdparty-4.10.0/quirc/src/decode.c
new file mode 100644 (file)
index 0000000..39903fa
--- /dev/null
@@ -0,0 +1,938 @@
+/* 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;
+}
+
+void quirc_flip(struct quirc_code *code)
+{
+       struct quirc_code flipped;
+       unsigned int offset = 0;
+       int y;
+       int x;
+
+       memset(&flipped, 0, sizeof(flipped));
+       for (y = 0; y < code->size; y++) {
+               for (x = 0; x < code->size; x++) {
+                       if (grid_bit(code, y, x)) {
+                               flipped.cell_bitmap[offset >> 3u] |= (1u << (offset & 7u));
+                       }
+                       offset++;
+               }
+       }
+       memcpy(&code->cell_bitmap, &flipped.cell_bitmap, sizeof(flipped.cell_bitmap));
+}
diff --git a/3rdparty-4.10.0/quirc/src/quirc.c b/3rdparty-4.10.0/quirc/src/quirc.c
new file mode 100644 (file)
index 0000000..2499f8d
--- /dev/null
@@ -0,0 +1,129 @@
+/* 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";
+}
diff --git a/3rdparty-4.10.0/quirc/src/version_db.c b/3rdparty-4.10.0/quirc/src/version_db.c
new file mode 100644 (file)
index 0000000..4242aee
--- /dev/null
@@ -0,0 +1,421 @@
+/* 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}
+                   }
+           }
+};
diff --git a/README.Debian b/README.Debian
new file mode 100644 (file)
index 0000000..dc73617
--- /dev/null
@@ -0,0 +1,41 @@
+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
diff --git a/README.java b/README.java
new file mode 100644 (file)
index 0000000..67400b6
--- /dev/null
@@ -0,0 +1,7 @@
+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/
diff --git a/bump-sover.sh b/bump-sover.sh
new file mode 100755 (executable)
index 0000000..c727280
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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
+
diff --git a/changelog b/changelog
new file mode 100644 (file)
index 0000000..b68efff
--- /dev/null
+++ b/changelog
@@ -0,0 +1,1903 @@
+opencv (4.10.0+dfsg-3) unstable; urgency=medium
+
+  * No need to install duplicate license information. (Closes: #1041650)
+  * Properly clean up embedded 3rdparty source code. (Closes: #1046728)
+  * Explicitly add numpy in the dependency field of python3-opencv.
+  * Add autopkgtest for cv::boundingRect. (Closes: #1017348)
+  * Add libtbb-dev to Build-Depends for alpha architecture. (Closes: #1084865)
+
+ -- Mo Zhou <lumin@debian.org>  Tue, 25 Feb 2025 00:55:44 -0500
+
+opencv (4.10.0+dfsg-2) unstable; urgency=medium
+
+  * Upload to unstable and start transition.
+
+ -- Mo Zhou <lumin@debian.org>  Fri, 14 Feb 2025 13:19:39 -0500
+
+opencv (4.10.0+dfsg-1) experimental; urgency=medium
+
+  * New upstream version 4.10.0+dfsg
+    * copyright: execlude one more lena image from 4.10.0 release.
+    * Sync the 3rdparty quirc library to 4.10.0 version.
+    * Bump SOVERSION to 410.
+  * Rebase existing patches, refresh existing ones and remove merged ones.
+  * d/rules: Specify WITH_FLATBUFFERS=OFF.
+  * rules: Delete code for mipsel architecture.
+  * Update install files: `barcode` module was merged into objdetect.
+  * Install the new signal module from contrib.
+  * Remove the Breaks+Replaces introduced during the t64 transition --
+    They are no longer needed.
+  * Bump version in Java package control files.
+  * Update lintian overrides and copyright file.
+  * Upload to experimental.
+
+ -- Mo Zhou <lumin@debian.org>  Tue, 10 Dec 2024 23:40:09 -0500
+
+opencv (4.6.0+dfsg-14) unstable; urgency=medium
+
+  * Team upload.
+  [ Gilles Filippini ]
+  * New patch python3.12.patch to fix FTBFS with Python 3.12.
+    Closes: #1076901.
+  [ Mo Zhou ]
+  * Fix depends-on-obsolete-package Depends: pkg-config => pkgconf.
+
+ -- Santiago Vila <sanvila@debian.org>  Thu, 15 Aug 2024 19:00:00 +0200
+
+opencv (4.6.0+dfsg-13.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Rename libraries for 64-bit time_t transition.  Closes: #1062839
+
+ -- Benjamin Drung <bdrung@debian.org>  Thu, 29 Feb 2024 03:07:04 +0000
+
+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
diff --git a/clean b/clean
new file mode 100644 (file)
index 0000000..961ffa8
--- /dev/null
+++ b/clean
@@ -0,0 +1,5 @@
+modules/python/src2/hdr_parser.pyc
+modules/java/generator/rst_parser.pyc
+modules/refman.rst
+modules/python/src2/__pycache__/
+.cache/
diff --git a/control b/control
new file mode 100644 (file)
index 0000000..170d948
--- /dev/null
+++ b/control
@@ -0,0 +1,1151 @@
+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: dpkg-dev (>= 1.22.5), 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 alpha],
+               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}),
+         pkgconf,
+         ${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-core410 (= ${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-core410
+ 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-core410
+Provides: ${t64:Provides}
+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-ml410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-ml410
+ 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-ml410
+Provides: ${t64:Provides}
+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-imgproc410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-imgproc410
+ 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-imgproc410
+Provides: ${t64:Provides}
+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-imgcodecs410 (= ${binary:Version}),
+         libopencv-imgproc-dev (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-imgcodecs410
+ 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-imgcodecs410
+Provides: ${t64:Provides}
+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-video410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-video410
+ 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-video410
+Provides: ${t64:Provides}
+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-videoio410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-videoio410
+ 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-videoio410
+Provides: ${t64:Provides}
+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-objdetect410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-objdetect410
+ 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-objdetect410
+Provides: ${t64:Provides}
+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-highgui410 (= ${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-highgui410
+ 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-highgui410
+Provides: ${t64:Provides}
+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-calib3d410 (= ${binary:Version}),
+         libopencv-features2d-dev (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-calib3d410
+ 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-calib3d410
+Provides: ${t64:Provides}
+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-flann410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-flann410
+ 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-flann410
+Provides: ${t64:Provides}
+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-dnn410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-dnn410
+ 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-dnn410
+Provides: ${t64:Provides}
+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-features2d410 (= ${binary:Version}),
+         libopencv-flann-dev (= ${binary:Version}),
+         libopencv-highgui-dev (= ${binary:Version}),
+         libopencv-ml-dev (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-features2d410
+ 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-features2d410
+Provides: ${t64:Provides}
+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-photo410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-photo410
+ 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-photo410
+Provides: ${t64:Provides}
+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-videostab410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-videostab410
+ 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-videostab410
+Provides: ${t64:Provides}
+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-stitching410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-stitching410
+ 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-stitching410
+Provides: ${t64:Provides}
+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-shape410 (= ${binary:Version}),
+         libopencv-video-dev (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-shape410
+ 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-shape410
+Provides: ${t64:Provides}
+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-superres410 (= ${binary:Version}),
+         libopencv-video-dev (= ${binary:Version}),
+         libopencv-videoio-dev (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-superres410
+ 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-superres410
+Provides: ${t64:Provides}
+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-viz410 (= ${binary:Version}),
+         ${misc:Depends}
+Description: development files for libopencv-viz410
+ 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-viz410
+Provides: ${t64:Provides}
+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-core410 (= ${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-contrib410 (= ${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-contrib410
+ 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-contrib410
+Provides: ${t64:Provides}
+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
+   - signal
+   - 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: libopencv410-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: libopencv410-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},
+         python3-numpy,
+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.
diff --git a/copyright b/copyright
new file mode 100644 (file)
index 0000000..0b391d0
--- /dev/null
+++ b/copyright
@@ -0,0 +1,337 @@
+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/core/misc/objc/test/resources/lena.png
+ modules/highgui/src/files_Qt/Milky
+ modules/java/test/common_test/res/drawable/lena.png
+ modules/objdetect/doc/pics/lena-face-detection.jpg
+ 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
+
+# /* 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/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/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.10.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.
diff --git a/gbp.conf b/gbp.conf
new file mode 100644 (file)
index 0000000..f2905a0
--- /dev/null
+++ b/gbp.conf
@@ -0,0 +1,5 @@
+[DEFAULT]
+component = contrib
+
+[import-orig]
+pristine-tar = True
diff --git a/libopencv-calib3d-dev.docs b/libopencv-calib3d-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-calib3d-dev.install b/libopencv-calib3d-dev.install
new file mode 100644 (file)
index 0000000..0a08b69
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/calib3d.hpp
+usr/include/opencv4/opencv2/calib3d/*
+usr/lib/*/libopencv_calib3d.a
+usr/lib/*/libopencv_calib3d.so
diff --git a/libopencv-calib3d410.install b/libopencv-calib3d410.install
new file mode 100644 (file)
index 0000000..feaccce
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_calib3d.so.*
diff --git a/libopencv-contrib-dev.docs b/libopencv-contrib-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-contrib-dev.install b/libopencv-contrib-dev.install
new file mode 100644 (file)
index 0000000..21a183e
--- /dev/null
@@ -0,0 +1,177 @@
+# aruco
+usr/include/opencv4/opencv2/aruco/*
+usr/include/opencv4/opencv2/aruco.hpp
+usr/lib/*/libopencv_aruco.a
+usr/lib/*/libopencv_aruco.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
+# signal
+usr/include/opencv4/opencv2/signal.hpp
+usr/include/opencv4/opencv2/signal/signal_resample.hpp
+usr/lib/*/libopencv_signal.a
+usr/lib/*/libopencv_signal.so
diff --git a/libopencv-contrib410.install b/libopencv-contrib410.install
new file mode 100644 (file)
index 0000000..fcded19
--- /dev/null
@@ -0,0 +1,37 @@
+usr/lib/*/libopencv_aruco.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_signal.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.*
diff --git a/libopencv-contrib410.lintian-overrides b/libopencv-contrib410.lintian-overrides
new file mode 100644 (file)
index 0000000..8675979
--- /dev/null
@@ -0,0 +1 @@
+package-name-doesnt-match-sonames
diff --git a/libopencv-core-dev.docs b/libopencv-core-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-core-dev.install b/libopencv-core-dev.install
new file mode 100644 (file)
index 0000000..adfdd8e
--- /dev/null
@@ -0,0 +1,9 @@
+# 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
diff --git a/libopencv-core410.install b/libopencv-core410.install
new file mode 100644 (file)
index 0000000..4f4d29a
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_core.so.*
diff --git a/libopencv-dev.install b/libopencv-dev.install
new file mode 100644 (file)
index 0000000..ca016ea
--- /dev/null
@@ -0,0 +1,11 @@
+# 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
diff --git a/libopencv-dev.lintian-overrides b/libopencv-dev.lintian-overrides
new file mode 100644 (file)
index 0000000..6f9ab73
--- /dev/null
@@ -0,0 +1,6 @@
+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]
diff --git a/libopencv-dnn-dev.install b/libopencv-dnn-dev.install
new file mode 100644 (file)
index 0000000..f956a63
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/dnn.hpp
+usr/include/opencv4/opencv2/dnn/*
+usr/lib/*/libopencv_dnn.a
+usr/lib/*/libopencv_dnn.so
diff --git a/libopencv-dnn410.install b/libopencv-dnn410.install
new file mode 100644 (file)
index 0000000..a95c701
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_dnn.so.*
diff --git a/libopencv-features2d-dev.docs b/libopencv-features2d-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-features2d-dev.install b/libopencv-features2d-dev.install
new file mode 100644 (file)
index 0000000..fa34c89
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/features2d.hpp
+usr/include/opencv4/opencv2/features2d/*
+usr/lib/*/libopencv_features2d.a
+usr/lib/*/libopencv_features2d.so
diff --git a/libopencv-features2d410.install b/libopencv-features2d410.install
new file mode 100644 (file)
index 0000000..710c185
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_features2d.so.*
diff --git a/libopencv-flann-dev.docs b/libopencv-flann-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-flann-dev.install b/libopencv-flann-dev.install
new file mode 100644 (file)
index 0000000..569e9ac
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/flann.hpp
+usr/include/opencv4/opencv2/flann/*
+usr/lib/*/libopencv_flann.a
+usr/lib/*/libopencv_flann.so
diff --git a/libopencv-flann410.install b/libopencv-flann410.install
new file mode 100644 (file)
index 0000000..6f9674a
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_flann.so.*
diff --git a/libopencv-gapi-dev.install b/libopencv-gapi-dev.install
new file mode 100644 (file)
index 0000000..b861be1
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/gapi.hpp
+usr/include/opencv4/opencv2/gapi/*
+usr/lib/*/libopencv_gapi.a
+usr/lib/*/libopencv_gapi.so
diff --git a/libopencv-gapi4.5.install b/libopencv-gapi4.5.install
new file mode 100644 (file)
index 0000000..595938a
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_gapi.so.*
diff --git a/libopencv-gpu-dev.docs b/libopencv-gpu-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-gpu-dev.install b/libopencv-gpu-dev.install
new file mode 100644 (file)
index 0000000..e09f66a
--- /dev/null
@@ -0,0 +1,3 @@
+#usr/include/opencv4/opencv2/gpu/*
+#usr/lib/*/libopencv_gpu.a
+#usr/lib/*/libopencv_gpu.so
diff --git a/libopencv-gpu4.5.install b/libopencv-gpu4.5.install
new file mode 100644 (file)
index 0000000..312a56e
--- /dev/null
@@ -0,0 +1 @@
+# usr/lib/*/libopencv_gpu.so.*
diff --git a/libopencv-highgui-dev.docs b/libopencv-highgui-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-highgui-dev.install b/libopencv-highgui-dev.install
new file mode 100644 (file)
index 0000000..d2dbb04
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/highgui.hpp
+usr/include/opencv4/opencv2/highgui/*
+usr/lib/*/libopencv_highgui.a
+usr/lib/*/libopencv_highgui.so
diff --git a/libopencv-highgui410.install b/libopencv-highgui410.install
new file mode 100644 (file)
index 0000000..7943204
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_highgui.so.*
diff --git a/libopencv-imgcodecs-dev.install b/libopencv-imgcodecs-dev.install
new file mode 100644 (file)
index 0000000..26432a2
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/imgcodecs.hpp
+usr/include/opencv4/opencv2/imgcodecs/*
+usr/lib/*/libopencv_imgcodecs.a
+usr/lib/*/libopencv_imgcodecs.so
diff --git a/libopencv-imgcodecs410.install b/libopencv-imgcodecs410.install
new file mode 100644 (file)
index 0000000..f471112
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_imgcodecs.so.*
diff --git a/libopencv-imgproc-dev.docs b/libopencv-imgproc-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-imgproc-dev.install b/libopencv-imgproc-dev.install
new file mode 100644 (file)
index 0000000..e8be47d
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/imgproc.hpp
+usr/include/opencv4/opencv2/imgproc/*
+usr/lib/*/libopencv_imgproc.a
+usr/lib/*/libopencv_imgproc.so
diff --git a/libopencv-imgproc410.install b/libopencv-imgproc410.install
new file mode 100644 (file)
index 0000000..969bed5
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_imgproc.so.*
diff --git a/libopencv-java.install b/libopencv-java.install
new file mode 100644 (file)
index 0000000..9c6a724
--- /dev/null
@@ -0,0 +1 @@
+usr/share/java/opencv4/opencv-*.jar
diff --git a/libopencv-java.links b/libopencv-java.links
new file mode 100644 (file)
index 0000000..2041521
--- /dev/null
@@ -0,0 +1,2 @@
+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
diff --git a/libopencv-java.lintian-overrides b/libopencv-java.lintian-overrides
new file mode 100644 (file)
index 0000000..c41d7ac
--- /dev/null
@@ -0,0 +1 @@
+libopencv-java: jar-contains-source *
diff --git a/libopencv-java.poms b/libopencv-java.poms
new file mode 100644 (file)
index 0000000..9846d72
--- /dev/null
@@ -0,0 +1 @@
+debian/pom.xml --usj-name=opencv
diff --git a/libopencv-ml-dev.docs b/libopencv-ml-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-ml-dev.install b/libopencv-ml-dev.install
new file mode 100644 (file)
index 0000000..ff2a160
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/ml.hpp
+usr/include/opencv4/opencv2/ml/*
+usr/lib/*/libopencv_ml.a
+usr/lib/*/libopencv_ml.so
diff --git a/libopencv-ml410.install b/libopencv-ml410.install
new file mode 100644 (file)
index 0000000..584a745
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_ml.so.*
diff --git a/libopencv-objdetect-dev.docs b/libopencv-objdetect-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-objdetect-dev.install b/libopencv-objdetect-dev.install
new file mode 100644 (file)
index 0000000..fa3409b
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/objdetect.hpp
+usr/include/opencv4/opencv2/objdetect/*
+usr/lib/*/libopencv_objdetect.a
+usr/lib/*/libopencv_objdetect.so
diff --git a/libopencv-objdetect410.install b/libopencv-objdetect410.install
new file mode 100644 (file)
index 0000000..4609cf6
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_objdetect.so.*
diff --git a/libopencv-ocl-dev.docs b/libopencv-ocl-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-ocl-dev.install b/libopencv-ocl-dev.install
new file mode 100644 (file)
index 0000000..6d4de9d
--- /dev/null
@@ -0,0 +1,3 @@
+#usr/include/opencv4/opencv2/ocl/*
+#usr/lib/*/libopencv_ocl.a
+#usr/lib/*/libopencv_ocl.so
diff --git a/libopencv-ocl4.5.install b/libopencv-ocl4.5.install
new file mode 100644 (file)
index 0000000..625611c
--- /dev/null
@@ -0,0 +1 @@
+# usr/lib/*/libopencv_ocl.so.*
diff --git a/libopencv-photo-dev.docs b/libopencv-photo-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-photo-dev.install b/libopencv-photo-dev.install
new file mode 100644 (file)
index 0000000..efe0279
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/photo.hpp
+usr/include/opencv4/opencv2/photo/*
+usr/lib/*/libopencv_photo.a
+usr/lib/*/libopencv_photo.so
diff --git a/libopencv-photo410.install b/libopencv-photo410.install
new file mode 100644 (file)
index 0000000..ff073e8
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_photo.so.*
diff --git a/libopencv-shape-dev.install b/libopencv-shape-dev.install
new file mode 100644 (file)
index 0000000..bc5ed66
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/shape.hpp
+usr/include/opencv4/opencv2/shape/*
+usr/lib/*/libopencv_shape.a
+usr/lib/*/libopencv_shape.so
diff --git a/libopencv-shape410.install b/libopencv-shape410.install
new file mode 100644 (file)
index 0000000..e6fd1e2
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_shape.so.*
diff --git a/libopencv-stitching-dev.docs b/libopencv-stitching-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-stitching-dev.install b/libopencv-stitching-dev.install
new file mode 100644 (file)
index 0000000..d376ce2
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/stitching.hpp
+usr/include/opencv4/opencv2/stitching/*
+usr/lib/*/libopencv_stitching.a
+usr/lib/*/libopencv_stitching.so
diff --git a/libopencv-stitching410.install b/libopencv-stitching410.install
new file mode 100644 (file)
index 0000000..0806177
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_stitching.so.*
diff --git a/libopencv-superres-dev.docs b/libopencv-superres-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-superres-dev.install b/libopencv-superres-dev.install
new file mode 100644 (file)
index 0000000..e7f64e8
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/superres.hpp
+usr/include/opencv4/opencv2/superres/*
+usr/lib/*/libopencv_superres.a
+usr/lib/*/libopencv_superres.so
diff --git a/libopencv-superres410.install b/libopencv-superres410.install
new file mode 100644 (file)
index 0000000..9d14658
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_superres.so.*
diff --git a/libopencv-video-dev.docs b/libopencv-video-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-video-dev.install b/libopencv-video-dev.install
new file mode 100644 (file)
index 0000000..d010ce3
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/video.hpp
+usr/include/opencv4/opencv2/video/*
+usr/lib/*/libopencv_video.a
+usr/lib/*/libopencv_video.so
diff --git a/libopencv-video410.install b/libopencv-video410.install
new file mode 100644 (file)
index 0000000..96cecc4
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_video.so.*
diff --git a/libopencv-videoio-dev.install b/libopencv-videoio-dev.install
new file mode 100644 (file)
index 0000000..b558d3c
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/videoio.hpp
+usr/include/opencv4/opencv2/videoio/*
+usr/lib/*/libopencv_videoio.a
+usr/lib/*/libopencv_videoio.so
diff --git a/libopencv-videoio410.install b/libopencv-videoio410.install
new file mode 100644 (file)
index 0000000..b859b39
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_videoio.so.*
diff --git a/libopencv-videostab-dev.docs b/libopencv-videostab-dev.docs
new file mode 100644 (file)
index 0000000..e174728
--- /dev/null
@@ -0,0 +1 @@
+debian/README.Debian
diff --git a/libopencv-videostab-dev.install b/libopencv-videostab-dev.install
new file mode 100644 (file)
index 0000000..68c5484
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/videostab.hpp
+usr/include/opencv4/opencv2/videostab/*
+usr/lib/*/libopencv_videostab.a
+usr/lib/*/libopencv_videostab.so
diff --git a/libopencv-videostab410.install b/libopencv-videostab410.install
new file mode 100644 (file)
index 0000000..7977e67
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_videostab.so.*
diff --git a/libopencv-viz-dev.install b/libopencv-viz-dev.install
new file mode 100644 (file)
index 0000000..e390344
--- /dev/null
@@ -0,0 +1,4 @@
+usr/include/opencv4/opencv2/viz.hpp
+usr/include/opencv4/opencv2/viz/*
+usr/lib/*/libopencv_viz.a
+usr/lib/*/libopencv_viz.so
diff --git a/libopencv-viz410.install b/libopencv-viz410.install
new file mode 100644 (file)
index 0000000..6f595f0
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/*/libopencv_viz.so.*
diff --git a/libopencv410-jni.install b/libopencv410-jni.install
new file mode 100644 (file)
index 0000000..4e3db40
--- /dev/null
@@ -0,0 +1 @@
+usr/share/java/opencv4/libopencv_java*.so usr/lib/jni
diff --git a/not-installed b/not-installed
new file mode 100644 (file)
index 0000000..4920c24
--- /dev/null
@@ -0,0 +1,4 @@
+usr/bin/setup_vars_opencv4.sh
+usr/share/licenses/opencv4/quirc-LICENSE
+usr/share/licenses/opencv4/mscr-chi_table_LICENSE.txt
+usr/share/licenses/opencv4/SoftFloat-COPYING.txt
diff --git a/opencv-data.install b/opencv-data.install
new file mode 100644 (file)
index 0000000..55d50bf
--- /dev/null
@@ -0,0 +1,3 @@
+usr/share/opencv4/haarcascades
+usr/share/opencv4/lbpcascades
+usr/share/opencv4/quality
diff --git a/opencv-doc.install b/opencv-doc.install
new file mode 100644 (file)
index 0000000..7eac849
--- /dev/null
@@ -0,0 +1,2 @@
+usr/share/doc/*                 usr/share/doc/opencv-doc/
+usr/share/opencv4/samples/*     usr/share/doc/opencv-doc/examples/
diff --git a/opencv-doc.lintian-overrides b/opencv-doc.lintian-overrides
new file mode 100644 (file)
index 0000000..d3242ab
--- /dev/null
@@ -0,0 +1,2 @@
+opencv-doc: privacy-breach-generic *
+opencv-doc: embedded-javascript-library *
diff --git a/patches/0006-Fix-LAPACK-finding-CMake-code.patch b/patches/0006-Fix-LAPACK-finding-CMake-code.patch
new file mode 100644 (file)
index 0000000..adb2141
--- /dev/null
@@ -0,0 +1,43 @@
+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(-)
+
+Index: opencv/cmake/OpenCVFindLAPACK.cmake
+===================================================================
+--- opencv.orig/cmake/OpenCVFindLAPACK.cmake   2024-12-11 01:59:53.067051076 +0000
++++ opencv/cmake/OpenCVFindLAPACK.cmake        2024-12-11 01:59:53.063051188 +0000
+@@ -24,22 +24,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()
diff --git a/patches/0008-Do-not-embed-build-directory-in-binaries.patch b/patches/0008-Do-not-embed-build-directory-in-binaries.patch
new file mode 100644 (file)
index 0000000..5ed0f8f
--- /dev/null
@@ -0,0 +1,134 @@
+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(-)
+
+Index: opencv/modules/core/CMakeLists.txt
+===================================================================
+--- opencv.orig/modules/core/CMakeLists.txt    2024-12-11 01:59:53.187047726 +0000
++++ opencv/modules/core/CMakeLists.txt 2024-12-11 01:59:53.183047838 +0000
+@@ -215,16 +215,6 @@
+ ")
+ 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()
+Index: opencv/modules/core/include/opencv2/core/private.hpp
+===================================================================
+--- opencv.orig/modules/core/include/opencv2/core/private.hpp  2024-12-11 01:59:53.187047726 +0000
++++ opencv/modules/core/include/opencv2/core/private.hpp       2024-12-11 01:59:53.183047838 +0000
+@@ -825,10 +825,10 @@
+ 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
+Index: opencv/modules/core/include/opencv2/core/utility.hpp
+===================================================================
+--- opencv.orig/modules/core/include/opencv2/core/utility.hpp  2024-12-11 01:59:53.187047726 +0000
++++ opencv/modules/core/include/opencv2/core/utility.hpp       2024-12-11 01:59:53.183047838 +0000
+@@ -1165,10 +1165,10 @@
+ 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
+Index: opencv/modules/core/src/utils/datafile.cpp
+===================================================================
+--- opencv.orig/modules/core/src/utils/datafile.cpp    2024-12-11 01:59:53.187047726 +0000
++++ opencv/modules/core/src/utils/datafile.cpp 2024-12-11 01:59:53.183047838 +0000
+@@ -280,32 +280,8 @@
+     // 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_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
+     {
diff --git a/patches/0009-Do-not-embed-build-directory-in-documentation.patch b/patches/0009-Do-not-embed-build-directory-in-documentation.patch
new file mode 100644 (file)
index 0000000..bc77b3f
--- /dev/null
@@ -0,0 +1,52 @@
+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(-)
+
+Index: opencv/doc/CMakeLists.txt
+===================================================================
+--- opencv.orig/doc/CMakeLists.txt     2024-12-11 01:59:53.335043595 +0000
++++ opencv/doc/CMakeLists.txt  2024-12-11 01:59:53.335043595 +0000
+@@ -36,6 +36,7 @@
+   # gathering headers
+   set(paths_include)
++  set(paths_source)
+   set(paths_doc)
+   set(paths_bib)
+   set(paths_sample)
+@@ -72,6 +73,7 @@
+           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}")
+@@ -175,7 +177,7 @@
+   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}")
+Index: opencv/doc/Doxyfile.in
+===================================================================
+--- opencv.orig/doc/Doxyfile.in        2024-12-11 01:59:53.335043595 +0000
++++ opencv/doc/Doxyfile.in     2024-12-11 01:59:53.335043595 +0000
+@@ -25,7 +25,7 @@
+ 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
diff --git a/patches/change_jquery.js_path b/patches/change_jquery.js_path
new file mode 100644 (file)
index 0000000..8e2c66d
--- /dev/null
@@ -0,0 +1,23 @@
+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(-)
+
+Index: opencv/doc/header.html
+===================================================================
+--- opencv.orig/doc/header.html        2024-12-11 01:59:52.659062466 +0000
++++ opencv/doc/header.html     2024-12-11 01:59:52.659062466 +0000
+@@ -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
diff --git a/patches/cmake-dont-install-inexistent-files.patch b/patches/cmake-dont-install-inexistent-files.patch
new file mode 100644 (file)
index 0000000..beebc20
--- /dev/null
@@ -0,0 +1,12 @@
+Index: opencv/cmake/OpenCVDetectOpenCL.cmake
+===================================================================
+--- opencv.orig/cmake/OpenCVDetectOpenCL.cmake 2024-12-11 01:59:52.939054649 +0000
++++ opencv/cmake/OpenCVDetectOpenCL.cmake      2024-12-11 01:59:52.935054761 +0000
+@@ -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)
diff --git a/patches/cmake-no-download.patch b/patches/cmake-no-download.patch
new file mode 100644 (file)
index 0000000..73ef50a
--- /dev/null
@@ -0,0 +1,270 @@
+Index: opencv/cmake/OpenCVDownload.cmake
+===================================================================
+--- opencv.orig/cmake/OpenCVDownload.cmake     2024-12-11 01:59:53.471039798 +0000
++++ opencv/cmake/OpenCVDownload.cmake  2024-12-11 01:59:53.471039798 +0000
+@@ -40,263 +40,11 @@
+ 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()
+ # ----------------------------------------------------------------------------
diff --git a/patches/series b/patches/series
new file mode 100644 (file)
index 0000000..303c675
--- /dev/null
@@ -0,0 +1,6 @@
+change_jquery.js_path
+cmake-dont-install-inexistent-files.patch
+0006-Fix-LAPACK-finding-CMake-code.patch
+0008-Do-not-embed-build-directory-in-binaries.patch
+0009-Do-not-embed-build-directory-in-documentation.patch
+cmake-no-download.patch
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..2294a41
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,17 @@
+<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.10.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>
+
diff --git a/python3-opencv.lintian-overrides b/python3-opencv.lintian-overrides
new file mode 100644 (file)
index 0000000..b5da4a1
--- /dev/null
@@ -0,0 +1,2 @@
+# This looks like a false positive.
+missing-dependency-on-numpy-abi
diff --git a/rules b/rules
new file mode 100755 (executable)
index 0000000..48247d1
--- /dev/null
+++ b/rules
@@ -0,0 +1,200 @@
+#!/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 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
+
+ifneq (,$(filter $(DEB_HOST_ARCH), armel m68k 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_FLATBUFFERS=OFF \
+       -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}"
+       -$(RM) -rfv 3rdparty
+
+override_dh_auto_configure:
+       # prepare the 3rd party directory
+       test -d 3rdparty || cp -av debian/3rdparty-4.10.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
+       # 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}"
+
+override_dh_auto_test:
+       -LD_LIBRARY_PATH=$(shell realpath $(BUILDDIR))/lib dh_auto_test
+
+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
diff --git a/source/format b/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/source/lintian-overrides b/source/lintian-overrides
new file mode 100644 (file)
index 0000000..edd3fca
--- /dev/null
@@ -0,0 +1,2 @@
+# This is to mitigate FTBFS due to OOM on low-mem architectures.
+opencv source: debian-rules-sets-DEB_BUILD_OPTIONS *
diff --git a/tests/bts-1017348.cc b/tests/bts-1017348.cc
new file mode 100644 (file)
index 0000000..a35cadb
--- /dev/null
@@ -0,0 +1,26 @@
+// From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1017348
+#include <iostream>
+#include <vector>
+#include "opencv2/core/core.hpp"
+#include "opencv2/imgproc/imgproc.hpp"
+#include <cassert>
+
+int main(int argc, char** argv)
+{
+
+  std::vector<cv::Point> pts;
+
+  pts.push_back(cv::Point(3,100));
+  pts.push_back(cv::Point(5,98));
+  pts.push_back(cv::Point(6,110));
+
+  cv::Rect rect = cv::boundingRect(pts);
+
+  std::cout << "x: " << rect.x << "+" << rect.width
+            << "   y: " << rect.y << "+" << rect.height
+            << "\n";
+  assert(rect.x == 3);
+  assert(rect.width == 4);
+  assert(rect.y == 98);
+  assert(rect.height == 13);
+}
diff --git a/tests/control b/tests/control
new file mode 100644 (file)
index 0000000..be2cc8d
--- /dev/null
@@ -0,0 +1,7 @@
+Test-Command: python3 debian/tests/test.py
+Depends: @, python3, python3-numpy
+Restrictions: allow-stderr
+
+Test-Command: g++ -O2 debian/tests/bts-1017348.cc -lopencv_imgproc -I/usr/include/opencv4 -o bts-1017348; ./bts-1017348
+Depends: @, build-essential
+Restrictions: allow-stderr
diff --git a/tests/test.py b/tests/test.py
new file mode 100755 (executable)
index 0000000..8dc52e8
--- /dev/null
@@ -0,0 +1,4 @@
+#!/usr/bin/python3
+import cv2
+img = cv2.imread('samples/data/LinuxLogo.jpg')
+print(img.shape)
diff --git a/upstream/metadata b/upstream/metadata
new file mode 100644 (file)
index 0000000..a1ec9ce
--- /dev/null
@@ -0,0 +1,21 @@
+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
diff --git a/watch b/watch
new file mode 100644 (file)
index 0000000..4bb2527
--- /dev/null
+++ b/watch
@@ -0,0 +1,19 @@
+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