VPLAY-13060 ABR rejecting outliers for bandwidth calculation L2 2034 intermittent#1200
VPLAY-13060 ABR rejecting outliers for bandwidth calculation L2 2034 intermittent#1200cpc005 wants to merge 7 commits intodev_sprint_25_2from
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adjusts the Rolling Median Outlier (RMO) bandwidth estimator to reject only high-side outliers (samples significantly above the median), addressing cases where the estimator could incorrectly reject all samples and report bandwidth as unavailable.
Changes:
- Update RMO outlier filtering to compare
(sample - median)against the configured outlier threshold (instead of absolute difference). - Add a unit test covering the “one valid sample remains” scenario after outlier rejection.
- Minor test annotation/comment updates.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
abr/RollingMedianOutlierEstimator.cpp |
Changes outlier rejection logic to only drop samples above the median by more than the threshold. |
test/utests/tests/AampAbrTests/AbrTests.cpp |
Adds a regression test validating bandwidth remains available when only the high outlier is rejected. |
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR adjusts the Rolling Median Outlier (RMO) bandwidth estimator to avoid rejecting both samples during tune startup when only two bandwidth samples exist and their spread exceeds the configured outlier threshold.
Changes:
- Update RMO outlier rejection logic to only remove the higher outlier when the sample set size is exactly 2.
- Add a unit test covering the 2-sample outlier scenario to ensure bandwidth remains available.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
abr/RollingMedianOutlierEstimator.cpp |
Changes outlier-diff computation to be asymmetric for exactly 2 samples (reject only high outlier). |
test/utests/tests/AampAbrTests/AbrTests.cpp |
Adds regression test for the 2-sample outlier behavior and minor comment tweak. |
You can also share your feedback on Copilot code review. Take the survey.
There was a problem hiding this comment.
Pull request overview
This PR updates AAMP’s Rolling Median Outlier (RMO) bandwidth estimator to avoid rejecting both samples during initial tune when only two bandwidth samples exist and they differ significantly, which could lead to “bandwidth unavailable” despite having usable data.
Changes:
- Adjust RMO outlier rejection logic to only reject samples above the median when exactly 2 samples are present.
- Add a unit test covering the 2-sample “reject only higher outlier” scenario.
- Minor test clarification comment update (annotating the rejected sample).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
abr/RollingMedianOutlierEstimator.cpp |
Implements special-case outlier handling when the estimator has exactly 2 samples, preventing both samples from being discarded. |
test/utests/tests/AampAbrTests/AbrTests.cpp |
Adds a regression test to ensure bandwidth remains available when one of two samples is a high outlier. |
Reason for change: At start of tune with 2 samples the ABR will reject both if they differ by too much even when both are higher than the required bandwidth.