📄 idct_llm.cpp
字号:
psubd mm6, mm5 ;p1(19,31)
psrad mm4, 9 ;p1(19,29)
paddd mm6, const_0x2xx8 ;p1(19,32)
psrad mm6, 9 ;p1(19,33)
packssdw mm4, mm6 ;p1(19,34)
movq [esi + 8*8], mm4 ;p1(19,35)
//************************************************************
add edi, 8
add ebx, 8
add esi, 8
//************************************************************
/* Pass 1. */
movq mm0, [ebx + 8*4] ;p1(1,0)
pmullw mm0, [edi + 8*4] ;p1(1,1)
movq mm1, [ebx + 8*12] ;p1(2,0)
pmullw mm1, [edi + 8*12] ;p1(2,1)
movq mm6, [ebx + 8*0] ;p1(5,0)
pmullw mm6, [edi + 8*0] ;p1(5,1)
movq mm2, mm0 ;p1(3,0)
movq mm7, [ebx + 8*8] ;p1(6,0)
punpcklwd mm0, mm1 ;p1(3,1)
pmullw mm7, [edi + 8*8] ;p1(6,1)
movq mm4, mm0 ;p1(3,2)
punpckhwd mm2, mm1 ;p1(3,4)
pmaddwd mm0, fix_054n184_054 ;p1(3,3)
movq mm5, mm2 ;p1(3,5)
pmaddwd mm2, fix_054n184_054 ;p1(3,6)
pxor mm1, mm1 ;p1(7,0)
pmaddwd mm4, fix_054_054p076 ;p1(4,0)
punpcklwd mm1, mm6 ;p1(7,1)
pmaddwd mm5, fix_054_054p076 ;p1(4,1)
psrad mm1, 3 ;p1(7,2)
pxor mm3, mm3 ;p1(7,3)
punpcklwd mm3, mm7 ;p1(7,4)
psrad mm3, 3 ;p1(7,5)
paddd mm1, mm3 ;p1(7,6)
movq mm3, mm1 ;p1(7,7)
paddd mm1, mm4 ;p1(7,8)
psubd mm3, mm4 ;p1(7,9)
movq [esi + 8*16], mm1 ;p1(7,10)
pxor mm4, mm4 ;p1(7,12)
movq [esi + 8*22], mm3 ;p1(7,11)
punpckhwd mm4, mm6 ;p1(7,13)
psrad mm4, 3 ;p1(7,14)
pxor mm1, mm1 ;p1(7,15)
punpckhwd mm1, mm7 ;p1(7,16)
psrad mm1, 3 ;p1(7,17)
paddd mm4, mm1 ;p1(7,18)
movq mm3, mm4 ;p1(7,19)
pxor mm1, mm1 ;p1(8,0)
paddd mm3, mm5 ;p1(7,20)
punpcklwd mm1, mm6 ;p1(8,1)
psubd mm4, mm5 ;p1(7,21)
psrad mm1, 3 ;p1(8,2)
movq [esi + 8*17], mm3 ;p1(7,22)
pxor mm5, mm5 ;p1(8,3)
movq [esi + 8*23], mm4 ;p1(7,23)
punpcklwd mm5, mm7 ;p1(8,4)
psrad mm5, 3 ;p1(8,5)
pxor mm4, mm4 ;p1(8,12)
psubd mm1, mm5 ;p1(8,6)
punpckhwd mm4, mm6 ;p1(8,13)
movq mm3, mm1 ;p1(8,7)
psrad mm4, 3 ;p1(8,14)
paddd mm1, mm0 ;p1(8,8)
pxor mm5, mm5 ;p1(8,15)
psubd mm3, mm0 ;p1(8,9)
movq mm0, [ebx + 8*14] ;p1(9,0)
punpckhwd mm5, mm7 ;p1(8,16)
pmullw mm0, [edi + 8*14] ;p1(9,1)
movq [esi + 8*18], mm1 ;p1(8,10)
psrad mm5, 3 ;p1(8,17)
movq [esi + 8*20], mm3 ;p1(8,11)
psubd mm4, mm5 ;p1(8,18)
movq mm3, mm4 ;p1(8,19)
movq mm1, [ebx + 8*6] ;p1(10,0)
paddd mm3, mm2 ;p1(8,20)
pmullw mm1, [edi + 8*6] ;p1(10,1)
psubd mm4, mm2 ;p1(8,21)
movq mm5, mm0 ;p1(11,1)
movq [esi + 8*21], mm4 ;p1(8,23)
movq [esi + 8*19], mm3 ;p1(8,22)
movq mm4, mm0 ;p1(11,0)
punpcklwd mm4, mm1 ;p1(11,2)
movq mm2, [ebx + 8*10] ;p1(12,0)
punpckhwd mm5, mm1 ;p1(11,4)
pmullw mm2, [edi + 8*10] ;p1(12,1)
movq mm3, [ebx + 8*2] ;p1(13,0)
pmullw mm3, [edi + 8*2] ;p1(13,1)
movq mm6, mm2 ;p1(14,0)
pmaddwd mm4, fix_117_117 ;p1(11,3)
movq mm7, mm2 ;p1(14,1)
pmaddwd mm5, fix_117_117 ;p1(11,5)
punpcklwd mm6, mm3 ;p1(14,2)
pmaddwd mm6, fix_117_117 ;p1(14,3)
punpckhwd mm7, mm3 ;p1(14,4)
pmaddwd mm7, fix_117_117 ;p1(14,5)
paddd mm4, mm6 ;p1(15,0)
paddd mm5, mm7 ;p1(15,1)
movq [esi+8*24], mm4 ;p1(15,2)
movq [esi+8*25], mm5 ;p1(15,3)
movq mm6, mm0 ;p1(16,0)
movq mm7, mm3 ;p1(16,3)
punpcklwd mm6, mm2 ;p1(16,1)
punpcklwd mm7, mm3 ;p1(16,4)
pmaddwd mm6, fix_n039_n089 ;p1(16,2)
pmaddwd mm7, fix_150_n089n039 ;p1(16,5)
movq mm4, mm0 ;p1(16,12)
paddd mm6, [esi+8*24] ;p1(16,6)
punpckhwd mm4, mm2 ;p1(16,13)
paddd mm6, mm7 ;p1(16,7)
pmaddwd mm4, fix_n039_n089 ;p1(16,14)
movq mm7, mm6 ;p1(16,8)
paddd mm4, [esi+8*25] ;p1(16,18)
movq mm5, mm3 ;p1(16,15)
paddd mm6, [esi + 8*16] ;p1(16,9)
punpckhwd mm5, mm3 ;p1(16,16)
paddd mm6, const_0x2xx8 ;p1(16,10)
psrad mm6, 9 ;p1(16,11)
pmaddwd mm5, fix_150_n089n039 ;p1(16,17)
paddd mm4, mm5 ;p1(16,19)
movq mm5, mm4 ;p1(16,20)
paddd mm4, [esi + 8*17] ;p1(16,21)
paddd mm4, const_0x2xx8 ;p1(16,22)
psrad mm4, 9 ;p1(16,23)
packssdw mm6, mm4 ;p1(16,24)
movq [esi + 8*0], mm6 ;p1(16,25)
movq mm4, [esi + 8*16] ;p1(16,26)
psubd mm4, mm7 ;p1(16,27)
movq mm6, [esi + 8*17] ;p1(16,30)
paddd mm4, const_0x2xx8 ;p1(16,28)
movq mm7, mm1 ;p1(17,3)
psrad mm4, 9 ;p1(16,29)
psubd mm6, mm5 ;p1(16,31)
paddd mm6, const_0x2xx8 ;p1(16,32)
punpcklwd mm7, mm1 ;p1(17,4)
pmaddwd mm7, fix_307n256_n196 ;p1(17,5)
psrad mm6, 9 ;p1(16,33)
packssdw mm4, mm6 ;p1(16,34)
movq [esi + 8*14], mm4 ;p1(16,35)
movq mm6, mm0 ;p1(17,0)
movq mm4, mm0 ;p1(17,12)
punpcklwd mm6, mm2 ;p1(17,1)
punpckhwd mm4, mm2 ;p1(17,13)
pmaddwd mm6, fix_n256_n196 ;p1(17,2)
movq mm5, mm1 ;p1(17,15)
paddd mm6, [esi+8*24] ;p1(17,6)
punpckhwd mm5, mm1 ;p1(17,16)
paddd mm6, mm7 ;p1(17,7)
pmaddwd mm4, fix_n256_n196 ;p1(17,14)
movq mm7, mm6 ;p1(17,8)
pmaddwd mm5, fix_307n256_n196 ;p1(17,17)
paddd mm6, [esi + 8*18] ;p1(17,9)
paddd mm6, const_0x2xx8 ;p1(17,10)
psrad mm6, 9 ;p1(17,11)
paddd mm4, [esi+8*25] ;p1(17,18)
paddd mm4, mm5 ;p1(17,19)
movq mm5, mm4 ;p1(17,20)
paddd mm4, [esi + 8*19] ;p1(17,21)
paddd mm4, const_0x2xx8 ;p1(17,22)
psrad mm4, 9 ;p1(17,23)
packssdw mm6, mm4 ;p1(17,24)
movq [esi + 8*2], mm6 ;p1(17,25)
movq mm4, [esi + 8*18] ;p1(17,26)
movq mm6, [esi + 8*19] ;p1(17,30)
psubd mm4, mm7 ;p1(17,27)
paddd mm4, const_0x2xx8 ;p1(17,28)
psubd mm6, mm5 ;p1(17,31)
psrad mm4, 9 ;p1(17,29)
paddd mm6, const_0x2xx8 ;p1(17,32)
psrad mm6, 9 ;p1(17,33)
movq mm7, mm2 ;p1(18,3)
packssdw mm4, mm6 ;p1(17,34)
movq [esi + 8*12], mm4 ;p1(17,35)
movq mm6, mm1 ;p1(18,0)
punpcklwd mm7, mm2 ;p1(18,4)
punpcklwd mm6, mm3 ;p1(18,1)
pmaddwd mm7, fix_205_n256n039 ;p1(18,5)
pmaddwd mm6, fix_n039_n256 ;p1(18,2)
movq mm4, mm1 ;p1(18,12)
paddd mm6, [esi+8*24] ;p1(18,6)
punpckhwd mm4, mm3 ;p1(18,13)
paddd mm6, mm7 ;p1(18,7)
pmaddwd mm4, fix_n039_n256 ;p1(18,14)
movq mm7, mm6 ;p1(18,8)
movq mm5, mm2 ;p1(18,15)
paddd mm6, [esi + 8*20] ;p1(18,9)
punpckhwd mm5, mm2 ;p1(18,16)
paddd mm6, const_0x2xx8 ;p1(18,10)
psrad mm6, 9 ;p1(18,11)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -