diff options
author | Mans Rullgard <mans@mansr.com> | 2011-07-17 20:43:15 +0100 |
---|---|---|
committer | Mans Rullgard <mans@mansr.com> | 2011-07-20 14:54:24 +0100 |
commit | 89cc8a316d252d37a14906da9c170afbc7488326 (patch) | |
tree | 27ba6de39febee73d0115518a896df2e332426a9 | |
parent | 1b4a17094ebdc605a9414d4d98653a1bfb0ea0a4 (diff) | |
download | ffmpeg-89cc8a316d252d37a14906da9c170afbc7488326.tar.gz |
Remove snow/dwt test program
This test program so full of programming errors it is impossible
to make sense of it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
-rw-r--r-- | libavcodec/Makefile | 2 | ||||
-rw-r--r-- | libavcodec/snow.c | 121 |
2 files changed, 1 insertions, 122 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 26800b3851..f23ade2734 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -667,7 +667,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h EXAMPLES = api -TESTPROGS = cabac dct fft fft-fixed h264 iirfilter rangecoder snow +TESTPROGS = cabac dct fft fft-fixed h264 iirfilter rangecoder TESTPROGS-$(HAVE_MMX) += motion TESTOBJS = dctref.o diff --git a/libavcodec/snow.c b/libavcodec/snow.c index e1f6c57352..3162e5cf98 100644 --- a/libavcodec/snow.c +++ b/libavcodec/snow.c @@ -3689,124 +3689,3 @@ AVCodec ff_snow_encoder = { .long_name = NULL_IF_CONFIG_SMALL("Snow"), }; #endif - - -#ifdef TEST -#undef malloc -#undef free -#undef printf - -#include "libavutil/lfg.h" -#include "libavutil/mathematics.h" - -int main(void){ - int width=256; - int height=256; - int buffer[2][width*height]; - SnowContext s; - int i; - AVLFG prng; - s.spatial_decomposition_count=6; - s.spatial_decomposition_type=1; - - av_lfg_init(&prng, 1); - - printf("testing 5/3 DWT\n"); - for(i=0; i<width*height; i++) - buffer[0][i] = buffer[1][i] = av_lfg_get(&prng) % 54321 - 12345; - - ff_spatial_dwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - ff_spatial_idwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - - for(i=0; i<width*height; i++) - if(buffer[0][i]!= buffer[1][i]) printf("fsck: %6d %12d %7d\n",i, buffer[0][i], buffer[1][i]); - - printf("testing 9/7 DWT\n"); - s.spatial_decomposition_type=0; - for(i=0; i<width*height; i++) - buffer[0][i] = buffer[1][i] = av_lfg_get(&prng) % 54321 - 12345; - - ff_spatial_dwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - ff_spatial_idwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - - for(i=0; i<width*height; i++) - if(FFABS(buffer[0][i] - buffer[1][i])>20) printf("fsck: %6d %12d %7d\n",i, buffer[0][i], buffer[1][i]); - - { - int level, orientation, x, y; - int64_t errors[8][4]; - int64_t g=0; - - memset(errors, 0, sizeof(errors)); - s.spatial_decomposition_count=3; - s.spatial_decomposition_type=0; - for(level=0; level<s.spatial_decomposition_count; level++){ - for(orientation=level ? 1 : 0; orientation<4; orientation++){ - int w= width >> (s.spatial_decomposition_count-level); - int h= height >> (s.spatial_decomposition_count-level); - int stride= width << (s.spatial_decomposition_count-level); - DWTELEM *buf= buffer[0]; - int64_t error=0; - - if(orientation&1) buf+=w; - if(orientation>1) buf+=stride>>1; - - memset(buffer[0], 0, sizeof(int)*width*height); - buf[w/2 + h/2*stride]= 256*256; - ff_spatial_idwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - for(y=0; y<height; y++){ - for(x=0; x<width; x++){ - int64_t d= buffer[0][x + y*width]; - error += d*d; - if(FFABS(width/2-x)<9 && FFABS(height/2-y)<9 && level==2) printf("%8"PRId64" ", d); - } - if(FFABS(height/2-y)<9 && level==2) printf("\n"); - } - error= (int)(sqrt(error)+0.5); - errors[level][orientation]= error; - if(g) g=av_gcd(g, error); - else g= error; - } - } - printf("static int const visual_weight[][4]={\n"); - for(level=0; level<s.spatial_decomposition_count; level++){ - printf(" {"); - for(orientation=0; orientation<4; orientation++){ - printf("%8"PRId64",", errors[level][orientation]/g); - } - printf("},\n"); - } - printf("};\n"); - { - int level=2; - int w= width >> (s.spatial_decomposition_count-level); - //int h= height >> (s.spatial_decomposition_count-level); - int stride= width << (s.spatial_decomposition_count-level); - DWTELEM *buf= buffer[0]; - int64_t error=0; - - buf+=w; - buf+=stride>>1; - - memset(buffer[0], 0, sizeof(int)*width*height); - for(y=0; y<height; y++){ - for(x=0; x<width; x++){ - int tab[4]={0,2,3,1}; - buffer[0][x+width*y]= 256*256*tab[(x&1) + 2*(y&1)]; - } - } - ff_spatial_dwt(buffer[0], width, height, width, s.spatial_decomposition_type, s.spatial_decomposition_count); - for(y=0; y<height; y++){ - for(x=0; x<width; x++){ - int64_t d= buffer[0][x + y*width]; - error += d*d; - if(FFABS(width/2-x)<9 && FFABS(height/2-y)<9) printf("%8"PRId64" ", d); - } - if(FFABS(height/2-y)<9) printf("\n"); - } - } - - } - return 0; -} -#endif /* TEST */ |