• Marco's avatar
    vp9-svc: Fix to the layer buffer settings. · cbe62b9c
    Marco authored
    For the case when the number of temporal layers > 1,
    the buffer levels (starting/optimal_buffer_level,
    and maximum_buffer_size) were not scaled properly.
    
    In vp9_update_layer_context_change_config():
    when setting the layer-buffer levels, fix is to scale
    the layer-target_bandwidth by the target_bandwidth
    (which is the full stream bandwidth) instead of the
    spatial_layer_target.
    
    This is needed because prior to the call
    vp9_update_layer_context_change_config(), set_rc_buffer_sizes()
    is called which sets the buffer levels based on target bandwidth
    (which is the full bandwidth for the SVC stream).
    
    This fix properly sets the layer-buffer levels based on the
    layer-bandwidth, and leads to better rate targeting.
    
    Small/neutral change in avgPSNR/SSIM metrics on RTC set.
    
    Change-Id: Ic0f4f7f3487c37b9a9adb4781ae5edfed7140a57
    cbe62b9c
vp9_svc_layercontext.c 32.6 KB