Follow up from #909, we may want to wait for vp10 to come out too. The API documentation is very limited but both gstreamer and ffmpeg have support for it - which we could re-use via the enc_ffmpeg encoder (#1107).
libvpx needs to be compiled with --enable-vp9-highbitdepth
, CONFIG_VP9_HIGHBITDEPTH
should be set and the image formats we can use are "Image uses 16bit framebuffer":
VPX_IMG_FMT_I42016 = VPX_IMG_FMT_I420 | VPX_IMG_FMT_HIGHBITDEPTH VPX_IMG_FMT_I42216 = VPX_IMG_FMT_I422 | VPX_IMG_FMT_HIGHBITDEPTH VPX_IMG_FMT_I44416 = VPX_IMG_FMT_I444 | VPX_IMG_FMT_HIGHBITDEPTH VPX_IMG_FMT_I44016 = VPX_IMG_FMT_I440 | VPX_IMG_FMT_HIGHBITDEPTH
I believe those formats store the the YUV channels in the high 10/12 bits of each 16bit value. Wasting quite a bit of space and requiring a CSC step to go from R210 to this format.. sigh.
Note: vpx now also supports alpha channel: VPX_IMG_FMT_HAS_ALPHA
.
Also worth considering colorspace bits (#1155): vpx_color_space
.
Somewhat blocked by rpath issues: #1405
re-scheduling - the 16-bit per channel reformatting constraint is costly.
Milestone renamed
Done in r26980.
Found a new scaling related bug: #2845.
For further reference, see wiki/ImageDepth.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1310