[PR #1] [MERGED] Use libtremolo: ARM-optimized implementation of VorbisCodec #20

Closed
opened 2026-02-28 14:24:07 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/devgianlu/librespot-android/pull/1
Author: @funtax
Created: 4/21/2021
Status: Merged
Merged: 4/25/2021
Merged by: @devgianlu

Base: masterHead: libtremolo-decoder


📝 Commits (4)

  • 493cd1a ARM-optimized implementation of VorbisCodec. Cannot be used yet due lack of configurable codecs.
  • ccacbcd Some cleanup
  • 980f5ed Some refactoring
  • 39eeabb Slimmed down code a lot (maybe too much?) + fixed deps

📊 Changes

52 files changed (+15204 additions, -2 deletions)

View changed files

📝 app/build.gradle (+1 -2)
librespot-android-decoder-tremolo/.gitignore (+1 -0)
librespot-android-decoder-tremolo/build.gradle (+53 -0)
librespot-android-decoder-tremolo/consumer-rules.pro (+3 -0)
librespot-android-decoder-tremolo/proguard-rules.pro (+25 -0)
librespot-android-decoder-tremolo/src/main/.gitignore (+1 -0)
librespot-android-decoder-tremolo/src/main/AndroidManifest.xml (+5 -0)
librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/TremoloVorbisCodec.java (+89 -0)
librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/tremolo/OggDecodingInputStream.java (+96 -0)
librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/tremolo/SeekableInputStream.java (+20 -0)
librespot-android-decoder-tremolo/src/main/jni/Android.mk (+1 -0)
librespot-android-decoder-tremolo/src/main/jni/Application.mk (+4 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/Android.mk (+43 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/asm_arm.h (+265 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/bitwise.c (+871 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/bitwiseARM.s (+399 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/codebook.c (+920 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/codebook.h (+89 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/codec_internal.h (+235 -0)
librespot-android-decoder-tremolo/src/main/jni/libtremolo/config_types.h (+47 -0)

...and 32 more files

📄 Description

As Vorbis-/OGG-decoding via jorbis is a CPU-intensive job you might use the optimized version of libtremolo(NDK).
It's used in my app since ~2016 and should work very stable.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/devgianlu/librespot-android/pull/1 **Author:** [@funtax](https://github.com/funtax) **Created:** 4/21/2021 **Status:** ✅ Merged **Merged:** 4/25/2021 **Merged by:** [@devgianlu](https://github.com/devgianlu) **Base:** `master` ← **Head:** `libtremolo-decoder` --- ### 📝 Commits (4) - [`493cd1a`](https://github.com/devgianlu/librespot-android/commit/493cd1a1e4ae341bd733ad02be37d0cfae11e419) ARM-optimized implementation of VorbisCodec. Cannot be used yet due lack of configurable codecs. - [`ccacbcd`](https://github.com/devgianlu/librespot-android/commit/ccacbcd00f5e8b489bc673558cc02d85d1c3d764) Some cleanup - [`980f5ed`](https://github.com/devgianlu/librespot-android/commit/980f5ed8411ff4400d59ae8fa163cd2c2fa6cfee) Some refactoring - [`39eeabb`](https://github.com/devgianlu/librespot-android/commit/39eeabbccb2cfad142cef8ee34f22a91b3ead1ff) Slimmed down code a lot (maybe too much?) + fixed deps ### 📊 Changes **52 files changed** (+15204 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `app/build.gradle` (+1 -2) ➕ `librespot-android-decoder-tremolo/.gitignore` (+1 -0) ➕ `librespot-android-decoder-tremolo/build.gradle` (+53 -0) ➕ `librespot-android-decoder-tremolo/consumer-rules.pro` (+3 -0) ➕ `librespot-android-decoder-tremolo/proguard-rules.pro` (+25 -0) ➕ `librespot-android-decoder-tremolo/src/main/.gitignore` (+1 -0) ➕ `librespot-android-decoder-tremolo/src/main/AndroidManifest.xml` (+5 -0) ➕ `librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/TremoloVorbisCodec.java` (+89 -0) ➕ `librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/tremolo/OggDecodingInputStream.java` (+96 -0) ➕ `librespot-android-decoder-tremolo/src/main/java/xyz/gianlu/librespot/player/codecs/tremolo/SeekableInputStream.java` (+20 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/Android.mk` (+1 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/Application.mk` (+4 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/Android.mk` (+43 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/asm_arm.h` (+265 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/bitwise.c` (+871 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/bitwiseARM.s` (+399 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/codebook.c` (+920 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/codebook.h` (+89 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/codec_internal.h` (+235 -0) ➕ `librespot-android-decoder-tremolo/src/main/jni/libtremolo/config_types.h` (+47 -0) _...and 32 more files_ </details> ### 📄 Description As Vorbis-/OGG-decoding via jorbis is a CPU-intensive job you might use the optimized version of libtremolo(NDK). It's used in my app since ~2016 and should work very stable. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-28 14:24:07 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot-android#20
No description provided.