-
Notifications
You must be signed in to change notification settings - Fork 78
Description
wlroots will eventually be able to render to 10-bit or higher internal buffers. (See swaywm/wlroots#1378.) † The internal buffers determine what buffer formats are requested by zwlr_screencopy_frame_v1.buffer; so for example, with 10-bit buffers, XBGR2101010 or ABGR2101010 would be sent; and with half-float formats, ABGR16161616F or XBGR16161616F would be sent.
It will probably be a long time before support for these formats will be needed; but I am making this issue now, as this task may be difficult. Currently, ffmpeg does not have any direct equivalents for the above formats, so it may be necessary to add a format conversion step to wf-recorder. (For example, the closest thing to WL_SHM_FORMAT_XBGR2101010 is AV_PIX_FMT_X2RGB10LE, which has red and blue channels switched.)
† In case you want to test wlroots with higher bit depth earlier, I have made experimental branches for 10 and 16float internal depth; 16 bit depth may become possible in a few months. Edit: wlroots now supports changing the render buffer format; I made a Sway PR, swaywm/sway#6475, which adds a setting to control this.