[x265-commits] [x265] asm: code for Intra_pred_Ang16x16 mode 3 and 33

Murugan Vairavel murugan at multicorewareinc.com
Mon Feb 3 21:44:20 CET 2014


details:   http://hg.videolan.org/x265/rev/e9867f0a16a2
branches:  
changeset: 5985:e9867f0a16a2
user:      Murugan Vairavel <murugan at multicorewareinc.com>
date:      Mon Jan 20 16:24:10 2014 +0530
description:
asm: code for Intra_pred_Ang16x16 mode 3 and 33
Subject: [x265] asm: code for intra_Pred_Ang16x16 mode 4

details:   http://hg.videolan.org/x265/rev/c50f78691043
branches:  
changeset: 5986:c50f78691043
user:      Murugan Vairavel <murugan at multicorewareinc.com>
date:      Mon Jan 20 17:45:03 2014 +0530
description:
asm: code for intra_Pred_Ang16x16 mode 4
Subject: [x265] assembly code for intra_pred_ang8_4.

details:   http://hg.videolan.org/x265/rev/dc2de7c4f6c1
branches:  
changeset: 5987:dc2de7c4f6c1
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Tue Jan 21 12:05:04 2014 +0530
description:
assembly code for intra_pred_ang8_4.
Subject: [x265] asm: code for intra_Pred_Ang16x16 mode 32

details:   http://hg.videolan.org/x265/rev/3131a2ac8ec6
branches:  
changeset: 5988:3131a2ac8ec6
user:      Murugan Vairavel <murugan at multicorewareinc.com>
date:      Mon Jan 20 17:54:01 2014 +0530
description:
asm: code for intra_Pred_Ang16x16 mode 32
Subject: [x265] Merge

details:   http://hg.videolan.org/x265/rev/169a7d7c51ef
branches:  
changeset: 5989:169a7d7c51ef
user:      Deepthi Nandakumar <deepthi at multicorewareinc.com>
date:      Mon Feb 03 21:54:34 2014 +0530
description:
Merge
Subject: [x265] assembly code for intra_pred_ang8_5

details:   http://hg.videolan.org/x265/rev/2297a3777658
branches:  
changeset: 5990:2297a3777658
user:      Yuvaraj Venkatesh <yuvaraj at multicorewareinc.com>
date:      Tue Jan 21 16:02:47 2014 +0530
description:
assembly code for intra_pred_ang8_5
Subject: [x265] ratecontrol: backout c4e99fde0b and fix indentation

details:   http://hg.videolan.org/x265/rev/6aa952372175
branches:  
changeset: 5991:6aa952372175
user:      Steve Borho <steve at borho.org>
date:      Mon Feb 03 13:28:36 2014 -0600
description:
ratecontrol: backout c4e99fde0b and fix indentation
Subject: [x265] reduce context

details:   http://hg.videolan.org/x265/rev/d5326d9bf1b2
branches:  
changeset: 5992:d5326d9bf1b2
user:      Satoshi Nakagawa <nakagawa424 at oki.com>
date:      Mon Feb 03 12:36:39 2014 +0900
description:
reduce context

diffstat:

 source/CMakeLists.txt                    |    5 +-
 source/Lib/TLibCommon/CommonDef.h        |    2 +-
 source/Lib/TLibCommon/ContextTables.h    |    2 -
 source/Lib/TLibCommon/TComBitStream.cpp  |    4 +-
 source/Lib/TLibCommon/TComDataCU.cpp     |   54 +-
 source/Lib/TLibCommon/TComPicYuv.cpp     |    6 +-
 source/Lib/TLibCommon/TComPrediction.cpp |   20 +-
 source/Lib/TLibCommon/TComTrQuant.cpp    |    2 +-
 source/Lib/TLibCommon/TComTrQuant.h      |    6 +-
 source/Lib/TLibCommon/TComYuv.cpp        |    6 +-
 source/Lib/TLibEncoder/NALwrite.cpp      |    2 +-
 source/Lib/TLibEncoder/TEncSbac.cpp      |    4 +-
 source/Lib/TLibEncoder/TEncSbac.h        |    2 +-
 source/common/TShortYUV.cpp              |    6 +-
 source/common/common.cpp                 |    2 +-
 source/common/lowres.cpp                 |   16 +-
 source/common/x86/asm-primitives.cpp     |   11 +-
 source/common/x86/intrapred.h            |    2 +
 source/common/x86/intrapred8.asm         |  668 +++++++++++++++++++++++++++++++
 source/encoder/encoder.cpp               |    3 +-
 source/encoder/frameencoder.cpp          |    8 +-
 source/encoder/motion.cpp                |    2 +-
 source/encoder/ratecontrol.cpp           |   35 +-
 source/encoder/reference.cpp             |    2 +-
 source/encoder/slicetype.h               |    2 +-
 source/encoder/weightPrediction.cpp      |    4 +-
 source/test/intrapredharness.cpp         |    4 +-
 source/test/ipfilterharness.cpp          |    8 +-
 source/test/mbdstharness.cpp             |   28 +-
 source/test/pixelharness.cpp             |   16 +-
 30 files changed, 804 insertions(+), 128 deletions(-)

diffs (truncated from 1365 to 300 lines):

diff -r 71841b07b8ee -r d5326d9bf1b2 source/CMakeLists.txt
--- a/source/CMakeLists.txt	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/CMakeLists.txt	Mon Feb 03 12:36:39 2014 +0900
@@ -27,8 +27,9 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_
 
 # System architecture detection
 string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" SYSPROC)
-if(${SYSPROC} STREQUAL "i386" OR ${SYSPROC} STREQUAL "amd64" OR
-   ${SYSPROC} STREQUAL "x86_64" OR ${SYSPROC} STREQUAL "x86")
+if("${SYSPROC}" STREQUAL "i386"   OR "${SYSPROC}" STREQUAL "amd64" OR
+   "${SYSPROC}" STREQUAL "x86_64" OR "${SYSPROC}" STREQUAL "x86"   OR
+   "${SYSPROC}" STREQUAL "")
     message(STATUS "Detected x86 system processor")
     set(X86 1)
     add_definitions(-DX265_ARCH_X86=1)
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/CommonDef.h
--- a/source/Lib/TLibCommon/CommonDef.h	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/CommonDef.h	Mon Feb 03 12:36:39 2014 +0900
@@ -139,7 +139,7 @@
 #define NOT_VALID                  -1
 
 // for use in HM, replaces old xMalloc/xFree macros
-#define X265_MALLOC(type, count)    x265_malloc(sizeof(type) * (count))
+#define X265_MALLOC(type, count)    (type*)x265_malloc(sizeof(type) * (count))
 #define X265_FREE(ptr)              x265_free(ptr)
 
 // ====================================================================================================================
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/ContextTables.h
--- a/source/Lib/TLibCommon/ContextTables.h	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/ContextTables.h	Mon Feb 03 12:36:39 2014 +0900
@@ -48,8 +48,6 @@
 // Constants
 // ====================================================================================================================
 
-#define MAX_NUM_CTX_MOD             256       ///< maximum number of supported contexts
-
 #define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
 #define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
 
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComBitStream.cpp
--- a/source/Lib/TLibCommon/TComBitStream.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComBitStream.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -53,7 +53,7 @@ using namespace x265;
 
 TComOutputBitstream::TComOutputBitstream()
 {
-    m_fifo = (uint8_t*)X265_MALLOC(uint8_t, MIN_FIFO_SIZE);
+    m_fifo = X265_MALLOC(uint8_t, MIN_FIFO_SIZE);
     clear();
 }
 
@@ -215,7 +215,7 @@ void TComOutputBitstream::push_back(uint
 
         /**  FIFO size is Reached into MIN_FIFO_SIZE then Reallocate the FIFO and Copy the fifo to new memory
         location and continue to push encoded bit streams */
-        uint8_t *temp = (uint8_t*)X265_MALLOC(uint8_t, buffsize);
+        uint8_t *temp = X265_MALLOC(uint8_t, buffsize);
 
         /** check Allocated buffer before copy the encoder bitstream and push into FIFO */
         if (temp)
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComDataCU.cpp
--- a/source/Lib/TLibCommon/TComDataCU.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComDataCU.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -121,10 +121,10 @@ void TComDataCU::create(uint32_t numPart
     tmp = g_convertToBit[tmp] + 2;
     m_unitMask = ~((1 << tmp) - 1);
 
-    m_qp     = (char*)X265_MALLOC(char,   numPartition);
-    m_depth  = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_width  = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_height = (UChar*)X265_MALLOC(UChar, numPartition);
+    m_qp     = X265_MALLOC(char,  numPartition);
+    m_depth  = X265_MALLOC(UChar, numPartition);
+    m_width  = X265_MALLOC(UChar, numPartition);
+    m_height = X265_MALLOC(UChar, numPartition);
 
     m_skipFlag = new bool[numPartition];
 
@@ -133,38 +133,38 @@ void TComDataCU::create(uint32_t numPart
     m_predModes = new char[numPartition];
     m_cuTransquantBypass = new bool[numPartition];
 
-    m_bMergeFlags     = (bool*)X265_MALLOC(bool,  numPartition);
-    m_mergeIndex      = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_lumaIntraDir    = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_chromaIntraDir  = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_interDir        = (UChar*)X265_MALLOC(UChar, numPartition);
-
-    m_trIdx            = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_transformSkip[0] = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_transformSkip[1] = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_transformSkip[2] = (UChar*)X265_MALLOC(UChar, numPartition);
-
-    m_cbf[0] = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_cbf[1] = (UChar*)X265_MALLOC(UChar, numPartition);
-    m_cbf[2] = (UChar*)X265_MALLOC(UChar, numPartition);
+    m_bMergeFlags     = X265_MALLOC(bool,  numPartition);
+    m_mergeIndex      = X265_MALLOC(UChar, numPartition);
+    m_lumaIntraDir    = X265_MALLOC(UChar, numPartition);
+    m_chromaIntraDir  = X265_MALLOC(UChar, numPartition);
+    m_interDir        = X265_MALLOC(UChar, numPartition);
+
+    m_trIdx            = X265_MALLOC(UChar, numPartition);
+    m_transformSkip[0] = X265_MALLOC(UChar, numPartition);
+    m_transformSkip[1] = X265_MALLOC(UChar, numPartition);
+    m_transformSkip[2] = X265_MALLOC(UChar, numPartition);
+
+    m_cbf[0] = X265_MALLOC(UChar, numPartition);
+    m_cbf[1] = X265_MALLOC(UChar, numPartition);
+    m_cbf[2] = X265_MALLOC(UChar, numPartition);
 
     m_mvpIdx[0] = new char[numPartition];
     m_mvpIdx[1] = new char[numPartition];
 
-    m_trCoeffY  = (TCoeff*)X265_MALLOC(TCoeff, width * height);
-    m_trCoeffCb = (TCoeff*)X265_MALLOC(TCoeff, (width >> m_hChromaShift) * (height >> m_vChromaShift));
-    m_trCoeffCr = (TCoeff*)X265_MALLOC(TCoeff, (width >> m_hChromaShift) * (height >> m_vChromaShift));
-
-    m_iPCMFlags   = (bool*)X265_MALLOC(bool, numPartition);
-    m_iPCMSampleY  = (Pel*)X265_MALLOC(Pel, width * height);
-    m_iPCMSampleCb = (Pel*)X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift));
-    m_iPCMSampleCr = (Pel*)X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift));
+    m_trCoeffY  = X265_MALLOC(TCoeff, width * height);
+    m_trCoeffCb = X265_MALLOC(TCoeff, (width >> m_hChromaShift) * (height >> m_vChromaShift));
+    m_trCoeffCr = X265_MALLOC(TCoeff, (width >> m_hChromaShift) * (height >> m_vChromaShift));
+
+    m_iPCMFlags   = X265_MALLOC(bool, numPartition);
+    m_iPCMSampleY  = X265_MALLOC(Pel, width * height);
+    m_iPCMSampleCb = X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift));
+    m_iPCMSampleCr = X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift));
 
     m_cuMvField[0].create(numPartition);
     m_cuMvField[1].create(numPartition);
 
     // create pattern memory
-    m_pattern = (TComPattern*)X265_MALLOC(TComPattern, 1);
+    m_pattern = X265_MALLOC(TComPattern, 1);
 }
 
 void TComDataCU::destroy()
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComPicYuv.cpp
--- a/source/Lib/TLibCommon/TComPicYuv.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComPicYuv.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -88,9 +88,9 @@ void TComPicYuv::create(int picWidth, in
     m_strideC = ((m_numCuInWidth * g_maxCUWidth) >> m_hChromaShift) + (m_chromaMarginX * 2);
     int maxHeight = m_numCuInHeight * g_maxCUHeight;
 
-    m_picBufY = (Pel*)X265_MALLOC(Pel, m_stride * (maxHeight + (m_lumaMarginY * 2)));
-    m_picBufU = (Pel*)X265_MALLOC(Pel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
-    m_picBufV = (Pel*)X265_MALLOC(Pel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
+    m_picBufY = X265_MALLOC(Pel, m_stride * (maxHeight + (m_lumaMarginY * 2)));
+    m_picBufU = X265_MALLOC(Pel, m_strideC * ((maxHeight >> m_vChromaShift) + (m_chromaMarginY * 2)));
+    m_picBufV = X265_MALLOC(Pel, 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 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComPrediction.cpp
--- a/source/Lib/TLibCommon/TComPrediction.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComPrediction.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -66,7 +66,7 @@ TComPrediction::TComPrediction()
 
 TComPrediction::~TComPrediction()
 {
-    delete[] m_predBuf;
+    X265_FREE(m_predBuf);
     X265_FREE(m_predAllAngsBuf);
 
     X265_FREE(refAbove);
@@ -91,15 +91,15 @@ void TComPrediction::initTempBuff(int cs
 {
     if (m_predBuf == NULL)
     {
-        m_predBufHeight  = ((MAX_CU_SIZE + 2) << 4);
-        m_predBufStride = ((MAX_CU_SIZE  + 8) << 4);
-        m_predBuf = new Pel[m_predBufStride * m_predBufHeight];
-        m_predAllAngsBuf = (Pel*)X265_MALLOC(Pel, 33 * MAX_CU_SIZE * MAX_CU_SIZE);
+        m_predBufHeight = ((MAX_CU_SIZE + 2) << 4);
+        m_predBufStride = ((MAX_CU_SIZE + 8) << 4);
+        m_predBuf = X265_MALLOC(Pel, m_predBufStride * m_predBufHeight);
+        m_predAllAngsBuf = X265_MALLOC(Pel, 33 * MAX_CU_SIZE * MAX_CU_SIZE);
 
-        refAbove = (Pel*)X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
-        refAboveFlt = (Pel*)X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
-        refLeft = (Pel*)X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
-        refLeftFlt = (Pel*)X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
+        refAbove = X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
+        refAboveFlt = X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
+        refLeft = X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
+        refLeftFlt = X265_MALLOC(Pel, 3 * MAX_CU_SIZE);
 
         m_predYuv[0].create(MAX_CU_SIZE, MAX_CU_SIZE, csp);
         m_predYuv[1].create(MAX_CU_SIZE, MAX_CU_SIZE, csp);
@@ -107,7 +107,7 @@ void TComPrediction::initTempBuff(int cs
         m_predShortYuv[1].create(MAX_CU_SIZE, MAX_CU_SIZE, csp);
         m_predTempYuv.create(MAX_CU_SIZE, MAX_CU_SIZE, csp);
 
-        m_immedVals = (int16_t*)X265_MALLOC(int16_t, 64 * (64 + NTAPS_LUMA - 1));
+        m_immedVals = X265_MALLOC(int16_t, 64 * (64 + NTAPS_LUMA - 1));
     }
 
     if (m_lumaRecStride != (MAX_CU_SIZE >> 1) + 1)
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComTrQuant.cpp
--- a/source/Lib/TLibCommon/TComTrQuant.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComTrQuant.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -74,7 +74,7 @@ TComTrQuant::TComTrQuant()
 
     // allocate temporary buffers
     // OPT_ME: I may reduce this to short and output matched, but I am not sure it is right.
-    m_tmpCoeff = (int32_t*)X265_MALLOC(int, MAX_CU_SIZE * MAX_CU_SIZE);
+    m_tmpCoeff = X265_MALLOC(int32_t, MAX_CU_SIZE * MAX_CU_SIZE);
 
     // allocate bit estimation class (for RDOQ)
     m_estBitsSbac = new estBitsSbacStruct;
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComTrQuant.h
--- a/source/Lib/TLibCommon/TComTrQuant.h	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComTrQuant.h	Mon Feb 03 12:36:39 2014 +0900
@@ -63,13 +63,13 @@ typedef struct
 {
     int significantCoeffGroupBits[NUM_SIG_CG_FLAG_CTX][2];
     int significantBits[NUM_SIG_FLAG_CTX][2];
-    int lastXBits[32];
-    int lastYBits[32];
+    int lastXBits[10];
+    int lastYBits[10];
     int greaterOneBits[NUM_ONE_FLAG_CTX][2];
     int levelAbsBits[NUM_ABS_FLAG_CTX][2];
 
     int blockCbpBits[NUM_QT_CBF_CTX][2];
-    int blockRootCbpBits[4][2];
+    int blockRootCbpBits[NUM_QT_ROOT_CBF_CTX][2];
 } estBitsSbacStruct;
 
 // ====================================================================================================================
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibCommon/TComYuv.cpp
--- a/source/Lib/TLibCommon/TComYuv.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibCommon/TComYuv.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -68,9 +68,9 @@ void TComYuv::create(uint32_t width, uin
     m_vChromaShift = CHROMA_V_SHIFT(csp);
 
     // memory allocation (padded for SIMD reads)
-    m_bufY = (Pel*)X265_MALLOC(Pel, width * height);
-    m_bufU = (Pel*)X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift) + 8);
-    m_bufV = (Pel*)X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift) + 8);
+    m_bufY = X265_MALLOC(Pel, width * height);
+    m_bufU = X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift) + 8);
+    m_bufV = X265_MALLOC(Pel, (width >> m_hChromaShift) * (height >> m_vChromaShift) + 8);
 
     // set width and height
     m_width   = width;
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibEncoder/NALwrite.cpp
--- a/source/Lib/TLibEncoder/NALwrite.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibEncoder/NALwrite.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -85,7 +85,7 @@ void write(uint8_t*& out, OutputNALUnit&
     uint32_t fsize = nalu.m_bitstream.getByteStreamLength();
     uint8_t* fifo = nalu.m_bitstream.getFIFO();
     uint32_t  emulationSize = fsize / 2;
-    uint8_t* emulation = (uint8_t*)X265_MALLOC(uint8_t, fsize + emulationSize);
+    uint8_t* emulation = X265_MALLOC(uint8_t, fsize + emulationSize);
     uint32_t nalsize = 0;
 
     if (emulation)
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibEncoder/TEncSbac.cpp
--- a/source/Lib/TLibEncoder/TEncSbac.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibEncoder/TEncSbac.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -186,8 +186,6 @@ TEncSbac::TEncSbac()
     , m_binIf(NULL)
     , m_coeffCost(0)
 {
-    assert(MAX_OFF_CTX_MOD <= MAX_NUM_CTX_MOD);
-
     memset(m_contextModels, 0, sizeof(m_contextModels));
 }
 
@@ -2468,7 +2466,7 @@ void TEncSbac::estCBFBit(estBitsSbacStru
 
     ctx = &m_contextModels[OFF_QT_ROOT_CBF_CTX];
 
-    for (uint32_t ctxInc = 0; ctxInc < 4; ctxInc++)
+    for (uint32_t ctxInc = 0; ctxInc < NUM_QT_ROOT_CBF_CTX; ctxInc++)
     {
         estBitsSbac->blockRootCbpBits[ctxInc][0] = sbacGetEntropyBits(ctx[ctxInc].m_state, 0);
         estBitsSbac->blockRootCbpBits[ctxInc][1] = sbacGetEntropyBits(ctx[ctxInc].m_state, 1);
diff -r 71841b07b8ee -r d5326d9bf1b2 source/Lib/TLibEncoder/TEncSbac.h
--- a/source/Lib/TLibEncoder/TEncSbac.h	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/Lib/TLibEncoder/TEncSbac.h	Mon Feb 03 12:36:39 2014 +0900
@@ -191,7 +191,7 @@ public:
 private:
 
     uint32_t                 m_lastQp;
-    ContextModel         m_contextModels[MAX_NUM_CTX_MOD];
+    ContextModel         m_contextModels[MAX_OFF_CTX_MOD];
 };
 }
 //! \}
diff -r 71841b07b8ee -r d5326d9bf1b2 source/common/TShortYUV.cpp
--- a/source/common/TShortYUV.cpp	Mon Feb 03 13:15:35 2014 +0530
+++ b/source/common/TShortYUV.cpp	Mon Feb 03 12:36:39 2014 +0900
@@ -49,9 +49,9 @@ void TShortYUV::create(unsigned int widt
     m_hChromaShift = CHROMA_H_SHIFT(csp);
     m_vChromaShift = CHROMA_V_SHIFT(csp);


More information about the x265-commits mailing list