summaryrefslogtreecommitdiffstats
path: root/libavcodec/imgresample.c
diff options
context:
space:
mode:
authorAurelien Jacobs <aurel@gnuage.org>2008-12-14 00:46:27 +0000
committerAurelien Jacobs <aurel@gnuage.org>2008-12-14 00:46:27 +0000
commitd08ea32c2367bcb04da2b07be05c8582bf570aad (patch)
tree0daa766c6448afd2d1a267ff30f0da6e64fcb816 /libavcodec/imgresample.c
parentbe73a544af0b626f31c484d3f96e67d68f4175ea (diff)
downloadffmpeg-streaming-d08ea32c2367bcb04da2b07be05c8582bf570aad.zip
ffmpeg-streaming-d08ea32c2367bcb04da2b07be05c8582bf570aad.tar.gz
Get rid of mmx_t.
Originally committed as revision 16116 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/imgresample.c')
-rw-r--r--libavcodec/imgresample.c27
1 files changed, 12 insertions, 15 deletions
diff --git a/libavcodec/imgresample.c b/libavcodec/imgresample.c
index 34c6889..d1d99c5 100644
--- a/libavcodec/imgresample.c
+++ b/libavcodec/imgresample.c
@@ -183,7 +183,7 @@ static void h_resample_fast4_mmx(uint8_t *dst, int dst_width,
int src_pos, phase;
const uint8_t *s;
int16_t *filter;
- mmx_t tmp;
+ uint64_t tmp;
src_pos = src_start;
pxor_r2r(mm7, mm7);
@@ -200,13 +200,13 @@ static void h_resample_fast4_mmx(uint8_t *dst, int dst_width,
packuswb_r2r(mm7, mm3);
packuswb_r2r(mm7, mm2);
movq_r2m(mm0, tmp);
- dst[0] = tmp.ub[0];
+ dst[0] = tmp & 0xFF;
movq_r2m(mm1, tmp);
- dst[1] = tmp.ub[0];
+ dst[1] = tmp & 0xFF;
movq_r2m(mm2, tmp);
- dst[2] = tmp.ub[0];
+ dst[2] = tmp & 0xFF;
movq_r2m(mm3, tmp);
- dst[3] = tmp.ub[0];
+ dst[3] = tmp & 0xFF;
dst += 4;
dst_width -= 4;
}
@@ -214,7 +214,7 @@ static void h_resample_fast4_mmx(uint8_t *dst, int dst_width,
FILTER4(mm0);
packuswb_r2r(mm7, mm0);
movq_r2m(mm0, tmp);
- dst[0] = tmp.ub[0];
+ dst[0] = tmp & 0xFF;
dst++;
dst_width--;
}
@@ -224,17 +224,14 @@ static void h_resample_fast4_mmx(uint8_t *dst, int dst_width,
static void v_resample4_mmx(uint8_t *dst, int dst_width, const uint8_t *src,
int wrap, int16_t *filter)
{
- int sum, i, v;
+ int sum, i;
const uint8_t *s;
- mmx_t tmp;
- mmx_t coefs[4];
+ uint64_t tmp;
+ uint64_t coefs[4];
for(i=0;i<4;i++) {
- v = filter[i];
- coefs[i].uw[0] = v;
- coefs[i].uw[1] = v;
- coefs[i].uw[2] = v;
- coefs[i].uw[3] = v;
+ tmp = filter[i];
+ coefs[i] = (tmp<<48) + (tmp<<32) + (tmp<<16) + tmp;
}
pxor_r2r(mm7, mm7);
@@ -262,7 +259,7 @@ static void v_resample4_mmx(uint8_t *dst, int dst_width, const uint8_t *src,
packuswb_r2r(mm7, mm0);
movq_r2m(mm0, tmp);
- *(uint32_t *)dst = tmp.ud[0];
+ *(uint32_t *)dst = tmp & 0xFFFFFFFF;
dst += 4;
s += 4;
dst_width -= 4;
OpenPOWER on IntegriCloud