decrease_quality now takes an optional delta