PDA

View Full Version : Compressibility check?


mtrooper
31st May 2002, 13:13
Hi!

I've got a problem: how do you actually calculate compressibility check (need it for a little project of mine...) like in GKnot or Divx5 enc? I've searched the forum for the last day, but haven't found anything useful, so please help.

Edit:
Ok, found a way to do it, it ~2.5 % off compared to divx5enc and 1% off compared to GKnot. Hopefully I at leas calculate the 1st pass filesize correctly (take the total column of the log file and make a sum and multiply accordingly). Now, if there is any concrete formula that works OK, then don't hesitate to post or at least point me in right direction :) Unless it's secret ;)

Ah, yes: I'm talking about Divx5 (anything else is not interesting for me)

Thanks.

Dark-Cracker
28th June 2002, 06:33
Do u have find the solution for the Xvid, Divx3 .stats file ?

Dark-Cracker
30th June 2002, 11:31
i suppose u should use this formula :

(open the

(Total_Compressibility/nuber_of_frame) / Pixel_In_A_Frame


but if i use this formula i don't find the same value than Gknot, perhaps i should find the "pixel in a frame" value in the .log file ? (perhaps use the motion ?) someone have an idear ?

dividee
30th June 2002, 14:52
Not sure if that's what you're asking for,but if you look in Gordian Knot generated avs file, you see this warning:

# COMPRESSIBILITY CHECK
# !!!!Snip Size now has to be 14 for use in GKnot!

It needs a fixed snip size because the first two frames of each snip are disregarded when computing the compressibility value.
That's for accuracy: the first frame of each snip is an unnatural scene change and thus usually bigger than it should be. The second one, I think, is because of the B frame implementation in divx5 (if you remember, snip size was 13 in pre-divx5 versions of GKnot).

Dark-Cracker
1st July 2002, 00:38
in fact i am trying to make a vb proggy for the Compresibility Test.

for this (exemple with a 3min movie using Divx5) :

- resolution : 640 * 272 = 174080 pixels
- create an .avs file with this line : SelectRangeEvery(280,14)
- open the divx.log file generated and calculate the "total compressibility"

in my exemple the divx.log file have 280 frames, and the total compressibility = 81942824 (bits)

normaly the compressibility test formula it (the same that the quality indicator) :

Average_bits/(Pixel*Frame)

in my exemple i found : (81942824/280) / 174080 = 1.681
but with Gknot i found : 1.618

i suppose my pixel value must be found in the divx.log file , it surrely for this i can't find the right comp test value.

i have do the same test with the Divx4 and i found :

ME :
- Total compressibility : 73995442 (bits)
- Frames : 272
- pixels : 174080

Compressibilty value : (73995442/272) / 174080 = 1.562

Gknot : Compressibility value = 1.422

Can someone could explain how to find a correct compressibility value ?

Thank u , Bye

Ps: sorry for my crap english , i hope u have understand me :)

dividee
3rd July 2002, 03:32
When calculating the "total compressibility", skip the 2 first frames and accumulate the size of the next 12 frames, then skip 2, accumulate 12, etc. then divide by the number of frames you counted and the resolution.

Dark-Cracker
3rd July 2002, 08:08
thank u very very much :-) i will test this :)

PS: good work with your Avisynth plug-in , and your tutorial on the plugin programmation. still to make a such good work for the divx scene.

bye.

mtrooper
20th September 2002, 20:40
well, I know it's a late replay (I kinda forgot about the thread...exams are evil :() but thanks for all the info on how to implement compressibility check!