Commit bf738432 authored by gpoirier's avatar gpoirier

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


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@5558 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 8e03a335
...@@ -292,8 +292,8 @@ static int sse16_c(void *v, uint8_t *pix1, uint8_t *pix2, int line_size, int h) ...@@ -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 #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; int s, i, j;
const int dec_count= w==8 ? 3 : 4; const int dec_count= w==8 ? 3 : 4;
int tmp[32*32]; 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 ...@@ -360,7 +360,6 @@ static inline int w_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, in
} }
assert(s>=0); assert(s>=0);
return s>>9; return s>>9;
#endif
} }
static int w53_8_c(void *v, uint8_t * pix1, uint8_t * pix2, int line_size, int h){ 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){ ...@@ -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){ 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); 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) 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){ ...@@ -3212,12 +3212,14 @@ void ff_set_cmp(DSPContext* c, me_cmp_func *cmp, int type){
case FF_CMP_NSSE: case FF_CMP_NSSE:
cmp[i]= c->nsse[i]; cmp[i]= c->nsse[i];
break; break;
#ifdef CONFIG_SNOW_ENCODER
case FF_CMP_W53: case FF_CMP_W53:
cmp[i]= c->w53[i]; cmp[i]= c->w53[i];
break; break;
case FF_CMP_W97: case FF_CMP_W97:
cmp[i]= c->w97[i]; cmp[i]= c->w97[i];
break; break;
#endif
default: default:
av_log(NULL, AV_LOG_ERROR,"internal error in cmp function selection\n"); av_log(NULL, AV_LOG_ERROR,"internal error in cmp function selection\n");
} }
...@@ -4021,10 +4023,12 @@ void dsputil_init(DSPContext* c, AVCodecContext *avctx) ...@@ -4021,10 +4023,12 @@ void dsputil_init(DSPContext* c, AVCodecContext *avctx)
c->vsse[4]= vsse_intra16_c; c->vsse[4]= vsse_intra16_c;
c->nsse[0]= nsse16_c; c->nsse[0]= nsse16_c;
c->nsse[1]= nsse8_c; c->nsse[1]= nsse8_c;
#ifdef CONFIG_SNOW_ENCODER
c->w53[0]= w53_16_c; c->w53[0]= w53_16_c;
c->w53[1]= w53_8_c; c->w53[1]= w53_8_c;
c->w97[0]= w97_16_c; c->w97[0]= w97_16_c;
c->w97[1]= w97_8_c; c->w97[1]= w97_8_c;
#endif
c->add_bytes= add_bytes_c; c->add_bytes= add_bytes_c;
c->diff_bytes= diff_bytes_c; c->diff_bytes= diff_bytes_c;
......
...@@ -654,8 +654,10 @@ static AVOption options[]={ ...@@ -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"}, {"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"}, {"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"}, {"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"}, {"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"}, {"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"}, {"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"}, {"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}, {"pre_dia_size", NULL, OFFSET(pre_dia_size), FF_OPT_TYPE_INT, DEFAULT, INT_MIN, INT_MAX, V|E},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment