Skip to content

VPLAY-13060 ABR rejecting outliers for bandwidth calculation L2 2034 intermittent#1200

Open
cpc005 wants to merge 7 commits intodev_sprint_25_2from
feature/vplay-13060
Open

VPLAY-13060 ABR rejecting outliers for bandwidth calculation L2 2034 intermittent#1200
cpc005 wants to merge 7 commits intodev_sprint_25_2from
feature/vplay-13060

Conversation

@cpc005
Copy link
Contributor

@cpc005 cpc005 commented Mar 18, 2026

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.

  • Modify ABR to only reject higher than median outliers when it has 2 samples

@cpc005 cpc005 requested a review from a team as a code owner March 18, 2026 16:29
Copilot AI review requested due to automatic review settings March 18, 2026 16:29
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings March 19, 2026 15:46
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings March 24, 2026 10:04
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants