ickle - TODO:
cross "magic" support for texture to x, and drm to x etc.
snapshot - lazy, deferred copy-on-write
problems with XRENDER:
- - h/w size limits, trigger fallbacks - GL represents state of h/w - RENDER is abstraction that doesn't represent what's fast - RENDER has no geometry - better for Cairo to use a h/w abstraction that matches the h/w.
yuv - pixman:
- kill conversion of pixel_exact to NEAREST, needs to maintain BILINEAR. maybe even use it for yuv-FAST as well.
pixman_implementation_t debug interface
- - disable fast paths, compare performance and output during testing.
create_for_planar_data (cairo_format_t [extended],
- cairo_colorspace_t [enum method to convert to sRGB], cairo_planar_data_t planes[4], int width, int height);
enum {
- CAIRO_COLORSPACE_DEFAULT [eg RGB (identity), I420 (b601 default)], CAIRO_COLORSPACE_IDENTITY, CAIRO_COLORSPACE_YUV_B601,
} cairo_colorspace_t;
http://people.freedesktop.org/~sandmann/pixman-yuv-summary
- - subsampling and layout
- - amount of subsampling - layout in memory - eg I420p vs I420i and I422 vs I444
Shaders for de-interlacing + upscaling
Surface locking
- - cairo needs to do it any way to meet its MT guarantees. - cairo_device_acquire()/cairo_device_release(); allows external modification concurrently with Cairo
- [cairo_device_user_lock()/cairo_device_user_unlock();]
- cairo_device_acquire();
- cairo_surface_flush();
- .. cairo_surface_mark_dirty();
- for thread-safe external modification.
* no gst performance regression
Timeline?
- - cairo-1.10 in January [targetting distros with new Xserver] - cairo-1.9.6 shortly with yuv support - gstreamer targets distro support April/May, aim earlier for conditional
- dvdspu (in gst-plugins-bad)
XRenderShmPutImage:
- current X[v]ShmImage is not performant, so
- pass around DRM handles
- vmsplice
- invent a performant SHM method!
pixman/jit:
- - orc actually exists and has pixman/compositing support, so therefore is the forerunner for pixman/jit - ssp would prefer to have a jit tightly coupled into pixman, and hence absorb orc - ds is using it for other projects, Schrødinger decode for instance - bilboed would like jit for bitstream parsing

