Can you try sending this as a fresh patch to the mailing list? Does not apply cleanly to the parent node.
On Thu, Sep 19, 2013 at 2:46 PM, Deepthi Devaki Akkoorath < deepthidev...@multicorewareinc.com> wrote: > # HG changeset patch > # User Deepthi Devaki <deepthidev...@multicorewareinc.com> > # Date 1379582068 -19800 > # Node ID d52de033d7dde002bbbb55e9d55ece138c33fd61 > # Parent 26d6f155f8df69147f40f4945d99c29a52988c56 > lookahead: fix crash for I frame cost estimation > > diff -r 26d6f155f8df -r d52de033d7dd source/encoder/slicetype.cpp > --- a/source/encoder/slicetype.cpp Wed Sep 18 16:13:33 2013 -0500 > +++ b/source/encoder/slicetype.cpp Thu Sep 19 14:44:28 2013 +0530 > @@ -360,44 +360,46 @@ > mvmax.x = (uint16_t)((widthInCU - cux - 1) * cuSize + 8); > mvmax.y = (uint16_t)((heightInCU - cuy - 1) * cuSize + 8); > > - for (int i = 0; i < 1 + bBidir; i++) > + if (p0 != p1) > { > - if (!bDoSearch[i]) > + for (int i = 0; i < 1 + bBidir; i++) > { > - /* Use previously calculated cost */ > + if (!bDoSearch[i]) > + { > + /* Use previously calculated cost */ > + COPY2_IF_LT(bcost, *fenc_costs[i], listused, i + 1); > + continue; > + } > + int numc = 0; > + MV mvc[4], mvp; > + MV *fenc_mv = fenc_mvs[i]; > + > + /* Reverse-order MV prediction. */ > + mvc[0] = 0; > + mvc[2] = 0; > +#define MVC(mv) mvc[numc++] = mv; > + if (cux < widthInCU - 1) > + MVC(fenc_mv[1]); > + if (cuy < heightInCU - 1) > + { > + MVC(fenc_mv[widthInCU]); > + if (cux > 0) > + MVC(fenc_mv[widthInCU - 1]); > + if (cux < widthInCU - 1) > + MVC(fenc_mv[widthInCU + 1]); > + } > +#undef MVC > + if (numc <= 1) > + mvp = mvc[0]; > + else > + { > + x265_median_mv(mvp, mvc[0], mvc[1], mvc[2]); > + } > + > + *fenc_costs[i] = me.motionEstimate(i ? fref1 : fref0, mvmin, > mvmax, mvp, numc, mvc, merange, *fenc_mvs[i]); > COPY2_IF_LT(bcost, *fenc_costs[i], listused, i + 1); > - continue; > } > - int numc = 0; > - MV mvc[4], mvp; > - MV *fenc_mv = fenc_mvs[i]; > - > - /* Reverse-order MV prediction. */ > - mvc[0] = 0; > - mvc[2] = 0; > -#define MVC(mv) mvc[numc++] = mv; > - if (cux < widthInCU - 1) > - MVC(fenc_mv[1]); > - if (cuy < heightInCU - 1) > - { > - MVC(fenc_mv[widthInCU]); > - if (cux > 0) > - MVC(fenc_mv[widthInCU - 1]); > - if (cux < widthInCU - 1) > - MVC(fenc_mv[widthInCU + 1]); > - } > -#undef MVC > - if (numc <= 1) > - mvp = mvc[0]; > - else > - { > - x265_median_mv(mvp, mvc[0], mvc[1], mvc[2]); > - } > - > - *fenc_costs[i] = me.motionEstimate(i ? fref1 : fref0, mvmin, > mvmax, mvp, numc, mvc, merange, *fenc_mvs[i]); > - COPY2_IF_LT(bcost, *fenc_costs[i], listused, i + 1); > } > - > if (!fenc->bIntraCalculated) > { > int nLog2SizeMinus2 = g_convertToBit[cuSize]; // partition size > > > _______________________________________________ > 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