Xpra: Ticket #416: pixbuf_new_from_data or cairo take un-premultiplied rgb data
r4151 does this, but it's slow and ugly.
Do this in-place properly, or at least return a string we can use directly.
Tue, 03 Dec 2013 07:24:53 GMT - Antoine Martin: attachment set
- attachment
set to mmap-argb-in-place.patch
remove unnecessary conversions with mmap codepath only
Tue, 03 Dec 2013 07:26:09 GMT - Antoine Martin: owner, status changed
- owner
changed from Antoine Martin to Antoine Martin
- status
changed from new to assigned
The problem is that:
- we can get a string as data (from all encoders that can output with alpha: rgb, png, webp) or a
class 'xpra.net.mmap_pipe.c_char_Array_409600'
with mmap. A string cannot be used as writeable buffer but the c_char_Array
can.
- the data we pass to
pixbuf_new_from_data()
must be string or read-only buffer, not bytearray
The patch above skips the conversions for the mmap codepath, but we need something that also addresses the double-copy from the standard codepath.
Tue, 03 Dec 2013 08:51:29 GMT - Antoine Martin: status changed; resolution set
- status
changed from assigned to closed
- resolution
set to fixed
Done in r4843 (see changeset for details)
- mmap: zero copy
- string buffers: one copy with numpy (cannot be avoided)
- without numpy installed: two copies as before
More buffer work in #465
Sat, 23 Jan 2021 04:54:48 GMT - migration script:
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/416