interpolate_sse2.asm
来自「T264是中国的视频编码自由组织合力开发的264编解码程序」· 汇编 代码 · 共 628 行 · 第 1/2 页
ASM
628 行
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_4x8_mmx(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_4x8_mmx
T264_pia_u_4x8_mmx
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
pia4b_mmx esi,ebx,eax,edx,edi,ecx
EMMS
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_8x4_sse(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_8x4_sse
T264_pia_u_8x4_sse
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia8b_sse esi , ebx , eax , edx , edi , ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_8x8_sse(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_8x8_sse
T264_pia_u_8x8_sse
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_8x16_sse(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_8x16_sse
T264_pia_u_8x16_sse
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pia8b_sse esi,ebx,eax,edx,edi,ecx
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_16x8_sse(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_16x8_sse
T264_pia_u_16x8_sse
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_16x16_sse(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_16x16_sse
T264_pia_u_16x16_sse
push ebx
push esi
push edi
mov esi, [esp + 4 + 12] ; p1
mov ebx, [esp + 8 + 12] ; p2
mov eax, [esp + 12 + 12] ;
mov edx, [esp + 16 + 12] ;
mov edi, [esp + 20 + 12] ;
mov ecx, [esp + 24 + 12] ;
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pia16b_sse esi,ebx,eax,edx,edi,ecx
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_16x16_sse2(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_16x16_sse2
T264_pia_u_16x16_sse2
push ebx
push esi
push edi
mov eax, [esp + 4 + 12] ; p1
mov ecx, [esp + 8 + 12] ; p2
mov ebx, [esp + 12+ 12] ; p1_stride
mov edx, [esp + 16+ 12] ; p2_stride
mov esi, [esp + 20+ 12] ; dst
mov edi, [esp + 24+ 12] ; dst_stride
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
pop edi
pop esi
pop ebx
ret
;======================================================
;
; void
; T264_pia_u_16x8_sse2(uint8_t* p1, uint8_t* p2, int32_t p1_stride, int32_t p2_stride, uint8_t* dst, int32_t dst_stride);
;
;======================================================
align 16
cglobal T264_pia_u_16x8_sse2
T264_pia_u_16x8_sse2
push ebx
push esi
push edi
mov eax, [esp + 4 + 12] ; p1
mov ecx, [esp + 8 + 12] ; p2
mov ebx, [esp + 12+ 12] ; p1_stride
mov edx, [esp + 16+ 12] ; p2_stride
mov esi, [esp + 20+ 12] ; dst
mov edi, [esp + 24+ 12] ; dst_stride
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
new_pia16b_sse2
pop edi
pop esi
pop ebx
ret
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?