EXIF Bildrotation

  • Hallo,


    nachdem ich riesige resonanz auf meine automatische Exif Rotation anfrage bekommen habe, mache ich es mal hier "offiziell".


    Ich wünsche mir eine Automatische Exif Rotation im offiziellen Image.


    Exif ist etabliert. Mit Exif können Bilder verlustfrei gedreht werden. Jede Popplige Digital-Kamera rotiert mit Exif.


    Exif Informationen stehen ja schon zur Verfügung. Man braucht also nur drehen.


    Vielen Dank.


    PS: ausser hier, kann man sowas sonstwo noch offiziell machen? Tickets?

    • Offizieller Beitrag

    Jede popelige Digitalkamera hat auch dedizierte Hardware um Bilder zu drehen.
    Das dauert halt richtig auf ner Dreambox (speziell auf einer DM800HD dürfte das richtig lange dauern).
    Ich meine aber es gab externe Bildbetrachter für enigma2 die das Bild drehen, frag mich aber jetzt nicht nach nem Link oder so... ich hab da nur irgendwie was im hinterkopf.

  • Von wegen "Man braucht nur zu drehen"...


    Ich habe vor einigen Jahren mal ein Photo-Druckprogramm für Windows 2000 geschrieben, wo man auch das Photo "nur drehen" musste.
    Man muß dazu das JPEG extrahieren, dekomprimieren, durch eine math. Transformation umrechnen, wieder komprimieren, die JPEG- u. EXIF-Header neu erzeugen.
    Das ist ein Riesenaufwand und die Software braucht viel Rechenpower.

    DM8000HD | DM7020HD | DM800HD | DM800HD | DM7020 | DM7000

  • Hier wird von zwei Paar Schuhen geredet.
    Ein Bild zu drehen und wieder (gedreht) zu speichern, ist ohne Zweifel
    aufwaendig, da man wieder NEU jpeg kodieren muesste.
    Ein Bild gedreht anzuzeigen, ist eher eine Sache des Speichers, der zur
    Verfuegung steht. Denn das entpackte Bild (d.h. die Bildinformationen,
    die man in den Framebuffer schreiben will), muesste erstmal im Speicher
    abgelegt werden und anschliessend (gedreht) in den Framebuffer.
    Man liest also den Speicher je nach Exif-Info zur Ausrichtung von "links
    nach rechts und oben nach unten" oder von "oben nach unten und rechts
    nach links" usw. je nach Drehrichtung.
    Da liegt hier wohl der Hund begraben (auch wenn ich es selbst nicht auf
    einer Dream ausprobiert habe).
    Ueberschlagsrechnung:
    1980 x 1080 x 4 Byte = ca. 8MB bzw.
    4000 x 3000 x 4 Byte = ca. 45MB


    Wie performant man sowas auf einer Dreambox implementieren kann?
    Keine Ahnung. Aber machbar sollte es sein.


    [Klugscheiss]
    Btw. Exif hat mit dem Drehen selbst nichts zu tun. Da steht nur drin, wie
    das enthaltene Bild ausgerichtet ist. Die "Drehoperation" ist allein Sache
    des "Anzeigers". Die "Verlustfreiheit" wird also vom "Anzeiger" gewaehrleistet,
    nicht von Exif.
    [/Klugscheiss]

    DM900 SS, DM8000SSSS
    Kein Support per PN! Nutzt das Forum zum Fragen, dann haben auch andere etwas davon.

  • Vielleicht habe ich mich mit dem Verlustfreien Drehen falsch ausgedrückt. Ich wollte damit sagen, meine Bilder alle Exif Infos über deren rotation beinhalten und ich nicht extern auf dem PC oder ähnliches die Bilder vorher drehen möchte, um diese dann auf der Dreambox anzuzeigen. Damit hätte ich dann ein verlust am Bild.


    Was mich ärgert ist halt, dass es da so ein Fremdimage gibt, welches dies kann. Ist auch auf der 8000er nicht der ober-burner, aber mir würde es reichen.


    Zusammen mit der modifikation des Mediaplayers von Aladin, kann ich dann zusätzlich meine video-aufnahmen, die in mp4 und HD sind, bestens anzeigen lassen. Und das kann die box bekanntlich am besten.


    Ich möchte gerne Offizielle Images verwenden. Beziehungsweise welche, die darauf aufbauen. Das besagte Fremdimage 4.7. gehört nur bedingt dazu.

  • so, es scheint, dass es keine reaktion auf meine anfrage mehr gibt. Somit bleibt meine Bitte hier bestehen. Ansonsten bitte ich die Entwickler, wo so eine Rotation am sinnvollsten durchgeführt werden kann. Dann mach ich es selber! Ich bin allerdings nicht gewillt den kompletten Source-Code durch zu gehen um die Richtige stelle zu finden.


    Viele Grüße

  • ich find zwar diese motzigkeit hier schonmal wieder nich sehr begrüßenswert aber falls sich gerne jemand daran machen möchte, das laden von bildern erfolgt im c++ teil von von enigma2 mit der source lib/gdi/picload.cpp. so wie ich das sehe wird in picexif.cpp bereits der orientation tag ausgewertet und in der m_exifinfo struct als integer Orient gespeichert.

  • Zur Info: in libjpeg-tools_6b-r8_mipsel.ipk befindet sich jpegtran, welches velustfreie Rotation ohne Neukomprimierung ermöglicht.

    DM 800 HD PVR DVB-S2 OoZooN OE1.6-2011-05-09-experimental, Samsung UE40B6000

  • War nicht meine Absicht dies als "motzigkeit" nieder zu schreiben. Meine Bitte zieht sich aber wie ein kaugummi ....


    Im anderen Forum, viele werden wissen in welchen, wurde es an die Image-Ersteller weitergeleitet. Seit dem keine Reaktion.


    Für mich ist es befremdlich, dass ein open source projekt als image mit änderung nicht wieder mit sourcen verfügbar ist. Ich weiss nicht, ob es die Lizenz von DMM überhaupt zulässt. Dies ist nur meine Meinung. Und hab keine Ahnung was die Lizenzen angeht....


    Mal schauen, wann ich dazu komme, mich daran zu setzten. Bedeutet ja, dass ich die komplette entwicklungsumgebung erst einrichten muss. inkl. image erstellung. Gibt es eventuell dafür irgenwo ein wiki oder eine anleitung?

  • Ich hätte auch mal eine Frage: Besitzen die Dreamboxen eigentlich Hardware, die es erlaubt Bilder "beschleunigt" darzustellen?
    (Die z.B. aus verschiedenen Gründen (noch) nicht genutzt wird.)

  • Mir ist beim Fremdimage mit oe1.6 aufgefallen, dass das bilder laden sehr viel schneller geht..... gefühlte 3-4 Sekunden bei 10MPixel Bilder

  • Hi @Dream-Developers!


    aus aktuellem Anlass, möchte ich gerne meinen Wunsch erneut zum Ausdruck bringen: Bitte übernimmt die Funktion EXIF-Bild-Rotation aus dem ICVS in die offiziellen Images.


    Vielen Dank!


    Gruß
    Dream-8000

  • Dies hatte ich nach den changelogs bisher nicht gesehen, wäre natürlich toll, wenn die Devs dies bestätigen könnten dass es mittlerweile eingebaut ist oder halt auch nicht :smiling_face: