HEVC码率控制(三):picture level的比特分配

    xiaoxiao2021-03-25  148

    使用二分法求解GOP级别的lambda

    Double TEncRCGOP::xSolveEqua( Double targetBpp, Double* equaCoeffA, Double* equaCoeffB, Int GOPSize ) { Double solution = 100.0; Double minNumber = 0.1; Double maxNumber = 10000.0; for ( Int i=0; i<g_RCIterationNum; i++ ) { Double fx = 0.0; for ( Int j=0; j<GOPSize; j++ ) { fx += equaCoeffA[j] * pow( solution, equaCoeffB[j] ); } if ( fabs( fx - targetBpp ) < 0.000001 ) { break; } if ( fx > targetBpp ) { minNumber = solution; solution = ( solution + maxNumber ) / 2.0; } else { maxNumber = solution; solution = ( solution + minNumber ) / 2.0; } } solution = Clip3( 0.1, 10000.0, solution ); return solution; }
    转载请注明原文地址: https://ju.6miu.com/read-4659.html

    最新回复(0)