vidnit and videffects
vid and videffects and vidnit were my first
introduction to writing video code. I wrote some realtime effects which
act on a video4linux source and played around alot. All of the effects
work on 24-bit R'G'B' data and as such are awfully slow and unoptimal
for video input, but hey, I was just starting.
I did a few interesting effects. I stole some ideas from the gimp, and
I modified an emboss algorithm from an app called metgrab. The
latest work that I did can likely be found in this tarball:
vid-0.1.11.tar.gz
The videffects app has some more of the raw code for doing
effects, and I also took the time to learn the libavifile and smpeg
APIs. Again, since all of these effects act on R'G'B' input, they're
slow, and all operations are done without converting from gamma
corrected space. Still, using the effects on live video input is sooo
much fun.
Effects that I wrote were:
- delay, a simple motion-blurr effect with configurable
gain and feedback.
- half-mirror, which mirrors one half of the input onto
the other half of the screen. this leads to hours of enjoyment
making crazy funny faces and stuff.
- quarter-mirror, kaleidescope effect.
- invert, a color-inverter. photo-negative effect.
- colourmod, a de-colourizer. maps the image onto a smaller
colour palette. makes it look like the silly 80s effects.
- diffwatch, shows the difference between the current frame
and the previous one. looks cool.
I also coded some simple bluescreen (chroma-keying) effects, but it is
very difficult to get it to work with my camera due to the large amount
of noise. you have to set the distance way too high.
videffects-0.3.tar.gz
videffects-0.2.tar.gz
videffects.tar.gz
vidnit is a simple linux video player. it can also do all of the
videffects stuff, but i've re-written the buffering so its much more
efficient. I was working on a GTK+ gui and trying to get this working,
but it didn't go anywhere, and alot of my ideas were just plain bad.
vidnit-0.10.tar.gz
vidnit-0.7.tar.gz
For more recent video code by me, check
My Graphics Page.