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