Xserver doesn't support XvPutImage to Pixmap?

Matthew Fincham matthewf at cat.co.za
Tue Feb 16 21:57:09 PST 2010

On 16-02-10 17:27, Michel Dänzer wrote:
> On Tue, 2010-02-16 at 14:17 +0200, Matthew Fincham wrote:
>> On 16-02-10 11:29, Michel Dänzer wrote:
>>> On Tue, 2010-02-16 at 10:39 +0200, Matthew Fincham wrote:
>>>> Currently I am using XvPutImage to display a video stream. The video
>>>> needs to be overlayed with various items (pixmaps, text, custom
>>>> drawing). As it stands there is a lot of flickering of the overlayed
>>>> items. When this is double-buffered (using standard pixmaps) the
>>>> flickering, obviously, goes away.
>>>> I see that XVPutImage does not support writing to pixmaps, only to
>>>> windows (xf86XVEnlistPortInWindow seems to be the start of the
>>>> problem...). The system is running version 1.3.0. I have checked 1.7.1
>>>> and seen that it too doesn't support XVPutImage to pixmaps.
>>>> I have a few questions:
>>>>    - has any progress been made in supporting XVPutImage with pixmaps?
>>> Somewhat:
>>> http://bugs.freedesktop.org/show_bug.cgi?id=2114
>> Hi Michel
>> Thanks for the link. I have applied the patch (from Kusanagi Kouichi)
>> but only managed to crash the X server when writing to a pixmap. I
>> recompiled Xorg, the (Intel) drivers and the app using drawing the Xv image.
>> Afetr applying the patch should I expect to be able to write to pixmaps,
>> or have I done something wrong (left out a recompile or something else)!
> As I mentioned in http://bugs.freedesktop.org/show_bug.cgi?id=21143#c7
> the patch as it stands breaks the video driver ABI, so the video driver
> needs to be rebuilt against the patched xserver. If that wasn't the
> problem, please provide a backtrace of the crash.
This is the backtrace, although I am not 100% confident of it. Certainly 
the references to qt4 are wrong. I'll see if I can get more info.

Core was generated by `Xorg'.
Program terminated with signal 6, Aborted.
#0  0xbba1a22f in kill () from /usr/pkg/qt4/lib/libc.so.12
(gdb) bt
#0  0xbba1a22f in kill () from /usr/pkg/qt4/lib/libc.so.12
#1  0xbbab6340 in abort () from /usr/pkg/qt4/lib/libc.so.12
#2  0x0809ad6e in ddxGiveUp ()
#3  0x0819a3b7 in AbortServer ()
#4  0x0819a83f in FatalError ()
#5  0x080b6d0c in xf86SigHandler ()
#6<signal handler called>
#7  0x0000001f in ?? ()

Many thanks

More information about the xorg mailing list