summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin KAY <komadori@users.sourceforge.net>2002-11-16 16:40:23 +0000
committerRobin KAY <komadori@users.sourceforge.net>2002-11-16 16:40:23 +0000
commit644836043ba68353c1fa846e78aa3de8fbcc91c4 (patch)
treec92a46b0278cde6b99641484cc31519940a75925
parentf4fa2f51b82895a35480a39041e393e95d0ac0d8 (diff)
downloadxine-lib-644836043ba68353c1fa846e78aa3de8fbcc91c4.tar.gz
xine-lib-644836043ba68353c1fa846e78aa3de8fbcc91c4.tar.bz2
Fix dsputils with mediaLib.
CVS patchset: 3273 CVS date: 2002/11/16 16:40:23
-rw-r--r--src/libffmpeg/libavcodec/mlib/dsputil_mlib.c35
1 files changed, 31 insertions, 4 deletions
diff --git a/src/libffmpeg/libavcodec/mlib/dsputil_mlib.c b/src/libffmpeg/libavcodec/mlib/dsputil_mlib.c
index e75f858a2..dc2e5554b 100644
--- a/src/libffmpeg/libavcodec/mlib/dsputil_mlib.c
+++ b/src/libffmpeg/libavcodec/mlib/dsputil_mlib.c
@@ -25,7 +25,6 @@
#include <mlib_sys.h>
#include <mlib_video.h>
-
/* copy block, width 16 pixel, height 8/16 */
static void put_pixels16_mlib (uint8_t * dest, const uint8_t * ref,
@@ -197,25 +196,53 @@ static void avg_pixels8_xy2_mlib (uint8_t * dest, const uint8_t * ref,
mlib_VideoInterpAveXY_U8_U8_8x8 (dest, (uint8_t *)ref, stride, stride);
}
+static void put_pixels_clamped_mlib(const DCTELEM *block, UINT8 *pixels, int line_size)
+{
+ int i;
+ uint8_t *p = pixels;
+
+ for (i=0; i<8; i++) {
+ memset(p, 0, 8);
+ p += line_size;
+ }
+
+ mlib_VideoAddBlock_U8_S16(pixels, (mlib_s16 *)block, line_size);
+
+ /*int i;
+ UINT8 *cm = cropTbl + MAX_NEG_CROP;
+
+ for(i=0;i<8;i++) {
+ pixels[0] = cm[block[0]];
+ pixels[1] = cm[block[1]];
+ pixels[2] = cm[block[2]];
+ pixels[3] = cm[block[3]];
+ pixels[4] = cm[block[4]];
+ pixels[5] = cm[block[5]];
+ pixels[6] = cm[block[6]];
+ pixels[7] = cm[block[7]];
+
+ pixels += line_size;
+ block += 8;
+ }*/
+}
static void add_pixels_clamped_mlib(const DCTELEM *block, UINT8 *pixels, int line_size)
{
mlib_VideoAddBlock_U8_S16(pixels, (mlib_s16 *)block, line_size);
}
-
/* XXX: those functions should be suppressed ASAP when all IDCTs are
converted */
static void ff_idct_put_mlib(UINT8 *dest, int line_size, DCTELEM *data)
{
mlib_VideoIDCT8x8_S16_S16 (data, data);
- put_pixels_clamped(data, dest, line_size);
+ put_pixels_clamped_mlib(data, dest, line_size);
}
static void ff_idct_add_mlib(UINT8 *dest, int line_size, DCTELEM *data)
{
mlib_VideoIDCT8x8_S16_S16 (data, data);
- add_pixels_clamped(data, dest, line_size);
+ add_pixels_clamped_mlib(data, dest, line_size);
}
static void ff_fdct_mlib(DCTELEM *data)