Seite 1 von 1

RGB2YUV and vice versa code...

Verfasst: Dienstag 30. März 2010, 09:07
von akis.kapo
Hi,

ich bin über ein modul gestoßen, dass ich Anfang April 2009 geschrieben habe, also fast genau ein Jahr alt. Da hab ich mich mit Videokompression beschäftigt gehabt, vermute ich.

Es handelt sich um schnelle (aber speicherintensive) RGB2YUV and vice versa Konvertierung.

Ausserdem sind ein paar Testmethoden enthalten, die Rundungfehler darstellen sollen und Funktionen benchmarken/vergleichen können.

Ich dachte mir vielleicht kann des ja jemand gebrauchen.

So bitt'schön:

http://paste.pocoo.org/show/195838/
edit (jens): code ausgelagert

Der Code ist mehr oder minder selbsterklärend. Auch wenns kompliziert aussieht, das sind alles nur die Umrechnungsformeln, der eigentliche "Code", der dahinter steckt ist klein und einfach zu verstehen.

Bei Fragen, fragen!

Ciao.

Verfasst: Dienstag 30. März 2010, 09:57
von EyDu
Hallo.

Du solltest deinen Code auslagern, man kann auf deinen Beitrag kaum noch antworten.

Zum Code: Die Länge kann man bestimmt halbieren, dass ist alles Copy&Paste. Die dutzenden magischen Zahlen sind noch eines der kleinen Probleme. Der ganze Code müsste mal grundlegend überarbeitet werden.

Sebastian

Verfasst: Mittwoch 31. März 2010, 07:27
von jens
Die ganze precalc geschichten könnte man auch anders lösen.

Das Vorberechnen hat Nachteile:
1. Man berechnet evtl. Kombinationen, die hinterher nie abgefragt werden
2. Es dauert bei Programmstart eine weile (Hab keine Zeit gemessen)
3. der RAM Verbrauch

Das ganze könnte man so lösen: Man berechnet nur die Werte die gerade abgefragt werden und packt sie dann in einen dict als cache...

Verfasst: Mittwoch 31. März 2010, 10:24
von BlackJack
Oder man berechnet das einmal und speichert die vorberechneten Daten ab.

Verfasst: Dienstag 6. April 2010, 12:21
von akis.kapo
BlackJack hat geschrieben:Oder man berechnet das einmal und speichert die vorberechneten Daten ab.
Bingo! Oder soll ich sagen... Pickle!