Hallo, ich habe ein Projekt bei dem ich über Ethernet AAC Daten (Stream) bekomme. Daten Empfang und Audio Ausgabe gehen, getestet mit MP3 Daten. Die AAC Daten sind mal im ADTS und mal im LATM Format, eine Unterscheidung der Daten steckt im Steam drin und somit kann ich darauf reagieren. Jetzt stellt sich halt die grosse frage welchen Decoder nimmt man und wie gut läuft der auf einem Cortex M4? Die Hardware ist Fertig und kann nicht geändert werden! Sonst wäre da mindestens ein M7 drauf. FAAD2 und der Frauenhofer Code kann wohl alles was ich brauche. Die Geschwindigkeiten sollen nur alles andere als top sein, aber da kann man später immer noch was dran drehen wenn es mal läuft. Einen Besseren der beides kann habe ich nicht gefunden. Ich habe mich erstmal für FAAD2 entschieden, lass mich aber gerne belehren und wechsel dann. Der Code war einfach überschitlicher. So nun wollte ich mal fragen ob jemand damit Erfahnung hat? Und mir vielleicht noch einige Tipps geben kann. Besonders hilfe brauche ich aktuell noch bei dem Init und Ablauf. Weil ich kenne zwar das Format aber wie teile ich dem Decoder das mit? Wie kann ich einen Stream dem Decoder geben? Wo bekomme ich die Anzahl der verarbeitet Bytes, braucht man um die aus dem Puffer zu löschen und neue Daten zu laden. VG Dirk
Die schnell die alle auf einem M4 sind kann ich nicht sagen, kommt dann auch drauf an welcher M4. Z.B. ein STM32F407 ist schneller wie ein STM32F411. Ich persönlich würde den FDK AAC nehmen, weil der aktiv gepflegt wird. Das ist zwar mal wieder so ein Code Monster, aber wenn man da mal alles wichtige raus kopiert wird es auch übersichtlicher. Ist nur etwas arbeit. Alle anderen AAC Decoder sind auch recht alt, was nicht bedeuten soll das die schlecht sind. Wenn Du auf LATM verzichten kannst dann wäre der HELIX-AAC Decoder noch was für Dich. Ja der ist noch älter! Der läuft bei mir recht gut auf einem STM32F411. Der hat auch den Vorteil das die Speichergrössen eigentlich vorher schon fest stehen und nicht auf dem HEAP gearbeitet wird. Auch war der Umgang mit den Daten sehr einfach, was die anderen da so machen kann ich nicht sagen. Viel Spaß.
Nach nun einigen Tagen suche bin ich nicht wirklich weiter gekommen. Es ist ein STM32F407 verbaut, also einer der damals recht schnellen mit 168MHz. Heute würde man was anderes nehmen, aber so ist es halt, die Biester werden immer schneller. So ich habe nun auch den FDK AAC zerlegt und versucht zu testen. Hier fliegt mir der Speicher um die Ohren und was ich gefunden habe wird der M4 wohl nicht reichen. Hier musste man wohl sehr viel auf die DSP Einheit umschreiben um überhaupt mal sagen zukönnen ob der funktionniert. Der FAAD2 ist anscheinend nicht so gut für streams geeignet. Jedenfalls habe ich da noch erhebliche Probleme meine Daten rein zu bekommen. Der Code für den HELIX-AAC Decoder zu finden war nicht einfach und ich bin mir nicht sicher ob das auch ein Fehlerfreier Code ist. Da wäre ein Link auf eine saubere Quelle hilfreich. Der Einbau war mal echt einfach, aber bei einem ADTS Datenstrom kommt es zum Hardfault. Den muss ich jetzt finden damit ich weiteres dazu sagen kann. Also alles noch offen, wobei nach einigen Tests im WWW ist wohl der HELIX-AAC der schnellste. Vom Platz verbraucht und Anbindung ist er jedenfalls gut benutzbar, wenn er jetzt nur laufen würde. Ob man den auf LATM um bauen kann ist dann noch eine Spannende Frage. Wie der mit so 2.1 & 5.1 & 7.1 Daten zurecht kommt wird auch spannend. Du hast recht das der FDK AAC der neuere ist und mit Sicherheit die ganzen neueren Formate alle beherscht. Wenn der ja wenigstens mal laufen würde, dann könnte ich den überarbeiten (DSP LIB), aber irgnedwie frisst der mir den ganzen speicher. Ich kann also wählen zwischen Prozessor zu klein, lauft nicht und kann nicht die Formate. Alles spitzen Vorraussetzung für ein Projekt
Wieviel Speicher fehlt denn noch? Als erstes kannst du mal den CC RAM für Variable und alles andere verwenden, was keine DMA benötigt. Der ist vom Zugriff sogar ein wenig flotter. Was hängt denn an Peripherie am 407 dran bis auf Ethernet?
:
Bearbeitet durch User
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.