1 .function orc_blend_little
12 .const 4 a_alpha 0x000000ff
19 x4 shruw a_wide, a_wide, 8
23 x4 subw s_wide, s_wide, d_wide
24 x4 mullw s_wide, s_wide, a_wide
25 x4 div255w s_wide, s_wide
26 x4 addw d_wide, d_wide, s_wide
31 .function orc_blend_big
43 .const 4 a_alpha 0xff000000
51 x4 shruw a_wide, a_wide, 8
55 x4 subw s_wide, s_wide, d_wide
56 x4 mullw s_wide, s_wide, a_wide
57 x4 div255w s_wide, s_wide
58 x4 addw d_wide, d_wide, s_wide
63 .function cogorc_getline_I420
81 .function cogorc_putline_I420
93 x2 splitlw uv, ay, ayuv
101 .function cogorc_getline_YUY2
103 .source 4 yuy2 guint8
110 x2 splitwb uv, yy, yuy2
111 x2 mergebw ayay, c255, yy
113 x2 mergewl ayuv, ayay, uvuv
116 .function cogorc_putline_YUY2
118 .source 8 ayuv guint8
125 x2 splitlw uvuv, ayay, ayuv
126 splitlw uv1, uv2, uvuv
127 x2 avgub uv1, uv1, uv2
128 x2 select1wb yy, ayay
129 x2 mergebw yuy2, yy, uv1
132 .function cogorc_putline_UYVY
134 .source 8 ayuv guint8
141 x2 splitlw uvuv, ayay, ayuv
142 splitlw uv1, uv2, uvuv
143 x2 avgub uv1, uv1, uv2
144 x2 select1wb yy, ayay
145 x2 mergebw yuy2, uv1, yy
148 .function cogorc_getline_UYVY
150 .source 4 uyvy guint8
157 x2 splitwb yy, uv, uyvy
158 x2 mergebw ayay, c255, yy
160 x2 mergewl ayuv, ayay, uvuv
163 .function cogorc_getline_YUV9
179 x2 mergebw ay, c255, y
183 .function cogorc_getline_Y42B
195 x2 mergebw ayay, c255, yy
197 x2 mergewl ayuv, ayay, uvuv
199 .function cogorc_putline_Y42B
203 .source 8 ayuv guint8
209 x2 splitlw uvuv, ayay, ayuv
210 splitlw uv1, uv2, uvuv
211 x2 avgub uv1, uv1, uv2
216 .function cogorc_getline_Y444
230 .function cogorc_putline_Y444
234 .source 4 ayuv guint8
242 .function cogorc_getline_Y800
246 .const 2 c0x8080 0x8080
250 mergewl ayuv, ay, c0x8080
253 .function cogorc_putline_Y800
255 .source 4 ayuv guint8
262 .function cogorc_putline_Y16
264 .source 4 ayuv guint8
274 .function cogorc_getline_Y16
278 .const 2 c0x8080 0x8080
284 mergewl ayuv, ay, c0x8080
286 .function cogorc_getline_BGRA
288 .source 4 bgra guint8
292 .function cogorc_putline_BGRA
294 .source 4 argb guint8
298 .function cogorc_putline_RGBA
300 .source 4 argb guint8
317 .function cogorc_getline_RGBA
319 .source 4 rgba guint8
337 .function cogorc_getline_ABGR
339 .source 4 abgr guint8
357 .function cogorc_putline_ABGR
359 .source 4 argb guint8
376 .function cogorc_getline_NV12
385 x2 mergebw ay, c255, y
386 x2 mergewl d, ay, uvuv
388 .function cogorc_putline_NV12
391 .source 8 ayuv guint8
397 x2 splitlw uvuv, ay, ayuv
399 splitlw uv1, uv2, uvuv
400 x2 avgub uv, uv1, uv2
402 .function cogorc_getline_NV21
413 x2 mergebw ay, c255, y
414 x2 mergewl d, ay, uvuv
417 .function cogorc_putline_NV21
420 .source 8 ayuv guint8
427 x2 splitlw uvuv, ay, ayuv
429 splitlw uv1, uv2, uvuv
430 x2 avgub uv, uv1, uv2
434 .function cogorc_getline_A420
451 .function cogorc_putline_A420
456 .source 8 ayuv guint8
464 x2 splitlw uv, ay, ayuv
467 x2 splitwb vv, uu, uv
473 .function orc_resample_bilinear_u32
479 ldreslinl d1, s1, p1, p2
481 .function orc_merge_linear_u8