View Full Version : Results about different scalings
MoonWalker
24th September 2002, 10:35
I did I test over the Matrix and here are the results :
Target : 1046532 Kb
Internal : 1046624 Kb
Koepi's : 1046528 Kb
Nitrogen's : 1046614 Kb
The average quantizer was excactly the same 2.503, the things tha changed were the number of I/P-Frames and the distribution of the quantizers..
MoonWalker
NiTroGen
25th September 2002, 11:17
You have encoded the whole movie 3 times, just to test the scaling method? Bravo!!!!
Well, the results speak for themselves. Internal linear scaling works just fine. I don't think the extra 100 kb at a desired size of 1046532 (0.01%) is a problem.
Koepi, our programs are now officially useless. ;)
Koepi
25th September 2002, 11:25
Still _MY_ scaling reaches the desired size closest. I can confirm that I always hit my desired size within +-4kb (well, older versions just hit within 12-20kb...). :P (my last encoding was 4kb undersized as well - strange behaviour... let's see how this encoding ends up!)
I don't consider my proggi useless, I like the "better" precision ;) Just kidding.
Btw., I think the size difference derives from redistributing the rounding error while downscaling - are you redistributing that too nitrogen, just for verification of my thesis?
Regards,
Koepi
NiTroGen
25th September 2002, 11:55
Here's my scaling routine (in VB):pCurve=(DesiredVideoSize-CreditsFrameSize-Overhead)/(TotalFrameSize-CreditsFrameSize)
Function NewFrame(x As Long) As Long
NewFrameSize = StatsRec(x).FrameSize * pCurve
If PFrame(x) Then
If NewFrameSize < MinPFrame Then NewFrameSize = MinPFrame
Else
If NewFrameSize < MinKFrame Then NewFrameSize = MinKFrame
End If
NewFrame = Round(NewFrameSize)
End FunctionAs you can see, our difference is in the minimum framesize selection. When I released the latest version, I didn't have the formulas about min I & P-frames, so I decided to set them to the minimum I got from the 1st pass stats file. So, will my scaling formula, frames with small size do NOT lose their quality, in cost of some extra KBytes. And of course there is the rounding error, too, which I do not redistribute, 'cause I do not consider it important. (Is it???)
Still _MY_ scaling reaches the desired size closest. I can confirm that I always hit my desired size within +-4kb (well, older versions just hit within 12-20kb...). :P (my last encoding was 4kb undersized as well - strange behaviour... let's see how this encoding ends up!)Well, an error of 0.01% of the desired size, I consider it a success. But I think that is completely subjective.
@MoonWalker:
When you hit the Scale button, in both programs, did you see the estimated video size? I think that the final video size must be compared to the estimated one, not to the desired value that we enter.
Koepi
25th September 2002, 15:21
The result must be compared to the rate we entered, nitrogen, that's the point! Dunno what you want to achieve with the "reported scaled size", I just have that as debug info in there, it's a sum up of the scaled sizes + some corrections, and I can correct them in a way I like so it can be a copy of the value we entered - the value is just _for me_ as debug info.
Dunno what you want to achieve now, but that's a VERY bad attitude that I don't see the first time now! Alarming behaviour... I think you want do some "competition" where I stated a "just kidding" above and meant it that way.
*scratching my head*
Koepi
NiTroGen
25th September 2002, 20:36
Originally posted by Koepi
The result must be compared to the rate we entered, nitrogen, that's the point! Dunno what you want to achieve with the "reported scaled size", I just have that as debug info in there, it's a sum up of the scaled sizes + some corrections, and I can correct them in a way I like so it can be a copy of the value we entered - the value is just _for me_ as debug info.
I think the result should me compaired to the "reported scaled size" and the "reported scaled size" to the rate we entered. I'll explain:
The formula downscales the total frame size to the "reported" one. If the formula is accurate then there should be almost no difference of the two sizes. (That's where your formula is better than mine.) Then, the "reported size" is taken from the XviD codec to produce the final size. So, if the downscaler said that it cannot achieve the exact desired size, you cannot expect the final video size to be close to the desired one (well, close, but not too close).
I think we have two components here: a) how good is the downscaling, and b)how close to the reported size will the final be (that depends on xvid itself).
I hope you got the idea of what I'm trying to say here.
Dunno what you want to achieve now, but that's a VERY bad attitude that I don't see the first time now! Alarming behaviour... I think you want do some "competition" where I stated a "just kidding" above and meant it that way.
I do not want to achieve anything. Everything I do, I do for experimenting only with xvid and for understanding the way it works. I've never forced anyone to use my "flawed or not" methods and I've never meant to be seen as competition, because I AM NOT and with my limited knowledge I CANNOT BE. I do "experiments" for learning and I expect from you and form anyone else in this forum to show my mistakes in public, so not just me, but anyone could learn from these.
Well, I hope it's just a misunderstanding here, and we'll continue "arguing" without hard feelings.
Defiler
25th September 2002, 22:21
I did the same test, and found Koepi's StatsReader to yield the lowest average quantizer, with the fewest outliers. Not by much, though.
MoonWalker
28th September 2002, 17:47
A test in the new scaling of Nitrogen's
Target : 1046532 Kb
Result : 1046665 Kb
MoonWalker
NiTroGen
28th September 2002, 23:08
Hmmm, that's very strange. If you check the created ext. stats file, you'll see that the total frame size is exactly the desired one. So, why are more than 100kb there? Any ideas?
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.