;*****************************************************************************
;* x86-optimized functions for scene SAD
;*
;* Copyright (C) 2018 Marton Balint
;*
;* Based on vf_blend.asm, Copyright (C) 2015 Paul B Mahol
;*
;* This file is part of FFmpeg.
;*
;* FFmpeg is free software; you can redistribute it and/or
;* modify it under the terms of the GNU Lesser General Public
;* License as published by the Free Software Foundation; either
;* version 2.1 of the License, or (at your option) any later version.
;*
;* FFmpeg is distributed in the hope that it will be useful,
;* but WITHOUT ANY WARRANTY; without even the implied warranty of
;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;* Lesser General Public License for more details.
;*
;* You should have received a copy of the GNU Lesser General Public
;* License along with FFmpeg; if not, write to the Free Software
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
;******************************************************************************

%include "libavutil/x86/x86util.asm"

SECTION .text


%macro SAD_INIT 0
cglobal scene_sad, 6, 7, 2, src1, stride1, src2, stride2, width, end, x
    add     src1q, widthq
    add     src2q, widthq
    neg    widthq
    pxor       m1, m1
%endmacro


%macro SAD_LOOP 0
.nextrow:
    mov        xq, widthq

    .loop:
        movu            m0, [src1q + xq]
        psadbw          m0, [src2q + xq]
        paddq           m1, m0
        add             xq, mmsize
    jl .loop
    add     src1q, stride1q
    add     src2q, stride2q
    sub      endd, 1
    jg .nextrow

    mov         r0q, r6mp
    movu      [r0q], m1      ; sum
REP_RET
%endmacro


%macro SAD_FRAMES 0
    SAD_INIT
    SAD_LOOP
%endmacro


INIT_XMM sse2
SAD_FRAMES

%if HAVE_AVX2_EXTERNAL

INIT_YMM avx2
SAD_FRAMES

%endif
