Skip to content
Open
Show file tree
Hide file tree
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 Oct 12, 2024
e8e8ba4
chore: Lower log level for some logs.
pdeljanov Nov 7, 2024
2658fef
chore: Fix inaccurate feature flag instructions in docs (#312)
agersant Nov 8, 2024
21dd235
Basic project setup
jiztastamablastamarang Sep 10, 2024
564cdd4
Module tree draft
jiztastamablastamarang Sep 10, 2024
2366b62
Extend project structure
jiztastamablastamarang Sep 10, 2024
2be841e
Draft range decoder
jiztastamablastamarang Sep 10, 2024
0422f75
Failing draft
jiztastamablastamarang Sep 11, 2024
7231b7a
Upd structure
jiztastamablastamarang Sep 13, 2024
a767149
Range decoder with BitsReaderRtl
jiztastamablastamarang Sep 13, 2024
dd8019f
Copycat Range decoder with passing tests
jiztastamablastamarang Sep 14, 2024
f3a2510
Handle end of the bitstream gracefully
jiztastamablastamarang Sep 16, 2024
ae1fa18
Refactor range decoder test
jiztastamablastamarang Sep 16, 2024
32f86a5
Identification header impl
jiztastamablastamarang Sep 16, 2024
a3eb52e
Refactor naming in range decoder
jiztastamablastamarang Sep 16, 2024
65fd18f
Switch from Read to Readbytes train in header.rs
jiztastamablastamarang Sep 18, 2024
3815cba
Figuring out that header.rs is overkill
jiztastamablastamarang Sep 18, 2024
2a72902
Refactor range, remove update method
jiztastamablastamarang Sep 19, 2024
44fb007
Toc impl draft
jiztastamablastamarang Sep 20, 2024
60a5e02
Toc tests
jiztastamablastamarang Sep 20, 2024
eb44ccd
Refactor Toc tests by adding check pattern and macros test for mapping
jiztastamablastamarang Sep 20, 2024
7459300
Refactor TOC tests adding test table
jiztastamablastamarang Sep 21, 2024
8a02a2e
Frame packing draft
jiztastamablastamarang Sep 21, 2024
9b5ccee
Tests for Frame packing with failing padding
jiztastamablastamarang Sep 21, 2024
729e149
Add test for toc, ensuring everything is ok
jiztastamablastamarang Sep 22, 2024
a82681b
Fin tests for packet
jiztastamablastamarang Sep 22, 2024
eacaad6
Minor refactoring
jiztastamablastamarang Sep 22, 2024
38453eb
Refactor carcass of opus decoder
jiztastamablastamarang Sep 22, 2024
8de29d5
Refine silk decoder api
jiztastamablastamarang Sep 23, 2024
7d67e05
Restructured silk creating separate mod
jiztastamablastamarang Sep 23, 2024
129c38c
Silk Frame draft
jiztastamablastamarang Sep 23, 2024
5d4c6ed
Improving decoder api
jiztastamablastamarang Sep 24, 2024
8727cb5
Tables
jiztastamablastamarang Sep 24, 2024
760e414
icdf tables
jiztastamablastamarang Sep 24, 2024
956cccc
Refactor codebook and icdf
jiztastamablastamarang Sep 24, 2024
a55622d
Minor refactoring
jiztastamablastamarang Sep 24, 2024
c4101b6
Keep improving silk decoder design
jiztastamablastamarang Sep 26, 2024
d97a035
Add duration method to FrameSize and update tests
jiztastamablastamarang Sep 27, 2024
e7f0557
Add sample_rate for bandwidth
jiztastamablastamarang Sep 29, 2024
0ea640e
Raw silk decoder impl
jiztastamablastamarang Sep 29, 2024
4eb4932
Silk decoder excitaion fix
jiztastamablastamarang Sep 29, 2024
31f44ba
Remove redundant methods from silk decoder
jiztastamablastamarang Sep 29, 2024
a1dadfb
Refining silk decoder
jiztastamablastamarang Sep 29, 2024
4883bd0
Minor refactoring
jiztastamablastamarang Sep 29, 2024
ab9d7b5
Remove unused module
jiztastamablastamarang Sep 29, 2024
dafb443
Add lpc lsf
jiztastamablastamarang Sep 30, 2024
bf33ee8
Refactor lfc
jiztastamablastamarang Sep 30, 2024
0ae84d9
Module docs
jiztastamablastamarang Sep 30, 2024
4b61c5e
Upd docs
jiztastamablastamarang Oct 1, 2024
06ef5d0
Upd readme
jiztastamablastamarang Oct 1, 2024
7812988
Remove unused deps & switch to LazyLock
jiztastamablastamarang Oct 3, 2024
4d75d6a
Refactor opus packet
jiztastamablastamarang Oct 3, 2024
164680b
Refactor toc & packet
jiztastamablastamarang Oct 4, 2024
eab094a
Update before presentation
jiztastamablastamarang Oct 15, 2024
f15e19d
Upd Opus decoder to dev-0.6 API
jiztastamablastamarang Jul 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ Cargo.lock
# Ghostwriter
*.md.backup

# JetBrains
.idea

# Visual Studio Code
*.code-workspace
.vscode
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Copy link
Copy Markdown

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.

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))

217 changes: 217 additions & 0 deletions help.txt
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file looks like it was accidentally included, it should be removed

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.

6 changes: 3 additions & 3 deletions symphonia-bundle-mp3/src/layer3/requantize.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use std::{f32, f64};

use lazy_static::lazy_static;

use log::info;
use log::debug;

lazy_static! {
/// Lookup table for computing x(i) = s(i)^(4/3) where s(i) is a decoded Huffman sample. The
Expand Down Expand Up @@ -224,13 +224,13 @@ pub(super) fn read_huffman_samples<B: ReadBitsLtr>(
// samples, therefore, undo them! The caller will be reponsible for re-aligning the bitstream
// reader. Candy Pop confirms this.
else if bits_read > part3_bits && i > big_values_len {
info!("count1 overrun, malformed bitstream");
debug!("count1 overrun, malformed bitstream");
i -= 4;
}
else if bits_read > part3_bits {
// It seems that most other decoders don't undo overruns of the big values. We'll just print
// a message for now.
info!("big_values overrun, malformed bitstream");
debug!("big_values overrun, malformed bitstream");
}

// The final partition after the count1 partition is the rzero partition. Samples in this
Expand Down
15 changes: 13 additions & 2 deletions symphonia-codec-opus/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = "0.0.1"
description = "Pure Opus decoder (a part of project Symphonia)."
homepage = "https://github.com/pdeljanov/Symphonia"
repository = "https://github.com/pdeljanov/Symphonia"
authors = ["Philip Deljanov <philip.deljanov@gmail.com>"]
authors = ["Philip Deljanov <philip.deljanov@gmail.com>", "Yevhen Bilyk, <jiztastamablastamarang@gmail.com>"]
license = "MPL-2.0"
readme = "README.md"
categories = ["multimedia", "multimedia::audio", "multimedia::encoding"]
Expand All @@ -14,4 +14,15 @@ rust-version = "1.77"

[dependencies]
log = "0.4"
symphonia-core = { version = "0.5.4", path = "../symphonia-core" }
env_logger = "0.11.5"
symphonia-core = { version = "0.5.4", path = "../symphonia-core" }
thiserror = "1"

[lints.clippy]
needless_return = "allow"
enum_variant_names = "allow"
upper_case_acronyms = "allow"
unused_imports = "allow"

[dev-dependencies]
serial_test = "3.1.1"
Loading