ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > jpeg's sichern unter OS4? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- 3 | [ - Beitrag schreiben - ] |
12.09.2006, 02:50 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: Lese mal den Anfang des Threads, dann siehst du dass ich unter OS3.x die jpeg.lib nutze. Zitat: Ich empfinde das schreiben von eigenen Code als Zeitverschwendung, für mich war das Library-Konzept immer dazu da dieses zu vermeiden. Z.B. zum Laden von PNG Icons unter OS3.x, jeder der darunter PNG Icons braucht hat den PowerIcons patch, alos frage ich lieber ob man dort ein Interface einführt anstatt den Ganzen Kram selber zu machen mit eigenen Parametern & CO, das gleiche Interface gibts nun auch In AROS und Ich muß nicht mehr herumwurschteln. [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 02:56 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
@ZeroG danke ich werde Oliver mal anschreiben, wenn er keine zeit dazu haben sollte kann ich das ggf. ja machen. [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 02:58 Uhr whose Posts: 2156 Nutzer |
@DariusBrewka: Nun ja, thomas hat ja bereits l.main für die jpeg.library erzeugt. Frag ihn halt, ob er Dir die für Deine Zwecke schicken kann, dann kannst Du die zu Deinem Programm dazupacken und OS4-User mögen sich selbige dann nach LIBS: kopieren. Damit hättest Du (außer AROS) alle AmigaOS-artigen Plattformen abgedeckt. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 03:13 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
@Whose wie gesagt unter AROS nutze ich Datatypes zum sichern und speichere dort als JPEG, unter OS4 habe ich zwar auch datatypes Code ob der aber läuft weiß Ich z.Z. nicht. Ich werde Thomas mal morgen anschreiben, schon alleine wegen der OS4 Includes zur library. [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 03:14 Uhr whose Posts: 2156 Nutzer |
@DariusBrewka: Naja, den OS4-Datatype-Code könnte ich testen. Thomas sowieso. Und noch einige andere mehr. Sagst halt Bescheid. Grüße -- --- µA1 PPC 750GX-800 A4000 PPC 604e-233 [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 09:46 Uhr thomas Posts: 7716 Nutzer |
Unter OS4 kann man meines Wissens auch nur IFF mit Datatypes speichern. Eine Funktion zur Auswahl des Speicher-Typs gibt es soviel ich weiß weder unter OS3 noch unter OS4. Das Speichern miz Datatypes geht unter OS4 aber genauso wie unter OS3. Die Includes für die jpeg.library unter OS4 kann ich dir heute abend heraussuchen. Das jpeg.l.main gibt's auf der PicShow-Homepage http://picshow.ch.to . Die jpeg.library ist unter OS4 allerdings sehr lahm. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 10:32 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
@thomas ja das wäre nicht schlecht, bin zwar bis heute abend Weg, schreibe dir aber gleiche eine Mail, wegen der Adresse (auch wenn's über meinen Account hier auch geht). Die Includes wären schon nicht übel, damit Ich das nicht unnötig selber machen muß. Wie gesagt werde Ich versuchen den Autor der lib anzumailen ggf. kann man da was tun. [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 16:03 Uhr Blackbird Posts: 634 Nutzer |
@thomas: >Die jpeg.library ist unter OS4 allerdings sehr lahm. welche Version benutzt du da ? Ich hatte auch zu kämpfen mit der Lib unter PFPaint... Ein User brachte dann aber hervor das man keine Lib nehmen sollte ohne FPU-unterstützung (er hatte die quasi bei sich installiert), dann ist die auch recht flott! -- regards Blackbird Have a look at: http://www.blackbird-net.de Skins for PlayCD OS3.9 BlackShoot, Zombies Apocalypse, GalagaWars PerfectPaint [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 16:09 Uhr bubblebobble Posts: 707 Nutzer |
@Blackbird Ja, das ist klar. Wenn keine spzeiellen Integer Tricks verwendet werden, ist FPU vs. Integer bei Floats etwa um den Faktor 10-20 langsamer. Und jpeg en/decodieren ist zu 90% Floatingpoint Herumrechnerei. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 16:56 Uhr ZeroG Posts: 1487 Nutzer |
@thomas: @DariusBrewka: Wenn ihr genau wissen wollt ob das "Datatype speichern" unter OS4 funktioniert, fragt Oliver, der hat die OS4-Datatypes geschrieben... [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 17:29 Uhr thomas Posts: 7716 Nutzer |
@ZeroG: Das weiß ich, aber hat er auch die datatypes.library geschrieben ? Hat er neue Funktionen eingebaut, die das Speichern von anderen Typen als IFF erlauben ? Wohl kaum, denn in der Doku tauchen sie nicht auf. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 20:10 Uhr bubblebobble Posts: 707 Nutzer |
@malte2 Den einzigen signifikanten Unterschied, den ich zwischen unseren beiden Sourcecodes sehen kann, ist dass du die Screenbitmap als Friendbitmap angibst, und den Colormap nicht direkt sondern mit GetRGB32 ausliesst (was auch sinn macht, aber im Falle von True Color ja keine Rolle spielt). Und vielleicht den unterschied, dass du bmhd\bmh_Depth fix auf 24 setzt, während ich den Depth Wert aus der Bitmapstruktur nehme. Ausserdem igbts du einen Screen an. Ich werde das mal genau testen. Aber ich will Bitmaps speichern, OÄHNE friendbitmaps, d.h. ohne screen. Es geht um ein Graphikprogramm, und ich will ja meine Bitmap nicht auf 16bit herunterrechnen, nur weil ich einen 16bit Screen zum darstellen nutze. Die Grafikdaten sollen selbstverständlich immer 24bit sein, und in einem Format, das ich kenne, da ich viele non-standard grafik Funktionen brauche, und die nicht für jedes Pixelformat implementieren will. -- Thilo Köhler, Author von: HD-Rec, Samplemanager, ArTKanoid, Monkeyscript, Toadies, AsteroidsTR, TuiTED, PosTED, TKPlayer, TKUnpacker Homepage: http://www.hd-rec.de [ - Antworten - Zitieren - Direktlink - ] |
12.09.2006, 23:02 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Ich habe Oliver angeschrieben und Antwort erhalten. Ich muß mich aber an Paul wenden wegen den Source, die Adresse hat er mir gegeben, mal sehen was sich machen lässt. @Thomas Danke für die Dateien [ - Antworten - Zitieren - Direktlink - ] |
13.09.2006, 09:00 Uhr gni Posts: 1106 Nutzer |
Zitat:Das muß doch eh der (Sub-)Datatype übernehmen. IFF-Erzeugung macht der picture.datatype, damit haben die (Sub-)DTs nichts zu tun. [ - Antworten - Zitieren - Direktlink - ] |
13.09.2006, 09:13 Uhr thomas Posts: 7716 Nutzer |
@gni: Das Speichern selbst ist kein Problem, es gibt viele DT-Klassen, die speichern können. Das Problem ist, zu bestimmen, welches Format gespeichert werden soll. Beim Anlegen eines Datatype-Objects hat man keine Möglichkeit, zu sagen, welche Subklasse benutzt werden soll. Und bei DTM_WRITE gibt es auch nur IFF oder RAW zur Auswahl. D.h. du kannst nur dann ein Bild als JPEG speichern, wenn du es vorher aus einer JPEG-Datei geladen hast. Das macht ja keinen Sinn. Ich möchte eine im Speicher vorhandene Bitmap als JPEG speichern. Und dazu gibt es keine Möglichkeit. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
13.09.2006, 11:31 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: Also wie schon mehrmals gesagt geht das mit dem AROS picture-datatype, Ich habe das zwar für mich mal für 68k Compiliert, aber zu speichern habe ich damit noch nicht geschafft, ggf. lags an den anderen Datatypes. code:DTImage = NewDTObject((APTR)NULL, DTA_SourceType, DTST_RAM, DTA_BaseName, (IPTR)"jpeg", PDTA_DestMode, PMODE_V43, TAG_DONE); kennst du ein jpeg.datatype welches speichern können soll? [ - Antworten - Zitieren - Direktlink - ] |
14.09.2006, 16:11 Uhr thomas Posts: 7716 Nutzer |
Zitat: Wenn du so direkt fragst, offenbar nicht. Ich hatte in Erinnerung, daß die Warp-Datatypes alle speichern können, aber dem ist wohl nicht so. Hier ist eine Liste mit Datatypes, die speichern können: http://www.google.de/search?q=site%3Aaminet.net+DTM_WRITE Da sind zwei JPEG-Datatypes von Achim Stegemann dabei. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
15.09.2006, 02:54 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
hmm, ich habe jetzt den source zur jpeg.lib und habe diese für OS4 compiliert, aber ich denke nicht dass die Funktionieren wird. Bzw. mir ist aufgefallen, dass ich ggf. entweder irgendwas Falsch mache oder alles ganz Einfach ist. Ich denke mal, 68k Apps können auch auf PPC libs zugreifen oder?, dann stellt sich für mich die Frage, woher die Lib wissen soll, welche 68k Register zu welchem Parameter gehören? Es sei denn 68k Apps können nicht auf PPC libs zugreifen, dann ist's einfach. Wie gesagt habe ich kein OS4, habe aber für mein Programm schon Libs für OS4 geschrieben, die auch gingen. [ - Antworten - Zitieren - Direktlink - ] |
15.09.2006, 09:05 Uhr thomas Posts: 7716 Nutzer |
@DariusBrewka:Zitat: Du kannst du Lib nicht einfach so umwandeln, sondern du mußt den Startup-Code so umschreiben, daß die Library mindestens ein Interface hat (meistens "main"). Sonst können PPC-Apps die Library nicht benutzen. Für 68k-Apps muß die Jump-Tabelle auf Stub-Routinen zeigen, die die Register auslesen und in der richtigen Reihenfolge als Parameter an die eigentlichen Funktionen übergeben. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
15.09.2006, 10:10 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: das ist Klar, hab schließlich doch geschrieben, daß ich das schonmal gemacht habe. Zitat: werde's mir mal anschauen für PPC sollte es ggf. schon laufen, was passiert aber wenn die lib diesen 68k Patch nicht hat? denke die LIB kann dann nicht geöffnet werden oder? Dann gibt's nochwas was gefixt werden muß für 68k, in den Includes gibt's HOOKS die für 68k die Parameter in Registern erwarten, mal sehen wie das gemacht werden kann (Ich glaube nicht, daß die Hooks z.Z jemals genutzt worden). gruß und danke Darius [ Dieser Beitrag wurde von DariusBrewka am 15.09.2006 um 10:10 Uhr geändert. ] [ - Antworten - Zitieren - Direktlink - ] |
15.09.2006, 11:41 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Ist inzw. erledigt, mal sehen ob's läuft. [ - Antworten - Zitieren - Direktlink - ] |
15.09.2006, 19:24 Uhr ZeroG Posts: 1487 Nutzer |
@DariusBrewka: Was ist den passiert? Geistesblitz oder noch mal ins OS4 SDK gesehen? [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 01:11 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
nee, nur mal in sources zu anderen combined-libs geschaut, das mit den Hooks, dafür habe ich nun auch eine Idee, d.h. wenn eine 68k APP den Hook nutzt wird mittels Emulate() dieser aufgerufen, ansonsten Nativ, die Frage nur woher wissen ob der Call von einer 68k App herrührt, schliesslich wird der 68k Libaufruf auf den PPC umgeleitet. D.h. entweder ein Neues TAG hinzufügen für PPC Hooks, oder in den 68k Stubs ein Flag setzen was den 68k Call erzwingt oder anderswie herausfinden ob der Call von einer 68k App stammt? aber wie? gruß Darius [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 09:58 Uhr thomas Posts: 7716 Nutzer |
@DariusBrewka: Du solltest nicht die Herkunft prüfen, sondern die Hook-Funktion. Herausfinden, ob es sich um PPC-Code handelt kannst du mit TypeOfMem(adresse) & MEMF_EXECUTABLE (habe ich dir auch per Mail geschrieben). Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 12:16 Uhr ZeroG Posts: 1487 Nutzer |
@DariusBrewka: @thomas: Bin jetzt etwas verwirrt. Bei Hooks kümmert sich doch OS4 selbst darum das es keine 68k <-> PPC probleme gibt. Siehe SDK:Documentation/Developer Info/General/os4_migration_guide.pdf [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 12:43 Uhr thomas Posts: 7716 Nutzer |
@ZeroG: Die jpeg.library benutzt keine richtigen Hooks, sondern erwartet nur die Adresse einer Funktion, die direkt aufgerufen wird (nicht mit CallHookPkt). Deshalb muß die Library sich selbst darum kümmern, ob sie 68K- oder PPC-Code aufruft. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 12:54 Uhr ZeroG Posts: 1487 Nutzer |
@thomas: Achso. Und wie läuft das ganze wenns ein WarpUp-"Hook" ist? [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 13:02 Uhr thomas Posts: 7716 Nutzer |
@ZeroG: Keine Ahnung. Aber soviel ich weiß, kümmert sich WarpUp ja auch nicht speziell um Hooks. D.h. du brauchst immer einen 68k-Stub, der dann den PPC-Code aufruft. Das gleiche geht dann auch hier. Gruß Thomas -- Email: thomas-rapp@web.de Home: thomas-rapp.homepage.t-online.de/ [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 13:31 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Zitat: so habe ich das auch gemeint, schliesslich ist nicht zu erwarten, daß eine PPC Native App einen 68k Hook nutzt, aber man weiß ja nie wenn man alte sources mit ASM code nutzt. [ - Antworten - Zitieren - Direktlink - ] |
16.09.2006, 14:39 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
ist gemacht, aber gibt TypeOfMem() wirklich nur bei PPC Code MEMF_EXECUTABLE aus? [ - Antworten - Zitieren - Direktlink - ] |
1 -2- 3 | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > jpeg's sichern unter OS4? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |