Hallo, ich suche für ein Testprojekt den LibMAD MP3 Decoder. Allerdings eine Version für ARM thumb(-2), soll auf einem STM32F4 laufen. Der offizielle Code V0.15.1b oder so von 2004 ist meine Basis. Im Netz habe ich einige Patch Files gefunden, aber die sind anscheinend nicht komplett. Ein kompletter fertig gepatchter und getesteter Code wäre das beste. Viele Grüsse, Peter
Ich habe einen patch gefunden b-8. Der ist wie immer nur ein teil des ganzen. ist schon komisch, es gibt anscheinend etliche Verbesserung aber keinen Code.
Den Code hatte ich noch nicht. Einige der Patches habe ich im Code wieder gefunden. Ob das nun auch geht wird sich zeigen. Der Assembler Code (imdct_l_arm.S) ist noch ARM und kein thumb Code Ich habe einen halben Patch (eine Zeile wird geändert) dafür nur nicht den kompletten. VG, Peter
Vor längerer Zeit nur ein wenig mit den mp3-Codes aus libmad und helix-Datatype herumgespielt, also nicht neuester Stand der Dinge: Einen Satz patch-Dateien für libmad zur Anpassung an thumb2 findet man unter anderm bei Debian und auch dort: https://github.com/OpenBricks/openbricks/tree/master/packages/libs/libmad/patches Soweit erinnert, muss bei libmad kein Assembler/Inline-Assembler genutzt werden, alle Funktionen sind auch als "unoptimierter" C-Code vorhanden.
Die Patches habe ich nun alle. Aber für die Assembler Datei muss es noch einen geben. Der leicht zufindene Patch dafür änder nur eine Zeile. Im Code sind aber deutlich mehr Stellen die geändert werden müssen. Das der reine C-Code auch läuft ist mir klar, aber mehr speed schadet nicht. Beim HELIX ist es so das ich nur 24ms Zeit habe, der Decoder aber schon 11ms braucht. So macht das keinen Spass. Die LibMAD muss ich noch testen, der Einbau ist etwas komplizierter. Alternativ wäre die MP3 LIB von STM noch eine Alternative, die finde ich aber auch nicht, nur das die angeblich nichts kostet.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.