Merge commit '6eef263aca281fb582e1fa3d841ac20ef747a252'
authorJames Almer <jamrial@gmail.com>
Thu, 12 Oct 2017 16:48:08 +0000 (13:48 -0300)
committerJames Almer <jamrial@gmail.com>
Thu, 12 Oct 2017 16:48:35 +0000 (13:48 -0300)
* commit '6eef263aca281fb582e1fa3d841ac20ef747a252':
  x86: Merge align directives into SECTION_RODATA declarations where possible

Merged-by: James Almer <jamrial@gmail.com>
1  2 
libavcodec/x86/dct32.asm
libavcodec/x86/imdct36.asm
libavcodec/x86/rv40dsp.asm

diff --combined libavcodec/x86/dct32.asm
index 4e657b54605489345c8e951e4cfbc9d643ffbbcc,cfd5f52ba817cb8440363ec212f44452a72378fd..21e2f21c97b95963c5222b74d74ea90c0007bb46
@@@ -2,20 -2,20 +2,20 @@@
  ;* 32 point SSE-optimized DCT transform
  ;* Copyright (c) 2010 Vitor Sessak
  ;*
 -;* This file is part of Libav.
 +;* This file is part of FFmpeg.
  ;*
 -;* Libav is free software; you can redistribute it and/or
 +;* 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.
  ;*
 -;* Libav is distributed in the hope that it will be useful,
 +;* 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 Libav; if not, write to the Free Software
 +;* License along with FFmpeg; if not, write to the Free Software
  ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  ;******************************************************************************
  
@@@ -23,7 -23,8 +23,8 @@@
  
  SECTION_RODATA 32
  
- align 32
+ ps_p1p1m1m1: dd 0, 0, 0x80000000, 0x80000000, 0, 0, 0x80000000, 0x80000000
  ps_cos_vec: dd   0.500603,  0.505471,  0.515447,  0.531043
              dd   0.553104,  0.582935,  0.622504,  0.674808
              dd -10.190008, -3.407609, -2.057781, -1.484165
@@@ -38,9 -39,6 +39,6 @@@
              dd   1.000000,  0.707107,  1.000000, -0.707107
              dd   0.707107,  0.707107,  0.707107,  0.707107
  
- align 32
- ps_p1p1m1m1: dd 0, 0, 0x80000000, 0x80000000, 0, 0, 0x80000000, 0x80000000
  %macro BUTTERFLY 4
      subps  %4, %1, %2
      addps  %2, %2, %1
  
  INIT_YMM avx
  SECTION .text
 +%if HAVE_AVX_EXTERNAL
  ; void ff_dct32_float_avx(FFTSample *out, const FFTSample *in)
  cglobal dct32_float, 2,3,8, out, in, tmp
      ; pass 1
  INIT_XMM
      PASS6_AND_PERMUTE
      RET
 +%endif
  
  %if ARCH_X86_64
  %define SPILL SWAP
index 960eabdda5e2b63452654f22dd444f1b2a00dbe2,ddb71749a51d61136cae4d4552b14c1d8729fef0..b386ab95fc1cedfd03a58cfd75be9792f55723ce
@@@ -2,28 -2,27 +2,27 @@@
  ;* 36 point SSE-optimized IMDCT transform
  ;* Copyright (c) 2011 Vitor Sessak
  ;*
 -;* This file is part of Libav.
 +;* This file is part of FFmpeg.
  ;*
 -;* Libav is free software; you can redistribute it and/or
 +;* 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.
  ;*
 -;* Libav is distributed in the hope that it will be useful,
 +;* 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 Libav; if not, write to the Free Software
 +;* 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_RODATA 16
 +SECTION_RODATA
  
- align 16
  ps_mask:  dd 0, ~0, ~0, ~0
  ps_mask2: dd 0, ~0,  0, ~0
  ps_mask3: dd 0,  0,  0, ~0
@@@ -50,7 -49,7 +49,7 @@@ ps_cosh_sse3:  dd 1.0, -0.5019099187716
                 dd 1.0, -0.51763809020504152469,  1.0, -1.93185165257813657349
                 dd 1.0, -0.55168895948124587824, -1.0,  1.18310079157624925896
                 dd 1.0, -0.61038729438072803416, -1.0,  0.87172339781054900991
 -               dd 1.0,  0.70710678118654752439,  0.0,  0.0
 +               dd 1.0, -0.70710678118654752439,  0.0,  0.0
  
  costabs:  times 4 dd  0.98480773
            times 4 dd  0.93969262
@@@ -129,26 -128,7 +128,26 @@@ SECTION .tex
  %endif
  %endmacro
  
 +%macro BUTTERF2 3
 +%if cpuflag(sse3)
 +    mulps    %1, %1, [ps_cosh_sse3 + %3]
 +    PSHUFD   %2, %1, 0xe1
 +    addsubps %1, %1, %2
 +%else
 +    mulps    %1, [ps_cosh + %3]
 +    PSHUFD   %2, %1, 0xe1
 +    xorps    %1, [ps_p1m1p1m1]
 +    addps    %1, %2
 +%endif
 +%endmacro
 +
  %macro STORE 4
 +%if cpuflag(sse4)
 +    movss     [%3       ], %1
 +    extractps dword [%3 +   %4], %1, 1
 +    extractps dword [%3 + 2*%4], %1, 2
 +    extractps dword [%3 + 3*%4], %1, 3
 +%else
      movhlps %2, %1
      movss   [%3       ], %1
      movss   [%3 + 2*%4], %2
      movss   [%3 +   %4], %1
      movhlps %2, %1
      movss   [%3 + 3*%4], %2
 +%endif
  %endmacro
  
  %macro LOAD 4
@@@ -299,7 -278,11 +298,7 @@@ cglobal imdct36_float, 4,4,9, out, buf
      BUTTERF  m7, m2, 16
      BUTTERF  m3, m6, 32
      BUTTERF  m4, m1, 48
 -
 -    mulps   m5, m5, [ps_cosh + 64]
 -    PSHUFD  m1, m5, 0xe1
 -    xorps   m5, m5, [ps_p1m1p1m1]
 -    addps   m5, m5, m1
 +    BUTTERF2 m5, m1, 64
  
      ; permutates:
      ; m0    0  1  2  3     =>     2  6 10 14   m1
      RET
  %endmacro
  
 +%if ARCH_X86_32
  INIT_XMM sse
  DEFINE_IMDCT
 +%endif
  
  INIT_XMM sse2
  DEFINE_IMDCT
@@@ -388,10 -369,8 +387,10 @@@ DEFINE_IMDC
  INIT_XMM ssse3
  DEFINE_IMDCT
  
 +%if HAVE_AVX_EXTERNAL
  INIT_XMM avx
  DEFINE_IMDCT
 +%endif
  
  INIT_XMM sse
  
@@@ -736,7 -715,5 +735,7 @@@ cglobal four_imdct36_float, 5,5,16, out
  INIT_XMM sse
  DEFINE_FOUR_IMDCT
  
 +%if HAVE_AVX_EXTERNAL
  INIT_XMM avx
  DEFINE_FOUR_IMDCT
 +%endif
index d0c3af0f8d47038b23f8a30c7e9553976bdf5c12,4949842e8f13ab13b41cfd6dcee5a784a0abcc8e..bcad1aee80d04509cd0cea19b367c3d22b6e8d18
@@@ -4,28 -4,27 +4,27 @@@
  ;* Copyright (c) 2010 Fiona Glaser <fiona@x264.com>
  ;* Copyright (C) 2012 Christophe Gisquet <christophe.gisquet@gmail.com>
  ;*
 -;* This file is part of Libav.
 +;* This file is part of FFmpeg.
  ;*
 -;* Libav is free software; you can redistribute it and/or
 +;* 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.
  ;*
 -;* Libav is distributed in the hope that it will be useful,
 +;* 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 Libav; if not, write to the Free Software
 +;* 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_RODATA 16
 +SECTION_RODATA
  
- align 16
  pw_1024:   times 8 dw 1 << (16 - 6) ; pw_1024
  
  sixtap_filter_hb_m:  times 8 db   1, -5