Browse Source

x86: dsputil: Move constant declarations into separate header

tags/n2.0
Diego Biurrun 12 years ago
parent
commit
71469f3b63
6 changed files with 57 additions and 24 deletions
  1. +1
    -0
      libavcodec/x86/cavsdsp.c
  2. +1
    -0
      libavcodec/x86/constants.c
  3. +51
    -0
      libavcodec/x86/constants.h
  4. +1
    -0
      libavcodec/x86/dsputil_mmx.c
  5. +1
    -23
      libavcodec/x86/dsputil_mmx.h
  6. +2
    -1
      libavcodec/x86/vc1dsp_mmx.c

+ 1
- 0
libavcodec/x86/cavsdsp.c View File

@@ -28,6 +28,7 @@
#include "libavutil/x86/asm.h" #include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h" #include "libavutil/x86/cpu.h"
#include "libavcodec/cavsdsp.h" #include "libavcodec/cavsdsp.h"
#include "constants.h"
#include "dsputil_mmx.h" #include "dsputil_mmx.h"
#include "config.h" #include "config.h"




+ 1
- 0
libavcodec/x86/constants.c View File

@@ -20,6 +20,7 @@


#include "libavutil/mem.h" #include "libavutil/mem.h"
#include "libavutil/x86/asm.h" // for xmm_reg #include "libavutil/x86/asm.h" // for xmm_reg
#include "constants.h"


DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL; DECLARE_ALIGNED(8, const uint64_t, ff_wtwo) = 0x0002000200020002ULL;




+ 51
- 0
libavcodec/x86/constants.h View File

@@ -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 */

+ 1
- 0
libavcodec/x86/dsputil_mmx.c View File

@@ -29,6 +29,7 @@
#include "libavcodec/h264dsp.h" #include "libavcodec/h264dsp.h"
#include "libavcodec/mpegvideo.h" #include "libavcodec/mpegvideo.h"
#include "libavcodec/simple_idct.h" #include "libavcodec/simple_idct.h"
#include "constants.h"
#include "dsputil_mmx.h" #include "dsputil_mmx.h"
#include "idct_xvid.h" #include "idct_xvid.h"




+ 1
- 23
libavcodec/x86/dsputil_mmx.h View File

@@ -27,29 +27,7 @@


#include "libavcodec/dsputil.h" #include "libavcodec/dsputil.h"
#include "libavutil/x86/asm.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)\ #define SBUTTERFLY(a,b,t,n,m)\
"mov" #m " " #a ", " #t " \n\t" /* abcd */\ "mov" #m " " #a ", " #t " \n\t" /* abcd */\


+ 2
- 1
libavcodec/x86/vc1dsp_mmx.c View File

@@ -29,8 +29,9 @@
#include "libavutil/mem.h" #include "libavutil/mem.h"
#include "libavutil/x86/asm.h" #include "libavutil/x86/asm.h"
#include "libavutil/x86/cpu.h" #include "libavutil/x86/cpu.h"
#include "dsputil_mmx.h"
#include "libavcodec/vc1dsp.h" #include "libavcodec/vc1dsp.h"
#include "constants.h"
#include "dsputil_mmx.h"
#include "vc1dsp.h" #include "vc1dsp.h"


#if HAVE_INLINE_ASM #if HAVE_INLINE_ASM


Loading…
Cancel
Save