'); si_window.document.close(); } -->

Coding


So, ich habe eine neue Bibel. Ich bin so froh endlich zu verstehen, warum ich beim Arbeiten nur noch schwer voran komme, geplante Stories  in den Sprints zu schaffen und man ständig ein ungutes Gefühl beim Anpassen bzw. Hinzufügen von Features hat.

Dieses Buch kann ich jedem Softwareentwickler ans Herz legen und ich werde meine Erfahrungen auf dem Weg zum Clean Code Developer hier regelmäßig berichten. Es ist einfach ein Wahnsinns Aha Effekt den man beim Lesen bekommt. Der Autor stellt seine Prinzipien nicht nur einfach vor sondern belegt diese auch alle eindrucksvoll. Ich hoffe, das ich vielleicht in einem Jahr zu Test Driven Development übergehen kann, auch wenn davor noch endlose zusätzliche Refaktorisierungssessions anstehen um den Code erstmal in testbaren Code zu verwandeln.

Nachdem ich mir an diesem Wochenende mal git nähergebracht habe, kann ich verstehen warum alle so jubilieren…

Es ist schon echt genial wie man dort mit Branches arbeiten kann. Das Switchen/Mergen von Branches ist einfach nur genial flink. Im Vergleich zu svn ist das für mich schon in Nullzeit.

(more…)

wow, etwas mehr als 2 Wochen später und es gibt bereits Unterstützung für VDPAU im Mythtv-Trunk. Großes Dank an Isaac, Mark und wer auch immer da noch mit gewerkelt hat.
Da scheint NVidia ja mal ein großer Wurf gelungen zu sein, wenn so schnell lauffähige Implementierungen der API verfügbar werden.
Mal schau’n wann der finale Treiber (bisher ja nur nen 180.x beta Treiber) erscheint.

Nach dem VSync Debakel mit ATI (hab ja wieder ne alte Nvidia 6600GT in meinem Mythtv Frontend) ärgere ich mich nun umso mehr kein 8xxxer NVidia Board gekauft zu haben. Das wird sich vermutlich aber dann anfang des nächsten Jahres auch ändern. Mein aktueller Desktop hat mir nämlich mit 2GB etwas dünn geworden (Eclipse+CDT sei dank).

Meine Traum Kombo wäre dann natürlich: Intel Atom 330, NVidia Mainboard mit 8xxx oder 9xxxer Onboard Chipsatz, natürlich mit DVI/HDMI+TV-Out und 3 PCI Steckplätzen. Aber dieser Traum wird wohl nie in Erfüllung gehen 😉

Ein externer Mythtv Entwickler hat einen sehr interessanten Patch vorgestellt.

Damit wird jeglicher Ton auf 5.1 Kanäle hochgerechnet und Live in 5.1 Dolby Digital enkodiert. Nach einer Anfrage meinerseits arbeitet er auch zusätzlich noch an einer Software Volume Mixing Implementierung. Damit wäre es dann erstmal möglich sämtlichen Ton via AC3 passthru an einen externen Verstärker weiterzureichen und trotzdem vollständige Kontrolle über die Lautstärke direkt aus MythTV heraus zu bekommen. Ich könnte quasi meine Receiver Fernbedienung endlich beseite legen 😉

Ich hoffe der Patch findet schafft es zeitnah in den Trunk Zweig.

So,

ich habe wieder mal ein wenig an der Integration des DScaler Greedy-HighMotion Deinterlacer Plugins gearbeitet.

Die erste Version des Plugins läuft auch schon recht zufriedenstellend.

Das größte Problem ist dabei die Full-Framerate Erweiterung für Myth. Derzeit habe ich den nuppeldecoder und avformatdecoder gepatched, sodass sie jeden Frame doppelt dem Buffer Management übergeben. Das ganze lässt sich auch über die Myth-interne Konfiguration steuern (sowohl Full-Framerate als auch der dscaler deint). Dem Buffermanagement musste ich dafür auch doppelt so viele Buffer zur Verfügung stellen.

Probleme bereitet mir momentan noch das Spulen, dabei braucht das Buffermanagement recht lange bis die Framerate sich wieder eingepegelt hat. Das ist aber vermutlich nur eine Kleinigkeit die ich wohl übersehen habe.

Grundsätzlich gefällt mir der 50Hz PAL Output mit dem DScaler deint schon verdammt gut, im Vergleich zu den 25Hz vorher eine 100%-ige Steigerung.

Ich vermute allerdings, das Isaac dieses Patch-Set nicht akzeptieren wird. Das Duplizieren der gleichen Frames ist natürlich nicht wirklich eine optimale Lösung. Bisher entflechtet sich der DScaler DeInt selbständig die benötigten Fields aus den Frames. Schöner wäre es natürlich wenn der Decoder die Frames schon entsprechend für 50Hz aufbereiten würde (Neu-Verweben der Fields). Das ist mir bis dato aber noch nicht gelungen, falls jemand dafür seine Unterstützung anbietet, einfach Kontakt aufnehmen.

Falls jemand sich für das bisherige Patchset interessiert, einfach eine Mail an mich oder hier einen entsprechenden Kommentar hinterlassen. Ich kann allerdings nur Patchsets zum aktuellen SVN-Head bieten, ob die für ältere Versionen benutzbar sind kann ich nicht garantieren.

Neuigkeiten über den Fortschritt werde ich hier auf jeden Fall nachreichen. Sofern das Patchset einer Veröffentlichung würdig erscheint, wird es natürlich über mythtv-dev publiziert.

Als Todo stehen dann auf jeden Fall noch einige Dinge auf dem Plan:

  • Chroma Filter
  • Einbau weiterer DScaler Deinterlacers
  • Cheap-Mode (keine YV12 -> YUY2 Konvertierung)
  • YUY2 Unterstützung (anstatt YV12) für Mythtv (ohje, das ist heftig)
  • Inverse Telecine

Mal schauen was ich davon noch im Stande bin beizutragen. Erstmal muss die 50Hz Erweiterung aber her, die interessiert mich persönlich wirklich brennend. Dieses 25Fps rumgeruckel kann ich nicht mehr ertragen.

Nachdem mich mein Arbeitskollege “Dehly” überredet hat, habe ich die alte Strontium90 3D Engine wieder ausgegraben. Momentan sitze ich daran die Engine auf die neue Nvidia CgFX API umzubauen. Nach Linux portiert hatte ich sie schon vor einigen Jahren, als mein primäres OS debian wurde.

Eins fehlt mir dabei leider immer noch, eine Linux Version von 3dsMax. Leider der einzige Modeller mit dem ich so richtig klargekommen bin, auch wenn das alles schon recht lang her ist.
Als Programmierer einer Engine ist man auf einen handhabbaren Modeller ja leider angewiesen. Mal schauen, vielleicht gebe ich Blender ja doch nochmal eine zweite Chance, auch wenn das Schreiben eines Loaders nicht wirklich zu meinen Lieblingsaufgaben gehört.