-
Notifications
You must be signed in to change notification settings - Fork 205
[WIP] feat: Opus decoder (SILK mode) #398
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
Open
jiztastamablastamarang
wants to merge
55
commits into
pdeljanov:dev-0.6
Choose a base branch
from
jiztastamablastamarang:opus-decoder
base: dev-0.6
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
6bf7fb0
chore: Fix macOS CI and some clippy checks. (#320)
a1phyr e8e8ba4
chore: Lower log level for some logs.
pdeljanov 2658fef
chore: Fix inaccurate feature flag instructions in docs (#312)
agersant 21dd235
Basic project setup
jiztastamablastamarang 564cdd4
Module tree draft
jiztastamablastamarang 2366b62
Extend project structure
jiztastamablastamarang 2be841e
Draft range decoder
jiztastamablastamarang 0422f75
Failing draft
jiztastamablastamarang 7231b7a
Upd structure
jiztastamablastamarang a767149
Range decoder with BitsReaderRtl
jiztastamablastamarang dd8019f
Copycat Range decoder with passing tests
jiztastamablastamarang f3a2510
Handle end of the bitstream gracefully
jiztastamablastamarang ae1fa18
Refactor range decoder test
jiztastamablastamarang 32f86a5
Identification header impl
jiztastamablastamarang a3eb52e
Refactor naming in range decoder
jiztastamablastamarang 65fd18f
Switch from Read to Readbytes train in header.rs
jiztastamablastamarang 3815cba
Figuring out that header.rs is overkill
jiztastamablastamarang 2a72902
Refactor range, remove update method
jiztastamablastamarang 44fb007
Toc impl draft
jiztastamablastamarang 60a5e02
Toc tests
jiztastamablastamarang eb44ccd
Refactor Toc tests by adding check pattern and macros test for mapping
jiztastamablastamarang 7459300
Refactor TOC tests adding test table
jiztastamablastamarang 8a02a2e
Frame packing draft
jiztastamablastamarang 9b5ccee
Tests for Frame packing with failing padding
jiztastamablastamarang 729e149
Add test for toc, ensuring everything is ok
jiztastamablastamarang a82681b
Fin tests for packet
jiztastamablastamarang eacaad6
Minor refactoring
jiztastamablastamarang 38453eb
Refactor carcass of opus decoder
jiztastamablastamarang 8de29d5
Refine silk decoder api
jiztastamablastamarang 7d67e05
Restructured silk creating separate mod
jiztastamablastamarang 129c38c
Silk Frame draft
jiztastamablastamarang 5d4c6ed
Improving decoder api
jiztastamablastamarang 8727cb5
Tables
jiztastamablastamarang 760e414
icdf tables
jiztastamablastamarang 956cccc
Refactor codebook and icdf
jiztastamablastamarang a55622d
Minor refactoring
jiztastamablastamarang c4101b6
Keep improving silk decoder design
jiztastamablastamarang d97a035
Add duration method to FrameSize and update tests
jiztastamablastamarang e7f0557
Add sample_rate for bandwidth
jiztastamablastamarang 0ea640e
Raw silk decoder impl
jiztastamablastamarang 4eb4932
Silk decoder excitaion fix
jiztastamablastamarang 31f44ba
Remove redundant methods from silk decoder
jiztastamablastamarang a1dadfb
Refining silk decoder
jiztastamablastamarang 4883bd0
Minor refactoring
jiztastamablastamarang ab9d7b5
Remove unused module
jiztastamablastamarang dafb443
Add lpc lsf
jiztastamablastamarang bf33ee8
Refactor lfc
jiztastamablastamarang 0ae84d9
Module docs
jiztastamablastamarang 4b61c5e
Upd docs
jiztastamablastamarang 06ef5d0
Upd readme
jiztastamablastamarang 7812988
Remove unused deps & switch to LazyLock
jiztastamablastamarang 4d75d6a
Refactor opus packet
jiztastamablastamarang 164680b
Refactor toc & packet
jiztastamablastamarang eab094a
Update before presentation
jiztastamablastamarang f15e19d
Upd Opus decoder to dev-0.6 API
jiztastamablastamarang File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,6 +6,9 @@ Cargo.lock | |
| # Ghostwriter | ||
| *.md.backup | ||
|
|
||
| # JetBrains | ||
| .idea | ||
|
|
||
| # Visual Studio Code | ||
| *.code-workspace | ||
| .vscode | ||
|
|
||
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| # ChangeLog | ||
|
|
||
| All notable changes to this project will be documented in this file,ChangeLog information is generated by the [CommitMessage plugin](https://plugins.jetbrains.com/plugin/12256-commit-message-create) | ||
|
|
||
| ## [vf](http://git/compare/vf...master) | ||
|
|
||
|
|
||
| ### refactor | ||
|
|
||
| * b15a6a2 Minor refactoring ([b15a6a2](http://git/commit/b15a6a2)) | ||
| * 4fa0dd7 Minor refactoring ([4fa0dd7](http://git/commit/4fa0dd7)) | ||
|
|
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This file looks like it was accidentally included, it should be removed |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,217 @@ | ||
| rust-analyzer | ||
| LSP server for the Rust programming language. | ||
|
|
||
| Subcommands and their flags do not provide any stability guarantees and may be removed or | ||
| changed without notice. Top-level flags that are not marked as [Unstable] provide | ||
| backwards-compatibility and may be relied on. | ||
|
|
||
| OPTIONS: | ||
| -v, --verbose | ||
| Verbosity level, can be repeated multiple times. | ||
|
|
||
| -q, --quiet | ||
| Verbosity level. | ||
|
|
||
| --log-file <path> | ||
| Log to the specified file instead of stderr. | ||
|
|
||
| --no-log-buffering | ||
| Flush log records to the file immediately. | ||
|
|
||
| --wait-dbg | ||
| [Unstable] Wait until a debugger is attached to (requires debug build). | ||
|
|
||
| -h, --help | ||
| Prints help information. | ||
|
|
||
| -V, --version | ||
| Print version. | ||
|
|
||
| --print-config-schema | ||
| Dump a LSP config JSON schema. | ||
|
|
||
| SUBCOMMANDS: | ||
|
|
||
| rust-analyzer parse | ||
| Parse stdin. | ||
|
|
||
| OPTIONS: | ||
| --no-dump | ||
| Suppress printing. | ||
|
|
||
|
|
||
| rust-analyzer symbols | ||
| Parse stdin and print the list of symbols. | ||
|
|
||
|
|
||
| rust-analyzer highlight | ||
| Highlight stdin as html. | ||
|
|
||
| OPTIONS: | ||
| --rainbow | ||
| Enable rainbow highlighting of identifiers. | ||
|
|
||
|
|
||
| rust-analyzer analysis-stats | ||
| Batch typecheck project and print summary statistics | ||
|
|
||
| ARGS: | ||
| <path> | ||
| Directory with Cargo.toml. | ||
|
|
||
| OPTIONS: | ||
| --output <format> | ||
|
|
||
| --randomize | ||
| Randomize order in which crates, modules, and items are processed. | ||
|
|
||
| --parallel | ||
| Run type inference in parallel. | ||
|
|
||
| --source-stats | ||
| Print the total length of all source and macro files (whitespace is not counted). | ||
|
|
||
| -o, --only <path> | ||
| Only analyze items matching this path. | ||
|
|
||
| --with-deps | ||
| Also analyze all dependencies. | ||
|
|
||
| --no-sysroot | ||
| Don't load sysroot crates (`std`, `core` & friends). | ||
|
|
||
| --disable-build-scripts | ||
| Don't run build scripts or load `OUT_DIR` values by running `cargo check` before analysis. | ||
|
|
||
| --disable-proc-macros | ||
| Don't use expand proc macros. | ||
|
|
||
| --proc-macro-srv <path> | ||
| Run the proc-macro-srv binary at the specified path. | ||
|
|
||
| --skip-lowering | ||
| Skip body lowering. | ||
|
|
||
| --skip-inference | ||
| Skip type inference. | ||
|
|
||
| --skip-mir-stats | ||
| Skip lowering to mir | ||
|
|
||
| --skip-data-layout | ||
| Skip data layout calculation | ||
|
|
||
| --skip-const-eval | ||
| Skip const evaluation | ||
|
|
||
| --run-all-ide-things | ||
| Runs several IDE features after analysis, including semantics highlighting, diagnostics | ||
| and annotations. This is useful for benchmarking the memory usage on a project that has | ||
| been worked on for a bit in a longer running session. | ||
|
|
||
| --run-term-search | ||
| Run term search on all the tail expressions (of functions, block, if statements etc.) | ||
|
|
||
| --validate-term-search | ||
| Validate term search by running `cargo check` on every response. | ||
| Note that this also temporarily modifies the files on disk, use with caution! | ||
|
|
||
|
|
||
| rust-analyzer run-tests | ||
| Run unit tests of the project using mir interpreter | ||
|
|
||
| ARGS: | ||
| <path> | ||
| Directory with Cargo.toml. | ||
|
|
||
|
|
||
| rust-analyzer rustc-tests | ||
| Run unit tests of the project using mir interpreter | ||
|
|
||
| ARGS: | ||
| <rustc_repo> | ||
| Directory with Cargo.toml. | ||
|
|
||
| OPTIONS: | ||
| --filter <path> | ||
| Only run tests with filter as substring | ||
|
|
||
|
|
||
| rust-analyzer diagnostics | ||
|
|
||
| ARGS: | ||
| <path> | ||
| Directory with Cargo.toml. | ||
|
|
||
| OPTIONS: | ||
| --disable-build-scripts | ||
| Don't run build scripts or load `OUT_DIR` values by running `cargo check` before analysis. | ||
|
|
||
| --disable-proc-macros | ||
| Don't use expand proc macros. | ||
|
|
||
| --proc-macro-srv <path> | ||
| Run the proc-macro-srv binary at the specified path. | ||
|
|
||
|
|
||
| rust-analyzer unresolved-references | ||
| Report unresolved references | ||
|
|
||
| ARGS: | ||
| <path> | ||
| Directory with Cargo.toml. | ||
|
|
||
| OPTIONS: | ||
| --disable-build-scripts | ||
| Don't run build scripts or load `OUT_DIR` values by running `cargo check` before analysis. | ||
|
|
||
| --disable-proc-macros | ||
| Don't use expand proc macros. | ||
|
|
||
| --proc-macro-srv <path> | ||
| Run the proc-macro-srv binary at the specified path. | ||
|
|
||
|
|
||
| rust-analyzer ssr | ||
|
|
||
| ARGS: | ||
| <rule>... | ||
| A structured search replace rule (`$a.foo($b) ==>> bar($a, $b)`) | ||
|
|
||
|
|
||
| rust-analyzer search | ||
|
|
||
| ARGS: | ||
| <pattern>... | ||
| A structured search replace pattern (`$a.foo($b)`) | ||
|
|
||
| OPTIONS: | ||
| --debug <snippet> | ||
| Prints debug information for any nodes with source exactly equal to snippet. | ||
|
|
||
|
|
||
| rust-analyzer lsif | ||
|
|
||
| ARGS: | ||
| <path> | ||
|
|
||
| OPTIONS: | ||
| --exclude-vendored-libraries | ||
| Exclude code from vendored libraries from the resulting index. | ||
|
|
||
|
|
||
| rust-analyzer scip | ||
|
|
||
| ARGS: | ||
| <path> | ||
|
|
||
| OPTIONS: | ||
| --output <path> | ||
| The output path where the SCIP file will be written to. Defaults to `index.scip`. | ||
|
|
||
| --config-path <config_path> | ||
| A path to an json configuration file that can be used to customize cargo behavior. | ||
|
|
||
| --exclude-vendored-libraries | ||
| Exclude code from vendored libraries from the resulting index. | ||
|
|
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While a CHANGELOG.md file can be very nice to have, this file seems to be generated by an editor plugin with not so helpful content (and URLs with a not yet reserved/allocated TLD). This file should probably just be removed again for now.