Theo Verelst Local Diary Page 86
I've ditched the usual header for the
moment, I think it doesn't help much anyhow.
This page is copyrighted by me, and may be read and transferred by any
means only as a whole and including the references to me. I
guess that's normal, the writer can chose that of course, maybe
Ill make some creative commons stuff one day, of course I have
made Free and Open Source software and even hardware designs available!
This
page is under construction, so check back later, too.
Nov 11, 01:02, 2009
TV work, and some more very good and very high value per euro
equipment.
Even More power TV, surround processing
I´ve tried the latest mplayer to find out that nicely the makers
included surround decoding, which sounds more interesting than my setup
from the last page, maybe it does rear decompression, too.
The whole mplayer command I use to watch TV at the moment is here:

The machine (which is a years old supermarket model, but for the time a
pretty powerfull one) currently starts up automatically with Linux
(Redhat Fedora 10/64) with only a login and a double click on a desktop
icon being enough to start watching TV! Be it without sound of the
above kind, and I didn´t provide a channel list yet, so it is a
fixed channel. I´ve made the modprobes for loading the TV and
audio kernel modules part of /etc/rc.local so they are loaded during
boot-up.
The mplayer startup for surround requires 4 channels to feed the output
to, so I use a empty jack/rack with 4 in 4 out which I connect it
to, the outputs of that go to 2 sound cards, one from jack , the other
I plug in jack using alsa_out from jack jack-none0.2 which I compiled,
and then there´s startup voodoo-like stuff and some work to get
all the samples flowing properly....
But then the front sound is converted by the very good
performing Lexicon MX400 DA converter which I´ve tested is driven
in 24 bits from the buildtin TOS digital audio interface from the
media computer, while the rear sound is converted using a also very
good Lexicon DA converter.
So does that give that ´bit spacious feel´ to the sound,
Theo? Euhm, well eeurrhh, ahem, well,.... : no. It works as surround
decoding like in (older) cinema: it creates a space with sound, and
when I add 4 channel in 4 channel out Lexicon surround (not double
stereo but actual surround) reverb, it even sounds huge (especially on US films on
good cable channels). Great fun.

<>
And the picture, Theo, it´s all nice to use a not so small (28
inch) HD screen, but TV is no bluray, you know...
Yep, sure. Well that looks pretty nice most the time, great sometimes,
and interesting all the time, because VDPAU working on uncompressed
8bit rgb TV frames of 720x576 does and excellent rendering and
filtering job, and that includes the magnification and the progressive
rendering. The example above is a random frame, and keep in mind the
noisyness is partially due to the inter-frame progressive or simply
film noise and cable averaging, which from not too much distance
averages out to a very viewable picture with lots of colour and detail,
and VDPAU on this computer architecture and bus speeds never misses a
frame, even at this magnification, the full bandwidth is totally kept
up with, and the pipeline doesn´t normally get in trouble, so I
cab easily keep the TV on an hour and find there has been 0 frame
drops. Audio isn´t yet very stable the whole time, but the
alsa_out approach and a bit of audio interface jockying handiness makes
it at least work in the end.
>
<>HD work>
HD cam live feeding mplayer with VDPAU works on the same machine
because a kernel update made the firewire stack fixed. This is a live
example (screendump) of the cam viewing a piece of a plant and vdpau
filtering the picture, which is lit by a single 20W halogen lamp,
sharpening is off.

A test with the same hd cam seen through a mplayer in live (a second or
less delay) viewing a live TV window (in standard D1 resolution on a HD
screen):

The live HD view is the large window with a lot of black (1920x1080 on
a 1920x1200 screen) and the cam is pointed at the right upper window.
The work I´m planning is to use VDPAU to render frames which are
stored as RGB 24 bit frames (I don´t think it does more bits, but
that of course would be even better), and then I want to use CUDA
programs like this one on the resulting frames:

A heavy gauss filtering program with a subtle but very nice rounding
filter, and this will be followed by a GL based shader processing for
slight sharpening filtering and (once I figured it out) gamma curve
adaption. Hopefully I´ll be able to put in a new disc which
should at serial ata speed be able to communicate about 100MByte/Sec,
so those frames can be processed quickly. Another of those Western
Digital Caviar green (I have a caviar other model running 24/7 for
years in the server) discs (about 80 per terabyte, which is the same
amount as two computers, an external disc and a portable disc and a
notebook combined at the moment...) and I should be able to read 8 bit
RGB frames at HD resolution at 25 frames per second, which is a great
idea, to be rid of compression and have frames as reference. One
terabyte would last about 2 hours if I recall correctly, so I could
make some film stuff then.
So:
HDrecording (25 megabit/sec mpeg2 1920x1080 pixels, 50 half-frames/sec)
==> mplayer with VDPAU at low frame rate, filtered and with accurate
colour corrections --> 8 bit/RGB component screen capture by ffmpeg
to ppm (uncompressed 3x8 bit / pixel HD frames) ==> Cuda per frame
processing ==> 32 bit floats/component filtered frame saved again as
8bpc HD frames ==> shader based processing.
I need to adapt the Cuda filter to save frames (I´ve a+ready
combined the same filter with cinepaint some time ago so that should be
easy), and the mplayer GL shader processing works, but I don´t
think it can read from frames, and I again would have to use the screen
capture to get the results. And preferably I´d want a player
which can VSYNC good, and which can play the frames flawlessly. Maybe a
Cuda based program could do the whole thing, with accurate inter-frame
filtering and even motion field based computations (I´ve compiled
Folki GPU Optical Flow for Cuda on the Fedora 10/64 machine which
should do fast motion field analysis), at least I should be able to
write some simple but powerfull filters wihout too much effort, and of
course use some more examples from the devkit. I suppose a GTX 280 or
so card with a Intel i7 could do quite some real-time HD filtering.
Time for 12 (14?!) bit 4k monitors and a red camera....
This a HD recording I recently made:

The fog is not an effect, it was pretty foggy and almost dark.

How these screendumps from playing them comes across to you as the
viewer depends on the screen you use and the gamma settings of your
computer, these tyoically could benefit from inter-frame
averaging, and probably I would better make them a bit more adapted to
a monitor by some more colour processing. the ripples of the water and
on a ice screen the light impressions are wonderful, also as a result
of the good rendering (I doubt youtube like examples could give such an
impression at all for instance).
The Lexicon MX400 in use
See also my own wiki page.
The famous Lexicon effects in dedicated chips:


On top of the machine is the Sony S550 Bluray player, with digital and
surround analog outputs.
A great effect is to add more surround feel to most blurays by using
the 4 channel in 4 channel out surround reverbs from the lexicon mixed
in with the already surround bluray sound. Lot of wires, but stunning
sound as result! That´s where my analog mixer plans were for,
maybe I should also add some neutral digital mix IOs.
A great new guitar effect
The Korg AX5G guitar processor pedal is a new breed of these effects,
with REMS modeling of known and fictive guitar amps and speakers. It is
of high quality and currently for quite a low price (lets say about
$100 equiv.) which is great for such nice and powerful effect.
