annotate ffmpeg/libavresample/x86/util.asm @ 13:844d341cf643 tip

Back up before ISMIR
author Yading Song <yading.song@eecs.qmul.ac.uk>
date Thu, 31 Oct 2013 13:17:06 +0000
parents f445c3017523
children
rev   line source
yading@11 1 ;******************************************************************************
yading@11 2 ;* x86 utility macros for libavresample
yading@11 3 ;* Copyright (c) 2012 Justin Ruggles <justin.ruggles@gmail.com>
yading@11 4 ;*
yading@11 5 ;* This file is part of Libav.
yading@11 6 ;*
yading@11 7 ;* Libav is free software; you can redistribute it and/or
yading@11 8 ;* modify it under the terms of the GNU Lesser General Public
yading@11 9 ;* License as published by the Free Software Foundation; either
yading@11 10 ;* version 2.1 of the License, or (at your option) any later version.
yading@11 11 ;*
yading@11 12 ;* Libav is distributed in the hope that it will be useful,
yading@11 13 ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
yading@11 14 ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
yading@11 15 ;* Lesser General Public License for more details.
yading@11 16 ;*
yading@11 17 ;* You should have received a copy of the GNU Lesser General Public
yading@11 18 ;* License along with Libav; if not, write to the Free Software
yading@11 19 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
yading@11 20 ;******************************************************************************
yading@11 21
yading@11 22 %macro S16_TO_S32_SX 2 ; src/low dst, high dst
yading@11 23 %if cpuflag(sse4)
yading@11 24 pmovsxwd m%2, m%1
yading@11 25 psrldq m%1, 8
yading@11 26 pmovsxwd m%1, m%1
yading@11 27 SWAP %1, %2
yading@11 28 %else
yading@11 29 mova m%2, m%1
yading@11 30 punpckhwd m%2, m%2
yading@11 31 punpcklwd m%1, m%1
yading@11 32 psrad m%2, 16
yading@11 33 psrad m%1, 16
yading@11 34 %endif
yading@11 35 %endmacro
yading@11 36
yading@11 37 %macro DEINT2_PS 3 ; src0/even dst, src1/odd dst, temp
yading@11 38 shufps m%3, m%1, m%2, q3131
yading@11 39 shufps m%1, m%2, q2020
yading@11 40 SWAP %2,%3
yading@11 41 %endmacro