Re: [x265] [PATCH] TComDataCU: remove redundant functions

2014-07-18 Thread Steve Borho
On 07/18, as...@multicorewareinc.com wrote:
 # HG changeset patch
 # User Ashok Kumar Mishraas...@multicorewareinc.com
 # Date 1405676988 -19800
 #  Fri Jul 18 15:19:48 2014 +0530
 # Node ID 75545e34cc09d8fb00342a500cbc1deb2928070c
 # Parent  eef6867b9c53b4b9dad639ba9b68c81666abe37a
 TComDataCU: remove redundant functions

queue, thanks

-- 
Steve Borho
___
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel


[x265] [PATCH] TComDataCU: remove redundant functions

2014-07-03 Thread ashok
# HG changeset patch
# User Ashok Kumar Mishraas...@multicorewareinc.com
# Date 1404283815 -19800
#  Wed Jul 02 12:20:15 2014 +0530
# Node ID b546653344ca4f81845d44b2f0b86d56dcb853d3
# Parent  e3f9acd4ff88eee82b7554baaab512bc1fd8e840
TComDataCU: remove redundant functions

diff -r e3f9acd4ff88 -r b546653344ca source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp  Thu Jul 03 16:24:26 2014 +0530
+++ b/source/Lib/TLibCommon/TComDataCU.cpp  Wed Jul 02 12:20:15 2014 +0530
@@ -1615,117 +1615,6 @@
 outMvField.setMvField(cuMvField-getMv(absPartIdx), 
cuMvField-getRefIdx(absPartIdx));
 }
 
-void TComDataCU::deriveLeftRightTopIdxGeneral(uint32_t absPartIdx, uint32_t 
partIdx, uint32_t outPartIdxLT, uint32_t outPartIdxRT)
-{
-outPartIdxLT = m_absIdxInLCU + absPartIdx;
-uint32_t cuSize = m_cuSize[absPartIdx];
-uint32_t puWidth = 0;
-
-switch (m_partSizes[absPartIdx])
-{
-case SIZE_2Nx2N: puWidth = cuSize;
-break;
-case SIZE_2NxN:  puWidth = cuSize;
-break;
-case SIZE_Nx2N:  puWidth = cuSize   1;
-break;
-case SIZE_NxN:   puWidth = cuSize   1;
-break;
-case SIZE_2NxnU: puWidth = cuSize;
-break;
-case SIZE_2NxnD: puWidth = cuSize;
-break;
-case SIZE_nLx2N:
-if (partIdx == 0)
-{
-puWidth = cuSize   2;
-}
-else if (partIdx == 1)
-{
-puWidth = (cuSize   1) + (cuSize   2);
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_nRx2N:
-if (partIdx == 0)
-{
-puWidth = (cuSize   1) + (cuSize   2);
-}
-else if (partIdx == 1)
-{
-puWidth = cuSize   2;
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-default:
-X265_CHECK(0, unexpected part type\n);
-break;
-}
-
-outPartIdxRT = g_rasterToZscan[g_zscanToRaster[outPartIdxLT] + (puWidth  
m_pic-getLog2UnitSize()) - 1];
-}
-
-void TComDataCU::deriveLeftBottomIdxGeneral(uint32_t absPartIdx, uint32_t 
partIdx, uint32_t outPartIdxLB)
-{
-uint32_t cuSize = m_cuSize[absPartIdx];
-uint32_t puHeight = 0;
-
-switch (m_partSizes[absPartIdx])
-{
-case SIZE_2Nx2N: puHeight = cuSize;
-break;
-case SIZE_2NxN:  puHeight = cuSize  1;
-break;
-case SIZE_Nx2N:  puHeight = cuSize;
-break;
-case SIZE_NxN:   puHeight = cuSize  1;
-break;
-case SIZE_2NxnU:
-if (partIdx == 0)
-{
-puHeight = cuSize  2;
-}
-else if (partIdx == 1)
-{
-puHeight = (cuSize  1) + (cuSize  2);
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_2NxnD:
-if (partIdx == 0)
-{
-puHeight = (cuSize  1) + (cuSize  2);
-}
-else if (partIdx == 1)
-{
-puHeight = cuSize  2;
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_nLx2N: puHeight = cuSize;
-break;
-case SIZE_nRx2N: puHeight = cuSize;
-break;
-default:
-X265_CHECK(0, unexpected part type\n);
-break;
-}
-
-outPartIdxLB = g_rasterToZscan[g_zscanToRaster[m_absIdxInLCU + absPartIdx] 
+ ((puHeight  m_pic-getLog2UnitSize()) - 1) * m_pic-getNumPartInCUSize()];
-}
-
 void TComDataCU::deriveLeftRightTopIdx(uint32_t partIdx, uint32_t 
ruiPartIdxLT, uint32_t ruiPartIdxRT)
 {
 ruiPartIdxLT = m_absIdxInLCU;
@@ -1890,8 +1779,6 @@
 uint32_t absPartAddr = m_absIdxInLCU + absPartIdx;
 const bool isInterB = getSlice()-isInterB();
 
-maxNumMergeCand = getSlice()-getMaxNumMergeCand();
-
 for (uint32_t i = 0; i  maxNumMergeCand; ++i)
 {
 mvFieldNeighbours[i][0].refIdx = NOT_VALID;
@@ -1906,7 +1793,9 @@
 
 uint32_t partIdxLT, partIdxRT, partIdxLB;
 PartSize curPS = getPartitionSize(absPartIdx);
-deriveLeftBottomIdxGeneral(absPartIdx, puIdx, partIdxLB);
+
+//Left Bottom Idx
+deriveLeftBottomIdx(puIdx, partIdxLB);
 
 //left
 uint32_t leftPartIdx = 0;
@@ -1934,7 +1823,8 @@
 }
 }
 
-deriveLeftRightTopIdxGeneral(absPartIdx, puIdx, partIdxLT, partIdxRT);
+//Left Right Top Idx
+deriveLeftRightTopIdx(puIdx, partIdxLT, partIdxRT);
 
 // above
 uint32_t abovePartIdx = 0;
@@ -1944,6 +1834,7 @@
 cuAbove-isDiffMER(xP + nPSW - 1, yP - 1, xP, yP) 
 !(puIdx == 1  (curPS == SIZE_2NxN || curPS == SIZE_2NxnU || curPS == 
SIZE_2NxnD)) 
 !cuAbove-isIntra(abovePartIdx);
+
 if (isAvailableB1  (!isAvailableA1 || 
!cuLeft-hasEqualMotion(leftPartIdx, cuAbove, abovePartIdx)))
 {
 // get Inter Dir
@@ -2209,6 +2100,7 @@
 {
 return true;
 }
+
 return false;
 

Re: [x265] [PATCH] TComDataCU: remove redundant functions

2014-07-03 Thread Derek Buitenhuis
On 7/3/2014 3:24 PM, as...@multicorewareinc.com wrote:
 # HG changeset patch
 # User Ashok Kumar Mishraas...@multicorewareinc.com
 # Date 1404283815 -19800
 #  Wed Jul 02 12:20:15 2014 +0530
 # Node ID b546653344ca4f81845d44b2f0b86d56dcb853d3
 # Parent  e3f9acd4ff88eee82b7554baaab512bc1fd8e840
 TComDataCU: remove redundant functions

\o/

- Derek
___
x265-devel mailing list
x265-devel@videolan.org
https://mailman.videolan.org/listinfo/x265-devel


Re: [x265] [PATCH] TComDataCU: remove redundant functions

2014-07-03 Thread Steve Borho
On Thu, Jul 3, 2014 at 9:24 AM,  as...@multicorewareinc.com wrote:
 # HG changeset patch
 # User Ashok Kumar Mishraas...@multicorewareinc.com
 # Date 1404283815 -19800
 #  Wed Jul 02 12:20:15 2014 +0530
 # Node ID b546653344ca4f81845d44b2f0b86d56dcb853d3
 # Parent  e3f9acd4ff88eee82b7554baaab512bc1fd8e840
 TComDataCU: remove redundant functions

I had this queued for default but I found, entirely on accident, that
this causes cross-thread memory corruption when debugged in Xcode. So
I've un-queued it locally.

 diff -r e3f9acd4ff88 -r b546653344ca source/Lib/TLibCommon/TComDataCU.cpp
 --- a/source/Lib/TLibCommon/TComDataCU.cpp  Thu Jul 03 16:24:26 2014 +0530
 +++ b/source/Lib/TLibCommon/TComDataCU.cpp  Wed Jul 02 12:20:15 2014 +0530
 @@ -1615,117 +1615,6 @@
  outMvField.setMvField(cuMvField-getMv(absPartIdx), 
 cuMvField-getRefIdx(absPartIdx));
  }

 -void TComDataCU::deriveLeftRightTopIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLT, uint32_t outPartIdxRT)
 -{
 -outPartIdxLT = m_absIdxInLCU + absPartIdx;
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puWidth = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puWidth = cuSize;
 -break;
 -case SIZE_2NxN:  puWidth = cuSize;
 -break;
 -case SIZE_Nx2N:  puWidth = cuSize   1;
 -break;
 -case SIZE_NxN:   puWidth = cuSize   1;
 -break;
 -case SIZE_2NxnU: puWidth = cuSize;
 -break;
 -case SIZE_2NxnD: puWidth = cuSize;
 -break;
 -case SIZE_nLx2N:
 -if (partIdx == 0)
 -{
 -puWidth = cuSize   2;
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nRx2N:
 -if (partIdx == 0)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = cuSize   2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxRT = g_rasterToZscan[g_zscanToRaster[outPartIdxLT] + (puWidth 
  m_pic-getLog2UnitSize()) - 1];
 -}
 -
 -void TComDataCU::deriveLeftBottomIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLB)
 -{
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puHeight = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puHeight = cuSize;
 -break;
 -case SIZE_2NxN:  puHeight = cuSize  1;
 -break;
 -case SIZE_Nx2N:  puHeight = cuSize;
 -break;
 -case SIZE_NxN:   puHeight = cuSize  1;
 -break;
 -case SIZE_2NxnU:
 -if (partIdx == 0)
 -{
 -puHeight = cuSize  2;
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_2NxnD:
 -if (partIdx == 0)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = cuSize  2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nLx2N: puHeight = cuSize;
 -break;
 -case SIZE_nRx2N: puHeight = cuSize;
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxLB = g_rasterToZscan[g_zscanToRaster[m_absIdxInLCU + 
 absPartIdx] + ((puHeight  m_pic-getLog2UnitSize()) - 1) * 
 m_pic-getNumPartInCUSize()];
 -}
 -
  void TComDataCU::deriveLeftRightTopIdx(uint32_t partIdx, uint32_t 
 ruiPartIdxLT, uint32_t ruiPartIdxRT)
  {
  ruiPartIdxLT = m_absIdxInLCU;
 @@ -1890,8 +1779,6 @@
  uint32_t absPartAddr = m_absIdxInLCU + absPartIdx;
  const bool isInterB = getSlice()-isInterB();

 -maxNumMergeCand = getSlice()-getMaxNumMergeCand();
 -
  for (uint32_t i = 0; i  maxNumMergeCand; ++i)
  {
  mvFieldNeighbours[i][0].refIdx = NOT_VALID;
 @@ -1906,7 +1793,9 @@

  uint32_t partIdxLT, partIdxRT, partIdxLB;
  PartSize curPS = getPartitionSize(absPartIdx);
 -deriveLeftBottomIdxGeneral(absPartIdx, puIdx, partIdxLB);
 +
 +//Left Bottom Idx
 +deriveLeftBottomIdx(puIdx, partIdxLB);

  //left
  uint32_t leftPartIdx = 0;
 @@ -1934,7 +1823,8 @@
  }
  }

 -deriveLeftRightTopIdxGeneral(absPartIdx, puIdx, partIdxLT, partIdxRT);
 +//Left Right Top Idx
 +deriveLeftRightTopIdx(puIdx, partIdxLT, partIdxRT);

  // above
  uint32_t abovePartIdx = 0;
 @@ -1944,6 +1834,7 @@
  

Re: [x265] [PATCH] TComDataCU: remove redundant functions

2014-07-03 Thread Steve Borho
On Thu, Jul 3, 2014 at 9:24 AM,  as...@multicorewareinc.com wrote:
 # HG changeset patch
 # User Ashok Kumar Mishraas...@multicorewareinc.com
 # Date 1404283815 -19800
 #  Wed Jul 02 12:20:15 2014 +0530
 # Node ID b546653344ca4f81845d44b2f0b86d56dcb853d3
 # Parent  e3f9acd4ff88eee82b7554baaab512bc1fd8e840
 TComDataCU: remove redundant functions

 diff -r e3f9acd4ff88 -r b546653344ca source/Lib/TLibCommon/TComDataCU.cpp
 --- a/source/Lib/TLibCommon/TComDataCU.cpp  Thu Jul 03 16:24:26 2014 +0530
 +++ b/source/Lib/TLibCommon/TComDataCU.cpp  Wed Jul 02 12:20:15 2014 +0530
 @@ -1615,117 +1615,6 @@
  outMvField.setMvField(cuMvField-getMv(absPartIdx), 
 cuMvField-getRefIdx(absPartIdx));
  }

 -void TComDataCU::deriveLeftRightTopIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLT, uint32_t outPartIdxRT)
 -{
 -outPartIdxLT = m_absIdxInLCU + absPartIdx;
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puWidth = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puWidth = cuSize;
 -break;
 -case SIZE_2NxN:  puWidth = cuSize;
 -break;
 -case SIZE_Nx2N:  puWidth = cuSize   1;
 -break;
 -case SIZE_NxN:   puWidth = cuSize   1;
 -break;
 -case SIZE_2NxnU: puWidth = cuSize;
 -break;
 -case SIZE_2NxnD: puWidth = cuSize;
 -break;
 -case SIZE_nLx2N:
 -if (partIdx == 0)
 -{
 -puWidth = cuSize   2;
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nRx2N:
 -if (partIdx == 0)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = cuSize   2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxRT = g_rasterToZscan[g_zscanToRaster[outPartIdxLT] + (puWidth 
  m_pic-getLog2UnitSize()) - 1];
 -}
 -
 -void TComDataCU::deriveLeftBottomIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLB)
 -{
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puHeight = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puHeight = cuSize;
 -break;
 -case SIZE_2NxN:  puHeight = cuSize  1;
 -break;
 -case SIZE_Nx2N:  puHeight = cuSize;
 -break;
 -case SIZE_NxN:   puHeight = cuSize  1;
 -break;
 -case SIZE_2NxnU:
 -if (partIdx == 0)
 -{
 -puHeight = cuSize  2;
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_2NxnD:
 -if (partIdx == 0)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = cuSize  2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nLx2N: puHeight = cuSize;
 -break;
 -case SIZE_nRx2N: puHeight = cuSize;
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxLB = g_rasterToZscan[g_zscanToRaster[m_absIdxInLCU + 
 absPartIdx] + ((puHeight  m_pic-getLog2UnitSize()) - 1) * 
 m_pic-getNumPartInCUSize()];
 -}
 -
  void TComDataCU::deriveLeftRightTopIdx(uint32_t partIdx, uint32_t 
 ruiPartIdxLT, uint32_t ruiPartIdxRT)
  {
  ruiPartIdxLT = m_absIdxInLCU;
 @@ -1890,8 +1779,6 @@
  uint32_t absPartAddr = m_absIdxInLCU + absPartIdx;
  const bool isInterB = getSlice()-isInterB();

 -maxNumMergeCand = getSlice()-getMaxNumMergeCand();
 -

perhaps this line removal was the source of the corruption

  for (uint32_t i = 0; i  maxNumMergeCand; ++i)
  {
  mvFieldNeighbours[i][0].refIdx = NOT_VALID;
 @@ -1906,7 +1793,9 @@

  uint32_t partIdxLT, partIdxRT, partIdxLB;
  PartSize curPS = getPartitionSize(absPartIdx);
 -deriveLeftBottomIdxGeneral(absPartIdx, puIdx, partIdxLB);
 +
 +//Left Bottom Idx
 +deriveLeftBottomIdx(puIdx, partIdxLB);

  //left
  uint32_t leftPartIdx = 0;
 @@ -1934,7 +1823,8 @@
  }
  }

 -deriveLeftRightTopIdxGeneral(absPartIdx, puIdx, partIdxLT, partIdxRT);
 +//Left Right Top Idx
 +deriveLeftRightTopIdx(puIdx, partIdxLT, partIdxRT);

  // above
  uint32_t abovePartIdx = 0;
 @@ -1944,6 +1834,7 @@
  cuAbove-isDiffMER(xP + nPSW - 1, yP - 1, xP, yP) 
  !(puIdx == 1  (curPS == SIZE_2NxN || curPS == SIZE_2NxnU || 

[x265] [PATCH] TComDataCU: remove redundant functions

2014-07-02 Thread ashok
# HG changeset patch
# User Ashok Kumar Mishraas...@multicorewareinc.com
# Date 1404283815 -19800
#  Wed Jul 02 12:20:15 2014 +0530
# Node ID efa2f64a1565ae40dac666e81d268e7ac4432c3f
# Parent  a18972fd05b1d6242a881bef979b9e1ff17543d9
TComDataCU: remove redundant functions

diff -r a18972fd05b1 -r efa2f64a1565 source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp  Tue Jul 01 14:58:35 2014 -0500
+++ b/source/Lib/TLibCommon/TComDataCU.cpp  Wed Jul 02 12:20:15 2014 +0530
@@ -1615,117 +1615,6 @@
 outMvField.setMvField(cuMvField-getMv(absPartIdx), 
cuMvField-getRefIdx(absPartIdx));
 }
 
-void TComDataCU::deriveLeftRightTopIdxGeneral(uint32_t absPartIdx, uint32_t 
partIdx, uint32_t outPartIdxLT, uint32_t outPartIdxRT)
-{
-outPartIdxLT = m_absIdxInLCU + absPartIdx;
-uint32_t cuSize = m_cuSize[absPartIdx];
-uint32_t puWidth = 0;
-
-switch (m_partSizes[absPartIdx])
-{
-case SIZE_2Nx2N: puWidth = cuSize;
-break;
-case SIZE_2NxN:  puWidth = cuSize;
-break;
-case SIZE_Nx2N:  puWidth = cuSize   1;
-break;
-case SIZE_NxN:   puWidth = cuSize   1;
-break;
-case SIZE_2NxnU: puWidth = cuSize;
-break;
-case SIZE_2NxnD: puWidth = cuSize;
-break;
-case SIZE_nLx2N:
-if (partIdx == 0)
-{
-puWidth = cuSize   2;
-}
-else if (partIdx == 1)
-{
-puWidth = (cuSize   1) + (cuSize   2);
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_nRx2N:
-if (partIdx == 0)
-{
-puWidth = (cuSize   1) + (cuSize   2);
-}
-else if (partIdx == 1)
-{
-puWidth = cuSize   2;
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-default:
-X265_CHECK(0, unexpected part type\n);
-break;
-}
-
-outPartIdxRT = g_rasterToZscan[g_zscanToRaster[outPartIdxLT] + (puWidth  
m_pic-getLog2UnitSize()) - 1];
-}
-
-void TComDataCU::deriveLeftBottomIdxGeneral(uint32_t absPartIdx, uint32_t 
partIdx, uint32_t outPartIdxLB)
-{
-uint32_t cuSize = m_cuSize[absPartIdx];
-uint32_t puHeight = 0;
-
-switch (m_partSizes[absPartIdx])
-{
-case SIZE_2Nx2N: puHeight = cuSize;
-break;
-case SIZE_2NxN:  puHeight = cuSize  1;
-break;
-case SIZE_Nx2N:  puHeight = cuSize;
-break;
-case SIZE_NxN:   puHeight = cuSize  1;
-break;
-case SIZE_2NxnU:
-if (partIdx == 0)
-{
-puHeight = cuSize  2;
-}
-else if (partIdx == 1)
-{
-puHeight = (cuSize  1) + (cuSize  2);
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_2NxnD:
-if (partIdx == 0)
-{
-puHeight = (cuSize  1) + (cuSize  2);
-}
-else if (partIdx == 1)
-{
-puHeight = cuSize  2;
-}
-else
-{
-X265_CHECK(0, unexpected part index\n);
-}
-break;
-case SIZE_nLx2N: puHeight = cuSize;
-break;
-case SIZE_nRx2N: puHeight = cuSize;
-break;
-default:
-X265_CHECK(0, unexpected part type\n);
-break;
-}
-
-outPartIdxLB = g_rasterToZscan[g_zscanToRaster[m_absIdxInLCU + absPartIdx] 
+ ((puHeight  m_pic-getLog2UnitSize()) - 1) * m_pic-getNumPartInCUSize()];
-}
-
 void TComDataCU::deriveLeftRightTopIdx(uint32_t partIdx, uint32_t 
ruiPartIdxLT, uint32_t ruiPartIdxRT)
 {
 ruiPartIdxLT = m_absIdxInLCU;
@@ -1889,9 +1778,9 @@
 {
 uint32_t absPartAddr = m_absIdxInLCU + absPartIdx;
 const bool isInterB = getSlice()-isInterB();
-
+#if 0
 maxNumMergeCand = getSlice()-getMaxNumMergeCand();
-
+#endif
 for (uint32_t i = 0; i  maxNumMergeCand; ++i)
 {
 mvFieldNeighbours[i][0].refIdx = NOT_VALID;
@@ -1906,7 +1795,12 @@
 
 uint32_t partIdxLT, partIdxRT, partIdxLB;
 PartSize curPS = getPartitionSize(absPartIdx);
+
+#if 0
 deriveLeftBottomIdxGeneral(absPartIdx, puIdx, partIdxLB);
+#endif
+//Left Bottom Idx
+deriveLeftBottomIdx(puIdx, partIdxLB);
 
 //left
 uint32_t leftPartIdx = 0;
@@ -1934,7 +1828,11 @@
 }
 }
 
+//Left Right Top Idx
+#if 0
 deriveLeftRightTopIdxGeneral(absPartIdx, puIdx, partIdxLT, partIdxRT);
+#endif
+deriveLeftRightTopIdx(puIdx, partIdxLT, partIdxRT);
 
 // above
 uint32_t abovePartIdx = 0;
@@ -1944,6 +1842,7 @@
 cuAbove-isDiffMER(xP + nPSW - 1, yP - 1, xP, yP) 
 !(puIdx == 1  (curPS == SIZE_2NxN || curPS == SIZE_2NxnU || curPS == 
SIZE_2NxnD)) 
 !cuAbove-isIntra(abovePartIdx);
+
 if (isAvailableB1  (!isAvailableA1 || 
!cuLeft-hasEqualMotion(leftPartIdx, cuAbove, abovePartIdx)))
 {
 // get Inter Dir
@@ -2209,6 +2108,7 @@
 {
  

Re: [x265] [PATCH] TComDataCU: remove redundant functions

2014-07-02 Thread Steve Borho
On Wed, Jul 2, 2014 at 10:00 AM,  as...@multicorewareinc.com wrote:
 # HG changeset patch
 # User Ashok Kumar Mishraas...@multicorewareinc.com
 # Date 1404283815 -19800
 #  Wed Jul 02 12:20:15 2014 +0530
 # Node ID efa2f64a1565ae40dac666e81d268e7ac4432c3f
 # Parent  a18972fd05b1d6242a881bef979b9e1ff17543d9
 TComDataCU: remove redundant functions

 diff -r a18972fd05b1 -r efa2f64a1565 source/Lib/TLibCommon/TComDataCU.cpp
 --- a/source/Lib/TLibCommon/TComDataCU.cpp  Tue Jul 01 14:58:35 2014 -0500
 +++ b/source/Lib/TLibCommon/TComDataCU.cpp  Wed Jul 02 12:20:15 2014 +0530
 @@ -1615,117 +1615,6 @@
  outMvField.setMvField(cuMvField-getMv(absPartIdx), 
 cuMvField-getRefIdx(absPartIdx));
  }

 -void TComDataCU::deriveLeftRightTopIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLT, uint32_t outPartIdxRT)
 -{
 -outPartIdxLT = m_absIdxInLCU + absPartIdx;
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puWidth = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puWidth = cuSize;
 -break;
 -case SIZE_2NxN:  puWidth = cuSize;
 -break;
 -case SIZE_Nx2N:  puWidth = cuSize   1;
 -break;
 -case SIZE_NxN:   puWidth = cuSize   1;
 -break;
 -case SIZE_2NxnU: puWidth = cuSize;
 -break;
 -case SIZE_2NxnD: puWidth = cuSize;
 -break;
 -case SIZE_nLx2N:
 -if (partIdx == 0)
 -{
 -puWidth = cuSize   2;
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nRx2N:
 -if (partIdx == 0)
 -{
 -puWidth = (cuSize   1) + (cuSize   2);
 -}
 -else if (partIdx == 1)
 -{
 -puWidth = cuSize   2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxRT = g_rasterToZscan[g_zscanToRaster[outPartIdxLT] + (puWidth 
  m_pic-getLog2UnitSize()) - 1];
 -}
 -
 -void TComDataCU::deriveLeftBottomIdxGeneral(uint32_t absPartIdx, uint32_t 
 partIdx, uint32_t outPartIdxLB)
 -{
 -uint32_t cuSize = m_cuSize[absPartIdx];
 -uint32_t puHeight = 0;
 -
 -switch (m_partSizes[absPartIdx])
 -{
 -case SIZE_2Nx2N: puHeight = cuSize;
 -break;
 -case SIZE_2NxN:  puHeight = cuSize  1;
 -break;
 -case SIZE_Nx2N:  puHeight = cuSize;
 -break;
 -case SIZE_NxN:   puHeight = cuSize  1;
 -break;
 -case SIZE_2NxnU:
 -if (partIdx == 0)
 -{
 -puHeight = cuSize  2;
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_2NxnD:
 -if (partIdx == 0)
 -{
 -puHeight = (cuSize  1) + (cuSize  2);
 -}
 -else if (partIdx == 1)
 -{
 -puHeight = cuSize  2;
 -}
 -else
 -{
 -X265_CHECK(0, unexpected part index\n);
 -}
 -break;
 -case SIZE_nLx2N: puHeight = cuSize;
 -break;
 -case SIZE_nRx2N: puHeight = cuSize;
 -break;
 -default:
 -X265_CHECK(0, unexpected part type\n);
 -break;
 -}
 -
 -outPartIdxLB = g_rasterToZscan[g_zscanToRaster[m_absIdxInLCU + 
 absPartIdx] + ((puHeight  m_pic-getLog2UnitSize()) - 1) * 
 m_pic-getNumPartInCUSize()];
 -}
 -
  void TComDataCU::deriveLeftRightTopIdx(uint32_t partIdx, uint32_t 
 ruiPartIdxLT, uint32_t ruiPartIdxRT)
  {
  ruiPartIdxLT = m_absIdxInLCU;
 @@ -1889,9 +1778,9 @@
  {
  uint32_t absPartAddr = m_absIdxInLCU + absPartIdx;
  const bool isInterB = getSlice()-isInterB();
 -
 +#if 0
  maxNumMergeCand = getSlice()-getMaxNumMergeCand();
 -
 +#endif

we don't want to litter the code with #if 0; if the lines are no
longer useful or valid, just remove them.  If we want them back later
we can find them in the revision history.

  for (uint32_t i = 0; i  maxNumMergeCand; ++i)
  {
  mvFieldNeighbours[i][0].refIdx = NOT_VALID;
 @@ -1906,7 +1795,12 @@

  uint32_t partIdxLT, partIdxRT, partIdxLB;
  PartSize curPS = getPartitionSize(absPartIdx);
 +
 +#if 0
  deriveLeftBottomIdxGeneral(absPartIdx, puIdx, partIdxLB);
 +#endif
 +//Left Bottom Idx
 +deriveLeftBottomIdx(puIdx, partIdxLB);

  //left
  uint32_t leftPartIdx = 0;
 @@ -1934,7 +1828,11 @@
  }
  }

 +//Left Right Top Idx
 +#if 0
  deriveLeftRightTopIdxGeneral(absPartIdx, puIdx, partIdxLT, partIdxRT);
 +#endif
 +deriveLeftRightTopIdx(puIdx, partIdxLT, partIdxRT);

  // above