On Fri, Dec 27, 2013 at 11:07 PM, Aarthi Thirumalai < aar...@multicorewareinc.com> wrote:
> # HG changeset patch > # User Aarthi Thirumalai > # Date 1388165826 -19800 > # Fri Dec 27 23:07:06 2013 +0530 > # Node ID 964e5bc90ad2a0f80980409046a13b4cbaf11a03 > # Parent 8b5c5fe7fbc923684af45e5ff7a0ed5ed6e83db9 > cutree: bug fixes. correct the timescale used in getQScale() > > diff -r 8b5c5fe7fbc9 -r 964e5bc90ad2 source/encoder/ratecontrol.cpp > --- a/source/encoder/ratecontrol.cpp Fri Dec 27 15:30:41 2013 +0530 > +++ b/source/encoder/ratecontrol.cpp Fri Dec 27 23:07:06 2013 +0530 > @@ -633,10 +633,11 @@ > > if (cfg->param.rc.cuTree) > { > - double scale = > curSlice->getSPS()->getVuiParameters()->getTimingInfo()->getTimeScale(); > - double units = > curSlice->getSPS()->getVuiParameters()->getTimingInfo()->getNumUnitsInTick(); > - double timescale = units / scale; > - q = pow(BASE_FRAME_DURATION / CLIP_DURATION(frameDuration * > timescale), 1 - cfg->param.rc.qCompress); > + // Scale and units are obtained from rateNum and rateDenom for > videos with fixed frame rates. > + double scale = cfg->param.frameRate * 2; > + double numTicks = 1; > + double timescale = numTicks / scale; > + q = pow(BASE_FRAME_DURATION / CLIP_DURATION(2 * timescale), 1 - > cfg->param.rc.qCompress); > Good catch. Currently, these SPS/VUI parameters arent even set. } > else > q = pow(rce->blurredComplexity, 1 - cfg->param.rc.qCompress); > diff -r 8b5c5fe7fbc9 -r 964e5bc90ad2 source/encoder/slicetype.cpp > --- a/source/encoder/slicetype.cpp Fri Dec 27 15:30:41 2013 +0530 > +++ b/source/encoder/slicetype.cpp Fri Dec 27 23:07:06 2013 +0530 > @@ -1394,7 +1394,7 @@ > memset(Frames[b]->propagateCost, 0, widthInCU * sizeof(uint16_t)); > > uint16_t StrideInCU = (uint16_t)widthInCU; > - for (uint16_t block_y = 0; block_y < heightInCU; block_y += 16) > + for (uint16_t block_y = 0; block_y < heightInCU; block_y++) > { > int cuIndex = block_y * StrideInCU; > /* TODO This function go into ASM */ > @@ -1404,7 +1404,7 @@ > > if (referenced) > propagate_cost += widthInCU; > - for (uint16_t block_x = 0; block_x < widthInCU; block_x += 16, > cuIndex++) > + for (uint16_t block_x = 0; block_x < widthInCU; block_x++, > cuIndex++) > { > int propagate_amount = scratch[block_x]; > /* Don't propagate for an intra block. */ > _______________________________________________ > x265-devel mailing list > x265-devel@videolan.org > https://mailman.videolan.org/listinfo/x265-devel >
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel