1. 24 Apr, 2024 1 commit
  2. 06 Mar, 2024 1 commit
  3. 01 Mar, 2024 2 commits
  4. 29 Feb, 2024 2 commits
  5. 25 Feb, 2024 1 commit
  6. 21 Feb, 2024 12 commits
  7. 20 Feb, 2024 3 commits
    • Stefan Westerfeld's avatar
    • Stefan Westerfeld's avatar
      Merge branch 'architecture-docs' · 4144656d
      Stefan Westerfeld authored
      * architecture-docs:
        BUILD: only build developer docs if --with-docs is passed to configure
        docs/audiowmark.md: speed detection has been merged since the first docu version
        docs/audiowmark.md: update docs to say Hann window
        docs/audiowmark.md: describe general architecture
      	Squashed history:
      	* Add usage as reported by --help
      	* Add `audiowmark get` overview
      	* Add graph to describe components
      	* Describe `audiowmark add` command usage
      	* Add comment with build commands and notes
      	* Fix basic HTML layout
      	* Move "Modulation Frame Generator" into separate chart
      	* Colorization adjustments
      	* Explode conv_encode and randomize_bit_order
      	* Fix block label
      	* Add prepare_frame_mod, UpDownGen, mark_data
      	* Describe mark_sync and frame_pos
      	* Elaborate ab_generators
      	* Describe gen_mix_entries and --linear
      	* Describe mark_data
      	* Describe init_frame_mod_vec
      	* Properly layout ab_generators
      	* Describe R1…R6 in detail
      	* Elaborate on architecture, encoding and PRNG
      	* Describe blocks and AES/CTR
      	* Adjust layout and paper size
      	* Add coarse extraction chart
      	* Add frame_pos UpDownGen sync_finder fft_range BlockDecoder
      	* Describe init_up_down
      	* Add fft_analyzer, sync_fft_256, sync_decode, search_approx
      	* Stretch graph
      	* Document sync_select_by_threshold
      	* Split SyncFinder and wmget graphs, refine wmget
      	* Refine FFT and BlockDecoder details, sync_finder output
      	* Fix all arrows and edges
      	* Fix "Extracting Audio Watermarks" titles and subtitles
      	* Describe refined search, document refining feedback
      	* Sketch BlockDecoder functionality
      	* Sketch ClipDecoder functionality
      	* Adjust decoder fft_range
      	* Document conv_decode_soft()
      	* Complete the BlockDecoder documentation
      	* Add bit vector description
      	* Document ClipDecoder
      	* Add decoder timing information
      	* Adjust ClipDecoder color
      	* Summarize synchronization detection
      	* Describe zero padding in Mode::CLIP
      	* Document result set printing
      	* Maximum of 5 sync positions applies to ClipDecoder
      	* Describe detection decision for A/B-Block
      	* Add prose about watermark detection and extraction
      	* Describe "Experimental Speed Detection"
      	* Fix digraph titles and spelling in a few places
      	* Adjust titles + boxes in "Modulation Frame Generator"
      	* Adjust titles + boxes in "audiowmark add"
      	* Adjust Power Measurement border
      	* Adjust titles + boxes in "Synchronization Position Finder"
      	* Add line break to improve digraph width
      	* Small wording fixups
        docs/graphviz.py: pandoc filter to build dot graphs in SVG format
      	Licensed BSD-3-Clause: https://spdx.org/licenses/BSD-3-Clause.html
      	Based on https://github.com/jgm/pandocfilters/blob/master/examples/graphviz.py
        docs/.gitignore: list build files/dirs
        docs/Makefile.am: add build rules for audiowmark.pdf and audiowmark.html
        Makefile.am: build docs/
        configure.ac: generate docs/Makefile
      Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
      4144656d
    • Stefan Westerfeld's avatar
  8. 12 Feb, 2024 9 commits
  9. 10 Feb, 2024 1 commit
  10. 28 Jan, 2024 1 commit
  11. 27 Jan, 2024 7 commits
    • Stefan Westerfeld's avatar
    • Stefan Westerfeld's avatar
      Reduce host signal interference by using prev/next value during decode. · 88aff6c6
      Stefan Westerfeld authored
      This improves robustness by significantly decreasing convolutional code error.
      Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
      88aff6c6
    • Stefan Westerfeld's avatar
      Merge branch 'guofei9987-patch-1' · 586ccd73
      Stefan Westerfeld authored
      586ccd73
    • 郭飞's avatar
      typo · 7fa7bd65
      郭飞 authored
      want do use -> want to use
      7fa7bd65
    • Stefan Westerfeld's avatar
      Merge branch 'multi-key-decode' · ce4fefab
      Stefan Westerfeld authored
      * multi-key-decode:
        Remove blank line in wmspeed.cc.
        BlockDecoder: use mix_or_linear_decode from ClipDecoder as well
        Change result order for same time: AB blocks should go after B block
        SyncFinder: merge init_up_down and get_sync_bits
        README.adoc: document key names and audiowmark get using multiple keys
        Refactor: implement parse_key by using parse_key_list.
        Use checks during string to number conversions to avoid invalid input.
        Set permissions on newly generated keys: only allow user to read/write key.
        WavData: reserve memory if possible before loading samples (performance).
        For results with the same time, sort by bits to get deterministic output.
        Print key names and speeds properly in default output.
        Deal with special chars that need escaping for gen-key --name.
        Generate properly escaped JSON string for key names in JSON output.
        Include speed in json output matches.
        Print out key names in json output.
        Key: support loading key names from key file.
        Support gen-key --name [ <key_name> ] option, store name in key file.
        Fix unused lambda capture warning.
        SyncFinder: use thread pool to perform fft for search_approx (performance)
        Fix audiowmark cmp output for speed detection
        More speed detection cleanups.
        Refactor/cleanup speed detection code.
        Simplify speed detection vector code using push_back instead emplace_back.
        Don't return speed 1 as search result from speed detection.
        Merge key loop into the detect speed function (performance).
        Refactor speed detection API to use a key list instead of a single key.
        Use ThreadPool in ClipDecoder for convolutional decoder (performance).
        Use ThreadPool to speed up BlockDecoder convolutional pattern decoding.
        Properly sort results after parallel sync refine.
        Use ThreadPool for refining sync results (performance).
        Add name member to Key.
        Reduce frame splitting for search_approx (performance).
        Use more threads in SyncFinder::search_approx (performance).
        Use thread pool in SyncFinder search to speed up multi-key sync.
        SyncFinder: remove sync_bits from KeyResult structure.
        Move key list loop into SyncFinder/BlockDecoder/ClipDecoder.
        Avoid global state for sync / data frame positions.
        Support more than one --key / --test-key option for audiowmark get/cmp.
        Get rid of single global key for PRNG.
      Signed-off-by: Stefan Westerfeld's avatarStefan Westerfeld <stefan@space.twc.de>
      ce4fefab
    • Stefan Westerfeld's avatar
      dfaf5de7
    • Stefan Westerfeld's avatar