View Full Version : Please help me start codec development
Strongling
4th June 2004, 07:57
Hi,
My first post here so please forgive me if I make some mistake.
To briefly introduce myself: an electronics engineer working in a digital chip design company. Experience related to video is that I have designed a hardcoded MJPEG compressor in a chip. Thus it is fairly safe to assume that I know all about JPEG image compression :) Also because of that project, I have become deeply interested in video compression etc. I am also quite familiar with C (and some C++) programming.
The problem is that I want to try some other video compression algos/ideas but I don't know anything about windows architecture and how to write software for it (win32). It would be really nice if someone could please guide me to the relevant material (preferrably online tutorials/books etc) that would get me started in developing video codecs for windows.
I am a big Hollywood movie fan as well, have encoded (DVD -> 700MB AVIs) more than 200 movies I think, starting from "Matrix 1" about 2~3 years ago (with DivX 3.11 alpha) to "Along Came Polly" (with DivX 5.11) last night. I used to use FlaskMPEG method in the begining but later switched to the more advanced DVD2AVI with AviSynth and VirtualDub Mod. So one could say that I am also a codec user trying to become a codec developer.
Hope someone can help.
Thanks in advance.
I wouldn't worry too much about the windows architecture side of things. Once you've written something like YUV Colorspace In->Compressed bitrstream out, then wrapping that in a VideoForWindows or DirectShow wrapper is very simple.
I assume you've heard of the XviD project. (www.xvid.org) The MPEG-4 project, why not consider contributing to that, or at the very least the code base will give you an idea of how a codec for windows/linux is put together.
Or perhaps even the theora project (which is pretty much *nix only project at present www.theora.org). Or perhaps the BBC Dirac codec (www.sf.net/projects/dirac). Or the WARP Codec which is small, easy to get to grips with but at the very early stages: http://forum.doom9.org/showthread.php?s=&threadid=76641
I feel that's your best bet, as that will get you right into things. You could buy a book on general MPEG compression to aid you, but seeing as you know MJPEG so well, I think you're best just jumping right in. The developers will be more than happy to point you in a good direction, even if you just want to start writing a codec from scratch...(I've always wanted to write an MPEG-1 encoder from scratch and never had the time :( )
Good Luck,
-Nic
dragongodz
5th June 2004, 06:43
or theres x264. the original programmer has gone on to work on the Ahead version so no more is being done to this. theres lots left undone(such as rate control etc). more info here
http://forum.doom9.org/showthread.php?s=&threadid=77269
Strongling
6th June 2004, 08:10
Thanks guys for helping me start out.
Nic:
Ofcourse I've heard of XviD! Don't know too much history but I think XviD were people who split from the DivX project to make their own open source codec. I've used XviD to encode a couple of movies as well. By the way, are you the Nic from "XviD Nic's build"? It was some release candidate of XviD I think.
Anyways, have downloaded the XviD source and am going through it. If I have some question regarding XviD's source, which would be the most appropriate forum: this or XviD's?
dragongodz:
Since I am new at programming etc (my real skill is to convert alogs into synthesizable digital hardware) so I think I should take it one thing at a time. Am doing this just as a hobby/interest so I hope you don't expect too much. Right now, I will try to see how XviD works. x264 later maybe but thanks for the help anyways.
Cheers mate!
Later.
dragongodz
6th June 2004, 12:07
By the way, are you the Nic from "XviD Nic's build"?
yes thats him. he also does Rejig and QuEnc which are found on this very forum aswell, plus many other things. busy little devil. :devil:
If I have some question regarding XviD's source, which would be the most appropriate forum: this or XviD's?
probably Xvids since thats where the main devs are. :)
so I think I should take it one thing at a time
so I hope you don't expect too much. x264 later maybe but thanks for the help anyways.
yep thats cool. x264 was just another option since the programmer has left(gone to ahead as i said) and h.264 codecs are gaining much interest, look at all the commercial version popping up. :D
if i would be a dev i would have a look at x264, because
1) x264 follows the h.264 standard, which is newer, far more powerful and has far more potential than mpeg-4 part2 (as followed by xvid)
2) the xvid codec has many devs working on it already anyways
3) it would be great if x264 could become for h.264, what xvid is for mpeg-4 asp now: THE opensource implementation, beating all proprieatary codecs' asses
4) therefore x264 needs every dev it can get :)
SeeMoreDigital
6th June 2004, 13:48
Originally posted by bond
if i would be a dev i would have a look at x264... Agreed!
This codec should undoubtedly become, the next big thing!
The more people that can understand it the better...
Cheers
sysKin
8th June 2004, 16:15
Originally posted by Strongling
If I have some question regarding XviD's source, which would be the most appropriate forum: this or XviD's?XviD part of this forum. XviD's own forum is a dead place where just someone sometimes drops to ask "where is the codec?".
Radek
@sysKin: LoL ;)
Although he may have been wondering, whether this Doom9 Development forum is the best place or whether the Doom9 XviD forum is. (I believe this is probably best)
@Strongling:
probably your best bet however is to join the XviD Development mailing list...
http://list.xvid.org/mailman/listinfo/xvid-devel
-Nic
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.