Hello Deepthi,
Hope team are fine. The next goal may improve Frame Parallelism performance, we can start CU early. Thanks, Min At 2015-12-08 18:33:09,"Deepthi Nandakumar" <[email protected]> wrote: Min, Thanks a lot for the series. I will test and queue them as soon as we regain access to test machines etc. Sorry about the delay. On Tue, Dec 8, 2015 at 5:24 AM, Min Chen <[email protected]> wrote: # HG changeset patch # User Min Chen <[email protected]> # Date 1449511549 21600 # Node ID 4f6b549198244291d25d6d2a0208e212960237c1 # Parent b7ca5ebd7fcdcd4af0ef5ae567e88c04b7694e46 Convert Deblock functions to statis --- source/common/deblock.cpp | 16 ++++++++-------- source/common/deblock.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff -r b7ca5ebd7fcd -r 4f6b54919824 source/common/deblock.cpp --- a/source/common/deblock.cpp Mon Dec 07 11:34:23 2015 -0600 +++ b/source/common/deblock.cpp Mon Dec 07 12:05:49 2015 -0600 @@ -34,7 +34,7 @@ #define DEBLOCK_SMALLEST_BLOCK 8 #define DEFAULT_INTRA_TC_OFFSET 2 -void Deblock::deblockCTU(const CUData* ctu, const CUGeom& cuGeom, int32_t dir) const +void Deblock::deblockCTU(const CUData* ctu, const CUGeom& cuGeom, int32_t dir) { uint8_t blockStrength[MAX_NUM_PARTITIONS]; @@ -69,7 +69,7 @@ /* Deblocking filter process in CU-based (the same function as conventional's) * param Edge the direction of the edge in block boundary (horizonta/vertical), which is added newly */ -void Deblock::deblockCU(const CUData* cu, const CUGeom& cuGeom, const int32_t dir, uint8_t blockStrength[]) const +void Deblock::deblockCU(const CUData* cu, const CUGeom& cuGeom, const int32_t dir, uint8_t blockStrength[]) { uint32_t absPartIdx = cuGeom.absPartIdx; uint32_t depth = cuGeom.depth; @@ -124,7 +124,7 @@ return g_rasterToZscan[g_zscanToRaster[absPartIdx] + baseUnitIdx * numUnits + edgeIdx]; } -void Deblock::setEdgefilterMultiple(const CUData* cu, uint32_t scanIdx, int32_t dir, int32_t edgeIdx, uint8_t value, uint8_t blockStrength[], uint32_t numUnits) const +void Deblock::setEdgefilterMultiple(const CUData* cu, uint32_t scanIdx, int32_t dir, int32_t edgeIdx, uint8_t value, uint8_t blockStrength[], uint32_t numUnits) { X265_CHECK(numUnits > 0, "numUnits edge filter check\n"); for (uint32_t i = 0; i < numUnits; i++) @@ -134,7 +134,7 @@ } } -void Deblock::setEdgefilterTU(const CUData* cu, uint32_t absPartIdx, uint32_t tuDepth, int32_t dir, uint8_t blockStrength[]) const +void Deblock::setEdgefilterTU(const CUData* cu, uint32_t absPartIdx, uint32_t tuDepth, int32_t dir, uint8_t blockStrength[]) { uint32_t log2TrSize = cu->m_log2CUSize[absPartIdx] - tuDepth; if (cu->m_tuDepth[absPartIdx] > tuDepth) @@ -149,7 +149,7 @@ setEdgefilterMultiple(cu, absPartIdx, dir, 0, 2, blockStrength, numUnits); } -void Deblock::setEdgefilterPU(const CUData* cu, uint32_t absPartIdx, int32_t dir, uint8_t blockStrength[], uint32_t numUnits) const +void Deblock::setEdgefilterPU(const CUData* cu, uint32_t absPartIdx, int32_t dir, uint8_t blockStrength[], uint32_t numUnits) { const uint32_t hNumUnits = numUnits >> 1; const uint32_t qNumUnits = numUnits >> 2; @@ -190,7 +190,7 @@ } } -uint8_t Deblock::getBoundaryStrength(const CUData* cuQ, int32_t dir, uint32_t partQ, const uint8_t blockStrength[]) const +uint8_t Deblock::getBoundaryStrength(const CUData* cuQ, int32_t dir, uint32_t partQ, const uint8_t blockStrength[]) { // Calculate block index uint32_t partP; @@ -340,7 +340,7 @@ } } -void Deblock::edgeFilterLuma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) const +void Deblock::edgeFilterLuma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) { PicYuv* reconPic = cuQ->m_encData->m_reconPic; pixel* src = reconPic->getLumaAddr(cuQ->m_cuAddr, absPartIdx); @@ -440,7 +440,7 @@ } } -void Deblock::edgeFilterChroma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) const +void Deblock::edgeFilterChroma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) { int32_t chFmt = cuQ->m_chromaFormat, chromaShift; intptr_t offset, srcStep; diff -r b7ca5ebd7fcd -r 4f6b54919824 source/common/deblock.h --- a/source/common/deblock.h Mon Dec 07 11:34:23 2015 -0600 +++ b/source/common/deblock.h Mon Dec 07 12:05:49 2015 -0600 @@ -38,24 +38,24 @@ public: enum { EDGE_VER, EDGE_HOR }; - void deblockCTU(const CUData* ctu, const CUGeom& cuGeom, int32_t dir) const; + static void deblockCTU(const CUData* ctu, const CUGeom& cuGeom, int32_t dir); protected: // CU-level deblocking function - void deblockCU(const CUData* cu, const CUGeom& cuGeom, const int32_t dir, uint8_t blockStrength[]) const; + static void deblockCU(const CUData* cu, const CUGeom& cuGeom, const int32_t dir, uint8_t blockStrength[]); // set filtering functions - void setEdgefilterTU(const CUData* cu, uint32_t absPartIdx, uint32_t tuDepth, int32_t dir, uint8_t blockStrength[]) const; - void setEdgefilterPU(const CUData* cu, uint32_t absPartIdx, int32_t dir, uint8_t blockStrength[], uint32_t numUnits) const; - void setEdgefilterMultiple(const CUData* cu, uint32_t absPartIdx, int32_t dir, int32_t edgeIdx, uint8_t value, uint8_t blockStrength[], uint32_t numUnits) const; + static void setEdgefilterTU(const CUData* cu, uint32_t absPartIdx, uint32_t tuDepth, int32_t dir, uint8_t blockStrength[]); + static void setEdgefilterPU(const CUData* cu, uint32_t absPartIdx, int32_t dir, uint8_t blockStrength[], uint32_t numUnits); + static void setEdgefilterMultiple(const CUData* cu, uint32_t absPartIdx, int32_t dir, int32_t edgeIdx, uint8_t value, uint8_t blockStrength[], uint32_t numUnits); // get filtering functions - uint8_t getBoundaryStrength(const CUData* cuQ, int32_t dir, uint32_t partQ, const uint8_t blockStrength[]) const; + static uint8_t getBoundaryStrength(const CUData* cuQ, int32_t dir, uint32_t partQ, const uint8_t blockStrength[]); // filter luma/chroma functions - void edgeFilterLuma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) const; - void edgeFilterChroma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]) const; + static void edgeFilterLuma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]); + static void edgeFilterChroma(const CUData* cuQ, uint32_t absPartIdx, uint32_t depth, int32_t dir, int32_t edge, const uint8_t blockStrength[]); static const uint8_t s_tcTable[54]; static const uint8_t s_betaTable[52]; _______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel -- Deepthi Nandakumar Engineering Manager, x265 Multicoreware, Inc
_______________________________________________ x265-devel mailing list [email protected] https://mailman.videolan.org/listinfo/x265-devel
