Home | History | Annotate | Download | only in demux

Lines Matching refs:src_a

197 static uint8_t BlendChannelNonPremult(uint32_t src, uint8_t src_a,
202 const uint32_t blend_unscaled = src_channel * src_a + dst_channel * dst_a;
209 const uint8_t src_a = (src >> 24) & 0xff;
211 if (src_a == 0) {
216 // dst_factor_a = (dst_a * (255 - src_a)) / 255.
217 const uint8_t dst_factor_a = (dst_a * (256 - src_a)) >> 8;
218 const uint8_t blend_a = src_a + dst_factor_a;
222 BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 0);
224 BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 8);
226 BlendChannelNonPremult(src, src_a, dst, dst_factor_a, scale, 16);
227 assert(src_a + dst_factor_a < 256);
259 const uint8_t src_a = (src >> 24) & 0xff;
260 return src + ChannelwiseMultiply(dst, 256 - src_a);