The argument to vec_splat_u16 must be a literal. By making the
function always inline and marking the arguments const, gcc can
turn those into literals, and avoid build errors like:
swscale_vsx.c:165:53: error: argument 1 must be a 5-bit signed literal
Fixes #7861.
Signed-off-by: Daniel Kolesa <daniel@octaforge.org>
Signed-off-by: Lauri Kasanen <cand@gmx.com>
-static void yuv2plane1_nbps_vsx(const int16_t *src, uint16_t *dest, int dstW,
- int big_endian, int output_bits)
+static av_always_inline void yuv2plane1_nbps_vsx(const int16_t *src,
+ uint16_t *dest, int dstW,
+ const int big_endian,
+ const int output_bits)
{
const int dst_u = -(uintptr_t)dest & 7;
const int shift = 15 - output_bits;
{
const int dst_u = -(uintptr_t)dest & 7;
const int shift = 15 - output_bits;
-static void yuv2plane1_16_vsx(const int32_t *src, uint16_t *dest, int dstW,
- int big_endian, int output_bits)
+static av_always_inline void yuv2plane1_16_vsx(const int32_t *src,
+ uint16_t *dest, int dstW,
+ const int big_endian,
+ int output_bits)
{
const int dst_u = -(uintptr_t)dest & 7;
const int shift = 3;
{
const int dst_u = -(uintptr_t)dest & 7;
const int shift = 3;