亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? quantize_h263_mmx.asm

?? xvid的視頻編解碼庫文件
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
  movq2dq xmm6, mm0                         ; load into low 8 bytes  movlhps xmm6, xmm6                        ; duplicate into high 8 bytes  cmp al, 1  jz near .qes2_q1loop.qes2_not1  movq mm0, [mmx_div + eax*8 - 8]           ; divider  movq2dq xmm7, mm0  movlhps xmm7, xmm7ALIGN 16.qes2_loop  movdqa xmm0, [esi + ecx*8]                ; xmm0 = [1st]  movdqa xmm3, [esi + ecx*8 + 16]           ; xmm3 = [2nd]  pxor xmm1, xmm1  pxor xmm4, xmm4  pcmpgtw xmm1, xmm0  pcmpgtw xmm4, xmm3  pxor xmm0, xmm1  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  psubusw xmm0, xmm6  psubusw xmm3, xmm6  pmulhw xmm0, xmm7  pmulhw xmm3, xmm7  paddw xmm5, xmm0  pxor xmm0, xmm1  paddw xmm5, xmm3  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  movdqa [edi + ecx*8], xmm0  movdqa [edi + ecx*8 + 16], xmm3  add ecx, 4  cmp ecx, 16  jnz .qes2_loop.qes2_done  movdqu xmm6, [plus_one]  pmaddwd xmm5, xmm6  movhlps xmm6, xmm5  paddd xmm5, xmm6  movdq2q mm0, xmm5  movq mm5, mm0  psrlq mm5, 32  paddd mm0, mm5  movd eax, mm0         ; return sum  pop edi  pop esi  retALIGN 16.qes2_q1loop  movdqa xmm0, [esi + ecx*8]        ; xmm0 = [1st]  movdqa xmm3, [esi + ecx*8 + 16]   ; xmm3 = [2nd]  pxor xmm1, xmm1  pxor xmm4, xmm4  pcmpgtw xmm1, xmm0  pcmpgtw xmm4, xmm3  pxor xmm0, xmm1  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  psubusw xmm0, xmm6  psubusw xmm3, xmm6  psrlw xmm0, 1  psrlw xmm3, 1  paddw xmm5, xmm0  pxor xmm0, xmm1  paddw xmm5, xmm3  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  movdqa [edi + ecx*8], xmm0  movdqa [edi + ecx*8 + 16], xmm3  add ecx, 4  cmp ecx, 16  jnz .qes2_q1loop  jmp .qes2_done;-----------------------------------------------------------------------------;; uint32_t dequant_h263_intra_mmx(int16_t *data,;                                 const int16_t const *coeff,;                                 const uint32_t quant,;                                 const uint32_t dcscalar,;                                 const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------  ; note: we only saturate to +2047 *before* restoring the sign.  ; Hence, final clamp really is [-2048,2047]ALIGN 16dequant_h263_intra_mmx:  mov edx, [esp+ 4]                 ; data  mov ecx, [esp+ 8]                 ; coeff  mov eax, [esp+12]                 ; quant  movq mm6, [mmx_add + eax*8 - 8]   ; quant or quant-1  movq mm7, [mmx_mul + eax*8 - 8]   ; 2*quant  mov eax, -16ALIGN 16.loop  movq mm0, [ecx+8*eax+8*16]        ; c  = coeff[i]  movq mm3, [ecx+8*eax+8*16 + 8]    ; c' = coeff[i+1]  pxor mm1, mm1  pxor mm4, mm4  pcmpgtw mm1, mm0                  ; sign(c)  pcmpgtw mm4, mm3                  ; sign(c')  pxor mm2, mm2  pxor mm5, mm5  pcmpeqw mm2, mm0                  ; c is zero  pcmpeqw mm5, mm3                  ; c' is zero  pandn mm2, mm6                    ; offset = isZero ? 0 : quant_add  pandn mm5, mm6  pxor mm0, mm1                     ; negate if negative  pxor mm3, mm4                     ; negate if negative  psubw mm0, mm1  psubw mm3, mm4  pmullw mm0, mm7                   ; *= 2Q  pmullw mm3, mm7                   ; *= 2Q  paddw mm0, mm2                    ; + offset  paddw mm3, mm5                    ; + offset  paddw mm0, mm1                    ; negate back  paddw mm3, mm4                    ; negate back  ; saturates to +2047  movq mm2, [mmx_32767_minus_2047]  add eax, 2  paddsw mm0, mm2  paddsw mm3, mm2  psubsw mm0, mm2  psubsw mm3, mm2  pxor mm0, mm1  pxor mm3, mm4  movq [edx + 8*eax + 8*16   - 2*8], mm0  movq [edx + 8*eax + 8*16+8 - 2*8], mm3  jnz near .loop ; deal with DC  movd mm0, [ecx]  pmullw mm0, [esp+16]          ; dcscalar  movq mm2, [mmx_32767_minus_2047]  paddsw mm0, mm2  psubsw mm0, mm2  movq mm3, [mmx_32768_minus_2048]  psubsw mm0, mm3  paddsw mm0, mm3  movd eax, mm0  mov [edx], ax  xor eax, eax              ; return(0);  ret;-----------------------------------------------------------------------------;; uint32_t dequant_h263_intra_xmm(int16_t *data,;                                 const int16_t const *coeff,;                                 const uint32_t quant,;                                 const uint32_t dcscalar,;                                 const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------  ; this is the same as dequant_inter_mmx, except that we're  ; saturating using 'pminsw' (saves 2 cycles/loop => ~5% faster)ALIGN 16dequant_h263_intra_xmm:  mov edx, [esp+ 4]                 ; data  mov ecx, [esp+ 8]                 ; coeff  mov eax, [esp+12]                 ; quant  movq mm6, [mmx_add + eax*8 - 8]   ; quant or quant-1  movq mm7, [mmx_mul + eax*8 - 8]   ; 2*quant  mov eax, -16ALIGN 16.loop  movq mm0, [ecx+8*eax+8*16]        ; c  = coeff[i]  movq mm3, [ecx+8*eax+8*16 + 8]    ; c' = coeff[i+1]  pxor mm1, mm1  pxor mm4, mm4  pcmpgtw mm1, mm0                  ; sign(c)  pcmpgtw mm4, mm3                  ; sign(c')  pxor mm2, mm2  pxor mm5, mm5  pcmpeqw mm2, mm0                  ; c is zero  pcmpeqw mm5, mm3                  ; c' is zero  pandn mm2, mm6                    ; offset = isZero ? 0 : quant_add  pandn mm5, mm6  pxor mm0, mm1                     ; negate if negative  pxor mm3, mm4                     ; negate if negative  psubw mm0, mm1  psubw mm3, mm4  pmullw mm0, mm7                   ; *= 2Q  pmullw mm3, mm7                   ; *= 2Q  paddw mm0, mm2                    ; + offset  paddw mm3, mm5                    ; + offset  paddw mm0, mm1                    ; negate back  paddw mm3, mm4                    ; negate back   ; saturates to +2047  movq mm2, [mmx_2047]  pminsw mm0, mm2  add eax, 2  pminsw mm3, mm2  pxor mm0, mm1  pxor mm3, mm4  movq [edx + 8*eax + 8*16   - 2*8], mm0  movq [edx + 8*eax + 8*16+8 - 2*8], mm3  jnz near .loop    ; deal with DC  movd mm0, [ecx]  pmullw mm0, [esp+16]    ; dcscalar  movq mm2, [mmx_32767_minus_2047]  paddsw mm0, mm2  psubsw mm0, mm2  movq mm2, [mmx_32768_minus_2048]  psubsw mm0, mm2  paddsw mm0, mm2  movd eax, mm0  mov [edx], ax  xor eax, eax  ret;-----------------------------------------------------------------------------;; uint32_t dequant_h263_intra_sse2(int16_t *data,;                                  const int16_t const *coeff,;                                  const uint32_t quant,;                                  const uint32_t dcscalar,;                                  const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------ALIGN 16dequant_h263_intra_sse2:  mov edx, [esp+ 4]        ; data  mov ecx, [esp+ 8]        ; coeff  mov eax, [esp+12]        ; quant  movq mm6, [mmx_add + eax * 8 - 8]  movq mm7, [mmx_mul + eax * 8 - 8]  movq2dq xmm6, mm6  movq2dq xmm7, mm7  movlhps xmm6, xmm6  movlhps xmm7, xmm7  mov eax, -16ALIGN 16.loop  movdqa xmm0, [ecx + 8*16 + 8*eax]      ; c  = coeff[i]  movdqa xmm3, [ecx + 8*16 + 8*eax+ 16]  pxor xmm1, xmm1  pxor xmm4, xmm4  pcmpgtw xmm1, xmm0    ; sign(c)  pcmpgtw xmm4, xmm3  pxor xmm2, xmm2  pxor xmm5, xmm5  pcmpeqw xmm2, xmm0    ; c is zero  pcmpeqw xmm5, xmm3  pandn xmm2, xmm6      ; offset = isZero ? 0 : quant_add  pandn xmm5, xmm6  pxor xmm0, xmm1       ; negate if negative  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  pmullw xmm0, xmm7     ; *= 2Q  pmullw xmm3, xmm7  paddw xmm0, xmm2      ; + offset  paddw xmm3, xmm5  paddw xmm0, xmm1      ; negate back  paddw xmm3, xmm4    ; saturates to +2047  movdqa xmm2, [sse2_2047]  pminsw xmm0, xmm2  add eax, 4  pminsw xmm3, xmm2  pxor xmm0, xmm1  pxor xmm3, xmm4  movdqa [edx + 8*16 - 8*4 + 8*eax], xmm0  movdqa [edx + 8*16 - 8*4 + 8*eax + 16], xmm3  jnz near .loop ; deal with DC  movd mm0, [ecx]  pmullw mm0, [esp+16]    ; dcscalar  movq mm2, [mmx_32767_minus_2047]  paddsw mm0, mm2  psubsw mm0, mm2  movq mm2, [mmx_32768_minus_2048]  psubsw mm0, mm2  paddsw mm0, mm2  movd eax, mm0  mov [edx], ax  xor eax, eax  ret;-----------------------------------------------------------------------------;; uint32t dequant_h263_inter_mmx(int16_t * data,;                                const int16_t * const coeff,;                                const uint32_t quant,;                                const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------ALIGN 16dequant_h263_inter_mmx:  mov edx, [esp+ 4]        ; data  mov ecx, [esp+ 8]        ; coeff  mov eax, [esp+12]        ; quant  movq mm6, [mmx_add + eax*8 - 8]  ; quant or quant-1  movq mm7, [mmx_mul + eax*8 - 8]  ; 2*quant  mov eax, -16ALIGN 16.loop  movq mm0, [ecx+8*eax+8*16]      ; c  = coeff[i]  movq mm3, [ecx+8*eax+8*16 + 8]  ; c' = coeff[i+1]  pxor mm1, mm1  pxor mm4, mm4  pcmpgtw mm1, mm0  ; sign(c)  pcmpgtw mm4, mm3  ; sign(c')  pxor mm2, mm2  pxor mm5, mm5  pcmpeqw mm2, mm0  ; c is zero  pcmpeqw mm5, mm3  ; c' is zero  pandn mm2, mm6    ; offset = isZero ? 0 : quant_add  pandn mm5, mm6  pxor mm0, mm1     ; negate if negative  pxor mm3, mm4     ; negate if negative  psubw mm0, mm1  psubw mm3, mm4  pmullw mm0, mm7   ; *= 2Q  pmullw mm3, mm7   ; *= 2Q  paddw mm0, mm2    ; + offset  paddw mm3, mm5    ; + offset  paddw mm0, mm1    ; negate back  paddw mm3, mm4    ; negate back  ; saturates to +2047  movq mm2, [mmx_32767_minus_2047]  add eax, 2  paddsw mm0, mm2  paddsw mm3, mm2  psubsw mm0, mm2  psubsw mm3, mm2  pxor mm0, mm1  pxor mm3, mm4  movq [edx + 8*eax + 8*16   - 2*8], mm0  movq [edx + 8*eax + 8*16+8 - 2*8], mm3  jnz near .loop  xor eax, eax  ret;-----------------------------------------------------------------------------;; uint32_t dequant_h263_inter_xmm(int16_t * data,;                                 const int16_t * const coeff,;                                 const uint32_t quant,;                                 const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------  ; this is the same as dequant_inter_mmx,  ; except that we're saturating using 'pminsw' (saves 2 cycles/loop)ALIGN 16dequant_h263_inter_xmm:  mov edx, [esp+ 4]        ; data  mov ecx, [esp+ 8]        ; coeff  mov eax, [esp+12]        ; quant  movq mm6, [mmx_add + eax*8 - 8]  ; quant or quant-1  movq mm7, [mmx_mul + eax*8 - 8]  ; 2*quant  mov eax, -16ALIGN 16.loop  movq mm0, [ecx+8*eax+8*16]      ; c  = coeff[i]  movq mm3, [ecx+8*eax+8*16 + 8]  ; c' = coeff[i+1]  pxor mm1, mm1  pxor mm4, mm4  pcmpgtw mm1, mm0  ; sign(c)  pcmpgtw mm4, mm3  ; sign(c')  pxor mm2, mm2  pxor mm5, mm5  pcmpeqw mm2, mm0  ; c is zero  pcmpeqw mm5, mm3  ; c' is zero  pandn mm2, mm6    ; offset = isZero ? 0 : quant_add  pandn mm5, mm6  pxor mm0, mm1     ; negate if negative  pxor mm3, mm4     ; negate if negative  psubw mm0, mm1  psubw mm3, mm4  pmullw mm0, mm7   ; *= 2Q  pmullw mm3, mm7   ; *= 2Q  paddw mm0, mm2    ; + offset  paddw mm3, mm5    ; + offset  paddw mm0, mm1    ; start restoring sign  paddw mm3, mm4    ; start restoring sign                            ; saturates to +2047  movq mm2, [mmx_2047]  pminsw mm0, mm2  add eax, 2  pminsw mm3, mm2  pxor mm0, mm1 ; finish restoring sign  pxor mm3, mm4 ; finish restoring sign  movq [edx + 8*eax + 8*16   - 2*8], mm0  movq [edx + 8*eax + 8*16+8 - 2*8], mm3  jnz near .loop  xor eax, eax  ret;-----------------------------------------------------------------------------;; uint32_t dequant_h263_inter_sse2(int16_t * data,;                                  const int16_t * const coeff,;                                  const uint32_t quant,;                                  const uint16_t *mpeg_matrices);;;-----------------------------------------------------------------------------ALIGN 16dequant_h263_inter_sse2:  mov edx, [esp + 4]    ; data  mov ecx, [esp + 8]    ; coeff  mov eax, [esp + 12]   ; quant  movq mm6, [mmx_add + eax * 8 - 8]  movq mm7, [mmx_mul + eax * 8 - 8]  movq2dq xmm6, mm6  movq2dq xmm7, mm7  movlhps xmm6, xmm6  movlhps xmm7, xmm7  mov eax, -16ALIGN 16.loop  movdqa xmm0, [ecx + 8*16 + 8*eax]  ; c  = coeff[i]  movdqa xmm3, [ecx + 8*16 + 8*eax + 16]  pxor xmm1, xmm1  pxor xmm4, xmm4  pcmpgtw xmm1, xmm0    ; sign(c)  pcmpgtw xmm4, xmm3  pxor xmm2, xmm2  pxor xmm5, xmm5  pcmpeqw xmm2, xmm0    ; c is zero  pcmpeqw xmm5, xmm3  pandn xmm2, xmm6  pandn xmm5, xmm6  pxor xmm0, xmm1       ; negate if negative  pxor xmm3, xmm4  psubw xmm0, xmm1  psubw xmm3, xmm4  pmullw xmm0, xmm7     ; *= 2Q  pmullw xmm3, xmm7  paddw xmm0, xmm2      ; + offset  paddw xmm3, xmm5  paddw xmm0, xmm1      ; start restoring sign  paddw xmm3, xmm4 ; saturates to +2047  movdqa xmm2, [sse2_2047]  pminsw xmm0, xmm2  add eax, 4  pminsw xmm3, xmm2  pxor xmm0, xmm1 ; finish restoring sign  pxor xmm3, xmm4  movdqa [edx + 8*16 - 8*4 + 8*eax], xmm0  movdqa [edx + 8*16 - 8*4 + 8*eax + 16], xmm3  jnz near .loop  xor eax, eax  ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合一区二区三区| 欧美精品一区二区三区四区| 久久9热精品视频| 亚洲天堂中文字幕| 久久老女人爱爱| 久久综合九色综合欧美就去吻| 精品三级在线看| 日韩免费性生活视频播放| 国产精品无人区| 人人狠狠综合久久亚洲| 91在线视频免费观看| 国产宾馆实践打屁股91| 国产精品996| 国产一区二区三区免费播放 | 国产精品免费人成网站| 六月婷婷色综合| 欧美性视频一区二区三区| bt欧美亚洲午夜电影天堂| 色综合久久久久网| 91网站黄www| 777色狠狠一区二区三区| 欧美日韩激情一区二区三区| 91精品国产综合久久福利软件| 日韩欧美在线1卡| 国产精品色哟哟网站| 国产乱码字幕精品高清av| 日韩免费一区二区三区在线播放| 午夜激情一区二区| 国产毛片精品视频| 精品国产网站在线观看| 免费在线视频一区| 91麻豆精品国产91| 免费人成精品欧美精品| 这里只有精品免费| 日本亚洲一区二区| 91小视频在线| 555夜色666亚洲国产免| 国产亚洲视频系列| 亚洲日本免费电影| 91蝌蚪porny| 亚洲综合一区二区| 精品综合久久久久久8888| 欧美一区二区观看视频| 久久精品国产网站| 国产欧美日韩在线观看| 视频一区中文字幕| 色老综合老女人久久久| 久久久久久久久久久久久久久99| 精品一区二区三区香蕉蜜桃 | 欧美国产综合一区二区| 亚洲第一狼人社区| 91啪亚洲精品| 亚洲国产婷婷综合在线精品| 成人性生交大片免费看中文| 91精选在线观看| 国产主播一区二区三区| 欧美自拍偷拍一区| 亚洲美女屁股眼交| 成人午夜大片免费观看| 亚洲日本丝袜连裤袜办公室| 91精品国产综合久久精品图片 | 亚洲成人激情社区| 欧美大片一区二区三区| 国产xxx精品视频大全| 一区二区三区四区乱视频| 风间由美性色一区二区三区| 亚洲精品写真福利| 91精品办公室少妇高潮对白| 午夜视频一区在线观看| 国产目拍亚洲精品99久久精品| 色综合久久久网| 久久99精品久久只有精品| 亚洲人成7777| 久久奇米777| 欧美色男人天堂| 亚洲与欧洲av电影| 精品粉嫩超白一线天av| 色婷婷狠狠综合| 国产一区啦啦啦在线观看| 一区二区三区不卡视频| 久久综合国产精品| 51久久夜色精品国产麻豆| 成人av网站在线观看| 亚洲精品五月天| 国产亚洲午夜高清国产拍精品| 欧美色窝79yyyycom| 成人app软件下载大全免费| 免费高清在线一区| 亚洲aⅴ怡春院| 亚洲视频一二三| 久久精品亚洲一区二区三区浴池| 精品视频资源站| 色综合久久久久久久久| 国产成人精品一区二| 亚洲人成人一区二区在线观看 | 亚洲综合图片区| 国产精品久久久久桃色tv| 91久久免费观看| 国产精品 欧美精品| 久久精品国产精品青草| 香蕉加勒比综合久久| 亚洲黄色片在线观看| 亚洲欧洲性图库| 欧美日韩精品福利| 色婷婷综合久色| 99视频精品免费视频| 懂色一区二区三区免费观看| 国产在线精品免费av| 麻豆视频观看网址久久| 国产精品久久久久久福利一牛影视| 久久色视频免费观看| 2017欧美狠狠色| 久久一区二区三区国产精品| 精品福利av导航| 久久蜜臀精品av| 国产日本欧美一区二区| 国产亚洲一区字幕| 久久久久免费观看| 国产女主播视频一区二区| 国产精品久久久久久久久图文区| 国产欧美一区二区在线观看| 国产精品久线在线观看| 中文字幕一区二区三区精华液| 中文字幕日韩av资源站| 亚洲三级久久久| 亚洲精品中文在线观看| 亚洲成av人综合在线观看| 日韩国产一二三区| 久久97超碰国产精品超碰| 国产一区二区成人久久免费影院 | 青青草国产成人av片免费| 全国精品久久少妇| 国产一区二区剧情av在线| 国产一区二区导航在线播放| 99视频有精品| 欧美区一区二区三区| www国产成人免费观看视频 深夜成人网| 久久久不卡网国产精品二区 | 成人黄动漫网站免费app| 色婷婷亚洲婷婷| 欧美大片在线观看| 亚洲国产精品成人久久综合一区| 亚洲青青青在线视频| 日本视频中文字幕一区二区三区| 精品一区二区免费在线观看| 成人午夜在线视频| 欧美色综合久久| 国产午夜精品美女毛片视频| 亚洲免费观看高清完整版在线观看 | 午夜精品一区二区三区电影天堂| 日本视频一区二区| 99免费精品视频| 欧美日韩mp4| 久久精品视频在线看| 亚洲一区二区欧美日韩| 国产精品一区二区x88av| 色欧美日韩亚洲| 久久夜色精品国产噜噜av| 亚洲一区视频在线| 国产91高潮流白浆在线麻豆 | 亚洲宅男天堂在线观看无病毒| 久久电影网站中文字幕| 色婷婷久久一区二区三区麻豆| 亚洲精品一区二区三区影院 | 欧美国产乱子伦| 视频在线在亚洲| 91影院在线免费观看| www国产成人| 青椒成人免费视频| 欧美在线看片a免费观看| 中文字幕精品在线不卡| 免费成人av资源网| 欧美性猛片aaaaaaa做受| 久久九九久久九九| 久久精品99国产精品| 欧美性受极品xxxx喷水| 亚洲欧洲在线观看av| 国产成人av一区二区三区在线| 日韩欧美视频一区| 日韩福利电影在线| 欧美性猛交xxxx乱大交退制版| 国产精品久久久久影院亚瑟| 国产自产视频一区二区三区| 欧美精品在线观看播放| 欧美xxx久久| 日韩成人免费电影| 欧美性大战久久久久久久蜜臀 | 精品国一区二区三区| 视频一区二区欧美| 欧美欧美欧美欧美首页| 一区二区三区国产| 欧美专区日韩专区| 亚洲精品美国一| 色嗨嗨av一区二区三区| 中文字幕日韩精品一区 | 亚洲视频一区在线| 972aa.com艺术欧美| 一区在线中文字幕| 91传媒视频在线播放| 亚洲激情一二三区|