summaryrefslogtreecommitdiff
path: root/libavcodec/dsputil.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2004-01-05 22:57:07 +0000
committerMichael Niedermayer <michaelni@gmx.at>2004-01-05 22:57:07 +0000
commit622348f931dc088240b3acaa186c4a4c71bf996c (patch)
treeb5eab6d399912b81b898c7a9983c8e69acd2e42c /libavcodec/dsputil.h
parent51929fd312d62f495a5d445b0ac9fff78bd0215c (diff)
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.h21
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)