diff options
author | Mike Melanson <mike@multimedia.cx> | 2003-10-27 15:24:38 +0000 |
---|---|---|
committer | Mike Melanson <mike@multimedia.cx> | 2003-10-27 15:24:38 +0000 |
commit | c5b6afab8b74e5cc938b8467d3808a877ded7d03 (patch) | |
tree | 4a9738571b6330c8895c6ad3faec4d68f72fbb16 /src/libffmpeg/libavcodec/dsputil.h | |
parent | d2a72f348508fd0a78a80f4da795dcf3155f02bc (diff) | |
download | xine-lib-c5b6afab8b74e5cc938b8467d3808a877ded7d03.tar.gz xine-lib-c5b6afab8b74e5cc938b8467d3808a877ded7d03.tar.bz2 |
super mega ffmpeg tree sync
CVS patchset: 5615
CVS date: 2003/10/27 15:24:38
Diffstat (limited to 'src/libffmpeg/libavcodec/dsputil.h')
-rw-r--r-- | src/libffmpeg/libavcodec/dsputil.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/libffmpeg/libavcodec/dsputil.h b/src/libffmpeg/libavcodec/dsputil.h index 5dddfbe3e..6126c78b5 100644 --- a/src/libffmpeg/libavcodec/dsputil.h +++ b/src/libffmpeg/libavcodec/dsputil.h @@ -39,7 +39,6 @@ /* dct code */ typedef short DCTELEM; -//typedef int DCTELEM; void fdct_ifast (DCTELEM *data); void ff_jpeg_fdct_islow (DCTELEM *data); @@ -167,7 +166,7 @@ typedef struct DSPContext { /** * Halfpel motion compensation with rounding (a+b+1)>>1. - * this is an array[4][4] of motion compensation functions for 4 + * This is an array[4][4] of motion compensation functions for 4 * horizontal blocksizes (2,4,8,16) and the 4 halfpel positions<br> * *pixels_tab[ 0->16xH 1->8xH ][ xhalfpel + 2*yhalfpel ] * @param block destination into which the result is averaged (a+b+1)>>1 @@ -212,7 +211,7 @@ typedef struct DSPContext { */ tpel_mc_func put_tpel_pixels_tab[11]; //FIXME individual func ptr per width? tpel_mc_func avg_tpel_pixels_tab[11]; //FIXME individual func ptr per width? - + qpel_mc_func put_qpel_pixels_tab[2][16]; qpel_mc_func avg_qpel_pixels_tab[2][16]; qpel_mc_func put_no_rnd_qpel_pixels_tab[2][16]; @@ -240,11 +239,19 @@ typedef struct DSPContext { /* huffyuv specific */ void (*add_bytes)(uint8_t *dst/*align 16*/, uint8_t *src/*align 16*/, int w); void (*diff_bytes)(uint8_t *dst/*align 16*/, uint8_t *src1/*align 16*/, uint8_t *src2/*align 1*/,int w); + /** + * subtract huffyuv's variant of median prediction + * note, this might read from src1[-1], src2[-1] + */ + void (*sub_hfyu_median_prediction)(uint8_t *dst, uint8_t *src1, uint8_t *src2, int w, int *left, int *left_top); void (*bswap_buf)(uint32_t *dst, uint32_t *src, int w); /* (I)DCT */ void (*fdct)(DCTELEM *block/* align 16*/); + /* IDCT really*/ + void (*idct)(DCTELEM *block/* align 16*/); + /** * block -> idct -> clip to unsigned 8 bit -> dest. * (-1392, 0, 0, ...) -> idct -> (-174, -174, ...) -> put -> (0, 0, ...) @@ -499,4 +506,10 @@ static inline long int lrintf(float x) } #endif +#if defined(CONFIG_OS2) || defined(CONFIG_SUNOS) +static inline float floorf(float f) { + return floor(f); +} +#endif + #endif |