An ABR-reset also resets m_bufferFillFinal, even with bStrictCbr
Noticed a VBV discrepancy when encoding ABR with VBV, even tho I am using bStrictCbr and bEnableConstVbv. Sometimes, close to scene changes my own VBV analysis and the internal in libx265 starts to differ.
Tracked the cause down to RateControl::checkAndResetABR() It calls RateControl::init() which in turn reinitialize m_bufferFillFinal to m_bufferSize * m_param->rc.vbvBufferInit
I'm not confident enough with the code base to attempt fixing it myself without causing further problems.
This is with version 2.5 and 2.6.
Comments (7)
-
reporter -
Account Deactivated -
assigned issue to
-
assigned issue to
-
I'm able to reproduce this issue. strict-cbr is not intended to give consistent results between runs. This has to be dealt with const-vbv. I shall update with the fix patch. Thanks.
-
A fix patch has been pushed for this issue - Changeset: 11958 (2e684b80d90f) rc: Fix inconsistency in --const-vbv (issue
#381) Can you update whether this fixes your issue ? Thanks. -
reporter Thanks. I will have a look at it as soon as possible and get back to you.
-
reporter Can no longer reproduce on version 2.6 with the fix.
Thanks
-
reporter - changed status to resolved
- Log in to comment
Small patch that seems to solve the issue. Might cause new issues that I can't foresee myself.