# HG changeset patch
# User Satoshi Nakagawa <[email protected]>
# Date 1391398599 -32400
# Mon Feb 03 12:36:39 2014 +0900
# Node ID 5de4b0b966b4be12cb6aed75bd742402db62c027
# Parent aab88ed133647b779b0a1ca33a1e20584103ef7d
reduce context
diff -r aab88ed13364 -r 5de4b0b966b4 source/Lib/TLibCommon/ContextTables.h
--- a/source/Lib/TLibCommon/ContextTables.h Sun Feb 02 13:09:26 2014 -0600
+++ 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 aab88ed13364 -r 5de4b0b966b4 source/Lib/TLibCommon/TComTrQuant.h
--- a/source/Lib/TLibCommon/TComTrQuant.h Sun Feb 02 13:09:26 2014 -0600
+++ b/source/Lib/TLibCommon/TComTrQuant.h Mon Feb 03 12:36:39 2014 +0900
@@ -63,13 +63,13 @@
{
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 aab88ed13364 -r 5de4b0b966b4 source/Lib/TLibEncoder/TEncSbac.cpp
--- a/source/Lib/TLibEncoder/TEncSbac.cpp Sun Feb 02 13:09:26 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncSbac.cpp Mon Feb 03 12:36:39 2014 +0900
@@ -186,8 +186,6 @@
, 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 @@
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 aab88ed13364 -r 5de4b0b966b4 source/Lib/TLibEncoder/TEncSbac.h
--- a/source/Lib/TLibEncoder/TEncSbac.h Sun Feb 02 13:09:26 2014 -0600
+++ b/source/Lib/TLibEncoder/TEncSbac.h Mon Feb 03 12:36:39 2014 +0900
@@ -191,7 +191,7 @@
private:
uint32_t m_lastQp;
- ContextModel m_contextModels[MAX_NUM_CTX_MOD];
+ ContextModel m_contextModels[MAX_OFF_CTX_MOD];
};
}
//! \}
_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel