const MAX_STRIPES: usize = 8;Expand description
Most stripes a JPEG frame is cut into, whatever the encoder host’s core count.
A stripe is a picture of its own on the wire, and the client decodes one per stripe: the count is spent on the viewer’s machine, which is not the one it was derived from. Measured decoding a 1080p frame split N ways, WebKit – the engine a phone or tablet runs – loses throughput with every stripe added (18.9 fps whole, 9.4 at eight, 3.8 at thirty-two), while Chromium gains up to four and holds through twelve. Eight is where both sit near their best and where the JPEG payload is smallest, so a host with the cores to cut thirty-two no longer hands a tablet a frame it cannot assemble. One stripe is one encode job, so this bounds the encoder’s own parallelism with it.