Zero Frame Drop (was: Re: [XviD-devel] inter48x48)

Christoph Lampert xvid-devel@xvid.org
Mon, 29 Jul 2002 10:20:22 +0200 (CEST)


Hi,
> (please don't laugh when u will see the source :
> i know it's a _very_ simple filter ;)
> 
> >ZERO: 290080     -17.7%              44.70   132.6 fps  +7.8%
> >DROP: 281280     -21.6%   -3.0%      44.59   113.5 fps  -7.7%
> 
> How did you exactly made your test ??
> (res,fps,encoder,XviD version,ect...)
> Have you take a look to the test i made ??
> I think DROP is made manualy, right ??
> 
> 3% more ?? 

Well, "3% less", actually. ;-) 
And the rest I thought I told, but maybe not, so:

res = 352x288, fps=25, encoded with XviD latest CVS (at that time).

> i'm sure in 640x480, you could gain at least 5% :
> a non-dropped zero frame was habitually 7000 bytes big in my test
> maybe it's due to the 2-pass mode and the length of the clip too....
> but i must say this test give better results than mine (15% improvement)
> 
> I think each improvement is good to take :)
> Did you activated ESPZ(^2) in this test ??

No, because I wrote the EPZS(<- sic!) and I know that it's not complete,
yet. At least it's not optimized.

> PS : Need i really to send you the source of the stat-detector-algo ??
> it's only 9 lines long...
> 
> void save_funct :
> take 1% pixels of frame (n)
> save it in a buffer.
> 
> bool iszframe_function
> test 1% pixels of frame (n) with frame (n-1)
> if the 1% pixels ALL match  |p(n)-p(n-1)|==0
> return true else return false.

That's the code to detect if two frames are exactly identical,
right? I meant the code where you detect and replace "almost identical" 
frames by identical copies of the previous. I thought that was what your
plugin did, and then XviD should drop the identical copies. 

gruel

-- 
Christoph H. Lampert chl@math.uni-bonn.de | Diese Signature wurde maschi-     
Beringstr. 6, Raum 14 Tel. (0228) 73-2948 | nell erstellt und bedarf
Sprechstunden: keine, aber meistens da    | keiner Unterschrift. AZ 27B-6