[XviD-devel] A SSIM Plugin for XviD

skal skal65535 at orange.fr
Fri Oct 13 18:28:09 CEST 2006


  Johannes and all,

> Message du 13/10/06 16:08
> De : "Johannes Reinhardt" <Johannes.Reinhardt at uni-konstanz.de>
> >> Message du 13/10/06 11:09
> >>     
> >>> The computation of ssim is slow. I tried to speed it up with a bit asm,
> >>> but I have not coded in asm before. It would be great if some of the asm
> >>> wizards could comment. It can be sped up more by reducing accuracy, by
> >>> changing GRID to 2 or 4. But there seems to lurks a bug, as this 
> >>> sometimes gives strange results. I will look into this.
> >>>       
> >>   also: since MMX is mixed with floats, i fear some emms() were
> >>   required, which i added. Could be an explanation for the strange
> >>   behaviour.
> >>     
> >
> >   there's a small bench for ssim functions included in xvid_bench.c too,
> >   which shown no problem (unless the bench is itself broken, of course).
> >   
> Attached is a patch that corrects a typo in xvid_bench.

   ok, committed.
   Note: attachments get stripped on this list, no exceptions.
   You should rather inline the patch or upload it somewhere...

> 
> The bench reports an error for lum_2x8 here (it gives -763 instead of 
> -841).
> Typo or a real problem?

   a real problem: the bench was wrong for lum2x8 (uninitialized reads).
   Fixed.

> Is there a reason why the plugin setup in encraw around line 1907 is in 
> #ifndef?

   it was because .dsp/.dsw weren't updated at that time, so the
   plugin was likely not to be compiled for WIN32. Now, it's ok.

> The SSE2 implementation of consim is not faster than the mmx version 
> with all CPUs
> (Pentium IV and Pentium M) I tested. Is there a chance to speed it up or 
> should I
> disable SSE2? Or is SSE2 perhaps faster on other CPUs?

   I didn't had a deeper look at the ASM yet, because as said,
   there's one thing to decide first: are you sure you want a 
   square window for filtering? :)

   bye,
Skal


More information about the XviD-devel mailing list