--- plugin_ssim.c 2006/10/11 13:55:32 1.1 +++ plugin_ssim.c 2006/10/13 08:39:20 1.3 @@ -26,7 +26,7 @@ #include #include #include -#include +#include "../portab.h" #include "../xvid.h" #include "plugin_ssim.h" #include "../utils/emms.h" @@ -107,9 +107,9 @@ /*writeout the collected stats*/ void framestat_write(ssim_data_t* ssim, char* path){ + framestat_t* tmp = ssim->head; FILE* out = fopen(path,"w"); if(out==NULL) printf("Cannot open %s in plugin_ssim\n",path); - framestat_t* tmp = ssim->head; fprintf(out,"SSIM Error Metric\n"); fprintf(out,"quant avg min max"); @@ -122,10 +122,9 @@ /*writeout the collected stats in octave readable format*/ void framestat_write_oct(ssim_data_t* ssim, char* path){ - + framestat_t* tmp; FILE* out = fopen(path,"w"); if(out==NULL) printf("Cannot open %s in plugin_ssim\n",path); - framestat_t* tmp; fprintf(out,"quant = ["); tmp = ssim->head; @@ -296,7 +295,8 @@ meano = ssim->func8x8(ptr1,str); meanc = ssim->func8x8(ptr2,str); ssim->consim(ptr1,ptr2,str,meano>>6,meanc>>6,&devo,&devc,&corr); - + emms(); + val = calc_ssim(meano,meanc,devo,devc,corr); isum += val; c++; @@ -318,6 +318,8 @@ meano = ssim->func8x8(ptr1,str); meanc = ssim->func8x8(ptr2,str); ssim->consim(ptr1,ptr2,str,meano>>6,meanc>>6,&devo,&devc,&corr); + emms(); + val = calc_ssim(meano,meanc,devo,devc,corr); isum += val; c++; @@ -370,6 +372,7 @@ ssim->param = param; +#if defined(ARCH_IS_IA32) if(cpu_flags & XVID_CPU_MMX){ ssim->func8x8 = lum_8x8_mmx; ssim->consim = consim_mmx; @@ -377,6 +380,7 @@ if(cpu_flags & XVID_CPU_SSE2){ ssim->consim = consim_sse2; } +#endif ssim->ssim_sum = 0.0; ssim->frame_cnt = 0;