[maemo-developers] [maemo-developers] gstreamer launcher (proper video sink?)

From: Josep Torra Valles j.torra at telefonica.net
Date: Thu Apr 27 00:06:53 EEST 2006
Hi ppl,

first sorry if my english isn't good as I would like.

About this topic, I'm working in a partial port of VLC to N770, my
primary target is play an mpeg2-ts stream obtained via wifi from a
dreambox 7000S STB (sat TV receiver). The stream consumed is 528x576 4:3
25 fps.

I've a partial success on this by now. Currently video decoding/output
at 35 fps with audio disabled, taking only luma info for a black/white
fast colorspace conversion mixed with a half scaling(pixel skiping).

My project is build on top of the following components:

- VLC: gui, control operation, network layer, video output(SDL
module:colorspace conversion YUV2RGB and stretching)
- libdvbpsi: stream demux
- libmpeg2: video decoding
- libmad: audo decoding

I modified it in the following way:

1. libmpeg2: implemented a fast IDCT8 using EDSP extensions and minimize
memory operations. I've done some experiments with and IDCT4
implementation in order to reduce workload.
2. libmpeg2: skip IDCT for U and V blocks.
3. vlc(SDL video output module): stretching via pixel skiping mixed with
fast colospace conversion RGB = YYY. I've thinking that a fixed point
colospace conversion rutine using EDSP could be good for my project than
the actual SDL implementation that uses an array of precalculated values
but I'm not sure on that.

Now I'm studing audio problem, libmad is a bad choice because it uses 32
bits fixed point operations(can't be beneficed of 16bits MUL and MAC
EDSP operations) and ARM is stressed doing video decoding, etc...

I would like use DSP in order to do audio decoding and balance the

First I thought that I should to implement an DSP audio codec, but when
I was studing DSP bridge I found that dsptask 11 is named "mp2dec" is it
an mpeg2 audio decoder.

/ $ cat /sus/bus/dsptask/devices/dsptask11/devname

Is it an mpeg2 audio decoder implemented on DSP ? Can you give me info
about how I could use it in my project ?

I've been reading a bit about gstreamer but I never used it. Reading the
web tutorial I've got the impression that in order to use gstreamer
properly it must be the main thread, it seems bad for vlc arch, I would
like to use dspcodec directly, dropping on it the audio frames demuxed
for libdvbpsi, can it be done? Could you give me some info on this topic
or an appointment on how to use gstreamer in a slave fashion.

About gstreamer, samples that I found are related to command line tools,
could you appoint me about how to use it from C. 

Thanks in advance.

Josep Torra Valles

More information about the maemo-developers mailing list