mov eax, srcx; // src pointer (Y plane)
mov edx, srch
mov ebx, y
mov ecx, luma
mul edx
add eax, ebx; // y_stop
mov edx, ecx; // current dest pointer
copy_luma:
cmp eax, ebx
je transform_chroma
mov esi, ebx
add esi, srcx
copy_luma_line:
cmp esi, ebx
je finish_luma_line
movdqa xmm0, [ebx]
movntdq [edx], xmm0;
add edx, 16
add ebx, 16
finish_luma_line:
jmp copy_luma_line |