[x265-commits] [x265] frameencoder: remove commented function which no longer e...
Steve Borho
steve at borho.org
Mon Jan 27 21:18:30 CET 2014
details: http://hg.videolan.org/x265/rev/26a5e720f290
branches: stable
changeset: 5915:26a5e720f290
user: Steve Borho <steve at borho.org>
date: Mon Jan 27 14:14:59 2014 -0600
description:
frameencoder: remove commented function which no longer exists
compressMotion() was removed 4 months ago
Subject: [x265] Merge with stable
details: http://hg.videolan.org/x265/rev/3c2441447f2a
branches:
changeset: 5916:3c2441447f2a
user: Steve Borho <steve at borho.org>
date: Mon Jan 27 14:17:25 2014 -0600
description:
Merge with stable
diffstat:
source/CMakeLists.txt | 4 +-
source/Lib/TLibCommon/ContextTables.h | 50 +-
source/Lib/TLibCommon/TComDataCU.cpp | 89 +--
source/Lib/TLibCommon/TComDataCU.h | 6 -
source/Lib/TLibCommon/TComMotionInfo.h | 3 -
source/Lib/TLibCommon/TComPattern.cpp | 98 ----
source/Lib/TLibCommon/TComPattern.h | 52 --
source/Lib/TLibCommon/TComPic.h | 5 +-
source/Lib/TLibCommon/TComPrediction.cpp | 42 +-
source/Lib/TLibCommon/TComPrediction.h | 3 -
source/Lib/TLibCommon/TComTrQuant.h | 2 +-
source/Lib/TLibCommon/TComYuv.cpp | 49 +-
source/Lib/TLibCommon/TypeDef.h | 2 +-
source/Lib/TLibEncoder/TEncCu.cpp | 10 -
source/Lib/TLibEncoder/TEncCu.h | 1 -
source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 8 +-
source/Lib/TLibEncoder/TEncSbac.cpp | 38 +-
source/Lib/TLibEncoder/TEncSearch.cpp | 68 +--
source/Lib/TLibEncoder/TEncSearch.h | 7 +-
source/common/CMakeLists.txt | 4 +-
source/common/common.cpp | 36 +-
source/common/common.h | 1 -
source/common/ipfilter.cpp | 165 +-----
source/common/lowres.cpp | 6 +-
source/common/pixel.cpp | 23 +
source/common/primitives.h | 28 +-
source/common/vec/ipfilter-sse41.cpp | 257 ----------
source/common/vec/vec-primitives.cpp | 3 -
source/common/x86/asm-primitives.cpp | 23 +-
source/common/x86/intrapred.h | 57 ++-
source/common/x86/intrapred8.asm | 486 ++++++++++++++++++++
source/common/x86/ipfilter8.asm | 235 +++------
source/common/x86/ipfilter8.h | 1 -
source/encoder/compress.cpp | 6 -
source/encoder/dpb.cpp | 4 +-
source/encoder/encoder.cpp | 106 +++-
source/encoder/encoder.h | 7 +-
source/encoder/frameencoder.cpp | 22 +-
source/encoder/frameencoder.h | 1 +
source/encoder/slicetype.cpp | 404 ++++++---------
source/encoder/slicetype.h | 3 +-
source/encoder/weightPrediction.cpp | 6 +-
source/test/ipfilterharness.cpp | 218 +--------
source/test/ipfilterharness.h | 3 -
source/test/pixelharness.cpp | 52 ++
source/test/pixelharness.h | 1 +
source/x265.cpp | 7 +-
source/x265.h | 7 +-
48 files changed, 1163 insertions(+), 1546 deletions(-)
diffs (truncated from 4149 to 300 lines):
diff -r dc4e57833aae -r 3c2441447f2a source/CMakeLists.txt
--- a/source/CMakeLists.txt Mon Jan 27 12:30:05 2014 -0600
+++ b/source/CMakeLists.txt Mon Jan 27 14:17:25 2014 -0600
@@ -13,7 +13,7 @@ include(CheckFunctionExists)
include(CheckCXXCompilerFlag)
# X265_BUILD must be incremented each time the public API is changed
-set(X265_BUILD 4)
+set(X265_BUILD 5)
configure_file("${PROJECT_SOURCE_DIR}/x265.def.in"
"${PROJECT_BINARY_DIR}/x265.def")
configure_file("${PROJECT_SOURCE_DIR}/x265_config.h.in"
@@ -154,8 +154,8 @@ endif()
include(version) # determine X265_VERSION and X265_LATEST_TAG
include_directories(. Lib common encoder "${PROJECT_BINARY_DIR}")
+add_subdirectory(encoder)
add_subdirectory(common)
-add_subdirectory(encoder)
if((MSVC_IDE OR XCODE) AND ENABLE_ASSEMBLY)
# this is horrible. ugly, and hacky, and it reproduces logic found
diff -r dc4e57833aae -r 3c2441447f2a source/Lib/TLibCommon/ContextTables.h
--- a/source/Lib/TLibCommon/ContextTables.h Mon Jan 27 12:30:05 2014 -0600
+++ b/source/Lib/TLibCommon/ContextTables.h Mon Jan 27 14:17:25 2014 -0600
@@ -56,8 +56,7 @@
#define NUM_MERGE_FLAG_EXT_CTX 1 ///< number of context models for merge flag of merge extended
#define NUM_MERGE_IDX_EXT_CTX 1 ///< number of context models for merge index of merge extended
-#define NUM_PART_SIZE_CTX 3 ///< number of context models for partition size
-#define NUM_CU_AMP_CTX 1 ///< number of context models for partition size (AMP)
+#define NUM_PART_SIZE_CTX 4 ///< number of context models for partition size
#define NUM_PRED_MODE_CTX 1 ///< number of context models for prediction mode
#define NUM_ADI_CTX 1 ///< number of context models for intra prediction
@@ -78,7 +77,9 @@
#define NUM_SIG_FLAG_CTX_LUMA 27 ///< number of context models for luma sig flag
#define NUM_SIG_FLAG_CTX_CHROMA 15 ///< number of context models for chroma sig flag
-#define NUM_CTX_LAST_FLAG_XY 15 ///< number of context models for last coefficient position
+#define NUM_CTX_LAST_FLAG_XY 18 ///< number of context models for last coefficient position
+#define NUM_CTX_LAST_FLAG_XY_LUMA 15 ///< number of context models for last coefficient position of luma
+#define NUM_CTX_LAST_FLAG_XY_CHROMA 3 ///< number of context models for last coefficient position of chroma
#define NUM_ONE_FLAG_CTX 24 ///< number of context models for greater than 1 flag
#define NUM_ONE_FLAG_CTX_LUMA 16 ///< number of context models for greater than 1 flag of luma
@@ -87,7 +88,7 @@
#define NUM_ABS_FLAG_CTX_LUMA 4 ///< number of context models for greater than 2 flag of luma
#define NUM_ABS_FLAG_CTX_CHROMA 2 ///< number of context models for greater than 2 flag of chroma
-#define NUM_MVP_IDX_CTX 2 ///< number of context models for MVP index
+#define NUM_MVP_IDX_CTX 1 ///< number of context models for MVP index
#define NUM_SAO_MERGE_FLAG_CTX 1 ///< number of context models for SAO merge flags
#define NUM_SAO_TYPE_IDX_CTX 1 ///< number of context models for SAO type index
@@ -115,12 +116,11 @@
#define OFF_SIG_CG_FLAG_CTX (OFF_QT_ROOT_CBF_CTX + NUM_QT_ROOT_CBF_CTX)
#define OFF_SIG_FLAG_CTX (OFF_SIG_CG_FLAG_CTX + 2 * NUM_SIG_CG_FLAG_CTX)
#define OFF_CTX_LAST_FLAG_X (OFF_SIG_FLAG_CTX + NUM_SIG_FLAG_CTX)
-#define OFF_CTX_LAST_FLAG_Y (OFF_CTX_LAST_FLAG_X + 2 * NUM_CTX_LAST_FLAG_XY)
-#define OFF_ONE_FLAG_CTX (OFF_CTX_LAST_FLAG_Y + 2 * NUM_CTX_LAST_FLAG_XY)
+#define OFF_CTX_LAST_FLAG_Y (OFF_CTX_LAST_FLAG_X + NUM_CTX_LAST_FLAG_XY)
+#define OFF_ONE_FLAG_CTX (OFF_CTX_LAST_FLAG_Y + NUM_CTX_LAST_FLAG_XY)
#define OFF_ABS_FLAG_CTX (OFF_ONE_FLAG_CTX + NUM_ONE_FLAG_CTX)
#define OFF_MVP_IDX_CTX (OFF_ABS_FLAG_CTX + NUM_ABS_FLAG_CTX)
-#define OFF_CU_AMP_CTX (OFF_MVP_IDX_CTX + NUM_MVP_IDX_CTX)
-#define OFF_SAO_MERGE_FLAG_CTX (OFF_CU_AMP_CTX + NUM_CU_AMP_CTX)
+#define OFF_SAO_MERGE_FLAG_CTX (OFF_MVP_IDX_CTX + NUM_MVP_IDX_CTX)
#define OFF_SAO_TYPE_IDX_CTX (OFF_SAO_MERGE_FLAG_CTX + NUM_SAO_MERGE_FLAG_CTX)
#define OFF_TRANSFORMSKIP_FLAG_CTX (OFF_SAO_TYPE_IDX_CTX + NUM_SAO_TYPE_IDX_CTX)
#define OFF_CU_TRANSQUANT_BYPASS_FLAG_CTX (OFF_TRANSFORMSKIP_FLAG_CTX + 2 * NUM_TRANSFORMSKIP_FLAG_CTX)
@@ -203,17 +203,9 @@ static const uint8_t
static const uint8_t
INIT_PART_SIZE[3][NUM_PART_SIZE_CTX] =
{
- { 154, 139, CNU, },
- { 154, 139, CNU, },
- { 184, CNU, CNU, },
-};
-
-static const uint8_t
- INIT_CU_AMP_POS[3][NUM_CU_AMP_CTX] =
-{
- { 154, },
- { 154, },
- { CNU, },
+ { 154, 139, 154, 154 },
+ { 154, 139, 154, 154 },
+ { 184, CNU, CNU, CNU },
};
static const uint8_t
@@ -275,9 +267,9 @@ static const uint8_t
static const uint8_t
INIT_QT_CBF[3][2 * NUM_QT_CBF_CTX] =
{
- { 153, 111, CNU, CNU, 149, 92, 167, CNU, },
- { 153, 111, CNU, CNU, 149, 107, 167, CNU, },
- { 111, 141, CNU, CNU, 94, 138, 182, CNU, },
+ { 153, 111, CNU, CNU, 149, 92, 167, 154, },
+ { 153, 111, CNU, CNU, 149, 107, 167, 154, },
+ { 111, 141, CNU, CNU, 94, 138, 182, 154, },
};
static const uint8_t
@@ -289,14 +281,14 @@ static const uint8_t
};
static const uint8_t
- INIT_LAST[3][2 * NUM_CTX_LAST_FLAG_XY] =
+ INIT_LAST[3][NUM_CTX_LAST_FLAG_XY] =
{
{ 125, 110, 124, 110, 95, 94, 125, 111, 111, 79, 125, 126, 111, 111, 79,
- 108, 123, 93, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, },
+ 108, 123, 93 },
{ 125, 110, 94, 110, 95, 79, 125, 111, 110, 78, 110, 111, 111, 95, 94,
- 108, 123, 108, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, },
+ 108, 123, 108 },
{ 110, 110, 124, 125, 140, 153, 125, 127, 140, 109, 111, 143, 127, 111, 79,
- 108, 123, 63, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, },
+ 108, 123, 63 },
};
static const uint8_t
@@ -337,9 +329,9 @@ static const uint8_t
static const uint8_t
INIT_MVP_IDX[3][NUM_MVP_IDX_CTX] =
{
- { 168, CNU, },
- { 168, CNU, },
- { CNU, CNU, },
+ { 168 },
+ { 168 },
+ { CNU },
};
static const uint8_t
diff -r dc4e57833aae -r 3c2441447f2a source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp Mon Jan 27 12:30:05 2014 -0600
+++ b/source/Lib/TLibCommon/TComDataCU.cpp Mon Jan 27 14:17:25 2014 -0600
@@ -98,8 +98,6 @@ TComDataCU::TComDataCU()
m_cuColocated[1] = NULL;
m_mvpIdx[0] = NULL;
m_mvpIdx[1] = NULL;
- m_mvpNum[0] = NULL;
- m_mvpNum[1] = NULL;
m_chromaFormat = 0;
}
@@ -152,8 +150,6 @@ void TComDataCU::create(uint32_t numPart
m_mvpIdx[0] = new char[numPartition];
m_mvpIdx[1] = new char[numPartition];
- m_mvpNum[0] = new char[numPartition];
- m_mvpNum[1] = new char[numPartition];
m_trCoeffY = (TCoeff*)X265_MALLOC(TCoeff, width * height);
m_trCoeffCb = (TCoeff*)X265_MALLOC(TCoeff, (width >> m_hChromaShift) * (height >> m_vChromaShift));
@@ -203,10 +199,6 @@ void TComDataCU::destroy()
m_mvpIdx[0] = NULL;
delete[] m_mvpIdx[1];
m_mvpIdx[1] = NULL;
- delete[] m_mvpNum[0];
- m_mvpNum[0] = NULL;
- delete[] m_mvpNum[1];
- m_mvpNum[1] = NULL;
delete[] m_skipFlag;
m_skipFlag = NULL;
delete[] m_partSizes;
@@ -254,49 +246,45 @@ void TComDataCU::initCU(TComPic* pic, ui
}
// CHECK_ME: why partStartIdx always negative
- int partStartIdx = 0 - (cuAddr) * pic->getNumPartInCU();
- int firstElement = std::max<int>(partStartIdx, 0);
- int numElements = m_numPartitions - firstElement;
-
- if (numElements > 0)
+ int numElements = m_numPartitions;
+ assert(numElements > 0);
+
{
- memset(m_skipFlag + firstElement, false, numElements * sizeof(*m_skipFlag));
- memset(m_predModes + firstElement, MODE_NONE, numElements * sizeof(*m_predModes));
- memset(m_cuTransquantBypass + firstElement, false, numElements * sizeof(*m_cuTransquantBypass));
- memset(m_depth + firstElement, 0, numElements * sizeof(*m_depth));
- memset(m_trIdx + firstElement, 0, numElements * sizeof(*m_trIdx));
- memset(m_transformSkip[0] + firstElement, 0, numElements * sizeof(*m_transformSkip[0]));
- memset(m_transformSkip[1] + firstElement, 0, numElements * sizeof(*m_transformSkip[1]));
- memset(m_transformSkip[2] + firstElement, 0, numElements * sizeof(*m_transformSkip[2]));
- memset(m_width + firstElement, g_maxCUWidth, numElements * sizeof(*m_width));
- memset(m_height + firstElement, g_maxCUHeight, numElements * sizeof(*m_height));
- memset(m_mvpNum[0] + firstElement, -1, numElements * sizeof(*m_mvpNum[0]));
- memset(m_mvpNum[1] + firstElement, -1, numElements * sizeof(*m_mvpNum[1]));
- memset(m_qp + firstElement, qp, numElements * sizeof(*m_qp));
- memset(m_bMergeFlags + firstElement, false, numElements * sizeof(*m_bMergeFlags));
- memset(m_mergeIndex + firstElement, 0, numElements * sizeof(*m_mergeIndex));
- memset(m_lumaIntraDir + firstElement, DC_IDX, numElements * sizeof(*m_lumaIntraDir));
- memset(m_chromaIntraDir + firstElement, 0, numElements * sizeof(*m_chromaIntraDir));
- memset(m_interDir + firstElement, 0, numElements * sizeof(*m_interDir));
- memset(m_cbf[0] + firstElement, 0, numElements * sizeof(*m_cbf[0]));
- memset(m_cbf[1] + firstElement, 0, numElements * sizeof(*m_cbf[1]));
- memset(m_cbf[2] + firstElement, 0, numElements * sizeof(*m_cbf[2]));
- memset(m_iPCMFlags + firstElement, false, numElements * sizeof(*m_iPCMFlags));
+ memset(m_skipFlag , false, numElements * sizeof(*m_skipFlag));
+ memset(m_predModes , MODE_NONE, numElements * sizeof(*m_predModes));
+ memset(m_cuTransquantBypass, false, numElements * sizeof(*m_cuTransquantBypass));
+ memset(m_depth , 0, numElements * sizeof(*m_depth));
+ memset(m_trIdx , 0, numElements * sizeof(*m_trIdx));
+ memset(m_transformSkip[0] , 0, numElements * sizeof(*m_transformSkip[0]));
+ memset(m_transformSkip[1] , 0, numElements * sizeof(*m_transformSkip[1]));
+ memset(m_transformSkip[2] , 0, numElements * sizeof(*m_transformSkip[2]));
+ memset(m_width , g_maxCUWidth, numElements * sizeof(*m_width));
+ memset(m_height , g_maxCUHeight, numElements * sizeof(*m_height));
+ memset(m_qp , qp, numElements * sizeof(*m_qp));
+ memset(m_bMergeFlags , false, numElements * sizeof(*m_bMergeFlags));
+ memset(m_mergeIndex , 0, numElements * sizeof(*m_mergeIndex));
+ memset(m_lumaIntraDir , DC_IDX, numElements * sizeof(*m_lumaIntraDir));
+ memset(m_chromaIntraDir , 0, numElements * sizeof(*m_chromaIntraDir));
+ memset(m_interDir , 0, numElements * sizeof(*m_interDir));
+ memset(m_cbf[0] , 0, numElements * sizeof(*m_cbf[0]));
+ memset(m_cbf[1] , 0, numElements * sizeof(*m_cbf[1]));
+ memset(m_cbf[2] , 0, numElements * sizeof(*m_cbf[2]));
+ memset(m_iPCMFlags , false, numElements * sizeof(*m_iPCMFlags));
}
uint32_t y_tmp = g_maxCUWidth * g_maxCUHeight;
uint32_t c_tmp = (g_maxCUWidth >> m_hChromaShift) * (g_maxCUHeight >> m_vChromaShift);
- if (0 >= partStartIdx)
{
m_cuMvField[0].clearMvField();
m_cuMvField[1].clearMvField();
- memset(m_trCoeffY, 0, sizeof(TCoeff) * y_tmp);
- memset(m_iPCMSampleY, 0, sizeof(Pel) * y_tmp);
-
- memset(m_trCoeffCb, 0, sizeof(TCoeff) * c_tmp);
- memset(m_trCoeffCr, 0, sizeof(TCoeff) * c_tmp);
- memset(m_iPCMSampleCb, 0, sizeof(Pel) * c_tmp);
- memset(m_iPCMSampleCr, 0, sizeof(Pel) * c_tmp);
+
+ // TODO: can be remove, but I haven't data to verify it, remove later
+ if (getSlice()->getSPS()->getUsePCM())
+ {
+ memset(m_iPCMSampleY, 0, sizeof(Pel) * y_tmp);
+ memset(m_iPCMSampleCb, 0, sizeof(Pel) * c_tmp);
+ memset(m_iPCMSampleCr, 0, sizeof(Pel) * c_tmp);
+ }
}
// Setting neighbor CU
@@ -360,8 +348,6 @@ void TComDataCU::initEstData(uint32_t de
{
m_mvpIdx[0][i] = -1;
m_mvpIdx[1][i] = -1;
- m_mvpNum[0][i] = -1;
- m_mvpNum[1][i] = -1;
m_depth[i] = depth;
m_width[i] = width;
m_height[i] = height;
@@ -448,8 +434,6 @@ void TComDataCU::initSubCU(TComDataCU* c
m_cuTransquantBypass[i] = false;
m_mvpIdx[0][i] = -1;
m_mvpIdx[1][i] = -1;
- m_mvpNum[0][i] = -1;
- m_mvpNum[1][i] = -1;
}
m_cuMvField[0].clearMvField();
@@ -545,8 +529,6 @@ void TComDataCU::copyPartFrom(TComDataCU
memcpy(m_mvpIdx[0] + offset, cu->getMVPIdx(REF_PIC_LIST_0), iSizeInUchar);
memcpy(m_mvpIdx[1] + offset, cu->getMVPIdx(REF_PIC_LIST_1), iSizeInUchar);
- memcpy(m_mvpNum[0] + offset, cu->getMVPNum(REF_PIC_LIST_0), iSizeInUchar);
- memcpy(m_mvpNum[1] + offset, cu->getMVPNum(REF_PIC_LIST_1), iSizeInUchar);
memcpy(m_iPCMFlags + offset, cu->getIPCMFlag(), iSizeInBool);
@@ -616,8 +598,6 @@ void TComDataCU::copyToPic(UChar uhDepth
memcpy(rpcCU->getMVPIdx(REF_PIC_LIST_0) + m_absIdxInLCU, m_mvpIdx[0], iSizeInUchar);
memcpy(rpcCU->getMVPIdx(REF_PIC_LIST_1) + m_absIdxInLCU, m_mvpIdx[1], iSizeInUchar);
- memcpy(rpcCU->getMVPNum(REF_PIC_LIST_0) + m_absIdxInLCU, m_mvpNum[0], iSizeInUchar);
- memcpy(rpcCU->getMVPNum(REF_PIC_LIST_1) + m_absIdxInLCU, m_mvpNum[1], iSizeInUchar);
m_cuMvField[0].copyTo(rpcCU->getCUMvField(REF_PIC_LIST_0), m_absIdxInLCU);
m_cuMvField[1].copyTo(rpcCU->getCUMvField(REF_PIC_LIST_1), m_absIdxInLCU);
@@ -706,8 +686,6 @@ void TComDataCU::copyToPic(UChar depth,
memcpy(cu->getMVPIdx(REF_PIC_LIST_0) + partOffset, m_mvpIdx[0], sizeInUchar);
memcpy(cu->getMVPIdx(REF_PIC_LIST_1) + partOffset, m_mvpIdx[1], sizeInUchar);
- memcpy(cu->getMVPNum(REF_PIC_LIST_0) + partOffset, m_mvpNum[0], sizeInUchar);
- memcpy(cu->getMVPNum(REF_PIC_LIST_1) + partOffset, m_mvpNum[1], sizeInUchar);
m_cuMvField[0].copyTo(cu->getCUMvField(REF_PIC_LIST_0), m_absIdxInLCU, uiPartStart, qNumPart);
m_cuMvField[1].copyTo(cu->getCUMvField(REF_PIC_LIST_1), m_absIdxInLCU, uiPartStart, qNumPart);
@@ -1560,11 +1538,6 @@ void TComDataCU::setMVPIdxSubParts(int m
setSubPart<char>(mvpIdx, m_mvpIdx[picList], absPartIdx, depth, partIdx);
}
-void TComDataCU::setMVPNumSubParts(int mvpNum, int picList, uint32_t absPartIdx, uint32_t partIdx, uint32_t depth)
More information about the x265-commits
mailing list