Mercurial > mplayer.hg
diff libmpeg2/motion_comp_mlib.c @ 9852:47984e3f54ce
Importing libmpeg2 from mpeg2dec-0.3.1
author | arpi |
---|---|
date | Sun, 06 Apr 2003 16:36:02 +0000 |
parents | 846535ace7a2 |
children | 2c0b6ec77d39 |
line wrap: on
line diff
--- a/libmpeg2/motion_comp_mlib.c Sun Apr 06 16:34:26 2003 +0000 +++ b/libmpeg2/motion_comp_mlib.c Sun Apr 06 16:36:02 2003 +0000 @@ -1,8 +1,9 @@ /* * motion_comp_mlib.c - * Copyright (C) 2000-2001 Håkan Hjort <d95hjort@dtek.chalmers.se> + * Copyright (C) 2000-2002 Håkan Hjort <d95hjort@dtek.chalmers.se> * * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. * * mpeg2dec is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,158 +24,167 @@ #ifdef LIBMPEG2_MLIB -#include <inttypes.h> #include <mlib_types.h> #include <mlib_status.h> #include <mlib_sys.h> #include <mlib_video.h> +#include <inttypes.h> +#include "mpeg2.h" #include "mpeg2_internal.h" -static void MC_put_16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) -{ - if (height == 16) - mlib_VideoCopyRef_U8_U8_16x16 (dest, ref, stride); - else - mlib_VideoCopyRef_U8_U8_16x8 (dest, ref, stride); -} - -static void MC_put_x16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_o_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { if (height == 16) - mlib_VideoInterpX_U8_U8_16x16 (dest, ref, stride, stride); + mlib_VideoCopyRef_U8_U8_16x16 (dest, (uint8_t *) ref, stride); else - mlib_VideoInterpX_U8_U8_16x8 (dest, ref, stride, stride); + mlib_VideoCopyRef_U8_U8_16x8 (dest, (uint8_t *) ref, stride); } -static void MC_put_y16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_x_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { if (height == 16) - mlib_VideoInterpY_U8_U8_16x16 (dest, ref, stride, stride); + mlib_VideoInterpX_U8_U8_16x16 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoInterpY_U8_U8_16x8 (dest, ref, stride, stride); + mlib_VideoInterpX_U8_U8_16x8 (dest, (uint8_t *) ref, stride, stride); } -static void MC_put_xy16_mlib (uint8_t * dest, uint8_t * ref, +static void MC_put_y_16_mlib (uint8_t * dest, const uint8_t * ref, int stride, int height) { if (height == 16) - mlib_VideoInterpXY_U8_U8_16x16 (dest, ref, stride, stride); + mlib_VideoInterpY_U8_U8_16x16 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoInterpXY_U8_U8_16x8 (dest, ref, stride, stride); -} - -static void MC_put_8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) -{ - if (height == 8) - mlib_VideoCopyRef_U8_U8_8x8 (dest, ref, stride); - else - mlib_VideoCopyRef_U8_U8_8x4 (dest, ref, stride); + mlib_VideoInterpY_U8_U8_16x8 (dest, (uint8_t *) ref, stride, stride); } -static void MC_put_x8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_xy_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { - if (height == 8) - mlib_VideoInterpX_U8_U8_8x8 (dest, ref, stride, stride); + if (height == 16) + mlib_VideoInterpXY_U8_U8_16x16 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoInterpX_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoInterpXY_U8_U8_16x8 (dest, (uint8_t *) ref, stride, stride); } -static void MC_put_y8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_o_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { if (height == 8) - mlib_VideoInterpY_U8_U8_8x8 (dest, ref, stride, stride); + mlib_VideoCopyRef_U8_U8_8x8 (dest, (uint8_t *) ref, stride); else - mlib_VideoInterpY_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoCopyRef_U8_U8_8x4 (dest, (uint8_t *) ref, stride); } -static void MC_put_xy8_mlib (uint8_t * dest, uint8_t * ref, +static void MC_put_x_8_mlib (uint8_t * dest, const uint8_t * ref, int stride, int height) { - if (height == 8) - mlib_VideoInterpXY_U8_U8_8x8 (dest, ref, stride, stride); + if (height == 8) + mlib_VideoInterpX_U8_U8_8x8 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoInterpXY_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoInterpX_U8_U8_8x4 (dest, (uint8_t *) ref, stride, stride); } -static void MC_avg_16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_y_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { - if (height == 16) - mlib_VideoCopyRefAve_U8_U8_16x16 (dest, ref, stride); + if (height == 8) + mlib_VideoInterpY_U8_U8_8x8 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoCopyRefAve_U8_U8_16x8 (dest, ref, stride); + mlib_VideoInterpY_U8_U8_8x4 (dest, (uint8_t *) ref, stride, stride); } -static void MC_avg_x16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_put_xy_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { - if (height == 16) - mlib_VideoInterpAveX_U8_U8_16x16 (dest, ref, stride, stride); + if (height == 8) + mlib_VideoInterpXY_U8_U8_8x8 (dest, (uint8_t *) ref, stride, stride); else - mlib_VideoInterpAveX_U8_U8_16x8 (dest, ref, stride, stride); + mlib_VideoInterpXY_U8_U8_8x4 (dest, (uint8_t *) ref, stride, stride); } -static void MC_avg_y16_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_avg_o_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { if (height == 16) - mlib_VideoInterpAveY_U8_U8_16x16 (dest, ref, stride, stride); + mlib_VideoCopyRefAve_U8_U8_16x16 (dest, (uint8_t *) ref, stride); else - mlib_VideoInterpAveY_U8_U8_16x8 (dest, ref, stride, stride); + mlib_VideoCopyRefAve_U8_U8_16x8 (dest, (uint8_t *) ref, stride); } -static void MC_avg_xy16_mlib (uint8_t * dest, uint8_t * ref, +static void MC_avg_x_16_mlib (uint8_t * dest, const uint8_t * ref, int stride, int height) { if (height == 16) - mlib_VideoInterpAveXY_U8_U8_16x16 (dest, ref, stride, stride); + mlib_VideoInterpAveX_U8_U8_16x16 (dest, (uint8_t *) ref, + stride, stride); else - mlib_VideoInterpAveXY_U8_U8_16x8 (dest, ref, stride, stride); -} - -static void MC_avg_8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) -{ - if (height == 8) - mlib_VideoCopyRefAve_U8_U8_8x8 (dest, ref, stride); - else - mlib_VideoCopyRefAve_U8_U8_8x4 (dest, ref, stride); + mlib_VideoInterpAveX_U8_U8_16x8 (dest, (uint8_t *) ref, + stride, stride); } -static void MC_avg_x8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_avg_y_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { - if (height == 8) - mlib_VideoInterpAveX_U8_U8_8x8 (dest, ref, stride, stride); + if (height == 16) + mlib_VideoInterpAveY_U8_U8_16x16 (dest, (uint8_t *) ref, + stride, stride); else - mlib_VideoInterpAveX_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoInterpAveY_U8_U8_16x8 (dest, (uint8_t *) ref, + stride, stride); } -static void MC_avg_y8_mlib (uint8_t * dest, uint8_t * ref, - int stride, int height) +static void MC_avg_xy_16_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) { - if (height == 8) - mlib_VideoInterpAveY_U8_U8_8x8 (dest, ref, stride, stride); + if (height == 16) + mlib_VideoInterpAveXY_U8_U8_16x16 (dest, (uint8_t *) ref, + stride, stride); else - mlib_VideoInterpAveY_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoInterpAveXY_U8_U8_16x8 (dest, (uint8_t *) ref, + stride, stride); } -static void MC_avg_xy8_mlib (uint8_t * dest, uint8_t * ref, +static void MC_avg_o_8_mlib (uint8_t * dest, const uint8_t * ref, int stride, int height) { if (height == 8) - mlib_VideoInterpAveXY_U8_U8_8x8 (dest, ref, stride, stride); + mlib_VideoCopyRefAve_U8_U8_8x8 (dest, (uint8_t *) ref, stride); else - mlib_VideoInterpAveXY_U8_U8_8x4 (dest, ref, stride, stride); + mlib_VideoCopyRefAve_U8_U8_8x4 (dest, (uint8_t *) ref, stride); +} + +static void MC_avg_x_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) +{ + if (height == 8) + mlib_VideoInterpAveX_U8_U8_8x8 (dest, (uint8_t *) ref, stride, stride); + else + mlib_VideoInterpAveX_U8_U8_8x4 (dest, (uint8_t *) ref, stride, stride); } -MOTION_COMP_EXTERN (mlib) +static void MC_avg_y_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) +{ + if (height == 8) + mlib_VideoInterpAveY_U8_U8_8x8 (dest, (uint8_t *) ref, stride, stride); + else + mlib_VideoInterpAveY_U8_U8_8x4 (dest, (uint8_t *) ref, stride, stride); +} + +static void MC_avg_xy_8_mlib (uint8_t * dest, const uint8_t * ref, + int stride, int height) +{ + if (height == 8) + mlib_VideoInterpAveXY_U8_U8_8x8 (dest, (uint8_t *) ref, + stride, stride); + else + mlib_VideoInterpAveXY_U8_U8_8x4 (dest, (uint8_t *) ref, + stride, stride); +} + +MPEG2_MC_EXTERN (mlib) #endif