I see what you're trying to do here. m_baseQP is always zero in normal vbv operation, but contains previous QP values during re-encode.
A better solution would be to find out which field in TComDataCU actually contains uncleared values, and clear them in TComDataCU::initCU. On Sat, Apr 19, 2014 at 1:07 AM, Steve Borho <[email protected]> wrote: > On Fri, Apr 18, 2014 at 7:31 AM, <[email protected]> > wrote: > > # HG changeset patch > > # User Santhoshini Sekar <[email protected]> > > # Date 1397824258 -19800 > > # Fri Apr 18 18:00:58 2014 +0530 > > # Node ID 3d680a36ea9acc45f3db128a5efe557a79a3026b > > # Parent 03aa222ff8eb5ffbe65bd5bf522cad6561210024 > > vbv:reinit cu data when row vbv re-rencode is triggered. > > space after colon > no need for end punctuation on summary line > > > > > diff -r 03aa222ff8eb -r 3d680a36ea9a source/encoder/frameencoder.cpp > > --- a/source/encoder/frameencoder.cpp Fri Apr 18 17:32:14 2014 +0530 > > +++ b/source/encoder/frameencoder.cpp Fri Apr 18 18:00:58 2014 +0530 > > @@ -1100,6 +1100,8 @@ > > { > > if (!row) > > m_pic->m_rowDiagQp[row] = m_pic->m_avgQpRc; > > + if (cu->m_baseQp != 0) > > + cu->initEstData(0); > > this doesn't look to be the appropriate place for this sort of reset. > If it needs to happen after a row restart shouldn't it be done in the > restart loop below? Here it looks like it could be calling > initEstData() many times, redundantly. > > > > > if (row >= col && row && m_vbvResetTriggerRow != row) > > cu->m_baseQp = m_pic->getCU(cuAddr - numCols + > 1)->m_baseQp; > > _______________________________________________ > > x265-devel mailing list > > [email protected] > > https://mailman.videolan.org/listinfo/x265-devel > > > > -- > Steve Borho > _______________________________________________ > x265-devel mailing list > [email protected] > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
