Control/adjustment of top/bottom field first with videorate/videomixer?

wally bkg wb666greene at
Wed Aug 24 07:22:46 PDT 2011

I've finally got binocular  live video working well using videorate and
videomixer to deliver a "stacked" 640x960 frame to my appsink except for one
combination of capture devices.

It seems that using the Hauppauge 950Q  ends up with skewed video because
the frames from it end up with field 0 having a later timecode that field 1
(my test video has a field accurate overlay of the clock time when it was
recorded using an HEI video inserter device so I can detect this error).
Videoscale could be involved as the 950Q cannot deliver 640x480 frames,
since its a noop when resize is not needed its in both legs of the dual
capture pipeline -- the idea is to work with "any" v4l2  video capture
device, although I've only eight to actually test against.

Are there any settings or caps that might address this issue?  I can post my
~500 line sample code if there is interest, but you will likey nver see the
problem unless you have specially rigged source material to capture.  I use
Avidemux2 to inspect the frames captured to an *.mp4 file and use my offline
analysis code to display the seperate field (the analysis is field based to
trade spacial V resolution for time resolution).

Attached are a pair of jpegs of the top and bottom fields from frame 7
captured with the Hauppauge HRV-950Q and the Kworld EM2880 devices.

Note that for the 950Q the top field is at 39.93941 and the bottom at
39.92271 approx 17 mS (one field time) later.  The situation for the EM2880
frame is correct and the overlaid gst stream is only 1 mS later, although as
the file progresses it usually ends up being 10-15 mS different.

I should clarify Stream: 0:00:00.233 is the gst clock at the output of the
videomixer using timeoverlay, the L & R times are the timeoverlays in front
of the videorate for each camera.  Camera pairings not using the 950Q don't
suffer this.  Obviously I can declare the 950Q as not suitable for this
application, but if gstreamer has a work-around I'd like to try it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: frame7_EM2880.jpeg
Type: image/jpeg
Size: 57056 bytes
Desc: not available
URL: <>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: frame7_950Q.jpeg
Type: image/jpeg
Size: 57359 bytes
Desc: not available
URL: <>

More information about the gstreamer-devel mailing list