Hallo, hat von euch schon mal jemand JPG-Files (ohne sie vorher zu wandeln) entweder direkt aus dem Flash oder von einer SD-Karte auf einem LCD angezeigt (mit dem STM32F4) ? ich hab die Funktion jetzt am laufen aber mir kommt sie sehr langsam vor er braucht für JPGs mit einer Auflösung von 240x350 Pixel (24bpp) zwischen 450ms und 750ms die Files sind zwischen 10kByte und 35kByte groß wobei die Filegröße nicht sehr viel mit der Geschwindigkeit zu tun hat (scheint mir jedenfalls so) im Moment lad ich die JPGs ins Flash und das Display ist per FSMC angebunden. Die CPU läuft mit 168MHz vlt kennt sich jemand mit dem Thema besser aus und kann mir ein paar Tips geben wie ich das ganze schneller hinbekomme P.S. zur Info die IDE ist "CooCox" und die Optimierung habe ich auf "None" (bei -O3 hab ich Werte von 200ms) Gruss Uwe
Ganz ohne library? Dann liegt es wohl an deinem dekoder, den Code kennt hier aber keiner. Die library von elm chan ist sehr flott. Aber musst das Display effektiv anbinden. Nicht jeden Pixel einzeln ans Display schicken.
>im Moment lad ich die JPGs ins Flash und das Display ist >per FSMC angebunden. Die CPU läuft mit 168MHz Wie lange dauert es denn wenn du kein JPEG dekodierst und einfach nur Dummy Bytes an das Display schickst? Sagen wir einfach mal alle Pixel auf rot setzen. Wie viel Zeit benötigst du dafür?
@Artjomka, sorry, natürlich benutze ich eine LIB ich hab sie von hier : http://en.pudn.com/downloads263/sourcecode/embed/detail1210390_en.html und ich benutze nur ein File davon : "jpegdecode.c" (fast ohne Änderungen...funktioniert einwandfrei) bei dem Demo-Video vom "elm chan Treiber" werden manche Bilder auch langsam angezeigt...allerdings sind die auch viel größer vlt. probier ich mal seinen Code aus, kann ja sein das der schneller ist @holger, die Verbindung zum Display selbst ist sehr schnell, ein ClearScreen mit einer Farbe dauert nur ca. 10ms (allerdings setzte ich da die Pixel-Adresse nur ein einziges mal) bei der JPG-LIB wird bei jedem Pixel die Pixel-Adresse mit übertragen, aber auch nur weil der Bildaufbau nicht von links nach rechts durchlaufend ist, sondern das Bild in "Blöcken" gezeichnet wird wie groß so ein Block ist muss ich mal nachschauen, event. kann man den Code optimieren, wenn ich den Display-Bereich zum zeichnen genau auf so einen Block lege, dann brauch ich keine Adressen mit zu übertragen Gruss Uwe
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.