From 3a6fc8faf35c84896f069c55e666120807ce65df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Diego=20Petten=C3=B2?= Date: Fri, 30 Jun 2006 07:50:30 +0000 Subject: [PATCH] Disable w53 and w97 cmp methods when snow encoder is disabled Patch by Diego 'Flameeyes' Petteno flameeyes AH gentoo PP org Original thread: Date: Jun 30, 2006 1:16 AM Subject: [Ffmpeg-devel] [PATCH] Disable w53 and w97 cmp methods when snow encoder is disabled Originally committed as revision 5558 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/dsputil.c | 8 ++++++-- libavcodec/utils.c | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libavcodec/dsputil.c b/libavcodec/dsputil.c index a3b7cf3c64..453b38ab2a 100644 --- a/libavcodec/dsputil.c +++ b/libavcodec/dsputil.c @@ -292,8 +292,8 @@ static int sse16_c(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) } -static inline int w_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int w, int h, int type){ #ifdef CONFIG_SNOW_ENCODER //dwt is in snow.c +static inline int w_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int w, int h, int type){ int s, i, j; const int dec_count= w==8 ? 3 : 4; int tmp[32*32]; @@ -360,7 +360,6 @@ static inline int w_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, in } assert(s>=0); return s>>9; -#endif } static int w53_8_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h){ @@ -386,6 +385,7 @@ int w53_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h){ int w97_32_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h){ return w_c(v, pix1, pix2, line_size, 32, h, 0); } +#endif static void get_pixels_c(DCTELEM *restrict block, const uint8_t *pixels, int line_size) { @@ -3212,12 +3212,14 @@ void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type){ case FF_CMP_NSSE: cmp[i]= c->nsse[i]; break; +#ifdef CONFIG_SNOW_ENCODER case FF_CMP_W53: cmp[i]= c->w53[i]; break; case FF_CMP_W97: cmp[i]= c->w97[i]; break; +#endif default: av_log(NULL, AV_LOG_ERROR,"internal error in cmp function selection\n"); } @@ -4021,10 +4023,12 @@ void dsputil_init(DSPContext* c, AVCodecContext *avctx) c->vsse[4]= vsse_intra16_c; c->nsse[0]= nsse16_c; c->nsse[1]= nsse8_c; +#ifdef CONFIG_SNOW_ENCODER c->w53[0]= w53_16_c; c->w53[1]= w53_8_c; c->w97[0]= w97_16_c; c->w97[1]= w97_8_c; +#endif c->add_bytes= add_bytes_c; c->diff_bytes= diff_bytes_c; diff --git a/libavcodec/utils.c b/libavcodec/utils.c index 7aca549193..38287575e5 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -654,8 +654,10 @@ static AVOption options[]={ {"vsad", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_VSAD, INT_MIN, INT_MAX, V|E, "cmp_func"}, {"vsse", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_VSSE, INT_MIN, INT_MAX, V|E, "cmp_func"}, {"nsse", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_NSSE, INT_MIN, INT_MAX, V|E, "cmp_func"}, +#ifdef CONFIG_SNOW_ENCODER {"w53", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_W53, INT_MIN, INT_MAX, V|E, "cmp_func"}, {"w97", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_W97, INT_MIN, INT_MAX, V|E, "cmp_func"}, +#endif {"dctmax", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_DCTMAX, INT_MIN, INT_MAX, V|E, "cmp_func"}, {"chroma", NULL, 0, FF_OPT_TYPE_CONST, FF_CMP_CHROMA, INT_MIN, INT_MAX, V|E, "cmp_func"}, {"pre_dia_size", NULL, OFFSET(pre_dia_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},