Browse Source

split encoding part of dsputil_mmx into its own file

Originally committed as revision 12223 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Aurelien Jacobs 17 years ago
parent
commit
97d1d009e2
4 changed files with 1436 additions and 1409 deletions
  1. +2
    -0
      libavcodec/Makefile
  2. +3
    -1409
      libavcodec/i386/dsputil_mmx.c
  3. +9
    -0
      libavcodec/i386/dsputil_mmx.h
  4. +1422
    -0
      libavcodec/i386/dsputilenc_mmx.c

+ 2
- 0
libavcodec/Makefile View File

@@ -369,6 +369,8 @@ OBJS += i386/fdct_mmx.o \

OBJS-$(CONFIG_GPL) += i386/idct_mmx.o

OBJS-$(CONFIG_ENCODERS) += i386/dsputilenc_mmx.o

OBJS-$(CONFIG_CAVS_DECODER) += i386/cavsdsp_mmx.o
OBJS-$(CONFIG_FLAC_ENCODER) += i386/flacdsp_mmx.o
OBJS-$(CONFIG_SNOW_DECODER) += i386/snowdsp_mmx.o


+ 3
- 1409
libavcodec/i386/dsputil_mmx.c
File diff suppressed because it is too large
View File


+ 9
- 0
libavcodec/i386/dsputil_mmx.h View File

@@ -23,6 +23,7 @@
#define FFMPEG_DSPUTIL_MMX_H

#include <stdint.h>
#include "dsputil.h"

typedef struct { uint64_t a, b; } xmm_t;

@@ -43,6 +44,7 @@ extern const uint64_t ff_pw_42;
extern const uint64_t 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 uint64_t ff_pb_1;
extern const uint64_t ff_pb_3;
@@ -111,4 +113,11 @@ extern const double ff_pd_2[2];
"movdqa 16"#t", "#g" \n\t"
#endif

#define MOVQ_WONE(regd) \
asm volatile ( \
"pcmpeqd %%" #regd ", %%" #regd " \n\t" \
"psrlw $15, %%" #regd ::)

void dsputilenc_init_mmx(DSPContext* c, AVCodecContext *avctx);

#endif /* FFMPEG_DSPUTIL_MMX_H */

+ 1422
- 0
libavcodec/i386/dsputilenc_mmx.c
File diff suppressed because it is too large
View File


Loading…
Cancel
Save