-
Notifications
You must be signed in to change notification settings - Fork 53
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
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Owner
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!
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
removing the "file transfer time" message, because it's misleading.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.