diff options
Diffstat (limited to 'libavresample/x86')
-rw-r--r-- | libavresample/x86/audio_convert.asm | 42 | ||||
-rw-r--r-- | libavresample/x86/audio_convert_init.c | 8 | ||||
-rw-r--r-- | libavresample/x86/audio_mix.asm | 16 | ||||
-rw-r--r-- | libavresample/x86/audio_mix_init.c | 8 | ||||
-rw-r--r-- | libavresample/x86/dither.asm | 8 | ||||
-rw-r--r-- | libavresample/x86/dither_init.c | 8 | ||||
-rw-r--r-- | libavresample/x86/util.asm | 8 | ||||
-rw-r--r-- | libavresample/x86/w64xmmtest.c | 8 |
8 files changed, 74 insertions, 32 deletions
diff --git a/libavresample/x86/audio_convert.asm b/libavresample/x86/audio_convert.asm index 1af1429..3e21f26 100644 --- a/libavresample/x86/audio_convert.asm +++ b/libavresample/x86/audio_convert.asm @@ -3,20 +3,20 @@ ;* Copyright (c) 2008 Loren Merritt ;* Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 ;****************************************************************************** @@ -155,8 +155,10 @@ cglobal conv_s32_to_flt, 3,3,3, dst, src, len INIT_XMM sse2 CONV_S32_TO_FLT +%if HAVE_AVX_EXTERNAL INIT_YMM avx CONV_S32_TO_FLT +%endif ;------------------------------------------------------------------------------ ; void ff_conv_flt_to_s16(int16_t *dst, const float *src, int len); @@ -226,8 +228,10 @@ cglobal conv_flt_to_s32, 3,3,6, dst, src, len INIT_XMM sse2 CONV_FLT_TO_S32 +%if HAVE_AVX_EXTERNAL INIT_YMM avx CONV_FLT_TO_S32 +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16p_to_s16_2ch(int16_t *dst, int16_t *const *src, int len, @@ -261,8 +265,10 @@ cglobal conv_s16p_to_s16_2ch, 3,4,5, dst, src0, len, src1 INIT_XMM sse2 CONV_S16P_TO_S16_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16P_TO_S16_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16p_to_s16_6ch(int16_t *dst, int16_t *const *src, int len, @@ -382,8 +388,10 @@ INIT_XMM sse2 CONV_S16P_TO_S16_6CH INIT_XMM sse2slow CONV_S16P_TO_S16_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16P_TO_S16_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16p_to_flt_2ch(float *dst, int16_t *const *src, int len, @@ -429,8 +437,10 @@ cglobal conv_s16p_to_flt_2ch, 3,4,6, dst, src0, len, src1 INIT_XMM sse2 CONV_S16P_TO_FLT_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16P_TO_FLT_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16p_to_flt_6ch(float *dst, int16_t *const *src, int len, @@ -531,8 +541,10 @@ INIT_XMM sse2 CONV_S16P_TO_FLT_6CH INIT_XMM ssse3 CONV_S16P_TO_FLT_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16P_TO_FLT_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_fltp_to_s16_2ch(int16_t *dst, float *const *src, int len, @@ -685,8 +697,10 @@ INIT_MMX sse CONV_FLTP_TO_S16_6CH INIT_XMM sse2 CONV_FLTP_TO_S16_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLTP_TO_S16_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_fltp_to_flt_2ch(float *dst, float *const *src, int len, @@ -720,8 +734,10 @@ cglobal conv_fltp_to_flt_2ch, 3,4,5, dst, src0, len, src1 INIT_XMM sse CONV_FLTP_TO_FLT_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLTP_TO_FLT_2CH +%endif ;----------------------------------------------------------------------------- ; void ff_conv_fltp_to_flt_6ch(float *dst, float *const *src, int len, @@ -799,8 +815,10 @@ INIT_MMX mmx CONV_FLTP_TO_FLT_6CH INIT_XMM sse4 CONV_FLTP_TO_FLT_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLTP_TO_FLT_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16_to_s16p_2ch(int16_t *const *dst, int16_t *src, int len, @@ -846,8 +864,10 @@ INIT_XMM sse2 CONV_S16_TO_S16P_2CH INIT_XMM ssse3 CONV_S16_TO_S16P_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16_TO_S16P_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16_to_s16p_6ch(int16_t *const *dst, int16_t *src, int len, @@ -903,8 +923,10 @@ INIT_XMM sse2 CONV_S16_TO_S16P_6CH INIT_XMM ssse3 CONV_S16_TO_S16P_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16_TO_S16P_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16_to_fltp_2ch(float *const *dst, int16_t *src, int len, @@ -939,8 +961,10 @@ cglobal conv_s16_to_fltp_2ch, 3,4,5, dst0, src, len, dst1 INIT_XMM sse2 CONV_S16_TO_FLTP_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16_TO_FLTP_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_s16_to_fltp_6ch(float *const *dst, int16_t *src, int len, @@ -1018,8 +1042,10 @@ INIT_XMM ssse3 CONV_S16_TO_FLTP_6CH INIT_XMM sse4 CONV_S16_TO_FLTP_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_S16_TO_FLTP_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_flt_to_s16p_2ch(int16_t *const *dst, float *src, int len, @@ -1062,8 +1088,10 @@ cglobal conv_flt_to_s16p_2ch, 3,4,6, dst0, src, len, dst1 INIT_XMM sse2 CONV_FLT_TO_S16P_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLT_TO_S16P_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_flt_to_s16p_6ch(int16_t *const *dst, float *src, int len, @@ -1132,8 +1160,10 @@ INIT_XMM sse2 CONV_FLT_TO_S16P_6CH INIT_XMM ssse3 CONV_FLT_TO_S16P_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLT_TO_S16P_6CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_flt_to_fltp_2ch(float *const *dst, float *src, int len, @@ -1162,8 +1192,10 @@ cglobal conv_flt_to_fltp_2ch, 3,4,3, dst0, src, len, dst1 INIT_XMM sse CONV_FLT_TO_FLTP_2CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLT_TO_FLTP_2CH +%endif ;------------------------------------------------------------------------------ ; void ff_conv_flt_to_fltp_6ch(float *const *dst, float *src, int len, @@ -1223,5 +1255,7 @@ cglobal conv_flt_to_fltp_6ch, 2,7,7, dst, src, dst1, dst2, dst3, dst4, dst5 INIT_XMM sse2 CONV_FLT_TO_FLTP_6CH +%if HAVE_AVX_EXTERNAL INIT_XMM avx CONV_FLT_TO_FLTP_6CH +%endif diff --git a/libavresample/x86/audio_convert_init.c b/libavresample/x86/audio_convert_init.c index d85ca84..d88ddac 100644 --- a/libavresample/x86/audio_convert_init.c +++ b/libavresample/x86/audio_convert_init.c @@ -1,20 +1,20 @@ /* * Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 */ diff --git a/libavresample/x86/audio_mix.asm b/libavresample/x86/audio_mix.asm index 2c657b5..64ab039 100644 --- a/libavresample/x86/audio_mix.asm +++ b/libavresample/x86/audio_mix.asm @@ -2,20 +2,20 @@ ;* x86 optimized channel mixing ;* Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 ;****************************************************************************** @@ -55,8 +55,10 @@ cglobal mix_2_to_1_fltp_flt, 3,4,6, src, matrix, len, src1 INIT_XMM sse MIX_2_TO_1_FLTP_FLT +%if HAVE_AVX_EXTERNAL INIT_YMM avx MIX_2_TO_1_FLTP_FLT +%endif ;----------------------------------------------------------------------------- ; void ff_mix_2_to_1_s16p_flt(int16_t **src, float **matrix, int len, @@ -172,8 +174,10 @@ cglobal mix_1_to_2_fltp_flt, 3,5,4, src0, matrix0, len, src1, matrix1 INIT_XMM sse MIX_1_TO_2_FLTP_FLT +%if HAVE_AVX_EXTERNAL INIT_YMM avx MIX_1_TO_2_FLTP_FLT +%endif ;----------------------------------------------------------------------------- ; void ff_mix_1_to_2_s16p_flt(int16_t **src, float **matrix, int len, @@ -217,8 +221,10 @@ INIT_XMM sse2 MIX_1_TO_2_S16P_FLT INIT_XMM sse4 MIX_1_TO_2_S16P_FLT +%if HAVE_AVX_EXTERNAL INIT_XMM avx MIX_1_TO_2_S16P_FLT +%endif ;----------------------------------------------------------------------------- ; void ff_mix_3_8_to_1_2_fltp/s16p_flt(float/int16_t **src, float **matrix, @@ -474,6 +480,7 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n MIX_3_8_TO_1_2_FLT %%i, 1, s16p MIX_3_8_TO_1_2_FLT %%i, 2, s16p ; do not use ymm AVX or FMA4 in x86-32 for 6 or more channels due to stack alignment issues + %if HAVE_AVX_EXTERNAL %if ARCH_X86_64 || %%i < 6 INIT_YMM avx %else @@ -484,6 +491,7 @@ cglobal mix_%1_to_%2_%3_flt, 3,in_channels+2,needed_mmregs+matrix_elements_mm, n INIT_XMM avx MIX_3_8_TO_1_2_FLT %%i, 1, s16p MIX_3_8_TO_1_2_FLT %%i, 2, s16p + %endif %if HAVE_FMA4_EXTERNAL %if ARCH_X86_64 || %%i < 6 INIT_YMM fma4 diff --git a/libavresample/x86/audio_mix_init.c b/libavresample/x86/audio_mix_init.c index 7fc530e..2f05eee 100644 --- a/libavresample/x86/audio_mix_init.c +++ b/libavresample/x86/audio_mix_init.c @@ -1,20 +1,20 @@ /* * Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 */ diff --git a/libavresample/x86/dither.asm b/libavresample/x86/dither.asm index 2192e98..757f280 100644 --- a/libavresample/x86/dither.asm +++ b/libavresample/x86/dither.asm @@ -2,20 +2,20 @@ ;* x86 optimized dithering format conversion ;* Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 ;****************************************************************************** diff --git a/libavresample/x86/dither_init.c b/libavresample/x86/dither_init.c index 8349d5e..816d4b0 100644 --- a/libavresample/x86/dither_init.c +++ b/libavresample/x86/dither_init.c @@ -1,20 +1,20 @@ /* * Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 */ diff --git a/libavresample/x86/util.asm b/libavresample/x86/util.asm index 0ce9531..187a4a2 100644 --- a/libavresample/x86/util.asm +++ b/libavresample/x86/util.asm @@ -2,20 +2,20 @@ ;* x86 utility macros for libavresample ;* Copyright (c) 2012 Justin Ruggles <justin.ruggles@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 ;****************************************************************************** diff --git a/libavresample/x86/w64xmmtest.c b/libavresample/x86/w64xmmtest.c index 51a400e..0f42bd1 100644 --- a/libavresample/x86/w64xmmtest.c +++ b/libavresample/x86/w64xmmtest.c @@ -2,20 +2,20 @@ * check XMM registers for clobbers on Win64 * Copyright (c) 2013 Martin Storsjo * - * 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 */ |