[x265-commits] [x265] Modify TComRom structure to support multiple color space ...
ashok at multicorewareinc.com
ashok at multicorewareinc.com
Sat Feb 15 05:32:09 CET 2014
details: http://hg.videolan.org/x265/rev/3572d9d04ff7
branches:
changeset: 6143:3572d9d04ff7
user: ashok at multicorewareinc.com
date: Fri Feb 14 13:14:24 2014 +0530
description:
Modify TComRom structure to support multiple color space formats
Subject: [x265] Modify ChromaScale table to support multiple color space formats
details: http://hg.videolan.org/x265/rev/57156005d32f
branches:
changeset: 6144:57156005d32f
user: ashok at multicorewareinc.com
date: Fri Feb 14 13:46:57 2014 +0530
description:
Modify ChromaScale table to support multiple color space formats
Subject: [x265] Modify TEncSearch structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/fb14a98a97e4
branches:
changeset: 6145:fb14a98a97e4
user: ashok at multicorewareinc.com
date: Fri Feb 14 14:14:09 2014 +0530
description:
Modify TEncSearch structure to support multiple color space formats
Subject: [x265] Modify TComPattern structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/503e3794098a
branches:
changeset: 6146:503e3794098a
user: ashok at multicorewareinc.com
date: Fri Feb 14 16:41:40 2014 +0530
description:
Modify TComPattern structure to support multiple color space formats
Subject: [x265] Modify TComPrediction structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/ad8a991d626e
branches:
changeset: 6147:ad8a991d626e
user: ashok at multicorewareinc.com
date: Fri Feb 14 16:48:02 2014 +0530
description:
Modify TComPrediction structure to support multiple color space formats
Subject: [x265] Modify TEncSbac structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/19532171622a
branches:
changeset: 6148:19532171622a
user: ashok at multicorewareinc.com
date: Fri Feb 14 17:26:39 2014 +0530
description:
Modify TEncSbac structure to support multiple color space formats
Subject: [x265] Modify TComDataCU structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/1e8fbc073d4b
branches:
changeset: 6149:1e8fbc073d4b
user: ashok at multicorewareinc.com
date: Fri Feb 14 17:29:49 2014 +0530
description:
Modify TComDataCU structure to support multiple color space formats
Subject: [x265] Modify FrameFilter structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/6abd54cbff84
branches:
changeset: 6150:6abd54cbff84
user: ashok at multicorewareinc.com
date: Fri Feb 14 17:34:59 2014 +0530
description:
Modify FrameFilter structure to support multiple color space formats
Subject: [x265] Modify TEncEntropy structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/a65cb22fcf10
branches:
changeset: 6151:a65cb22fcf10
user: ashok at multicorewareinc.com
date: Fri Feb 14 17:40:02 2014 +0530
description:
Modify TEncEntropy structure to support multiple color space formats
Subject: [x265] Modify asm primitives functions to support multiple color space formats
details: http://hg.videolan.org/x265/rev/deb0cffa87fa
branches:
changeset: 6152:deb0cffa87fa
user: ashok at multicorewareinc.com
date: Fri Feb 14 19:33:36 2014 +0530
description:
Modify asm primitives functions to support multiple color space formats
Subject: [x265] Modify TComLoopFilter structure to support multiple color space formats
details: http://hg.videolan.org/x265/rev/c731d494e9ca
branches:
changeset: 6153:c731d494e9ca
user: ashok at multicorewareinc.com
date: Fri Feb 14 19:40:46 2014 +0530
description:
Modify TComLoopFilter structure to support multiple color space formats
Subject: [x265] Backed out changeset: a3a9e0fb1a87
details: http://hg.videolan.org/x265/rev/98f5088cff19
branches:
changeset: 6154:98f5088cff19
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sat Feb 15 07:29:28 2014 +0530
description:
Backed out changeset: a3a9e0fb1a87
Conflicts with the 444 patches. Will resolve merge and
import it in a seperate patch.
Subject: [x265] Merge with 444 changes.
details: http://hg.videolan.org/x265/rev/8662459da60b
branches:
changeset: 6155:8662459da60b
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sat Feb 15 07:30:00 2014 +0530
description:
Merge with 444 changes.
Subject: [x265] ipfilterharness: resolve compile errors with CSP
details: http://hg.videolan.org/x265/rev/482aa2e636f9
branches:
changeset: 6156:482aa2e636f9
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sat Feb 15 07:40:48 2014 +0530
description:
ipfilterharness: resolve compile errors with CSP
Subject: [x265] testbench: disable chroma_p2s.
details: http://hg.videolan.org/x265/rev/289b4ef4ecee
branches:
changeset: 6157:289b4ef4ecee
user: Deepthi Nandakumar <deepthi at multicorewareinc.com>
date: Sat Feb 15 08:12:30 2014 +0530
description:
testbench: disable chroma_p2s.
diffstat:
build/msys/make-Makefiles.sh | 6 +-
source/Lib/TLibCommon/CommonDef.h | 2 +
source/Lib/TLibCommon/ContextTables.h | 9 +
source/Lib/TLibCommon/TComDataCU.cpp | 90 ++-
source/Lib/TLibCommon/TComDataCU.h | 1 +
source/Lib/TLibCommon/TComLoopFilter.cpp | 14 +-
source/Lib/TLibCommon/TComPattern.cpp | 16 +-
source/Lib/TLibCommon/TComPattern.h | 5 +-
source/Lib/TLibCommon/TComPicYuv.cpp | 6 +-
source/Lib/TLibCommon/TComPrediction.cpp | 192 ++++++--
source/Lib/TLibCommon/TComPrediction.h | 6 +-
source/Lib/TLibCommon/TComRom.cpp | 193 ++++++-
source/Lib/TLibCommon/TComRom.h | 12 +-
source/Lib/TLibCommon/TComSampleAdaptiveOffset.cpp | 58 +-
source/Lib/TLibCommon/TComSampleAdaptiveOffset.h | 5 +-
source/Lib/TLibCommon/TComSlice.cpp | 3 -
source/Lib/TLibCommon/TComSlice.h | 12 +-
source/Lib/TLibCommon/TComTrQuant.cpp | 352 ++++++++-------
source/Lib/TLibCommon/TComTrQuant.h | 18 +-
source/Lib/TLibCommon/TComYuv.h | 7 +-
source/Lib/TLibCommon/TypeDef.h | 56 ++-
source/Lib/TLibEncoder/TEncCfg.h | 2 +
source/Lib/TLibEncoder/TEncEntropy.cpp | 67 +-
source/Lib/TLibEncoder/TEncSampleAdaptiveOffset.cpp | 37 +-
source/Lib/TLibEncoder/TEncSbac.cpp | 141 ++---
source/Lib/TLibEncoder/TEncSearch.cpp | 454 +++++++++++--------
source/Lib/TLibEncoder/TEncSearch.h | 13 +
source/common/TShortYUV.h | 4 +-
source/common/common.cpp | 4 +-
source/common/ipfilter.cpp | 101 ++-
source/common/pixel.cpp | 84 ++-
source/common/primitives.h | 5 +-
source/common/version.cpp | 2 +-
source/common/x86/asm-primitives.cpp | 267 ++++++++---
source/common/x86/pixeladd8.asm | 86 +-
source/encoder/encoder.cpp | 22 +-
source/encoder/frameencoder.cpp | 22 +-
source/encoder/framefilter.cpp | 35 +-
source/encoder/framefilter.h | 2 +
source/encoder/ratecontrol.cpp | 27 +-
source/encoder/ratecontrol.h | 2 +-
source/input/y4m.cpp | 2 +
source/input/yuv.cpp | 1 +
source/test/ipfilterharness.cpp | 12 +-
44 files changed, 1497 insertions(+), 958 deletions(-)
diffs (truncated from 4637 to 300 lines):
diff -r ed310b17ff66 -r 289b4ef4ecee build/msys/make-Makefiles.sh
--- a/build/msys/make-Makefiles.sh Fri Feb 14 02:30:52 2014 -0600
+++ b/build/msys/make-Makefiles.sh Sat Feb 15 08:12:30 2014 +0530
@@ -1,3 +1,3 @@
-#!/bin/sh
-# Run this from within an MSYS bash shell
-cmake -G "MSYS Makefiles" ../../source && cmake-gui ../../source
+#!/bin/sh
+# Run this from within an MSYS bash shell
+cmake -G "MSYS Makefiles" ../../source && cmake-gui ../../source
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/CommonDef.h
--- a/source/Lib/TLibCommon/CommonDef.h Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/CommonDef.h Sat Feb 15 08:12:30 2014 +0530
@@ -88,6 +88,8 @@
#define MLS_GRP_NUM 64 ///< G644 : Max number of coefficient groups, max(16, 64)
#define MLS_CG_SIZE 4 ///< G644 : Coefficient group size of 4x4
+#define MLS_CG_LOG2_WIDTH 2
+#define MLS_CG_LOG2_HEIGHT 2
#define ARL_C_PRECISION 7 ///< G382: 7-bit arithmetic precision
#define LEVEL_RANGE 30 ///< G382: max coefficient level in statistics collection
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/ContextTables.h
--- a/source/Lib/TLibCommon/ContextTables.h Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/ContextTables.h Sat Feb 15 08:12:30 2014 +0530
@@ -150,11 +150,20 @@ uint8_t sbacInit(int qp, int initValue);
#define sbacNext(S, V) (g_nextState[(S)][(V)])
#define sbacGetEntropyBits(S, V) (g_entropyBits[(S) ^ (V)])
#define sbacGetEntropyBitsTrm(V) (g_entropyBits[126 ^ (V)])
+#define CHANNEL_TYPE_LUMA 0
+#define CHANNEL_TYPE_CHROMA 1
+#define MAX_NUM_CHANNEL_TYPE 2
// ====================================================================================================================
// Tables
// ====================================================================================================================
+#define NEIGHBOURHOOD_00_CONTEXT_1_THRESHOLD_4x4 3
+#define NEIGHBOURHOOD_00_CONTEXT_2_THRESHOLD_4x4 1
+static const uint32_t significanceMapContextSetStart [MAX_NUM_CHANNEL_TYPE][3] = { {0, 9, 21}, {0, 9, 12} };
+static const uint32_t significanceMapContextSetSize [MAX_NUM_CHANNEL_TYPE][3] = { {9, 12, 6}, {9, 3, 3} };
+static const uint32_t nonDiagonalScan8x8ContextOffset [MAX_NUM_CHANNEL_TYPE] = { 6, 0 };
+static const uint32_t notFirstGroupNeighbourhoodContextOffset[MAX_NUM_CHANNEL_TYPE] = { 3, 0 };
// initial probability for cu_transquant_bypass flag
static const uint8_t
INIT_CU_TRANSQUANT_BYPASS_FLAG[3][NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX] =
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComDataCU.cpp Sat Feb 15 08:12:30 2014 +0530
@@ -608,8 +608,7 @@ void TComDataCU::copyToPic(UChar uhDepth
uint32_t tmp2 = m_absIdxInLCU * m_pic->getMinCUWidth() * m_pic->getMinCUHeight();
memcpy(rpcCU->getCoeffY() + tmp2, m_trCoeffY, sizeof(TCoeff) * tmp);
memcpy(rpcCU->getPCMSampleY() + tmp2, m_iPCMSampleY, sizeof(Pel) * tmp);
-
- tmp = ((g_maxCUWidth >> m_hChromaShift) * (g_maxCUHeight >> m_hChromaShift)) >> (uhDepth << 1);
+ tmp = ((g_maxCUWidth >> m_hChromaShift) * (g_maxCUHeight >> m_vChromaShift)) >> (uhDepth << 1);
tmp2 = m_absIdxInLCU * (m_pic->getMinCUWidth() >> m_hChromaShift) * (m_pic->getMinCUHeight() >> m_vChromaShift);
memcpy(rpcCU->getCoeffCb() + tmp2, m_trCoeffCb, sizeof(TCoeff) * tmp);
memcpy(rpcCU->getCoeffCr() + tmp2, m_trCoeffCr, sizeof(TCoeff) * tmp);
@@ -2868,60 +2867,67 @@ void TComDataCU::xDeriveCenterIdx(uint32
uint32_t TComDataCU::getCoefScanIdx(uint32_t absPartIdx, uint32_t width, bool bIsLuma, bool bIsIntra)
{
- uint32_t uiCTXIdx;
uint32_t scanIdx;
uint32_t dirMode;
-
if (!bIsIntra)
{
- scanIdx = SCAN_DIAG;
- return scanIdx;
+ return SCAN_DIAG;
}
-
- switch (width)
- {
- case 2: uiCTXIdx = 6;
- break;
- case 4: uiCTXIdx = 5;
- break;
- case 8: uiCTXIdx = 4;
- break;
- case 16: uiCTXIdx = 3;
- break;
- case 32: uiCTXIdx = 2;
- break;
- case 64: uiCTXIdx = 1;
- break;
- default: uiCTXIdx = 0;
- break;
- }
-
+ //check that MDCS can be used for this TU
+
+ uint32_t height = width;
if (bIsLuma)
{
+ const uint32_t maximumWidth = MDCS_MAXIMUM_WIDTH;
+ const uint32_t maximumHeight = MDCS_MAXIMUM_HEIGHT;
+
+ if ((width > maximumWidth) || (height > maximumHeight)) return SCAN_DIAG;
+
dirMode = getLumaIntraDir(absPartIdx);
- scanIdx = SCAN_DIAG;
- if (uiCTXIdx > 3 && uiCTXIdx < 6) //if multiple scans supported for transform size
- {
- scanIdx = abs((int)dirMode - VER_IDX) < 5 ? SCAN_HOR : (abs((int)dirMode - HOR_IDX) < 5 ? SCAN_VER : SCAN_DIAG);
- }
}
else
{
- dirMode = getChromaIntraDir(absPartIdx);
+ const uint32_t maximumWidth = MDCS_MAXIMUM_WIDTH >> m_hChromaShift;
+ const uint32_t maximumHeight = MDCS_MAXIMUM_HEIGHT >> m_vChromaShift;
+
+ if ((width > maximumWidth) || (height > maximumHeight)) return SCAN_DIAG;
+
+ dirMode = getChromaIntraDir(absPartIdx);
if (dirMode == DM_CHROMA_IDX)
{
- // get number of partitions in current CU
- uint32_t depth = getDepth(absPartIdx);
- uint32_t numParts = getPic()->getNumPartInCU() >> (2 * depth);
-
- // get luma mode from upper-left corner of current CU
- dirMode = getLumaIntraDir((absPartIdx / numParts) * numParts);
+ dirMode = getLumaIntraDir(absPartIdx);
}
- scanIdx = SCAN_DIAG;
- if (uiCTXIdx > 4 && uiCTXIdx < 7) //if multiple scans supported for transform size
- {
- scanIdx = abs((int)dirMode - VER_IDX) < 5 ? SCAN_HOR : (abs((int)dirMode - HOR_IDX) < 5 ? SCAN_VER : SCAN_DIAG);
- }
+ }
+
+ switch (MDCS_MODE)
+ {
+ case MDCS_BOTH_DIRECTIONS:
+ if (abs((int)dirMode - VER_IDX) <= MDCS_ANGLE_LIMIT)
+ scanIdx = SCAN_HOR;
+ else if (abs((int)dirMode - HOR_IDX) <= MDCS_ANGLE_LIMIT)
+ scanIdx = SCAN_VER;
+ else
+ scanIdx = SCAN_DIAG;
+ break;
+
+ case MDCS_VERTICAL_ONLY:
+ if (abs((int)dirMode - HOR_IDX) <= MDCS_ANGLE_LIMIT)
+ scanIdx = SCAN_VER;
+ break;
+
+ case MDCS_HORIZONTAL_ONLY:
+ if (abs((int)dirMode - VER_IDX) <= MDCS_ANGLE_LIMIT)
+ scanIdx = SCAN_HOR;
+ break;
+
+ case MDCS_DISABLED:
+ scanIdx = 0;
+ break;
+
+ default:
+ assert(false);
+ x265_log(NULL, X265_LOG_ERROR, "Unrecognised MDCS mode\n");
+ break;
}
return scanIdx;
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComDataCU.h
--- a/source/Lib/TLibCommon/TComDataCU.h Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComDataCU.h Sat Feb 15 08:12:30 2014 +0530
@@ -483,6 +483,7 @@ public:
int getHorzChromaShift() { return m_hChromaShift; }
int getVertChromaShift() { return m_vChromaShift; }
+ int getChromaFormat() { return m_chromaFormat; }
};
namespace RasterAddress {
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComLoopFilter.cpp
--- a/source/Lib/TLibCommon/TComLoopFilter.cpp Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComLoopFilter.cpp Sat Feb 15 08:12:30 2014 +0530
@@ -47,9 +47,7 @@ using namespace x265;
// ====================================================================================================================
// Constants
// ====================================================================================================================
-
-#define QpUV(iQpY) (((iQpY) < 0) ? (iQpY) : (((iQpY) > 57) ? ((iQpY) - 6) : g_chromaScale[(iQpY)]))
-
+#define QpUV(iQpY, chFmt) (((iQpY) < 0) ? (iQpY) : (((iQpY) > 57) ? ((iQpY) - 6) : g_chromaScale[chFmt][(iQpY)]))
#define DEFAULT_INTRA_TC_OFFSET 2 ///< Default intra TC offset
// ====================================================================================================================
@@ -226,11 +224,11 @@ void TComLoopFilter::xDeblockCU(TComData
uint32_t partIdxIncr = DEBLOCK_SMALLEST_BLOCK / pelsInPart ? DEBLOCK_SMALLEST_BLOCK / pelsInPart : 1;
uint32_t sizeInPU = pic->getNumPartInWidth() >> (depth);
-
+ const bool bAlwaysDoChroma = (cu->getChromaFormat() == CHROMA_444);
for (uint32_t e = 0; e < sizeInPU; e += partIdxIncr)
{
xEdgeFilterLuma(cu, absZOrderIdx, depth, dir, e);
- if ((pelsInPart > DEBLOCK_SMALLEST_BLOCK) || (e % ((DEBLOCK_SMALLEST_BLOCK << 1) / pelsInPart)) == 0)
+ if (bAlwaysDoChroma || (pelsInPart > DEBLOCK_SMALLEST_BLOCK) || (e % ((DEBLOCK_SMALLEST_BLOCK << 1) / pelsInPart)) == 0)
{
xEdgeFilterChroma(cu, absZOrderIdx, depth, dir, e);
}
@@ -642,8 +640,7 @@ void TComLoopFilter::xEdgeFilterChroma(T
int qp = 0;
int qpP = 0;
int qpQ = 0;
-
- uint32_t pelsInPartChroma = g_maxCUWidth >> (g_maxCUDepth + 1);
+ uint32_t pelsInPartChroma = g_maxCUWidth >> (g_maxCUDepth + cu->getHorzChromaShift());
int offset, srcStep;
const uint32_t lcuWidthInBaseUnits = cu->getPic()->getNumPartInWidth();
@@ -727,8 +724,7 @@ void TComLoopFilter::xEdgeFilterChroma(T
{
int chromaQPOffset = (chromaIdx == 0) ? cu->getSlice()->getPPS()->getChromaCbQpOffset() : cu->getSlice()->getPPS()->getChromaCrQpOffset();
Pel* piTmpSrcChroma = (chromaIdx == 0) ? tmpSrcCb : tmpSrcCr;
-
- qp = QpUV(((qpP + qpQ + 1) >> 1) + chromaQPOffset);
+ qp = QpUV((((qpP + qpQ + 1) >> 1) + chromaQPOffset), cu->getChromaFormat());
int iBitdepthScale = 1 << (X265_DEPTH - 8);
int iIndexTC = Clip3(0, MAX_QP + DEFAULT_INTRA_TC_OFFSET, qp + DEFAULT_INTRA_TC_OFFSET * (bs - 1) + (tcOffsetDiv2 << 1));
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComPattern.cpp
--- a/source/Lib/TLibCommon/TComPattern.cpp Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComPattern.cpp Sat Feb 15 08:12:30 2014 +0530
@@ -204,7 +204,7 @@ void TComPattern::initAdiPattern(TComDat
}
}
-void TComPattern::initAdiPatternChroma(TComDataCU* cu, uint32_t zOrderIdxInPart, uint32_t partDepth, Pel* adiBuf, int strideOrig, int heightOrig)
+void TComPattern::initAdiPatternChroma(TComDataCU* cu, uint32_t zOrderIdxInPart, uint32_t partDepth, Pel* adiBuf, int strideOrig, int heightOrig, int chromaId)
{
Pel* roiOrigin;
Pel* adiTemp;
@@ -246,18 +246,8 @@ void TComPattern::initAdiPatternChroma(T
{
return;
}
-
- // get Cb pattern
- roiOrigin = cu->getPic()->getPicYuvRec()->getCbAddr(cu->getAddr(), cu->getZorderIdxInCU() + zOrderIdxInPart);
- adiTemp = adiBuf;
-
- fillReferenceSamples(roiOrigin, adiTemp, bNeighborFlags, numIntraNeighbor, unitSize, numUnitsInCU, totalUnits,
- cuWidth, cuHeight, width, height, picStride);
-
- // get Cr pattern
- roiOrigin = cu->getPic()->getPicYuvRec()->getCrAddr(cu->getAddr(), cu->getZorderIdxInCU() + zOrderIdxInPart);
- adiTemp = adiBuf + ADI_BUF_STRIDE * height;
-
+ roiOrigin = chromaId > 0 ? cu->getPic()->getPicYuvRec()->getCrAddr(cu->getAddr(), cu->getZorderIdxInCU() + zOrderIdxInPart) : cu->getPic()->getPicYuvRec()->getCbAddr(cu->getAddr(), cu->getZorderIdxInCU() + zOrderIdxInPart);
+ adiTemp = chromaId > 0 ? (adiBuf + 2 * ADI_BUF_STRIDE * height) : adiBuf;
fillReferenceSamples(roiOrigin, adiTemp, bNeighborFlags, numIntraNeighbor, unitSize, numUnitsInCU, totalUnits,
cuWidth, cuHeight, width, height, picStride);
}
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComPattern.h
--- a/source/Lib/TLibCommon/TComPattern.h Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComPattern.h Sat Feb 15 08:12:30 2014 +0530
@@ -59,7 +59,7 @@ class TComPattern
public:
// access functions of ADI buffers
- static Pel* getAdiChromaBuf(int chromaId, int cuHeight, Pel* adiBuf) { return adiBuf + (chromaId == 0 ? 0 : ADI_BUF_STRIDE * (cuHeight * 2 + 1)); }
+ static Pel* getAdiChromaBuf(int chromaId, int cuHeight, Pel* adiBuf) { return adiBuf + (chromaId == 0 ? 0 : 2 * ADI_BUF_STRIDE * (cuHeight * 2 + 1)); }
// -------------------------------------------------------------------------------------------------------------------
// initialization functions
@@ -76,8 +76,7 @@ public:
/// set chroma parameters from CU data for accessing ADI data
void initAdiPatternChroma(TComDataCU* cu, uint32_t zOrderIdxInPart, uint32_t partDepth,
- Pel* adiBuf, int strideOrig, int heightOrig);
-
+ Pel* adiBuf, int strideOrig, int heightOrig, int chromaId);
private:
/// padding of unavailable reference samples for intra prediction
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComPicYuv.cpp
--- a/source/Lib/TLibCommon/TComPicYuv.cpp Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComPicYuv.cpp Sat Feb 15 08:12:30 2014 +0530
@@ -88,9 +88,9 @@ bool TComPicYuv::create(int picWidth, in
m_strideC = ((m_numCuInWidth * g_maxCUWidth) >> m_hChromaShift) + (m_chromaMarginX * 2);
int maxHeight = m_numCuInHeight * g_maxCUHeight;
- CHECKED_MALLOC(m_picBufY, Pel, m_stride * (maxHeight + (m_lumaMarginY * 2)));
- CHECKED_MALLOC(m_picBufU, Pel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
- CHECKED_MALLOC(m_picBufV, Pel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
+ CHECKED_MALLOC(m_picBufY, pixel, m_stride * (maxHeight + (m_lumaMarginY * 2)));
+ CHECKED_MALLOC(m_picBufU, pixel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
+ CHECKED_MALLOC(m_picBufV, pixel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
m_picOrgY = m_picBufY + m_lumaMarginY * getStride() + m_lumaMarginX;
m_picOrgU = m_picBufU + m_chromaMarginY * getCStride() + m_chromaMarginX;
diff -r ed310b17ff66 -r 289b4ef4ecee source/Lib/TLibCommon/TComPrediction.cpp
--- a/source/Lib/TLibCommon/TComPrediction.cpp Fri Feb 14 02:30:52 2014 -0600
+++ b/source/Lib/TLibCommon/TComPrediction.cpp Sat Feb 15 08:12:30 2014 +0530
More information about the x265-commits
mailing list