Zitat von
BrightAngel:
Jedoch hilft es mir nur weiter um den Aufbau zu verstehen, jedoch nicht die tatsächliche Umsetzung, [...]
Dafür ist deine Frage dann zu allgemein. In den meisten Formaten kommt zwar in irgendeiner Variante die
Fourier Transformation vor, jedoch auch nicht in allen, und immer wieder mal in Details verschieden. Es ist also quasi unmöglich "mal eben" Videoformate allgemein zu erklären, da allein schon die Spezifikationen oft seitenlang sind, und dabei ist noch nicht ein Algo ausformuliert.
Verfahren, die oft zum Einsatz kommen:
- Fourier Transformation
- Wavelet Transformation
- RLE Encoding
- Featurepoint Tracking (beim Encoden)
- Farbraumumwandlungen
- Subsampling
- Konturfindungsverfahren
- Filter
- Huffman Kompression
- LZW Varianten
Die Liste ist sicher unvollständig, und nicht alles genannte wird überall angewendet, und wenn, auch meist in angepasster spezifischer Form. (Oft gibt es innerhalb von Codecs weitere Unterformate, bei denen sich Verfahrensschritte ändern.)
Du kannst dir daher also im Grunde nur ein einzelnes Format mal vornehmen, und das versuchen von Hand zu implementieren. Alle weiteren sind dann in Teilen ähnlich vom Verfahren her, aber für sich genommen wieder etwas ganz eigenes.
MP3 und RAW WAVE haben z.B. kaum noch etwas gemein, ebenso Cinepak und XviD. Das Feld ist für deine Fragestellung also zu groß.
Was die reine Tonwiedergabe angeht, so gibt es auch dort wieder viele Wege. Hier kann man aber etwas generalisieren: Es wird immer ein Puffer im Programm mit Wavedaten befüllt, und dieser dann an den Soundtreiber gereicht. Für den letzten Schritt hat man nun wieder mehrere Möglichkeiten. (ASIO, Direct Sound, SndPlay, etc.). Hier kommt es dann auf den jeweiligen Einsatzzweck an, was geeigneter ist.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)