Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic 1-pass rate control #1009

Merged
merged 2 commits into from
Feb 19, 2019
Merged

Add basic 1-pass rate control #1009

merged 2 commits into from
Feb 19, 2019

Conversation

barrbrain
Copy link
Collaborator

@barrbrain barrbrain commented Feb 16, 2019

This is an adaptation of tterribe/rate_control8:

This is just the minimal patch required to get something working. There are still plenty of TODOs left to do: two-pass support, VFR support, golden frame support, the ability to drop frames, trial encodes for the first frames, quantization matrices, separate quantizer choices for Cb and Cr, proper lossless handling, support for AV1's levels, and some general refactoring to improve maintainability.

@barrbrain barrbrain marked this pull request as ready for review February 16, 2019 12:27
@barrbrain
Copy link
Collaborator Author

Preserved Tim's style for new code in src/rate.rs and matched style with the local context otherwise.

@coveralls
Copy link
Collaborator

coveralls commented Feb 16, 2019

Coverage Status

Coverage increased (+0.9%) to 79.927% when pulling 5140ce8 on barrbrain:rate-control into 9e4ea86 on xiph:master.

@lu-zero
Copy link
Collaborator

lu-zero commented Feb 17, 2019

Please rebase it.

@barrbrain barrbrain force-pushed the rate-control branch 2 times, most recently from 5575d17 to a503b2a Compare February 17, 2019 20:42
This is just the minimal patch required to get something working.
There are still plenty of TODOs left to do: two-pass support, VFR
 support, golden frame support, the ability to drop frames, trial
 encodes for the first frames, quantization matrices, separate
 quantizer choices for Cb and Cr, proper lossless handling, support
 for AV1's levels, and some general refactoring to improve
 maintainability.
@barrbrain barrbrain force-pushed the rate-control branch 4 times, most recently from 7e54e0a to 5140ce8 Compare February 18, 2019 16:31
Fix overflow in motion estimation RDO.
@barrbrain
Copy link
Collaborator Author

With the encode-decode test, coverage for rate.rs is pretty good. Could possible pick levels carefully to hit more blocks.
234 of 286 new or added lines in 5 files covered. (81.82%)

@lu-zero
Copy link
Collaborator

lu-zero commented Feb 19, 2019

I'd merge it now and refine later :)

@barrbrain barrbrain merged commit f2aa4c6 into xiph:master Feb 19, 2019
@barrbrain barrbrain deleted the rate-control branch January 7, 2020 07:44
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.

3 participants