[gst-devel] some plans for the future
rbultje at ronald.bitfreak.net
Fri May 10 14:35:02 CEST 2002
some might already know this, but I'll just mention it so everyone knows
this and they who are willing to cooperate will do this.
You know that I started with the idea to build our own DLL loader stuff
in Sevilla (during guadec) to replace the avifile dependency. We don't
want to depend on avifile. Period. So we need something better. What is
avifile? avifile is a mix of ffmpeg, divx4linux, xvid, mad, some other
decoders/encoders (amongst which divx5) and a dll loader. I think we can
make separate plugins for each of these subdependencies rather than
using avifile directly. This allows for less overhead, for more control
by gstreamer programmers and for simpler coding.
What we're missing here is the DLL loader - so we'll write our own. More
precise, we'll just use mplayer/avifile's code as an example and adapt
it to our needs.
Okay, that's point1. Now point2.
In the mjpegtools project, and also on #gstreamer, we've sometimes said
that libjpeg sucks. In mjpegtools, we created jpegmmx (MMX/SSE/3dnow
hacks on libjpeg). It's actually much more interesting to create our own
mjpeg encoder/decoder lib that is fully optimized and fully written from
scratch - this would allow for much faster decoding/encoding. Erik
(omega) and Andrew (Stevens, mjpegtools) are interested in writing this,
I'm interested in helping them (only C, though, no asm for me yet ;-) ).
Both of these libs will be written in C, probably hosted on codecs.org,
and be used by both projects (and maybe more). mjpegtools might actually
not link to the dll loader directly but rather use gstreamer itself as
an external dependency for the 'generic media encoder/decoder'. We used
avifile for that purpose in 1.6.0, because it did the job well, but we
want something better for the new release cycle (gstreamer perfectly
suits the job here) - "avifile is obsolete" comes pretty close to the
Anyway, people interested in joining our efforts are welcome. the end
goal of this is to get rid of the obsolete/ugly library dependencies in
gstreamer and to prevent that we link to one lib twice (like ffmpeg,
mad, ...), what avifile caused. Also, it will make gstreamer's codec
plugins faster and therefore even more interesting to use by application
- /V\ | Ronald Bultje <rbultje at ronald.bitfreak.net>
- // \\ | Running: Linux 2.4.18-XFS and OpenBSD 3.0
- /( )\ | http://ronald.bitfreak.net/
More information about the gstreamer-devel