[x265] [PATCH] modify for BFrames in ABR , clean up code
Aarthi Priya Thirumalai
aarthi at multicorewareinc.com
Thu Sep 12 13:29:27 CEST 2013
Thanks for comments. Noted. Adding the correction suggested and a few more
tweaks in the next commit.
--Aarthi
On Thu, Sep 12, 2013 at 3:28 PM, Derek Buitenhuis <
derek.buitenhuis at gmail.com> wrote:
> On 9/11/2013 5:31 PM, aarthi at multicorewareinc.com wrote:
> > # HG changeset patch
> > # User Aarthi Thirumalai
> > # Date 1378916973 -19800
> > # Wed Sep 11 21:59:33 2013 +0530
> > # Node ID 823b35128a7dcbd77f0d4c274a285d63deba7c5a
> > # Parent a6bf1f10e820da79da76b4649eaae11b6a030521
> > modify for BFrames in ABR , clean up code
>
> Perhaps:
>
> Improve bframe ratecontrol logic
>
> This should improve ABR results by <...>.
>
> Where <...> is an explanation on how it improves it. I understand
> it's mostly tweaking magic numbers.
>
> > + TComSlice* prevRefSlice = curFrame->getRefPic(REF_PIC_LIST_0,
> 0)->getSlice();
> > + TComSlice* nextRefSlice = curFrame->getRefPic(REF_PIC_LIST_1,
> 0)->getSlice();
> > + int i0 = prevRefSlice->getSliceType() == I_SLICE;
> > + int i1 = nextRefSlice->getSliceType() == I_SLICE;
>
> bool? Or do we intentionally stick to ints to make a C port
> easier later on?
>
> > + if (prevRefSlice->getSliceType() == B_SLICE &&
> prevRefSlice->isReferenced())
> > + q0 -= pbOffset / 2;
> > + if (nextRefSlice->getSliceType() == B_SLICE &&
> nextRefSlice->isReferenced())
> > + q1 -= pbOffset / 2;
>
> Accidental extra whitespace before the ==.
>
> > - lastQScaleFor[P_SLICE] = lastQScale = qScale/pbFactor;
>
> Can you document the reason for removing this in the commit message?
>
> > - cplxrSum += 1.1 *bits * qp2qScale(rce->qpaRc) /
> rce->lastRceq;
> > + /* The factor 1.5 is to tune up the actual bits otherwise
> the cplxrSum is scaled too low
> > + * to improve short term compensation for next frame. */
> > + cplxrSum += 1.5 * bits * qp2qScale(rce->qpaRc) /
> rce->lastRceq;
>
> Extra space after 'bits', where a comma should be.
>
> Also, s/the cplxrSum/cplxrSum/.
>
> > - cplxrSum += bits * qp2qScale(rce->qpaRc) / (rce->lastRceq *
> fabs(0.5 * pbFactor));
> > + cplxrSum += bits * qp2qScale(rce->qpaRc) / (rce->lastRceq *
> fabs(pbFactor));
>
> I assume this is related to the above tweak, i.e. a natrual consequence of
> increasing the coefficient cplxrSum uses?
>
> Technically, seems OK.
>
> - Derek
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20130912/947e9bad/attachment-0001.html>
More information about the x265-devel
mailing list