mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LibPNG für Embedded Systems


Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan Noll (nollsen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/

Autor: Mars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.