int A;
if (hasAlpha) {
- A = (abuf0[i] * yalpha1 + abuf1[i] * yalpha)<<3;
- if (A & 0xC0000000)
- A = av_clip_uintp2(A, 30);
+ A = (abuf0[i] * yalpha1 + abuf1[i] * yalpha + (1<<18)) >> 19;
+ if (A & 0x100)
+ A = av_clip_uint8(A);
}
yuv2rgb_write_full(c, dest, i, Y, A, U, V, y, target, hasAlpha, err);
int A;
if (hasAlpha) {
- A = abuf0[i]<<15;
- if (A & 0xC0000000)
- A = av_clip_uintp2(A, 30);
+ A = (abuf0[i] + 64) >> 7;
+ if (A & 0x100)
+ A = av_clip_uint8(A);
}
yuv2rgb_write_full(c, dest, i, Y, A, U, V, y, target, hasAlpha, err);
int A;
if (hasAlpha) {
- A = abuf0[i]<<15;
- if (A & 0xC0000000)
- A = av_clip_uintp2(A, 30);
+ A = (abuf0[i] + 64) >> 7;
+ if (A & 0x100)
+ A = av_clip_uint8(A);
}
yuv2rgb_write_full(c, dest, i, Y, A, U, V, y, target, hasAlpha, err);