diff options
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/x86/cavsdsp.c | 1 | ||||
-rw-r--r-- | libavcodec/x86/constants.c | 1 | ||||
-rw-r--r-- | libavcodec/x86/constants.h | 51 | ||||
-rw-r--r-- | libavcodec/x86/dsputil_mmx.c | 1 | ||||
-rw-r--r-- | libavcodec/x86/dsputil_mmx.h | 24 | ||||
-rw-r--r-- | libavcodec/x86/vc1dsp_mmx.c | 3 |
6 files changed, 57 insertions, 24 deletions
diff --git a/libavcodec/x86/cavsdsp.c b/libavcodec/x86/cavsdsp.c index 1e33aa4..38235f0 100644 --- a/libavcodec/x86/cavsdsp.c +++ b/libavcodec/x86/cavsdsp.c @@ -28,6 +28,7 @@ #include "libavutil/x86/asm.h" #include "libavutil/x86/cpu.h" #include "libavcodec/cavsdsp.h" +#include "constants.h" #include "dsputil_mmx.h" #include "config.h" diff --git a/libavcodec/x86/constants.c b/libavcodec/x86/constants.c index 5511eed..5b8d1b2 100644 --- a/libavcodec/x86/constants.c +++ b/libavcodec/x86/constants.c @@ -20,6 +20,7 @@ #include "libavutil/mem.h" #include "libavutil/x86/asm.h" // for xmm_reg +#include "constants.h" DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL; diff --git a/libavcodec/x86/constants.h b/libavcodec/x86/constants.h new file mode 100644 index 0000000..f38fbe3 --- /dev/null +++ b/libavcodec/x86/constants.h @@ -0,0 +1,51 @@ +/* + * MMX/SSE constants used across x86 dsp optimizations. + * + * This file is part of Libav. + * + * Libav 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, + * 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 + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef AVCODEC_X86_CONSTANTS_H +#define AVCODEC_X86_CONSTANTS_H + +#include <stdint.h> + +#include "libavutil/x86/asm.h" + +extern const uint64_t ff_wtwo; + +extern const xmm_reg ff_pw_3; +extern const xmm_reg ff_pw_4; +extern const xmm_reg ff_pw_5; +extern const xmm_reg ff_pw_8; +extern const uint64_t ff_pw_15; +extern const xmm_reg ff_pw_16; +extern const xmm_reg ff_pw_18; +extern const uint64_t ff_pw_20; +extern const xmm_reg ff_pw_32; +extern const uint64_t ff_pw_42; +extern const uint64_t ff_pw_53; +extern const xmm_reg ff_pw_64; +extern const uint64_t ff_pw_96; +extern const uint64_t ff_pw_128; +extern const uint64_t ff_pw_255; + +extern const xmm_reg ff_pb_1; +extern const xmm_reg ff_pb_3; +extern const xmm_reg ff_pb_F8; +extern const uint64_t ff_pb_FC; + +#endif /* AVCODEC_X86_CONSTANTS_H */ diff --git a/libavcodec/x86/dsputil_mmx.c b/libavcodec/x86/dsputil_mmx.c index 3bc0576..546cd75 100644 --- a/libavcodec/x86/dsputil_mmx.c +++ b/libavcodec/x86/dsputil_mmx.c @@ -29,6 +29,7 @@ #include "libavcodec/h264dsp.h" #include "libavcodec/mpegvideo.h" #include "libavcodec/simple_idct.h" +#include "constants.h" #include "dsputil_mmx.h" #include "idct_xvid.h" diff --git a/libavcodec/x86/dsputil_mmx.h b/libavcodec/x86/dsputil_mmx.h index 4afa5ab..46ff22b 100644 --- a/libavcodec/x86/dsputil_mmx.h +++ b/libavcodec/x86/dsputil_mmx.h @@ -27,29 +27,7 @@ #include "libavcodec/dsputil.h" #include "libavutil/x86/asm.h" - -extern const uint64_t ff_wtwo; - -extern const xmm_reg ff_pw_3; -extern const xmm_reg ff_pw_4; -extern const xmm_reg ff_pw_5; -extern const xmm_reg ff_pw_8; -extern const uint64_t ff_pw_15; -extern const xmm_reg ff_pw_16; -extern const xmm_reg ff_pw_18; -extern const uint64_t ff_pw_20; -extern const xmm_reg ff_pw_32; -extern const uint64_t ff_pw_42; -extern const uint64_t ff_pw_53; -extern const xmm_reg ff_pw_64; -extern const uint64_t ff_pw_96; -extern const uint64_t ff_pw_128; -extern const uint64_t ff_pw_255; - -extern const xmm_reg ff_pb_1; -extern const xmm_reg ff_pb_3; -extern const xmm_reg ff_pb_F8; -extern const uint64_t ff_pb_FC; +#include "constants.h" #define SBUTTERFLY(a,b,t,n,m)\ "mov" #m " " #a ", " #t " \n\t" /* abcd */\ diff --git a/libavcodec/x86/vc1dsp_mmx.c b/libavcodec/x86/vc1dsp_mmx.c index 846590b..5a0877f 100644 --- a/libavcodec/x86/vc1dsp_mmx.c +++ b/libavcodec/x86/vc1dsp_mmx.c @@ -29,8 +29,9 @@ #include "libavutil/mem.h" #include "libavutil/x86/asm.h" #include "libavutil/x86/cpu.h" -#include "dsputil_mmx.h" #include "libavcodec/vc1dsp.h" +#include "constants.h" +#include "dsputil_mmx.h" #include "vc1dsp.h" #if HAVE_INLINE_ASM |