[gst-devel] hello; raw1394 PAL patch

Daniel Fischer dan at f3c.com
Sat Dec 28 10:15:23 CET 2002


hi everybody,

as this is my first post to this list, i'd like to say hello to you all, thank you for your great work on gstreamer, and give a short intro of myself: i'm a 26yr "media design" student with a strong technical/software development interest. i've been developing realtime audio/video software (motion detection/tracking for interactive art installations; vjing stuff) for the BeOS's MediaKit until now, and because of the current state of BeOS, and the various drawbacks you have to handle if you use such a niche OS, i'm moving my development efforts towards linux, and towards gstreamer.

i'm pretty happy with gstreamer's features; it seems to have everything i need and ever wanted :). the GObject paradigm is a bit hard to handle, but i'm currently looking into using gob2 to get some "syntactic sugar" :)

but first, i updated the raw1394 node to support PAL. i took some code from kino and integrated it into gstdv1394src.h/.c. the node now assembles complete frames before it sends anything out. this should resolve some issues mentioned in dv/NOTES.

it also features two parameters to enable skipping frames right at the source ("skip") and send n "consecutive" frames after skipping (this might be important for certain computer vision applications). setting skip=4 and consecutive=2 will send frames 1,2,7,8,13,14,etc...

another parameter (drop-incomplete) enables dropping of incomplete frames. dvdec can handle incomplete frames, so this is not neccessary, but you might want to enable it to only get complete frame images.

the node waits until it find the first frame header, where it figures out wether the data is PAL or NTSC, then sets the src caps and allocates a buffer pool with buffers of the correct size (quoting ieee1394io.cc from kino-0.51: 
   "The actual DV data starts at quadlet 4 of the long packet, so we
    have 480 bytes of DV data per packet.  For PAL, each rame is made
    out of 300 packets and there are 25 frames per second.  That is
    144000 bytes per frame and 3600000 bytes per second.  For NTSC we
    have 250 packages per frame and 30 frames per second.  That is
    120000 bytes per frame and 3600000 bytes per second too."
).

i've attached a patch that you can apply in ../gst-plugins-0.5.0/ext/ with patch -p0 <raw1394-PAL.patch . it works fine on my ThinkPad 600E with a noname ieee1394 pcmcia card and my Sony TRV30 (PAL). I couldn't test NTSC, as i have no NTSC camera. so feedback will be appreciated.

happy holidays to all of you,
-dan

---
dan at f3c.com
http://f3c.com/dan/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: raw1394-PAL.patch
Type: application/octet-stream
Size: 8303 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20021228/93cccea7/attachment.obj>


More information about the gstreamer-devel mailing list