Merge commit 'e4128c08d786eb5513578e8c6063671ba03226ab'
authorClément Bœsch <u@pkh.me>
Thu, 23 Mar 2017 11:03:25 +0000 (12:03 +0100)
committerClément Bœsch <u@pkh.me>
Thu, 23 Mar 2017 11:03:25 +0000 (12:03 +0100)
* commit 'e4128c08d786eb5513578e8c6063671ba03226ab':
  Revert "hevc: x86: Refactor IDCT macro declarations"

So apparently this was technically correct be reverted due to
authorship. Reverted as well in FFmpeg for now...

See http://lists.libav.org/pipermail/libav-devel/2016-October/079560.html

Merged-by: Clément Bœsch <u@pkh.me>
1  2 
libavcodec/x86/hevc_idct.asm

@@@ -3,28 -3,28 +3,28 @@@
  ;* Copyright (c) 2014 Pierre-Edouard LEPERE
  ;* Copyright (c) 2014 James Almer
  ;*
 -;* 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 .text
 +SECTION .text
  
 -; void ff_hevc_idctHxW_dc_{8,10}_<opt>(int16_t *coeffs)
 +; void ff_hevc_idct_HxW_dc_{8,10}_<opt>(int16_t *coeffs)
  ; %1 = HxW
  ; %2 = number of loops
  ; %3 = bitdepth
@@@ -74,23 -74,34 +74,50 @@@ cglobal hevc_idct_%1x%1_dc_%2, 1, 2, 1
      RET
  %endmacro
  
- %macro INIT_IDCT_DC 1
+ ; 8-bit
  INIT_MMX mmxext
- IDCT_DC_NL  4,      %1
- IDCT_DC     8,  2,  %1
+ IDCT_DC_NL  4,      8
+ IDCT_DC     8,  2,  8
  
  INIT_XMM sse2
- IDCT_DC_NL  8,      %1
- IDCT_DC    16,  4,  %1
- IDCT_DC    32, 16,  %1
+ IDCT_DC_NL  8,      8
+ IDCT_DC    16,  4,  8
+ IDCT_DC    32, 16,  8
  
  %if HAVE_AVX2_EXTERNAL
  INIT_YMM avx2
- IDCT_DC    16,  2,  %1
- IDCT_DC    32,  8,  %1
+ IDCT_DC    16,  2,  8
+ IDCT_DC    32,  8,  8
  %endif ;HAVE_AVX2_EXTERNAL
- %endmacro
  
- INIT_IDCT_DC  8
- INIT_IDCT_DC 10
- INIT_IDCT_DC 12
+ ; 10-bit
+ INIT_MMX mmxext
+ IDCT_DC_NL  4,     10
+ IDCT_DC     8,  2, 10
+ INIT_XMM sse2
+ IDCT_DC_NL  8,     10
+ IDCT_DC    16,  4, 10
+ IDCT_DC    32, 16, 10
+ %if HAVE_AVX2_EXTERNAL
+ INIT_YMM avx2
+ IDCT_DC    16,  2, 10
+ IDCT_DC    32,  8, 10
+ %endif ;HAVE_AVX2_EXTERNAL
++
++; 12-bit
++INIT_MMX mmxext
++IDCT_DC_NL  4,     12
++IDCT_DC     8,  2, 12
++
++INIT_XMM sse2
++IDCT_DC_NL  8,     12
++IDCT_DC    16,  4, 12
++IDCT_DC    32, 16, 12
++
++%if HAVE_AVX2_EXTERNAL
++INIT_YMM avx2
++IDCT_DC    16,  2, 12
++IDCT_DC    32,  8, 12
++%endif ;HAVE_AVX2_EXTERNAL