Beiträge von Archimedes1

    Das ist ja sehr erfreulich. An der GUI werde ich, so wie es aussieht, keine größeren Änderungen vornehmen. Eigentllich wollte ich das Projekt ja auf 64 Bit bringen, aber ich habe erfahren müssen, wie dunkel doch die andere Seite ist ((c) Yoda). :)

    Aber eine kurze Beschreibung, wie man selbst ein Fritz-Photo-Script erstellen kann, habe ich dann doch noch zustande gebracht. :)

    Wie die Zeit vergeht. ;)

    Nachdem die Anwendung offensichtlich auch mit AviSynth+ harmoniert, was eine Reihe von Vorteilen mit sich bringt, habe ich mich entschlossen, die eine oder andere Vorlage entsprechend anzupassen. Die wichtigsten Funktionen, wie (gamma-korrigiertes) Verkleinern, Vergrößern, Schärfen und Entrauschen sind jedenfalls schon wieder anwendbar. Die Übersetzungen der Parameter ins Deutsche (für die Ansicht im Skriptinspektor) habe ich mir erspart.

    Mit Immaavs müsste das jedenfalls gehen:

    Zitat

    ImmaRead (string filename, int start, int end, int size_x, int size_y, bool animation, bool gapless, bool info, string magick_home)

    filename is the image or image sequence (multiple images) which should be read. For an image sequence, the frame number substitution should be specified using "sprintf syntax", or using wildcards (sorted by filename, subfolders are not included). For example, the files written by ImmaWriter's default parameters can be referenced with "c:\%06d.jpg" (meaning filenames with 6 digits, thus C:\000000.jpg, C:\000001.jpg, etc ...). The start and end of the image sequence should be specified with the start and end parameters. When (size_x, size_y) is not specified, the images in the sequence should have the same width and height, otherwise a black frame is returned with an error message. When (size_x, size_y) is specified, the images in the sequence are scaled to their maximum and black borders are added when necessary. Also if an image (within the sequence) doesn't exist, a black frame is returned with an error message.

    Bei FFmpegSource2 bin ich mir allerdings nicht sicher, ob man dort mehrere Bilder auf einmal einlesen kann.

    Zitat

    FFVideoSource(string source, int track = -1, bool cache = true, string cachefile = source + ".ffindex", int fpsnum = -1, int fpsden = 1, int threads = -1, string timecodes = "", int seekmode = 1, int rffmode = 0, int width = -1, int height = -1, string resizer = "BICUBIC", string colorspace = "", bool utf8 = false, string varprefix = "")

    int width = -1, int height = -1

    Sets the resolution of the output video, in pixels. Setting either dimension to less than or equal to zero means the resolution of the first decoded video frame is used for that dimension. These parameters are mostly useful because FFMS2 supports video streams that change resolution mid-stream; since Avisynth does not, these parameters are used to set single resolution for the output.

    string resizer = "BICUBIC"

    The resizing algorithm to use if rescaling the image is necessary. If the video uses subsampled chroma but your chosen output colorspace does not, the chosen resizer will be used to upscale the chroma planes, even if you did not request an image rescaling. The available choices are FAST_BILINEAR, BILINEAR, BICUBIC (default), X, POINT, AREA, BICUBLIN, GAUSS, SINC, LANCZOS and SPLINE. Note that SPLINE is completely different from Avisynth's builtin Spline resizers.

    Nach längerer Zeit gibt es mal wieder ein neues Update.

    Außer einer kleinen Bereinigung im Sourcecode, habe ich am Programm selbst aber keine Änderungen vorgenommen. Bei den Plugins wurde "AutoGain" hinzugefügt und die Plugins "AddGrainC", "Dither", "SmoothAdjust" und "Grid" wurden durch neuere Versionen ersetzt. Im lib-Verzeichnis habe ich die Funktion "firniture" durch eine neuere Version ersetzt. Im Template-Verzeichnis habe ich außerdem einige Vorlagen überarbeitet.

    Aus irgendeinem Grund kann ich meinen ersten Eintrag nicht mehr editieren. Nach Klick auf "Bearbeiten" erscheint nur ein leeres Textfenster zum Bearbeiten. :huh:

    Hoffe, dass der Großteil meiner Synapsen noch funktionsfähig ist. :D

    In der Zwischenzeit gibt es hier das Update: http://forum.doom9.org/showthread.php?t=150291

    - Die Beschriftungen der Reiter sind nun auch unter Windows 7, 64 bit, sichtbar.
    - Ob die AviSynth-Skript-Umgebungsvariable nach jedem Job gelöscht werden soll oder nicht, kann nun in der Ini-Datei festgelegt werden (standardmäßig habe ich das nun ausgeschaltet).
    - Zudem habe ich die Plugins auf den neuesten Stand gebracht und (wo nötig) auch die Vorlagen angepasst.

    Im folgenden Zip-Archiv sind zwei Testversionen enthalten. Kopiere diese – so wie sie sind – in das Programmverzeichnis von Fritz Photo. Teste, ob das Anzeigeproblem beim Starten von FritzPhoto20111225_1.exe immer noch besteht.

    Bezüglich der Programmabstürze bin ich mir nicht sicher, ob das Problem tatsächlich bei Fritz Photo liegt (im englischen Forum hatte bzw. hat einer ein ähnliches Problem unter 64 Bit). Eventuell ist die Version FritzPhoto20111225_2.exe ja hilfreich.

    http://www.mediafire.com/?0eo7zo030vqs96t

    Weitere Erklärungen dann später.

    Ich muss zugeben, dass ich das Programm bis dato noch nie in einer 64-Bit-Umgebung getestet habe. Werde das bei Gelegenheit aber mal nachholen.

    Habe meinen Rechner mit der Entwicklungsumgebung (Borland Delphi 2005 Personal Edition, 32 Bit) gerade nicht griffbereit, habe aber bereits einen Verdacht, an was das (keine Anzeige) liegen könnte. Werde das demnächst mal eruieren.

    Habe die Plugins Defish, ResampleHQ, NNEDI3 und SmoothAdjust aktualisiert. Zudem gab es ein paar Änderungen in den Vorlagen. Die deutsche Übersetzung für die Parameterbeschreibungen ist nun auch endlich fertig. Allerdings muss da an einigen Stellen noch nachgearbeitet werden. :grübeln: Verbesserungsvorschläge sind gerne willkommen. :D


    Beim gammakorrigierten Skalieren scheinen sich diese Kollateralschäden sogar noch zu verstärken, wie ich an einigen Beispielbildern feststellen musste. Spline36 und Lanczos3 sind da mitunter schon zu viel des Guten. Selbst Spline16 ist manchmal hart an der Grenze. Lanczos2 und Catmull-Rom (was praktisch das gleiche ist) scheinen hier gute Kompromisse zu sein. Und damit rückt alles noch näher zusammen. :lol:

    P.S.: Zum Bilder vergleichen eignet sich auch der FastStone Image Viewer vorzüglich.

    Der einzige Grund, warum das Programm die Version 2.6 und höher benötigt, sind die beiden folgenden Funktionen:

    Code
    function RGB32ToYV12(clip input) {  input.Crop(0, 0, -(input.Width % 2), -(input.Height % 2))  ConvertToYV24(matrix="PC.601")  YToUV(UToY8, VToY8, PointResize(last.Width * 2, last.Height * 2))}function YV12ToRGB32(clip input) {  input.ConvertToRGB32(chromaresample="Point", matrix="PC.601")  PointResize(last.Width / 2, last.Height / 2)}

    Die Funktion RGB32ToYV12() lässt sich übrigens auch wie folgt schreiben:

    Code
    function RGB32ToYV12(clip input) {
      input.Crop(0, 0, -(input.Width % 2), -(input.Height % 2))
      PointResize(last.Width * 2, last.Height * 2)
      ConvertToYV12(chromaresample="Point", matrix="PC.601")
    }

    Fritz Photo bzw. ein Fritz-Photo-Skript arbeitet intern entweder im RGB32- oder im YV12-Farbraum. Um keine Farbinformationen zu verlieren, muss ein YV12-Bild immer in doppelter Auflösung vorliegen. Das hat zur Folge, dass Helligkeits- und Farbkanäle getrennt voneinander verarbeitet werden müssen (der Helligkeitskanal wird halbiert und die Farbkanäle werden 1:1 zugeführt).

    Die einzige Möglichkeit, eine saubere Konvertierung von RGB32 nach YV12 und wieder zurück durchzuführen ist, so scheint es, nur mit AviSynth-Version 2.6 und höher möglich. Denn nur da kann ich bei der Konvertierung einen Parameter chromasample="Point" angeben (siehe oben). Und genau das brauche ich in meinem Fall.

    In AviSynth 2.5.8 wird hier standardmäßig "Bicubic" verwendet (in AviSynth 2.6 ist das jedenfalls die Voreinstellung). Das aber hat zur Folge, dass es zu (hier unerwünschten) Verschiebungen in den Farbkanälen kommt. Spätestens nach drei oder vier Hin- und Rückkonvertierungen sieht man den Effekt (hängt natürlich vom Ausgangsbild ab). Manchmal reicht aber auch schon eine einzige Hin- und Rückkonvertierung, um den Effekt zu sehen (z. B. bei einem hohen Rot-Anteil im Bild). Mit der Methode von oben habe ich diese Probleme (Verschiebungen in den Farbkanälen) nicht.

    Ich habe die Version 2.6 nun schon seit längerem im Einsatz. Bis dato konnte ich jedenfalls keine Inkompatibilitäten mit bestehenden Plugins, noch sonstige Nachteile erkennen.

    Zoomen ist jetzt auch ohne erneutes Laden und Verarbeiten der Bilder möglich (war bisher mit AviSynth-Mitteln gelöst).

    Bei einem Test ist mir aufgefallen, dass AviSynth einen einmal reservierten Speicher für die Skript-Umgebungsvariable nicht mehr abgibt. Wenn man zunächst ein kleines Bild geladen hatte und anschließend ein größeres Bild, dann vergrößerte sich auch der Speicher für diese Skript-Umgebungsvariable. So weit, so gut. Wenn man nun aber wieder ein kleineres Bild geladen hatte, dann verringerte sich der Speicher dagegen nicht (er blieb gleich). Das ist natürlich nicht gerade speicherfreundlich. Ich lasse diese Skript-Umgebungsvariable nun nach jedem Gebrauch löschen (durch einen speziellen AviSynth-Befehl) und erzeuge bei Bedarf einfach eine Neue. Sollte das aus irgendeinem Grunde nicht funktionieren (wird bei Start des Programms getestet), dann benutzt das Programm automatisch die alte Methode.

    Zu guter Letzt habe ich dann auch noch eine zusätzliche Seite "Zuschneiden" hinzugefügt. Hier kann man im Vorfeld ein Bild drehen und beschneiden.

    Nun ja, aber...

    Wenn du 10 Beiträge pro Seite eingestellt hast, siehst du auf Seite 13 die Beiträge 121-130.

    Wenn ich 20 Beiträge pro Seite eingestellt habe, sehe ich auf Seite 13 die Beiträge 241-260.

    Verlinkst du dagegen den ersten Beitrag, ab dem die Diskussion losgeht, lese ich von da aus auch die folgenden weiter unten. Egal auf welcher Seiten-Nummer.


    Link geändert. Wusste gar nicht, dass man die Anzahl der Beiträge pro Seite einstellen kann. :D

    Progressiv-Encodierung wäre auch schön


    Die Option nennt sich "Als progressives JPG abspeichern".

    Das hat schon seine Richtigkeit - das betrifft nämlich die ganze Seite (und eine Nachricht auf der folgenden Seite). Alles hat seinen tieferen Sinn. :lol:

    Bei der Erzeugung des JPEG-Formats konnte man bisher "Chroma Subsampling" (löblich: Farbunterabtastung) nicht explizit aus- bzw. abwählen. Das habe ich, neben ein paar anderen Dingen, geändert.

    In den Optionen für das JPEG-Format kann man nun explizit den Farbraum (RGB, Graustufen, YCbCr, CMYK, YCbCrK), die Farbunterabtastung (4:1:1, 4:2:2, 4:4:4), die DCT-Methode, sowie eine optimierte Huffman-Tabelle (für eine stärkere Kompression) auswählen.

    Da Plagiatsvorwürfe gerade so in sind:

    Zitat

    Auch die Computerschachszene hat ihren Copy-and-Paste-Skandal. Am Pranger steht Vasik Rajlich, Entwickler von Rybka, dem seit vier Jahren stärksten Schachprogramm der Welt. Rybka soll, so nun der Vorwurf, auf abgekupfertem Programmcode basieren. Kopiert wird in der Szene durchaus häufiger.

    [url=http://www.spiegel.de/netzwelt/gadgets/0,1518,748616,00.html]Quelle >>[/url]

    Zitat

    Aufruhr bei den Schachprogrammierern: Der seit vier Jahren amtierende Computerschach-Weltmeister Rybka soll in wesentlichen Teilen auf missbräuchlich genutzten Code zurückgehen. Chefentwickler Vasik Rajlich habe in sein Closed-Source-Projekt Teile der Engine Fruit übernommen, die von der GNU Public Licence (GPL) geschützt waren – diesen Vorwurf äußert nicht nur der Fruit-Entwickler Fabien Letouzey: Einige der bekanntesten Schachengine-Entwickler haben einen offenen Brief Letouzeys unterzeichnet, darunter Stefan Meyer-Kahlen (Shredder), Amir Ban (Junior), Anthony Cozzie und Zach Wegner (Zappa).

    Quelle >>

    Habe die Seite "AviSynth-Skripte" mit Drag-and-Drop-Funktionalitäten erweitert. Skripte können nun direkt an die gewünschte Stelle in der Jobliste platziert werden. Auch ein Sortieren der Jobliste ist damit möglich.

    Über das Kontextmenü in den Vorschaufenstern kann man nun individuell bestimmen, ob man das Bild vor oder nach einer Filteranwendung angezeigt haben möchte.