The reset happens on the base spatial layer, before encoding. But it should be reset on the first_spatial_layer_to_encode, which may not be 0.
Unified · Split
| @@ -864,8 +864,9 @@ int vp9_one_pass_cbr_svc_start_layer(VP9_COMP *const cpi) { · 863 unmodified lines | ||
| 864 | 864 | } |
| 865 | 865 | } |
| 866 | 866 | |
| 867 | − // Reset the drop flags for all spatial layers, on the base layer. | |
| 868 | − if (svc->spatial_layer_id == 0) { | |
| 867 | + // Reset the drop flags for all spatial layers, on the | |
| 868 | + // first_spatial_layer_to_encode. | |
| 869 | + if (svc->spatial_layer_id == svc->first_spatial_layer_to_encode) { | |
| 869 | 870 | vp9_zero(svc->drop_spatial_layer); |
| 870 | 871 | // TODO(jianj/marpan): Investigate why setting svc->lst/gld/alt_fb_idx |
| 871 | 872 | // causes an issue with frame dropping and temporal layers, when the frame |