I am begining programing in C(noy C++) and want to learn the way codecs install and work in computers.
Like how can you register your codec so that apps will find it listed as a possibility when you work with an app that encodes video. Also how does the system know what codec to use to decode your codec and how does this work?
Finally I want to know how to serve frames both visual and audio one at a time as an app requests them(both encode and playback).
Sorry if this has been posted before, I tried searching but came up with all kinds of stuff that didn't pertain to the subject that I need.
I have tried looking at some source code but it was in C++ which I hate because of OOP and I don't think that way.
Does anyone know of some good source code in C?
+ Reply to Thread
Results 1 to 5 of 5
Hold, I say, Hold on thar' boy! You need to learn to walk before you can run.
Start out with Directshow and its SDK and read up on TRANSFORMS, FILTERS and FILTERGRAPHS. Get graphedit/graphstudio to play around with.
And you should probably get over your beef with C++/OOP. Even if you are able to get around it, you really ought to be taking advantage of it. Both kinds of programming strategies have their place.
Registering codecs happens with regsrv32, etc. This will of course only work if you have properly programmed & compiled code that conforms to Directshow API requirements - having Source and/or Sink nodes, and a certain type of functionality that falls into one of the prescribed categories (transform, renderer, etc). Learn about MERIT, also.
That'll keep you busy for a while.
what about Linux or OSX?
Youy have to tailor your programming for specifoc operating systems. They all use C++, OOP, etc., and umpteen different programming languages, development apps and platforms.
Last edited by sanlyn; 5th Feb 2013 at 12:21.Our inventions are wont to be pretty toys, which distract our attention from serious things. They are but improved means to an unimproved end. -- Henry David Thoreau
Also, there's a difference between codecs that fit into a platform and those that are "self-contained" as part of a particular player.
Mac's MM platform is Quicktime: follow their rules on a mac (or when using QT on a PC)
Linux uses (mostly) opensource libraries. So you can easily get the source code for just about ALL their stuff.
PCs use Vfw & Directshow (incl. VCM & ACM), as well as QT and opensource libraries like ffmpeg and those self-contained systems (like VLC).