View Single Post
Old 28th August 2014, 08:29   #7  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,309
Quote:
Originally Posted by akupenguin View Post
There's two ways that lots of threads can lose quality:
When using VBV, we have to plan the size of one frame using only predictions of, not exact knowledge of, the size of previous frames that are still in progress. Threads do tell each other their exact size-so-far at the end of each row of macroblocks, not just when finishing a whole frame; but that can still be a significant amount of stuff in progress, adding up to a significant amount of uncertainty. This is bad because if we overcommitted bits to the beginning of a frame and then have to revise quality downwards for the bottom of the frame, (or conversely if we undercommitted for the top and only later learned that we have more bits available for the bottom), the result looks worse than if we had encoded the whole frame at an intermediate quality that gives the same total size. If you're not using VBV, this doesn't happen; none of the other ratecontrol modes care about such small deviations from the predicted size.
Unless it's already done, is it possible in case of multi-pass and multi-threaded encode, to add data to stat file to help bit repartition for passes after the 1rst ? In that case it may significantly help and improve result, no ? Or am i saying something stupid ?
jpsdr is offline   Reply With Quote