Hallo, ich habe ein ARM9 System mit wenig Flash (<= 1MB), dafür aber mit genügend RAM. Da ich auch ein Display(320x240) ansteuern will, und dafür mehrere Bilder brauche, suche ich nun nach einer Möglichkeit die Bilder möglichst gut komprimiert im Flash abzulegen. Sobald das Programm läuft, kann ich die Bilder entpacken und vom Flash ins RAM kopieren. Kennt jemand eine Library für eingebettete Systeme ohne Betriebssystem, die PNGs dekodieren kann? Grüße
Das mittlerweile patentfreie GIF-Format ist hier vielleicht besser geeignet. Zwar wird es nicht die allerhöchsten Kompressionsraten erzielen, dafür ist es aber um Größenordnungen simpler umzusetzen als PNG. Der englische Wikipedia-Eintrag beschreibt das Format recht gut: http://en.wikipedia.org/wiki/Graphics_Interchange_Format
Mars schrieb: > Kennt jemand eine Library für eingebettete Systeme ohne Betriebssystem, > die PNGs dekodieren kann? libpng lässt sich zumindest compilieren. pngtest bringt es aber auf stolze: % arm-elf-size pngtest text data bss dec hex filename 348044 2488 1604 352136 55f88 pngtest Da hängt allerdings der ganze stdio-Krempel mit drin, wie's scheint.
hi da gabs mal ein pico png / tiny png projekt, das in einer c datei ohne ext abhängigkeiten ein png dekodiert. oder schau mal auf http://members.gamedev.net/lode/projects/LodePNG/
An GIF habe ich auch gedacht, ich bin mir allerdings nicht sicher ob GIF hier das richtige Format ist, da ich z.B. einen eigenen Alpha-Kanal möchte. LibPNG habe ich mir auch schon angesehen und ist in der Tat sehr umfangreich. Wobei man hier sicher noch einiges optimieren kann, da ich nur einen Dekoder brauche. Aber danke fürs austesten Jörg. @Stefan Noll Das sieht mir sehr vielversprechend aus. werde ich gleich mal ausprobieren. Danke für eure Antworten
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.