• paulwilkins's avatar
    Fix for encoder slowdown (for speeds >= 3) · e15be302
    paulwilkins authored
    Some clips in nightly unit test exhibiting significant encoder slowdown which
    appears to bisect to Change-Id: I692311a709ccdb6003e705103de9d05b59bf840a.
    
    The above change allowed for emergency iterations of the recode loop and
    adjustment of the Q range if there is a large rate miss.
    
    This patch disables the above adaptation for cases of cpu_speed >= 3 or more
    specifically where cpi->sf.recode_loop >= ALLOW_RECODE_KFARFGF.
    
    For speeds >= 3 the code does not currently run a dummy bit pack operation
    inside the recode loop. Without this dummy pack operation there is no up to
    date estimate of the current frame's size to use as a basis for assessing the
    requirement for a recode. In practice it was using the previous frames size (or 0
    for the first frame) which could cause odd behavior.
    
    If we require the emergency rate correction added in  Change-Id: I6923.. for
    the higher speed settings it will be necessary to enable the dummy pack
    which will in turn hurt encode speed.
    
    BUG=webm:1454
    
    Change-Id: I4fb3c6062ca9508325a6f31582f8e80f1a9b126f
    e15be302
vp9_encoder.c 197 KB