Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final revisions for initial release #5

Merged
merged 32 commits into from
Aug 20, 2020
Merged

Final revisions for initial release #5

merged 32 commits into from
Aug 20, 2020

Conversation

sz3
Copy link
Owner

@sz3 sz3 commented Aug 20, 2020

  • logging updates for MultiThreadedDecoder/jni.cpp
  • subtree merge of libcimbar
  • various exciting temporary changes that may or may not be in the commit history
  • a readme!

sz3 added 30 commits June 24, 2020 03:04
Cloning opencv's JavaCamera2View to make some adjustments to its camera
settings.
using a fixed number of threads instead of hardware_concurrency is for
sanity's sake -- sometimes android returns a different answer, maybe
related to thermal issues?

Fullscreen disabled for the moment to force a smaller image in testing
(1280x960 instead of 1620x1080).

Using BGR in the OpencvCameraView, because -- while it will make the
preview image look inverted -- I'd rather save the cycles.
Unfortunately, the opencv example class is ... pretty bad performance
wise. Not sure why they're using ImageReader. Unless the answer is "got
fed up with the camera2 api", which would be entirely unstandable.
925e0fa Merge pull request #10 from sz3/optimize
b5015fd Make the average_hash threshold a parameter in CimbDecoder.
fedef93 The default scanner preprocessing changed, so the regression tests...
07f1afd Merge pull request #9 from sz3/opencl
78d3be0 ... but if all values are 0 or 0xFF, we can further optimize fuzzy_ahash()
9ada9b7 The average_hash relies on a grayscale + (implicitly adaptive) threshold
c0a9fc1 Minor refactor, tiny optimizations just because
7ee5e00 Cleanup for the cell decoding
804b66c Store the CellDrift in a vector, to limit what the heap has to move around
d64959a We don't need to destroy elements
59e1be4 We begin to optimize by deoptimizing
860638a Merge remote-tracking branch 'origin/master' into opencl
ea6e5c9 Merge pull request #8 from sz3/scan-fix
00285d8 Update CimbReader regression tests
e74d02e Use 4 seed points instead of 1
9fb5884 add tests for flood decode, and fix bug
214903d Make CLAHE opt in
b9407c1 Possible improvements
acd9239 Scanner GPU performance++, at least on android
31dff1b Use getUMat()
93405b0 This should be a copy
847ee99 Use getUMat()
ad3c753 and the main cimbar example binary.
bea14f7 Not sure if this is enough, but the undistort is opencl aware? maybe?
4f5c1d4 Use the opencv "TAPI" (cv::UMat) for opencl/GPU(?) support
afcd1fe Back out CIE76??
41396fc Small fixes
b18d971 Test checkpoint
caa9ebc Need tests, but this is the idea for the flood-fill style decode
19ecbf9 WIP, split out logic for cell positions + decode
22986be Checkpoint -- have CimbReader return the current tile index
26df87b Make ScanState header-only
cde4bd8 Merge pull request #7 from sz3/video
9c12f70 Break tests, propagate t2 scan results forward.
30c8183 Fix: only merge anchors if they're close in size.
7328016 Be smarter about detecting the window close
bd1a674 Add some logic to let us bail early from the encoder
b126150 Add `cimbar_video` exe to generate frames to screen on the fly.

git-subtree-dir: app/src/main/cpp/lib/libcimbar
git-subtree-split: 925e0faf22dff158fe8d5474ebe17489a10eeb1b
18218da Merge pull request #20 from sz3/readme
9c44e21 Merge pull request #19 from sz3/command-line
e38cfe7 Merge pull request #18 from sz3/auto-rotate
bd073e2 we do it
d2cf2fa workin on a readme
6f4cf72 Merge pull request #17 from sz3/more-colors
236e8ea Update more tests
7b671eb Updating sample image paths, and tests
7352dbd Put the scanner threshold back at 0 for now
8b397ff Update/improve(?) command line options?
5b5f1e5 Don't try to cast things to this
4cc3f03 Adjust scanner threshold value?
4645d21 Make a better guess for the 4th corner of the image.
66ff1df Oops
c03b0a8 WIP: handle skewed images better
1786ba6 Fix/update some tests
477dd93 Update a bunch of tests with new sample images
4d27600 Update command line help to match reality
dd36f08 Bugfix
78bea8a Added some assets to the bitmaps.h file, here they are
dfb9448 Various bugfixes to get the bottom right corner working.
ae91ed3 Find/add bottom right corner
99f33d9 Determine the top_left corner based on the distance between anchors
671b3f0 Use secondary anchor for bottom-right corner of image
0771c6e Switch to a DFS scan instead of BFS.
b6d93c9 No merge for confirm scan?
9c3b3f5 Add the ability to restrict a "tier1" scan.
de5a694 The experiment continues
8cac53a Let's begin the experiment
0b58478 comment
aab2b53 The sharpen filter + small adaptive threshold block sizes don't place nice
be65870 More readme
954deb8 ok
70790ab Readability or something
e37b45d Update readme!
97ccc64 Drop back down to 2 color bits for the moment.
80a5dfb Merge remote-tracking branch 'origin/master' into more-colors
a79e876 Merge pull request #15 from sz3/concur
c458785 Merge pull request #16 from sz3/shaky-cam
230412b Update tests
f6506b5 Turn off undistort by default, add flag for preprocess.
198fe5d Minor improvement, maybe, and correcting an error case
bc7ef3a Some changes to drastically improve 8 color decode...
ce88b29 Moving concurrent_fountain_decoder_sink over from cfc.
f2d5f38 This is *an* idea
b3278b6 Add capacity for separate color lists based on number of color bits
c0149a8 Trying ecc=30 for now.
ba4c689 Default partitions to 2. Also update command line tool defaults
ed7f283 Ah yes
952ba71 Calling it "shaky cam", because that's what it looks like.
e23996a Default back to 40
a175a72 Shakycam
510bd63 Merge branch 'stagger' into experiment
8685943 Interleaving + partitions
33f8603 I psyched myself out with all the weird math.
3a3f99a Merge pull request #14 from sz3/fountain-v2
9d49351 Add include
2253975 This doesn't need to be exposed anymore.
57de5c1 Merge pull request #13 from sz3/bitbuffer2
658d3fe Have aligned_stream make the flush() contiguous.
76e0f91 Try to hook up everything with the new fountain code format.
b0ed282 Update fountain_decode_sink as well
75846dc hmm
21c4b1c Remove template param from fountain_decoder_stream/sink
2d46a7b Switch fountain_encoder to not need a template
1f77110 Merge branch 'fountain-pt2' into fountain-v2
2f5651c Don't need this (yet?)
ee37f47 Merge remote-tracking branch 'origin/master' into bitbuffer2
719b87b Merge pull request #12 from sz3/fuzzy-ahash-rev
849185d Merge remote-tracking branch 'origin/master' into fuzzy-ahash-rev
93e8803 Add tests
6746c1c Construct bitbuffer::writer on the fly
9980617 More readable? Not sure.
346a059 Add path for passing Cell() directly into CimbDecoder
366fcdf decode_symbol() doesn't need a template
336eeef First pass at having CimbReader use bitbuffer.
2729884 There's really no reason bitbuffer should need a template
fa6da75 bit buffer variation of fuzzy_ahash
d51e4c9 Merge branch 'fuzzy-ahash-rev' into bitbuffer2
30d1435 Update test hashes
36da0de Reverse ahash direction.
9f68613 The embedTile() test helper needs to specify a bg color!!!
716f36a WIP for bitbuffer + fuzzy_ahash
80ecc97 Add a read function to the bitbuffer...
6e0a152 Bit shifts are fine here
ff60b1e Update this old thing
b6e1875 Merge pull request #11 from sz3/optimize-more
d90d28c tbh, 3 and 5 are both good -- for now, we'll ride with this.
0cb5824 5 seems to be strictly better, accuracy-wise...
bca45b7 Add option to do every other cell col for color check?
71a1dff Considering making the Cell utility class more powerful.
19b2f0b Default to ahash_result::FAST?
c7cd74f Move `extract_fuzzy_ahash` into its own helper class.
01d0166 A bit of editorial
fa87d60 A new calculation for fountain chunk size
88c2f21 Add Config flag for gpu optimizations.
1668984 Update CimbReader params -- and have it check with the CimbDecoder
f12a721 Some test improvements(?)
915c2fd A little experiment to see if we can get the *scan* to fail on merged frames

git-subtree-dir: app/src/main/cpp/lib/libcimbar
git-subtree-split: 18218da86502709a600dff887eee61519e172952
…8e3c4

fa78e3c4 Merge pull request #22 from sz3/license-spam
f91a2b06 MPL2.0 comment spam
46fbbc71 Merge pull request #21 from sz3/misc-fix
460d2882 Scanner: Merging the results of the confirm step into the results
6a32df5c Remove old CLAHE code, it's not needed
e1906b1a Forgot about catch!
420639b1 Fill out concurrent_fountain_decoder_sink with more interface methods.
b689624a Validate confirms twice (once for x, once for y)
e945ee69 Check rows/cols for confirms
27128f2b Fix link to ABOUT.md

git-subtree-dir: app/src/main/cpp/lib/libcimbar
git-subtree-split: fa78e3c48d5b345f34d53fcac1bfad031dec2a62
…936ec

f3f936ec Merge pull request #23 from sz3/docs
d49e3d49 Big docs edits oh baby
5afa7138 ordering
9a459ab6 Add CFC link?
fb6d9c66 Docsing

git-subtree-dir: app/src/main/cpp/lib/libcimbar
git-subtree-split: f3f936eca14ea9b021a8d99573b673e07a922432
@sz3 sz3 merged commit d5127f0 into master Aug 20, 2020
@sz3 sz3 deleted the prototype branch August 20, 2020 07:45
sz3 added a commit that referenced this pull request Nov 14, 2020
dc8874f Merge pull request #43 from sz3/ci2
547991f travis -> github actions
7025073 Merge pull request #42 from sz3/wall
2d48c96 -Wall
3f8d5f3 I suppose?
42348ee More -Wall
1dd9a90 Misc -Wall things
681308c Merge pull request #41 from sz3/configurable
3754bc4 Merge pull request #40 from sz3/gpu-experiments
775f26c Small docs updates
32e3213 fountain_chunk_size() should accept bits_per_cell, if we know it.
abe5594 Changed the default threshold algo, so all the regression tests broke
12734ad Add a flag for proper adaptive threshold (flag name: a WIP), and fix bug
368f634 bugfix: oof
68f18a2 No shenanigans with the preprocess_image for UMat
14dc2d6 Make the Decoder/Encoder more configurable.
abbfc88 Temporarily breaking tests until I validate...
7ea8ef6 Seems like there's no GPU impl of adaptiveThreshold(),
ee54b52 Merge pull request #39 from sz3/t3
a6c49f1 In lieu of a loader
c656089 Slightly less resize jank on cimbar.js load
00d946b Always use the Cell version of decode_color() --
ad2b53d Adjusting the travis.yml
5aab2f7 More docs
63dd125 Docs
c47302b No, I'm not making a PR for docs updates
285c734 Merge pull request #38 from sz3/rotation
1bfa6c3 Merge remote-tracking branch 'origin/master' into rotation
c920537 Merge pull request #37 from sz3/fix-something
a2d258e Not sure about this rotate api, but we need a way to reset rotation...
3a13e87 Rotation???
dc61d34 Update test for new limits
689fdab I guess this is ok?
9c000c4 Trying a different gradient...
4ab8289 Set CellDrift limit to 7 -- improves decoding of distorted images.
8b174ca If everything fits in a single frame... we only need one frame.
cb8a303 Update byte_istream to take a const char*, to reflect its use case
823b6de Move main.html to index.html
6f9c846 Oops
e29157e Merge pull request #36 from sz3/end-bgr
0e93f19 I'm sick of BGR's 💩
7a47026 Merge pull request #35 from sz3/encoder-increments
ad07c42 On mobile/tablet, use innerWidth/Height, because ...
69f5be3 Add stats display, and go back to 1024x1024 (no shakycam)
864451c GL performance improvements
4399ed0 No FULL_ES2
5abacad Ugh
b594f6c Cool gradient??
1609a22 instructions
ff48b45 Kind of sloppy fade in/out effect on drag+drop. Seems ok
7a64024 Build wasm or asm.js
4156464 Start with the centered position.
17757e5 Use the shakycam effect in cimbar.js
897dd1c Move the shaky cam nonsense into its own class.
1af0fd1 reset zoom!
485faa1 oops
ff5e17b Merge remote-tracking branch 'origin/master' into encoder-increments
1a46480 Merge pull request #34 from sz3/progress
2ef4179 Not sure the right thing to do with encodeId yet -- so, it's manual
b05e9f5 Test FountainMetadata, and use the top bit
d99bcfb For now, here's our divide by 0 check
9c0b67c Update tests
7c0c479 Update gitignore for my sanity
982ba1e Have the FountainDecoder object track the count --
db86967 An attempt at tracking decode progress.
2a7d382 Merge pull request #33 from sz3/wasm
c189349 More wasm* build instructions, and removing some unused variables
fd830e0 Readme update
51a5426 Minor tweaks
908f0ca Updating travis to build with GLFW sometimes
2ab34b6 Readme++
5c20a42 More readme
ef38ffa Update title on file change
ddf4f28 we can build cimbar_js as a shared lib (if we have GLFW)...
ef9a225 Encoder + SimpleEncoder
c24a4e1 Size the canvas better
965bd26 Small changes to the layout
75b621f 8MB -> 2MB
37bf3c7 Post-merge fix
39611af Merge branch 'master' into wasm
df0e63b Merge pull request #32 from sz3/flexibility
1a5c16f Add stb license and update README
73ab8d6 Fix memory "leak" in fountain_decoder_sink.
6922a41 Better test!
58920a8 Test a streamed fountain encode round trip
22d3317 Merge remote-tracking branch 'origin/master' into flexibility
f4d6ac7 Merge pull request #31 from sz3/gl-experiments
470555e Update example
e32852e Hide the ifdef
cbb5f2b Remove `cimbar_video` (replaced by send), rename `cimbar_scan`
7e0316c Very-hacky way to get the WASM build up and running
5e07e37 Trying the wasm experiment
8849eb6 Still need the arch=native for wirehair
0139dc0 Strip down libcorrect and wirehair CMakeLists.txt
4da351d Add a reset function for the fountain_encoder_stream.
33e1a87 Add a test case for fountain encoding a char*,int pair
a970e89 Unless/until I make copy semantics work for fountain_encoder_stream...
8917d46 WIP: split `encode_fountain` into two parts
3946720 Try using stb_image for internal loads (for encoding)
6e79e44 emscripten prefers this
321fd85 better
9ebabc6 Shader-based rendering for openGL+GLFW
6766867 Changes to mat_to_gl to better accomodate web GL (+ emscripten)
cff8ce9 More enlightened GPU thoughts.
76a95b3 I guess we'll just use virtual after all
65a91b6 Finally get to use the recurring template pattern
4189366 Properly pass the preprocessor definitions
1047536 🤔
1e14426 Proper sleep
096a3c1 WIP continues
f8fce2f big wip
193656f Making opencv_highgui optional for cimbar_send
ae60067 Split out the window functionality, maybe
b30e585 Experimenting with a new version of the `cimbar_video` utility
bb423bb Merge pull request #30 from sz3/ci
681b3da travis.yml
3a07eb0 clang, how dare you
f8811c3 better way to specify c++17
a58fa53 Merge pull request #29 from sz3/zstd
a8451db oops
aab915e Slightly more readable.
6f21778 Add compressionlevel option for cimbar and cimbar_video.
ff3eb62 MPL2 header
bc2a2e8 Add a test suite for "round trip" encoding.
ff123e9 Not all that helpful to have this
4d215c8 Update concurrent_fountain_decoder_sink.
a94869f Maybe a test with compression, and without?
7746961 add zstd padding to push small files over the limit for wirehair
d51923e Try connecting the dots for fountain encoding + compression
5753970 Template for fountain_decoder_sink's outstream?
883c65f Variable compression level
272f6b3 Test the write() methods
07c4f96 try a write() function for zstd_decompressor...
80d0c12 more wip?
1810ebc Something like this for a write() function, maybe?
66839a1 WIP?
df0e6d6 Test zstd_decompressor wrapping a std::ofstream
74cad11 Not the prettiest CMakeLists.txt, but it builds...
5d1fd05 Trying to include a minimal-ish zstd impl
9d417b3 wip zstd streams
4f0277c Merge pull request #28 from sz3/bugfix-small-file
cb00ed1 how on earth...
c90a13b Use the config value for the constant
1346d26 The dash is kind of annoying to deal with, make it an underbar
a28d3f3 Ignore local changes to the samples submodule.
1c8f90b If you ask the CimbReader to decode a file that's too small, it blows up
7be1cf8 Merge pull request #27 from sz3/samples-submodule
2998ee3 Add samples submodule
984ab3f Merge pull request #26 from sz3/more-docs-edits
986e976 One more batch of docs edits, now with less scare quotes
bdd58c4 Merge pull request #25 from sz3/install
88662cf make install
08a6ffd Merge pull request #24 from sz3/more-licensing-spam
68b2a9a Missed these
f3f936e Merge pull request #23 from sz3/docs
d49e3d4 Big docs edits oh baby
5afa713 ordering
9a459ab Add CFC link?
fb6d9c6 Docsing
fa78e3c Merge pull request #22 from sz3/license-spam
f91a2b0 MPL2.0 comment spam
46fbbc7 Merge pull request #21 from sz3/misc-fix
460d288 Scanner: Merging the results of the confirm step into the results
6a32df5 Remove old CLAHE code, it's not needed
e1906b1 Forgot about catch!
420639b Fill out concurrent_fountain_decoder_sink with more interface methods.
b689624 Validate confirms twice (once for x, once for y)
e945ee6 Check rows/cols for confirms
27128f2 Fix link to ABOUT.md
18218da Merge pull request #20 from sz3/readme
9c44e21 Merge pull request #19 from sz3/command-line
e38cfe7 Merge pull request #18 from sz3/auto-rotate
bd073e2 we do it
d2cf2fa workin on a readme
6f4cf72 Merge pull request #17 from sz3/more-colors
236e8ea Update more tests
7b671eb Updating sample image paths, and tests
7352dbd Put the scanner threshold back at 0 for now
8b397ff Update/improve(?) command line options?
5b5f1e5 Don't try to cast things to this
4cc3f03 Adjust scanner threshold value?
4645d21 Make a better guess for the 4th corner of the image.
66ff1df Oops
c03b0a8 WIP: handle skewed images better
1786ba6 Fix/update some tests
477dd93 Update a bunch of tests with new sample images
4d27600 Update command line help to match reality
dd36f08 Bugfix
78bea8a Added some assets to the bitmaps.h file, here they are
dfb9448 Various bugfixes to get the bottom right corner working.
ae91ed3 Find/add bottom right corner
99f33d9 Determine the top_left corner based on the distance between anchors
671b3f0 Use secondary anchor for bottom-right corner of image
0771c6e Switch to a DFS scan instead of BFS.
b6d93c9 No merge for confirm scan?
9c3b3f5 Add the ability to restrict a "tier1" scan.
de5a694 The experiment continues
8cac53a Let's begin the experiment
0b58478 comment
aab2b53 The sharpen filter + small adaptive threshold block sizes don't place nice
be65870 More readme
954deb8 ok
70790ab Readability or something
e37b45d Update readme!
97ccc64 Drop back down to 2 color bits for the moment.
80a5dfb Merge remote-tracking branch 'origin/master' into more-colors
a79e876 Merge pull request #15 from sz3/concur
c458785 Merge pull request #16 from sz3/shaky-cam
230412b Update tests
f6506b5 Turn off undistort by default, add flag for preprocess.
198fe5d Minor improvement, maybe, and correcting an error case
bc7ef3a Some changes to drastically improve 8 color decode...
ce88b29 Moving concurrent_fountain_decoder_sink over from cfc.
f2d5f38 This is *an* idea
b3278b6 Add capacity for separate color lists based on number of color bits
c0149a8 Trying ecc=30 for now.
ba4c689 Default partitions to 2. Also update command line tool defaults
ed7f283 Ah yes
952ba71 Calling it "shaky cam", because that's what it looks like.
e23996a Default back to 40
a175a72 Shakycam
510bd63 Merge branch 'stagger' into experiment
8685943 Interleaving + partitions
33f8603 I psyched myself out with all the weird math.
3a3f99a Merge pull request #14 from sz3/fountain-v2
9d49351 Add include
2253975 This doesn't need to be exposed anymore.
57de5c1 Merge pull request #13 from sz3/bitbuffer2
658d3fe Have aligned_stream make the flush() contiguous.
76e0f91 Try to hook up everything with the new fountain code format.
b0ed282 Update fountain_decode_sink as well
75846dc hmm
21c4b1c Remove template param from fountain_decoder_stream/sink
2d46a7b Switch fountain_encoder to not need a template
1f77110 Merge branch 'fountain-pt2' into fountain-v2
2f5651c Don't need this (yet?)
ee37f47 Merge remote-tracking branch 'origin/master' into bitbuffer2
719b87b Merge pull request #12 from sz3/fuzzy-ahash-rev
849185d Merge remote-tracking branch 'origin/master' into fuzzy-ahash-rev
93e8803 Add tests
6746c1c Construct bitbuffer::writer on the fly
9980617 More readable? Not sure.
346a059 Add path for passing Cell() directly into CimbDecoder
366fcdf decode_symbol() doesn't need a template
336eeef First pass at having CimbReader use bitbuffer.
2729884 There's really no reason bitbuffer should need a template
fa6da75 bit buffer variation of fuzzy_ahash
d51e4c9 Merge branch 'fuzzy-ahash-rev' into bitbuffer2
30d1435 Update test hashes
36da0de Reverse ahash direction.
9f68613 The embedTile() test helper needs to specify a bg color!!!
716f36a WIP for bitbuffer + fuzzy_ahash
80ecc97 Add a read function to the bitbuffer...
6e0a152 Bit shifts are fine here
ff60b1e Update this old thing
b6e1875 Merge pull request #11 from sz3/optimize-more
d90d28c tbh, 3 and 5 are both good -- for now, we'll ride with this.
0cb5824 5 seems to be strictly better, accuracy-wise...
bca45b7 Add option to do every other cell col for color check?
71a1dff Considering making the Cell utility class more powerful.
19b2f0b Default to ahash_result::FAST?
c7cd74f Move `extract_fuzzy_ahash` into its own helper class.
01d0166 A bit of editorial
fa87d60 A new calculation for fountain chunk size
88c2f21 Add Config flag for gpu optimizations.
1668984 Update CimbReader params -- and have it check with the CimbDecoder
f12a721 Some test improvements(?)
925e0fa Merge pull request #10 from sz3/optimize
b5015fd Make the average_hash threshold a parameter in CimbDecoder.
fedef93 The default scanner preprocessing changed, so the regression tests...
07f1afd Merge pull request #9 from sz3/opencl
78d3be0 ... but if all values are 0 or 0xFF, we can further optimize fuzzy_ahash()
9ada9b7 The average_hash relies on a grayscale + (implicitly adaptive) threshold
c0a9fc1 Minor refactor, tiny optimizations just because
7ee5e00 Cleanup for the cell decoding
804b66c Store the CellDrift in a vector, to limit what the heap has to move around
d64959a We don't need to destroy elements
59e1be4 We begin to optimize by deoptimizing
860638a Merge remote-tracking branch 'origin/master' into opencl
ea6e5c9 Merge pull request #8 from sz3/scan-fix
00285d8 Update CimbReader regression tests
e74d02e Use 4 seed points instead of 1
9fb5884 add tests for flood decode, and fix bug
214903d Make CLAHE opt in
b9407c1 Possible improvements
acd9239 Scanner GPU performance++, at least on android
31dff1b Use getUMat()
93405b0 This should be a copy
915c2fd A little experiment to see if we can get the *scan* to fail on merged frames
847ee99 Use getUMat()
ad3c753 and the main cimbar example binary.
bea14f7 Not sure if this is enough, but the undistort is opencl aware? maybe?
4f5c1d4 Use the opencv "TAPI" (cv::UMat) for opencl/GPU(?) support
afcd1fe Back out CIE76??
41396fc Small fixes
b18d971 Test checkpoint
caa9ebc Need tests, but this is the idea for the flood-fill style decode
19ecbf9 WIP, split out logic for cell positions + decode
22986be Checkpoint -- have CimbReader return the current tile index
26df87b Make ScanState header-only
cde4bd8 Merge pull request #7 from sz3/video
9c12f70 Break tests, propagate t2 scan results forward.
30c8183 Fix: only merge anchors if they're close in size.
7328016 Be smarter about detecting the window close
bd1a674 Add some logic to let us bail early from the encoder
b126150 Add `cimbar_video` exe to generate frames to screen on the fly.
a1c3eac Merge pull request #6 from sz3/undistort-harder
aa99a3f Merge remote-tracking branch 'origin/master' into undistort-harder
c69efbd Merge pull request #5 from sz3/interleaving
1513085 Merge remote-tracking branch 'origin/master' into interleaving
8021e66 Merge pull request #4 from sz3/colors-and-tweaks
d0c8d52 Fix more tests, use newer samples
6cbb9ca Update more tests
fa30302 Minor test fix
e0f36ca Update/improve tests.
e4b02d4 Switch fountain encoding to use 2-byte blocks, because...
75e88a6 Current test case for an observed earth-shattering kaboom
9cd315c Add another test?
b354425 Merge branch 'undistort-harder' of github.com:sz3/libcimbar into undistort-harder
f3472a2 Maybe not necessary now?
addf2ae ok clang
f0a996b Match `cv::undistort`'s internal implementation.
488f9a2 Split undistort into initUndistortRectifyMap + remap.
09df51b The class changed
ddaa279 Merge remote-tracking branch 'origin/cleverer-scaling' into undistort-harder
342bb48 Use smallest ratio instead of average?
17c5ede Plug undistort into the test cimbar program
6abce8d WIP for hack-y undistort.
e15bf90 Using floats (double) for more of the edge calculations...
0082a8f Quick and dirty template-ing of point<> to give us floating point math
32ad946 Update tests (remove many examples -- various things changed)
75a6dd1 WIP: bring over python edge scan code
2fe93ba Quick note
1be6d97 Had the wrong size in BadChunk :|
16e1843 Various tests for the aligned_stream
e94b97a This is what ecc=40 looks like,
3470479 WIP to make fountain decoding better
86b7b02 Adding an "aligned_stream" class for possible greatness
4803cbb Plug in the bitbuffer to the Decoder
d11d854 The new bitwriter, probably
5f7c593 More weird math for the fountain codes...
c3a4117 Quick change to add encoder functionality to the cimbar test app
7741dce Interleave me alone!!!
b6af160 Update tileset
3c42016 Port various improvements/fixes from python Scanner into C++
9ce8ed6 Have the Corners class know how to check if we're going to downsample or
35fc553 Adding merges to the last step of the scan -- if the point is mergeable.
39e38ae Rolling back a few overambitious (e.g. wrong) optimizations.
f28e591 wip test --
5f51f74 opencv, reusing memory in ways I don't expect
428b078 Add option to cimbar command line for preprocessing...
fdc1c0c Move the sharpen step out of the extractor and into the decoder
395765f A bit of cleanup
26dde64 Add the "confirm" scan.
3c8569f Do this for now
b44b8e2 Try using colorutil and CIE76
4924aff Adding the horizontal/vertical guides, to match cimbar-py
673d403 Use the right anchor image.
11a5720 Merge pull request #3 from sz3/fountain
f1bd293 Remove cout
efa1968 When the input image is small, sharpen as part of the extract.
d9d474d Fixing a bug in reed_solomon_stream.
88228e2 Might as well be license time
23550e0 WIP
bbb5954 Is this something?
d854cea add_custom_target(_) -> add_library(_ INTERFACE)
8043426 Make Decoder header-only, which means the module is now header-only...
1726ef7 An attempt at a class to (fountain) decode many frames.
1bf3351 The static create helper for fountain_decoder_stream.
0d9de1b Still a lot of loose ends, but here's a potentially functional encoder
aa6a1e5 WIP, add encode_fountain() for Encoder
c3cac1a Add test! Fix code!
740e855 Sad
cd16a44 This crashes in wirehair_decode -- possibly a bug in wirehair?
805e7cb Rename thing
e3eebf7 Try encoding the packet id with each fountain "packet"
3ef30e4 Experiment -- remove templates, I think we want more flexibility
684756d The encoder does... something?
0544ce7 fountain_encoder_stream, wip
6b8905a Remove ICimbWriter, I don't think we need it.
94f402a Make the Encoder more flexible (maybe), and increase compile times :(
064c4a8 Use reed_solomon_stream for the Decoder too
3aff6d6 Use reed_solomon_stream in the Encoder...
28b4193 Add new reed_solomon_stream class + tests.
ec29d48 try passing in the release flags to the wirehair build as well (for now)
2800ed4 Rename init helper, and add some stuff to the readme
33d5f5d Make wirehair's CMakeLists.txt play nicer with android+clang
a5c0293 Very cool tests
2b595e4 First pass at fountain encoder/decoder
b0c92c5 Build the subset of wirehair we want
37ee76e Add wirehair?
84db1f0 Add CMakeLists.txt for various third party header components
236e1e5 fix++
254e678 Small fixes
af3d36b Move the CimbDecoder up a level, so we only need to initialize it once ...
b4929ad Merge pull request #2 from sz3/faster-fuzzy-hash
b5266fd Cleanup
77ad5e2 Put it back.
0253a2c This may or may not be a good idea
64de835 Invert the hash order again...
75f8cc5 Iterate by img ptr to (maybe) speed up the image hash a bit
58ef4d2 Playing with using opencv classes a bit less.
1e2d1d0 Minor improvements, maybe, for CellDrift class
05e9737 An even more aggressively optimized mean_color
fbaaa8b Uncessary optimization that notably improves performance on android
72fabfe Check in intx's "int128"
622d0fd Check 6x6 block for avg color.
cb637f2 Use intx?
76483b4 Make bitset_extractor ambivalent(-ish) about the underlying type
e3a099d Split the fuzzy_ahash function into two parts for now.
9894339 Use libpopcnt. Compile with -O3
1865a8d Merge pull request #1 from sz3/fuzzy-hash
780b16a Check candidate hashes from the center.
5b58fcf Try using fuzzy_ahash :o
652ae5c A test case for fuzzy_ahash
f338b75 Refactor in prep for fuzzy_ahash
5311f09 Add a class for pulling an integer with arbitrary offsets from a bitset
5daa2c1 Optimization #2: for decode_color(), calculate the average color first
b14f66b Cleanup average_hash
c83afff Optimization #1: do grayscale upfront, rather than per-cell
e0d87b0 Add option to test decoder -- skip the extract/deskew step
70d0acd Handle smaller sizes
33c4c11 It would be nice if these tests were less brittle
d2be034 Use jpgs
d7927bd Some serious fixes for the scanner.
1faf8ed Not sure how I hadn't run into this before
2cb264f Only filter out candidates at the end of the scan.
68c770a Supposedly this should be (power of 2) + 1.
c9c5af4 Simplify scanner image processing to use adaptivethresholding
d0ca0ca Strip down the cmake for libcorrect a bit more...
e9d82d5 Assorted changes for more portability
0075273 Strip down what we try to build for libcorrect
b9dc2bd Merge commit 'a291e6ba23e8f5d7f8c6f40cfede2b5a2b5cea20' as 'src/third_party_lib/libcorrect'
a291e6b Squashed 'src/third_party_lib/libcorrect/' content from commit f5a28c7
c227381 Remove submodule, I have been reminded that I hate submodules
22f032c Add "ReedSolomonFile", a wrapper for file read/writes that will auto ecc
b6c14ba Adding libcorrect submodule for reed solomon error correction
84bda43 Want to believe in ecc
4e21b0d Have the bitreader handle partial reads (buffer sizes that don't line up)
454f922 Update gitignore
4eb7714 Adjust test for sample
6c86935 Add picosha2 for tests
01d39f9 We're not getting too much out of these header-only impls, so...
828e238 Playing with some settings stuff.
0536c9d Add an up-to-date version of fmt
fb2d047 Connect the dots
6bdb911 Ok, now LIBCIMBAR_PROJECT_ROOT is test-only.
ef44766 Making the project root variable (almost) test-only
bf4115c Build image assets into the library
a6e5ba8 Add some resize logic to average_hash.
e8e1f72 Wiring up the Scanner+Deskew step.
e505e2c Add the scanner...
b33b9e2 ScanState
817f811 Small cleanup
4bfe428 inline, I guess
20d27fb Add CellDrift calculation, for "chasing" misaligned cells.
fb5e11e Cell drift tracker, pt1
3fea96d Decoder + simple test
d5ba5d1 Decode colors with the v1 (and questionable) algorithm
4611f7d Oops
f657411 Simple CimbReaderTest
f154810 Improve the encoder test
f5a7a72 Agressive development
842244a averagehash, part1
7bbff19 dark mode activated
dba437d Set up real simple encoder integration
83b435f Cell positions and the writer
d1a0284 A mock interface, and some fixes to the File helper class
47912dc Rename thing
6562fe9 Simple bitwriter, with bitwriterTest
e99f0d3 These are the tiles, of course
2fbd22b Color encoding
5eb9773 A bunch of WIP stuff
4ba1f0d return the matrix so we can look at it
9161b1d Checkpoint for deskew -- make sure we can successfully deskew a sample
6814b47 Initial commit -- stub project
REVERT: 9d10007 Move the c++ code out of the 30-subdirectory-deep java dungeon

git-subtree-dir: app/src/cpp/libcimbar
git-subtree-split: dc8874f54d4919de79824e0c32b9ce188e4c6506
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant