diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2004-01-05 22:57:07 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2004-01-05 22:57:07 +0000 |
commit | 622348f931dc088240b3acaa186c4a4c71bf996c (patch) | |
tree | b5eab6d399912b81b898c7a9983c8e69acd2e42c /libavcodec/dsputil.h | |
parent | 51929fd312d62f495a5d445b0ac9fff78bd0215c (diff) | |
download | ffmpeg-622348f931dc088240b3acaa186c4a4c71bf996c.tar.gz |
interlaced dct decision cleanup
function moved to dspcontext
mmx&mmx2 optimized
change SSE -> SAD as default (better quality)
vbv buffer size command line option in kbyte
Originally committed as revision 2669 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/dsputil.h')
-rw-r--r-- | libavcodec/dsputil.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h index baaba2bdfe..96eaac7d02 100644 --- a/libavcodec/dsputil.h +++ b/libavcodec/dsputil.h @@ -138,21 +138,22 @@ typedef struct DSPContext { int (*pix_norm1)(uint8_t * pix, int line_size); // 16x16 8x8 4x4 2x2 16x8 8x4 4x2 8x16 4x8 2x4 - me_cmp_func sad[4]; /* identical to pix_absAxA except additional void * */ - me_cmp_func sse[4]; - me_cmp_func hadamard8_diff[4]; - me_cmp_func dct_sad[4]; - me_cmp_func quant_psnr[4]; - me_cmp_func bit[4]; - me_cmp_func rd[4]; - int (*hadamard8_abs )(uint8_t *src, int stride, int mean); + me_cmp_func sad[5]; /* identical to pix_absAxA except additional void * */ + me_cmp_func sse[5]; + me_cmp_func hadamard8_diff[5]; + me_cmp_func dct_sad[5]; + me_cmp_func quant_psnr[5]; + me_cmp_func bit[5]; + me_cmp_func rd[5]; + me_cmp_func vsad[5]; + me_cmp_func vsse[5]; me_cmp_func me_pre_cmp[5]; me_cmp_func me_cmp[5]; me_cmp_func me_sub_cmp[5]; me_cmp_func mb_cmp[5]; + me_cmp_func ildct_cmp[5]; //only width 16 used - /* maybe create an array for 16/8/4/2 functions */ /** * Halfpel motion compensation with rounding (a+b+1)>>1. * this is an array[4][4] of motion compensation funcions for 4 @@ -293,6 +294,8 @@ void dsputil_init(DSPContext* p, AVCodecContext *avctx); */ void ff_block_permute(DCTELEM *block, uint8_t *permutation, const uint8_t *scantable, int last); +void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type); + #define BYTE_VEC32(c) ((c)*0x01010101UL) static inline uint32_t rnd_avg32(uint32_t a, uint32_t b) |