Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LAME 4.0 — Unofficial Windows Build

⚠️ Inoffizieller Build / Unofficial build. Dies ist kein offizielles Release des LAME-Projekts. Gebaut aus dem Quellpaket lame-4.0.tar.gz mit MinGW-w64. Offizielle Quelle: https://lame.sourceforge.io/

Inhalt

Pfad Beschreibung
dist/win32/ 32-bit: lame.exe + lame_enc.dll
dist/win64/ 64-bit: lame.exe + lame_enc.dll
lame-4.0/ Vollständiger Quellcode (inkl. einer Modifikation, s. u.)
COPYING Lizenz: GNU Library General Public License v2 (LGPL)
NOTICE.md Statisch eingebettete Drittbibliotheken

Alle Binaries sind vollständig statisch gelinkt und benötigen nur Windows-System-DLLs (kernel32, msvcrt, shlwapi, user32) — keine Laufzeitabhängigkeiten, einzeln kopierbar.

  • lame.exe — Kommandozeilen-Encoder (mit Icon und Versionsinfo)
  • lame_enc.dll — Encoder-DLL mit der klassischen BladeEnc-API (beInitStream, beEncodeChunk, …), wie die bekannte lame_enc.dll der 3.x-Serie. Architektur muss zum Host-Programm passen (32-bit-DLL für 32-bit-Programme, 64-bit-DLL für 64-bit-Programme).

Verwendung

lame.exe -V2 input.wav output.mp3      VBR, gute Qualität
lame.exe -b 320 input.wav output.mp3   CBR 320 kbps
lame.exe --decode in.mp3 out.wav       MP3 dekodieren
lame.exe --help                        alle Optionen

Änderungen gegenüber dem Original (LGPL §2a-Vermerk)

frontend/parse.c (14.07.2026): Der TENC_UTF8-Zweig in set_id3v2tag() übergab UTF-8-char-Daten an die (per DEPRECATED_OR_OBSOLETE_CODE_REMOVED entfernten) *_ucs2-Funktionen bzw. an *_utf8-Funktionen mit falschem Zeigertyp und kompilierte daher mit aktuellem GCC nicht mehr. Der Zweig nutzt jetzt die vorhandene char-basierte utf8-API. Der UTF-16-Pfad ist unverändert. Details im Kopfkommentar der Datei.

Sonst ist der Quellcode unverändert gegenüber lame-4.0.tar.gz.

Build-Anleitung

Toolchain: MSYS2 mit MinGW-w64 (getestet: gcc 16.1.0), Pakete: mingw-w64-{x86_64,i686}-gcc, -pkgconf, -mpg123, -libiconv, make.

# im MinGW64- bzw. MinGW32-Shell, out-of-tree:
mkdir build && cd build
../lame-4.0/configure --host=x86_64-w64-mingw32 \
    --enable-static --disable-shared --disable-dependency-tracking
make

# lame.exe vollstatisch linken (Objekte aus frontend/):
gcc -O3 -fomit-frame-pointer -ffast-math -static -s -o lame.exe \
    frontend/{lame_main,main,brhist,console,get_audio,lametime,parse,timestatus}.o \
    lame_res.o \
    libmp3lame/.libs/libmp3lame.a /mingw64/lib/libmpg123.a \
    /mingw64/lib/libiconv.a -lshlwapi -lm

# lame_enc.dll statisch bauen:
gcc -O3 -ffast-math -I lame-4.0/include -I lame-4.0/libmp3lame -I build \
    -c lame-4.0/Dll/BladeMP3EncDLL.c
gcc -shared -static -s -o lame_enc.dll BladeMP3EncDLL.o \
    lame-4.0/Dll/BladeMP3EncDLL.def libmp3lame/.libs/libmp3lame.a \
    /mingw64/lib/libmpg123.a -lshlwapi -luser32 -lm

(Für 32-bit analog mit --host=i686-w64-mingw32 und /mingw32/....) Das Icon (libmp3lame/logoe.ico aus dem Quellpaket) wird per windres als Ressource eingebunden.

Lizenz

LGPL v2 — siehe COPYING. Statisch eingebettete Bibliotheken (mpg123, libiconv, jeweils LGPL) sind in NOTICE.md aufgeführt. Das eingebettete Icon stammt aus dem LGPL-lizenzierten Quellpaket selbst (libmp3lame/logoe.ico).

About

Unofficial static Windows builds (win32/win64) of the LAME 4.0 MP3 encoder - LGPL

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages