.function deinterlace_line_vfir .so urce 1 s1 guint8 .so urce 1 s2 guint8 .so urce 1 s3 guint8 .so urce 1 s4 guint8 .so urce 1 s5 guint8 convubw t1, s1 convubw t2, s5 addw t1, t1, t2 convubw t2, s2 convubw t3, s4 addw t2, t2, t3 shlw t2, t2, 2 convubw t3, s3 shlw t3, t3, 1 subw t2, t2, t1 addw t2, t2, t3 addw t2, t2, 4 shrsw t2, t2, 3 convsuswb d1, t2 .function deinterlace_line_linear .so urce 1 s1 guint8 .so urce 1 s2 guint8 avgub d1, s1, s2 .function deinterlace_line_linear_blend .so urce 1 s1 guint8 .so urce 1 s2 guint8 .so urce 1 s3 guint8 convubw t1, s1 convubw t2, s2 convubw t3, s3 addw t1, t1, t2 addw t3, t3, t3 addw t1, t1, t3 addw t1, t1, 2 shrsw t1, t1, 2 convsuswb d1, t1 .function deinterlace_line_greedy .so urce 1 m0 .so urce 1 t1 .so urce 1 b1 .so urce 1 m2 .param 1 max_comb loadb tm0, m0 loadb tm2, m2 loadb tb1, b1 loadb tt1, t1 avgub avg, tt1, tb1 maxub t2, tm0, avg minub t3, tm0, avg subb l2_diff, t2, t3 maxub t2, tm2, avg minub t3, tm2, avg subb lp2_diff, t2, t3 xorb l2_diff, l2_diff, 0x80 xorb lp2_diff, lp2_diff, 0x80 cmpgtsb t3, l2_diff, lp2_diff andb t2, tm2, t3 andnb t3, t3, tm0 orb best, t2, t3 maxub max, tt1, tb1 minub min, tt1, tb1 addusb max, max, max_comb subusb min, min, max_comb minub best, best, max maxub d1, best, min