fix ANSI C violation w.r.t. const arrays
[platform/upstream/flac.git] / src / libFLAC / ia32 / lpc_asm.nasm
index 1ff0e86..81a37b4 100644 (file)
@@ -1,20 +1,32 @@
-; libFLAC - Free Lossless Audio Codec library
-; Copyright (C) 2001,2002  Josh Coalson
+;  libFLAC - Free Lossless Audio Codec library
+;  Copyright (C) 2001,2002,2003,2004,2005  Josh Coalson
 ;
-; This library is free software; you can redistribute it and/or
-; modify it under the terms of the GNU Library General Public
-; License as published by the Free Software Foundation; either
-; version 2 of the License, or (at your option) any later version.
+;  Redistribution and use in source and binary forms, with or without
+;  modification, are permitted provided that the following conditions
+;  are met:
 ;
-; This library 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
-; Library General Public License for more details.
+;  - Redistributions of source code must retain the above copyright
+;  notice, this list of conditions and the following disclaimer.
 ;
-; You should have received a copy of the GNU Library General Public
-; License along with this library; if not, write to the
-; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-; Boston, MA  02111-1307, USA.
+;  - Redistributions in binary form must reproduce the above copyright
+;  notice, this list of conditions and the following disclaimer in the
+;  documentation and/or other materials provided with the distribution.
+;
+;  - Neither the name of the Xiph.org Foundation nor the names of its
+;  contributors may be used to endorse or promote products derived from
+;  this software without specific prior written permission.
+;
+;  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+;  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+;  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+;  A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR
+;  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+;  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+;  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+;  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+;  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+;  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 %include "nasm.h"
 
@@ -619,6 +631,8 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
        mov     esi, [ebp + 20]
        mov     edi, [ebp + 24]
        mov     edx, [ebp + 28]
+       inc     edx
+       and     edx, byte -2
        mov     eax, edx
        neg     eax
        and     esp, byte -8
@@ -639,7 +653,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
        cmp     esi, ecx
        mov     eax, esi
        ja      short .loop2_pre
-       align   16              ;8 nops
+       align   16              ;4 nops
 .loop1_i:
        movd    mm0, [eax]
        movd    mm2, [eax + 4]
@@ -706,6 +720,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
        jnz     short .loop2_i
 
        mov     edi, [ebp + 32]
+       mov     edx, [ebp + 28]
 .loop3:
        dec     edx
        mov     eax, [esp + 4 * edx]
@@ -721,7 +736,7 @@ cident FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow
        pop     ebp
        ret
 
-;void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 data[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[])
+;void FLAC__lpc_compute_residual_from_qlp_coefficients(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[])
 ;
 ;      for(i = 0; i < data_len; i++) {
 ;              sum = 0;