Hi Pradeep,
no improve with these 3 patches, but if you want to start next parallel frame early, we have to do it, next frame need correct reference frame Thanks, Min At 2015-12-23 12:07:14,"Pradeep Ramachandran" <[email protected]> wrote: Min, Can you please share the impact that this sequence of 3 patches has on performance for our presets. What machine did you do the test on? Pradeep Ramachandran, PhD Solution Architect, pradeeprama.info/ www.multicorewareinc.com/ Ph: +91 99627 82018 On Tue, Dec 22, 2015 at 7:19 AM, Min Chen <[email protected]> wrote: # HG changeset patch # User Min Chen <[email protected]> # Date 1450728715 21600 # Node ID 3e9e45fd692d79806e53d69c2ed7a20b3e24e671 # Parent d8c3eded1440670bde63e2fb5bec0e80ff6e2d67 reduce pointer operators on I400 --- source/encoder/framefilter.cpp | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff -r d8c3eded1440 -r 3e9e45fd692d source/encoder/framefilter.cpp --- a/source/encoder/framefilter.cpp Mon Dec 21 13:46:28 2015 -0600 +++ b/source/encoder/framefilter.cpp Mon Dec 21 14:11:55 2015 -0600 @@ -507,7 +507,7 @@ const intptr_t stride = reconPic->m_stride; const intptr_t strideC = reconPic->m_strideC; pixel *pixY = reconPic->getLumaAddr(lineStartCUAddr); - // // MUST BE check I400 since m_picOrg uninitialize in that case + // MUST BE check I400 since m_picOrg uninitialize in that case pixel *pixU = (m_param->internalCsp != X265_CSP_I400) ? reconPic->getCbAddr(lineStartCUAddr) : NULL; pixel *pixV = (m_param->internalCsp != X265_CSP_I400) ? reconPic->getCrAddr(lineStartCUAddr) : NULL; int copySizeY = realW; @@ -560,13 +560,14 @@ if (row == FrameFilter::ParallelFilter::numRows - 1) { pixY += (realH - 1) * stride; - pixU += ((realH >> vChromaShift) - 1) * strideC; - pixV += ((realH >> vChromaShift) - 1) * strideC; for (uint32_t y = 0; y < lumaMarginY; y++) memcpy(pixY + (y + 1) * stride, pixY, copySizeY * sizeof(pixel)); if (m_param->internalCsp != X265_CSP_I400) { + pixU += ((realH >> vChromaShift) - 1) * strideC; + pixV += ((realH >> vChromaShift) - 1) * strideC; + for (uint32_t y = 0; y < chromaMarginY; y++) { memcpy(pixU + (y + 1) * strideC, pixU, copySizeC * sizeof(pixel)); _______________________________________________ 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
