H A D | row_win.cc | 708 vmovdqu ymm0, [eax] local 712 vpmaddubsw ymm0, ymm0, ymm4 local 717 vphaddw ymm0, ymm0, ymm1 // mutates. local 719 vpsrlw ymm0, ymm0, 7 local 721 vpackuswb ymm0, ymm0, ymm2 // mutates. local 722 vpermd ymm0, ymm local 723 vpaddb ymm0, ymm0, ymm5 local 748 vmovdqu ymm0, [eax] local 752 vpmaddubsw ymm0, ymm0, ymm4 local 757 vphaddw ymm0, ymm0, ymm1 // mutates. local 759 vpaddw ymm0, ymm0, ymm5 // Add .5 for rounding. local 761 vpsrlw ymm0, ymm0, 7 local 763 vpackuswb ymm0, ymm0, ymm2 // mutates. local 764 vpermd ymm0, ymm6, ymm0 // For vphaddw + vpackuswb mutation. local 1202 vmovdqu ymm0, [eax] local 1206 vpavgb ymm0, ymm0, [eax + esi] local 1211 vshufps ymm4, ymm0, ymm1, 0x88 local 1212 vshufps ymm0, ymm0, ymm1, 0xdd local 1213 vpavgb ymm0, ymm0, ymm4 // mutated by vshufps local 1221 vpmaddubsw ymm1, ymm0, ymm7 // U local 1223 vpmaddubsw ymm0, ymm0, ymm6 // V local 1226 vphaddw ymm0, ymm0, ymm2 local 1228 vpsraw ymm0, ymm0, 8 local 1229 vpacksswb ymm0, ymm1, ymm0 // mutates local 1230 vpermq ymm0, ymm0, 0xd8 // For vpacksswb local 1231 vpshufb ymm0, ymm0, kShufARGBToUV_AVX // For vshufps + vphaddw local 1232 vpaddb ymm0, ymm0, ymm5 // -> unsigned local 1236 vextractf128 [edx], ymm0, 0 // U local 1237 vextractf128 [edx + edi], ymm0, 1 // V local 2103 vpunpcklbw ymm0, ymm0, ymm1 // UV local 2104 vpermq ymm0, ymm0, 0xd8 local 2105 vpunpcklwd ymm0, ymm0, ymm0 // UVUV local 2106 vpmaddubsw ymm2, ymm0, kUVToB_AVX // scale B UV local 2107 vpmaddubsw ymm1, ymm0, kUVToG_AVX // scale G UV local 2108 vpmaddubsw ymm0, ymm0, kUVToR_AVX // scale R UV local 2111 vpsubw ymm0, ymm0, kUVBiasR_AVX local 2122 vpaddsw ymm0, ymm0, ymm3 // R += Y local 2125 vpsraw ymm0, ymm0, 6 local 2128 vpackuswb ymm0, ymm0, ymm0 // R local 2133 vpunpcklbw ymm0, ymm0, ymm5 // RA local 2134 vpermq ymm0, ymm0, 0xd8 local 3202 vmovdqu ymm0, [eax + ecx] local 3203 vpshufb ymm0, ymm0, ymm5 local 3204 vpermq ymm0, ymm0, 0x4e // swap high and low halfs local 3327 vpermd ymm0, ymm5, [eax + ecx * 4] // permute dword order local 3428 vmovdqu ymm0, [eax] local 3431 vpsrlw ymm2, ymm0, 8 // odd bytes local 3433 vpand ymm0, ymm0, ymm5 // even bytes local 3435 vpackuswb ymm0, ymm0, ymm1 local 3437 vpermq ymm0, ymm0, 0xd8 local 3528 vmovdqu ymm0, [eax] // read 32 U's local 3531 vpunpcklbw ymm2, ymm0, ymm1 // low 16 UV pairs. mutated qqword 0,2 local 3532 vpunpckhbw ymm0, ymm0, ymm1 // high 16 UV pairs. mutated qqword 1,3 local 3533 vperm2i128 ymm1, ymm2, ymm0, 0x20 // low 128 of ymm2 and low 128 of ymm0 local 3534 vperm2i128 ymm2, ymm2, ymm0, 0x31 // high 128 of ymm2 and high 128 of ymm0 local 3651 vpcmpeqb ymm0, ymm0, ymm0 local 3652 vpsrld ymm0, ymm0, 8 // generate mask 0x00ffffff local 3720 vpcmpeqb ymm0, ymm0, ymm0 local 3721 vpsrld ymm0, ymm0, 8 // generate mask 0x00ffffff local 3805 vmovdqu ymm0, [eax] local 3808 vpand ymm0, ymm0, ymm5 // even bytes are Y local 3810 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3811 vpermq ymm0, ymm0, 0xd8 local 3838 vmovdqu ymm0, [eax] local 3840 vpavgb ymm0, ymm0, [eax + esi] local 3843 vpsrlw ymm0, ymm0, 8 // YUYV -> UVUV local 3845 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3846 vpermq ymm0, ymm0, 0xd8 local 3847 vpand ymm1, ymm0, ymm5 // U local 3848 vpsrlw ymm0, ymm0, 8 // V local 3850 vpackuswb ymm0, ymm0, ymm0 // mutates. local 3852 vpermq ymm0, ymm0, 0xd8 local 3854 vextractf128 [edx + edi], ymm0, 0 // V local 3881 vmovdqu ymm0, [eax] local 3884 vpsrlw ymm0, ymm0, 8 // YUYV -> UVUV local 3886 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3887 vpermq ymm0, ymm0, 0xd8 local 3888 vpand ymm1, ymm0, ymm5 // U local 3889 vpsrlw ymm0, ymm0, 8 // V local 3891 vpackuswb ymm0, ymm0, ymm0 // mutates. local 3893 vpermq ymm0, ymm0, 0xd8 local 3895 vextractf128 [edx + edi], ymm0, 0 // V local 3916 vmovdqu ymm0, [eax] local 3919 vpsrlw ymm0, ymm0, 8 // odd bytes are Y local 3921 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3922 vpermq ymm0, ymm0, 0xd8 local 3949 vmovdqu ymm0, [eax] local 3951 vpavgb ymm0, ymm0, [eax + esi] local 3954 vpand ymm0, ymm0, ymm5 // UYVY -> UVUV local 3956 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3957 vpermq ymm0, ymm0, 0xd8 local 3958 vpand ymm1, ymm0, ymm5 // U local 3959 vpsrlw ymm0, ymm0, 8 // V local 3961 vpackuswb ymm0, ymm0, ymm0 // mutates. local 3963 vpermq ymm0, ymm0, 0xd8 local 3965 vextractf128 [edx + edi], ymm0, 0 // V local 3992 vmovdqu ymm0, [eax] local 3995 vpand ymm0, ymm0, ymm5 // UYVY -> UVUV local 3997 vpackuswb ymm0, ymm0, ymm1 // mutates. local 3998 vpermq ymm0, ymm0, 0xd8 local 3999 vpand ymm1, ymm0, ymm5 // U local 4000 vpsrlw ymm0, ymm0, 8 // V local 4002 vpackuswb ymm0, ymm0, ymm0 // mutates. local 4004 vpermq ymm0, ymm0, 0xd8 local 4006 vextractf128 [edx + edi], ymm0, 0 // V local 4840 vpunpcklbw ymm0, ymm6, ymm6 // low 4 pixels. mutated. local 4842 vpshufb ymm2, ymm0, ymm4 // low 4 alphas local 4844 vpmulhuw ymm0, ymm0, ymm2 // rgb * a local 4847 vpsrlw ymm0, ymm0, 8 local 4849 vpackuswb ymm0, ymm0, ymm1 // unmutated. local 4850 vpor ymm0, ymm0, ymm6 // copy original alpha local 4936 vpunpcklbw ymm0, ymm6, ymm6 // low 4 pixels. mutated. local 4943 vpmulhuw ymm0, ymm0, ymm2 // rgb * ia local 4945 vpackuswb ymm0, ymm0, ymm1 // unmutated. local 4999 vpunpcklbw ymm0, ymm6, ymm6 // low 4 pixels. mutated. local 5005 vpmulhuw ymm0, ymm0, ymm2 // rgb * ia local 5007 vpackuswb ymm0, ymm0, ymm1 // unmutated. local 5423 vpunpcklbw ymm0, ymm1, ymm1 // low 4 local 5427 vpmulhuw ymm0, ymm0, ymm2 // src_argb0 * src_argb1 low 4 local 5429 vpackuswb ymm0, ymm0, ymm1 local 5456 vmovdqu ymm0, [eax] // read 8 pixels from src_argb0 local 5458 vpaddusb ymm0, ymm0, [esi] // add 8 pixels from src_argb1 local 5486 vmovdqu ymm0, [eax] // read 8 pixels from src_argb0 local 5488 vpsubusb ymm0, ymm0, [esi] // src_argb0 - src_argb1 local 6111 vpxor ymm0, ymm0, ymm0 local 6112 vpermd ymm5, ymm0, ymm5 local 6116 vmovdqu ymm0, [esi] local 6118 vpunpckhbw ymm1, ymm0, ymm2 // mutates local 6119 vpunpcklbw ymm0, ymm0, ymm2 // mutates local 6120 vpmaddubsw ymm0, ymm0, ymm5 local 6122 vpsrlw ymm0, ymm0, 7 local 6124 vpackuswb ymm0, ymm0, ymm1 // unmutates local 6134 vmovdqu ymm0, [esi] local 6135 vpavgb ymm0, ymm0, [esi + edx] local 6136 vpavgb ymm0, ymm0, [esi + edx] local 6146 vmovdqu ymm0, [esi] local 6147 vpavgb ymm0, ymm0, [esi + edx] local 6157 vmovdqu ymm0, [esi + edx] local 6158 vpavgb ymm0, ymm0, [esi] local 6159 vpavgb ymm0, ymm0, [esi] local 6656 vmovdqu ymm0, [eax] local 6657 vpavgb ymm0, ymm0, [eax + edx] local 6793 vmovdqu ymm0, [eax] local 6796 vpshufb ymm0, ymm0, ymm5 local 7090 vpmovzxbd ymm0, qword ptr [eax] // 2 BGRA pixels local 7092 vcvtdq2ps ymm0, ymm0 // X 8 floats local 7093 vmulps ymm2, ymm0, ymm0 // X * X local 7094 vmulps ymm3, ymm0, ymm7 // C3 * X local 7095 vfmadd132ps ymm0, ymm4, ymm5 // result = C0 + C1 * X local 7096 vfmadd231ps ymm0, ymm2, ymm6 // result += C2 * X * X local 7097 vfmadd231ps ymm0, ymm2, ymm3 // result += C3 * X * X * X local 7098 vcvttps2dq ymm0, ymm0 local 7099 vpackusdw ymm0, ymm0, ymm0 // b0g0r0a0_00000000_b0g0r0a0_00000000 local 7100 vpermq ymm0, ymm0, 0xd8 // b0g0r0a0_b0g0r0a0_00000000_00000000 local [all...] |