Commit Graph

42 Commits

Author SHA1 Message Date
sz 92a33ef444
More warnings \o/ 2023-05-31 21:22:52 -05:00
sz d5dc9940d8 WIP for cimbar_recv 2022-03-22 21:59:16 -05:00
sz 7bb1bc8896 -DBUILD_PORTABLE_LINUX for static linking against opencv and libc++
This gets us back to glibc 2.27 (ubuntu 18.04) -- debian stretch would
be nicer, but the default build tools (c++1x, cmake) gets slightly more
interesting.

The output binaries seem like they could be smaller...
2022-02-19 19:52:04 -06:00
sz 28559cb521 I think we need calib3d now?
It's only needed for undistort. It be worth making optional...
2022-02-17 18:28:41 -06:00
sz 178e02adeb Make CMakeLists smart enough to find opencv4
since the include path is different...
2022-02-17 18:10:54 -06:00
sz 0a6bda1b7b
killing the opencv_highgui code path after all
imshow() + waitKey() doesn't fit how I want to do frame pacing.
2021-03-30 19:25:39 -05:00
sz 71ab9eae76
Moving cimbar_js into src/lib/
I'd like to make cimbar_send use cimbar_js. We'll see how that
goes...

(there's an argument for removing the opencv_highgui code path here, and
I did that on an alternate branch. But I think I'll keep it for now)
2021-03-30 00:14:51 -05:00
sz 5f12fa0df2 color correction matrix stuff
At the risk of appearing to have no idea what I'm doing, here's some
matrix multiplies.

I'm going to switch these to Matx to stay on the stack.
2021-01-29 22:51:52 -06:00
sz 1dd9a90f52 Misc -Wall things 2020-11-01 18:28:46 -06:00
sz ddf4f28c5a we can build cimbar_js as a shared lib (if we have GLFW)...
Arguably it's not wasm only, although I think the name is appropriate.
Maybe it sohuld

Implies -fPIC instead of -fpic, probably.
2020-09-24 19:55:19 -05:00
sz 75b621f34b 8MB -> 2MB
No debug symbols for wasm build, and -Os. Might chase more size
optimizations later...
2020-09-23 21:53:51 -05:00
sz 39611af682 Merge branch 'master' into wasm 2020-09-23 21:14:16 -05:00
sz cbb5f2bfb5 Remove `cimbar_video` (replaced by send), rename `cimbar_scan`
to `cimbar_extract`
2020-09-23 16:25:49 -05:00
sz 7e0316ca8a Very-hacky way to get the WASM build up and running
Moving extractor into the non-WASM projects, and a very dubious class
split (Encoder -> Encoder+FileEncoder).

Not very happy with this.
2020-09-23 01:57:51 -05:00
sz 5e07e37ae2 Trying the wasm experiment
I have this (kind of) working on a very-tortured libcimbar repo -- this
is a first pass at trying to integrate it into the project hierarchy.

Ideally we could have CI builds both run normally, and in WASM mode, to
catch weirdness. There are currently no suitable tests for the
asm.js/WASM stuff, however...
2020-09-23 01:21:13 -05:00
sz 9ebabc629f Shader-based rendering for openGL+GLFW 2020-09-17 23:16:38 -05:00
sz 4189366d3f Properly pass the preprocessor definitions 2020-09-15 01:04:02 -05:00
sz 10475363a9 🤔 2020-09-15 00:32:03 -05:00
sz f8fce2f769 big wip 2020-09-14 23:11:11 -05:00
sz 193656f18a Making opencv_highgui optional for cimbar_send 2020-09-14 21:09:58 -05:00
sz b30e585fac Experimenting with a new version of the `cimbar_video` utility
Going to rename it to cimbar_send (probably), but more important, want
to render the images to screen without using opencv_highgui
2020-09-14 10:40:15 -05:00
sz 681b3da79f travis.yml
Also, not messing with `c++fs` yet (the experiments were frustrating),
just try to link against stdc++fs, even with clang.
2020-09-08 19:59:40 -05:00
sz f8811c374d better way to specify c++17 2020-09-08 19:54:45 -05:00
sz 74cad11d24 Not the prettiest CMakeLists.txt, but it builds...
will want to bring over some options from the zstd Makefile (or decide
this is a terrible idea and bail out)
2020-08-21 23:45:33 -05:00
sz 9d417b3094 wip zstd streams
We'll see how well this works before committing to it
2020-08-21 23:25:05 -05:00
sz 88662cfe79 make install 2020-08-20 18:23:07 -05:00
sz b12615012d Add `cimbar_video` exe to generate frames to screen on the fly.
Uses opencv's imshow, allows variable framerate.
2020-06-25 01:11:01 -05:00
sz e0f36cae69 Update/improve tests.
Use new samples, check outputs (w/ imagehash) instead of logging to tmp
+ manual verification, add a MakeTempDirectory class to clean up stuff,
etc
2020-06-17 21:11:15 -05:00
sz 2b595e4146 First pass at fountain encoder/decoder 2020-05-07 19:12:22 -05:00
sz b0c92c5ae7 Build the subset of wirehair we want
The march=native is worrying, but we'll see
2020-05-07 18:17:15 -05:00
sz 84db1f0845 Add CMakeLists.txt for various third party header components
I may regret this, but hopefully not.
2020-05-07 16:57:37 -05:00
sz e3a099d809 Split the fuzzy_ahash function into two parts for now.
Also, back to -O2 for the moment, and use std::array instead of
std::vector for fuzzy_ahash.
2020-05-01 13:48:20 -05:00
sz 98943398cb Use libpopcnt. Compile with -O3
May be able to get rid of hamming_distance.h, it's not doing anything at
this point.
2020-05-01 12:13:09 -05:00
sz 2cb264fcec Only filter out candidates at the end of the scan. 2020-04-28 18:51:34 -05:00
sz e9d82d5f4c Assorted changes for more portability
1. cmake changes.
1a. OPENCV_LIBS is now a variable that can be set (if a parent project
knows how opencv's linker options should be specified). Otherwise, it
defaults to the set of 4 we need.
1b. DISABLE_TESTS can be defined if the parent project doesn't want to
build tests, e.g. how I'm using libcorrect.
2. changed some opencv constants to more reliable locations
2020-04-24 20:25:14 -05:00
sz b6c14ba069 Adding libcorrect submodule for reed solomon error correction
I looked into a couple C++ libraries, but they had issues. So C it is.
I may regret this on the ARM side, but we'll see.
2020-04-20 19:33:24 -05:00
sz fb2d047900 Connect the dots 2020-04-17 20:28:02 -05:00
sz bf4115c843 Build image assets into the library
This is a WIP.

Includes some 3rd party libs (base91 and cxxopts)
2020-04-17 19:35:11 -05:00
sz 842244a31d averagehash, part1 2020-04-14 19:18:53 -05:00
sz 5eb9773855 A bunch of WIP stuff 2020-04-13 22:30:23 -05:00
sz 9161b1dc2a Checkpoint for deskew -- make sure we can successfully deskew a sample
with known good coordinates
2020-04-13 19:08:39 -05:00
sz 6814b4740e Initial commit -- stub project 2020-04-09 14:21:30 -05:00