Appendix B: H.264 Advanced Settings
Settings
Setting | Explanation | 
  | 
  | 
BitRateTolerance  | Setting the bit rate tolerance tells the encoder it must hit the  | 
  | target bit rate almost exactly. However, this value can have an  | 
  | adverse effect on quality because you are forcing the encoder  | 
  | to stay at a target bit rate. More heavy frames may not get  | 
  | enough bits to make the image look better while less heavy  | 
  | frames get more than they need. As a result, the quality may  | 
  | vary. If you set the value to 1, the encoder uses 0.01.  | 
  | 
  | 
DirectMVPrediction  | The default setting is temporal. Temporal breaks when b-  | 
  | pyramid is applied. As a result, it is easy to mix the two  | 
  | improperly. Spatial is a better default.  | 
  | 
  | 
GOPSize  | This value sets the maximum interval between IDR frames.  | 
  | Theoretically, higher values improve compression because IDR  | 
  | frames are the heaviest, but it can also reduce the appearance  | 
  | of fluctuating quality.  | 
GOPSizeMin  | This value sets the minimum length between IDR frames. This  | 
  | setting limits the minimum length after each IDR frame before  | 
  | another can be placed.  | 
  | 
  | 
InLoopDeblockingFilterAlpha  | This value affects the overall amount of deblocking applied to  | 
  | the picture. Higher values deblock more efficiently, but retain  | 
  | less detail causing the image to appear softened.  | 
  | The default value is 0 and should be sufficient to eliminate  | 
  | most blocking, but it leaves the picture noticeably blurrier. In  | 
  | general, values should be no lower than   | 
  | 3. This value is the most important parameter in determining  | 
  | the overall sharpness of your encode.  | 
  | 
  | 
InLoopDeblockingFilterBeta  | This value determines whether something in a block is a detail  | 
  | or not when deblocking is applied to it. Lower values apply less  | 
  | deblocking to more flat blocks with detail present and more  | 
  | deblocking to blocks without detail. Higher values cause more  | 
  | deblocking to be applied to less flat blocks with details  | 
  | present. Raising the value of Beta deblocking is a good way to  | 
  | get rid of ringing artifacts by applying more aggressive filtering  | 
  | to blocks that aren’t very flat. Lowering the value of Beta  | 
  | deblocking is a good way to reduce the amount of DCT blocks  | 
  | without blurring the entire picture.  | 
  | 
  | 
MotionEstimationMethod  | This value sets the quality. It determines the motion detection  | 
  | method (5 is dia, 7 is hex, 8 is umh, 2 is esa, 10 is teas).  | 
  | Because teas (10) is not really achievable in real time encoding  | 
  | there is no reason to use it.  | 
  | dia – (diamond) is the simplest search. It starts at the best  | 
  | predictor, checks the motion vectors at one pixel upwards,  | 
  | left, down, and to the right, chooses the best, and repeats the  | 
  | process until it no longer finds any better motion vectors. This  | 
124  | ViewCast  |