This follows up on a comment by Wilco Dijkstra; see:
If you place the branch inside the loop, gcc at least reverts back to scalar code, so better to just split up and guard the entire loop.
Instead of defining multiple patterns for the dither ops, just define a single generic function that branches internally.
Generates a lot of incremental diffs due to things like ignored alpha planes or chroma planes that are not actually modified. e.g. bgr24 -> gbrap10be: [ u8 XXXX -> +++X] SWS_OP_READ : 3 elem(s) packed >> 0 [ u8 ...X -> +++X] SWS_OP_CONVERT : u8 -> f32 [f32 ...X -> ...X] SWS_OP_SCALE : * 341/85- [f32 ...X -> ...X] SWS_OP_DITHER : 16x16 matrix + {2 3 0 5} + [f32 ...X -> ...X] SWS_OP_DITHER : 16x16 matrix + {2 3 0 -1} [f32 ...X -> ...X] SWS_OP_MIN : x <= {1023 1023 1023 1023} [f32 ...X -> +++X] SWS_OP_CONVERT : f32 -> u16 [u16 ...X -> zzzX] SWS_OP_SWAP_BYTES [u16 ...X -> zzzX] SWS_OP_SWIZZLE : 1023 [u16 ...X -> zzz+] SWS_OP_CLEAR : {_ _ _ 65283} [u16 ....
This is useful especially for the special case of scaling by common not-quite-power-of-two constants like 255 or 1023.
Not super useful but also not expensive to carry.
All the compute codecs were ported to compile-time SPIR-V, thoroughly debugged, and optimized.
When attempting to locate to a marker with a certain name (via OSC) or pgm change number (via MCU), Ardour would previously choose the first in the event of duplicates.
This annoyingly requires recreating some of the logic inside av_img_alloc(), because there's no good existing current helper accessible from libswscale that gives per-plane allocations like this.
The use of this protocol was already discouraged and warned about for years with the recommendation to use the HLS demuxer instead.
To be used in the following commit.
This commit adds the full bitstream parsing for Mps212.
Stephen retired and stepped back from -next maintainership, update his entry in CREDITS to recognise his 18 years of hard work making it what it is today and all the impact it's had on our development process.
Conversion performed via this Coccinelle script:
In addition, improve the old example:- Update to use HAMMER2 instead of the deprecated HAMMER;- Add a note about the hybrid MBR/GPT setup;- Add steps to remove unwanted files copied from an installation CD;
Needed after the recent addition of the command APIs.