slicetypeAnalyse::maxSearch also needs to be changed, or you could trigger another crash using --b-adapt 1.
It seems to me, under the hood we're just incrementing lookaheadDepth. That may be the right thing to do here, or do a CHECK for lookaheadDepth >= bframes? On Mon, Mar 9, 2015 at 12:25 PM, <[email protected]> wrote: > # HG changeset patch > # User Aarthi Thirumalai > # Date 1425883938 -19800 > # Mon Mar 09 12:22:18 2015 +0530 > # Node ID 520ab30492f631b5502b309183f47efc0b8a9768 > # Parent 043c2418864b0a3ada6f597e6def6ead73d90b5f > slicetype: fix crash when rc-lookahead = bframes. > > diff -r 043c2418864b -r 520ab30492f6 source/encoder/slicetype.cpp > --- a/source/encoder/slicetype.cpp Fri Mar 06 13:15:55 2015 -0600 > +++ b/source/encoder/slicetype.cpp Mon Mar 09 12:22:18 2015 +0530 > @@ -484,7 +484,7 @@ > memset(m_preframes, 0, sizeof(m_preframes)); > m_preTotal = m_preAcquired = m_preCompleted = 0; > m_sliceTypeBusy = false; > - m_fullQueueSize = m_param->lookaheadDepth; > + m_fullQueueSize = X265_MAX(m_param->lookaheadDepth, m_param->bframes > + 1); > m_bAdaptiveQuant = m_param->rc.aqMode || m_param->bEnableWeightedPred > || m_param->bEnableWeightedBiPred; > > /* If we have a thread pool and are using --b-adapt 2, it is generally > @@ -835,7 +835,7 @@ > { > Lowres *frames[X265_LOOKAHEAD_MAX]; > Frame *list[X265_LOOKAHEAD_MAX]; > - int maxSearch = X265_MIN(m_param->lookaheadDepth, X265_LOOKAHEAD_MAX); > + int maxSearch = X265_MIN(X265_MAX(m_param->lookaheadDepth, > m_param->bframes + 1), X265_LOOKAHEAD_MAX); > > memset(frames, 0, sizeof(frames)); > memset(list, 0, sizeof(list)); > _______________________________________________ > 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
