# HG changeset patch # User michaelni # Date 1047693969 0 # Node ID 9eb49e9e8dd9516278fd0d50485ae63d81b8e299 # Parent 8e29f644a6be7f3ef335d34eb892cea1aa1ac249 halfpel MC doxy diff -r 8e29f644a6be -r 9eb49e9e8dd9 dsputil.h --- a/dsputil.h Fri Mar 14 11:21:19 2003 +0000 +++ b/dsputil.h Sat Mar 15 02:06:09 2003 +0000 @@ -116,7 +116,13 @@ void (*diff_pixels)(DCTELEM *block/*align 16*/, const uint8_t *s1/*align 8*/, const uint8_t *s2/*align 8*/, int stride); void (*put_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size); void (*add_pixels_clamped)(const DCTELEM *block/*align 16*/, uint8_t *pixels/*align 8*/, int line_size); + /** + * translational global motion compensation. + */ void (*gmc1)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x16, int y16, int rounder); + /** + * global motion compensation. + */ void (*gmc )(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int stride, int h, int ox, int oy, int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height); void (*clear_blocks)(DCTELEM *blocks/*align 16*/); @@ -137,9 +143,44 @@ me_cmp_func mb_cmp[11]; /* maybe create an array for 16/8 functions */ + /** + * Halfpel motion compensation with rounding (a+b+1)>>1. + * *pixels_tab[ 0->16x16 1->8x8 ][ xhalfpel + 2*yhalfpel ] + * @param block destination where the result is stored + * @param pixels source + * @param line_size number of bytes in a horizontal line of block + * @param h height + */ op_pixels_func put_pixels_tab[2][4]; + + /** + * Halfpel motion compensation with rounding (a+b+1)>>1. + * *pixels_tab[ 0->16x16 1->8x8 ][ xhalfpel + 2*yhalfpel ] + * @param block destination into which the result is averaged (a+b+1)>>1 + * @param pixels source + * @param line_size number of bytes in a horizontal line of block + * @param h height + */ op_pixels_func avg_pixels_tab[2][4]; + + /** + * Halfpel motion compensation with no rounding (a+b)>>1. + * *pixels_tab[ 0->16x16 1->8x8 ][ xhalfpel + 2*yhalfpel ] + * @param block destination where the result is stored + * @param pixels source + * @param line_size number of bytes in a horizontal line of block + * @param h height + */ op_pixels_func put_no_rnd_pixels_tab[2][4]; + + /** + * Halfpel motion compensation with no rounding (a+b)>>1. + * *pixels_tab[ 0->16x16 1->8x8 ][ xhalfpel + 2*yhalfpel ] + * @param block destination into which the result is averaged (a+b)>>1 + * @param pixels source + * @param line_size number of bytes in a horizontal line of block + * @param h height + */ op_pixels_func avg_no_rnd_pixels_tab[2][4]; qpel_mc_func put_qpel_pixels_tab[2][16]; qpel_mc_func avg_qpel_pixels_tab[2][16];