br context fix
diff --git a/av1/common/txb_common.h b/av1/common/txb_common.h
index e852873..e3ef3f0 100644
--- a/av1/common/txb_common.h
+++ b/av1/common/txb_common.h
@@ -90,8 +90,8 @@
const int col = (c - (row << bwl)) + TX_PAD_LEFT;
const int stride = (1 << bwl) + TX_PAD_LEFT;
const int pos = row * stride + col;
- int mag = levels[pos - 1];
- mag += levels[pos - stride];
+ int mag = AOMMIN(levels[pos - 1], MAX_BASE_BR_RANGE);
+ mag += AOMMIN(levels[pos - stride], MAX_BASE_BR_RANGE);
mag = AOMMIN(mag, 6);
if ((row < 2) && (col < (2 + TX_PAD_LEFT))) return mag;
return mag + 7;
@@ -245,7 +245,7 @@
const int stride = (1 << bwl) + TX_PAD_HOR;
const int pos = row * stride + col;
int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE);
- mag += levels[pos + stride];
+ mag += AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE);
switch (tx_class) {
case TX_CLASS_2D:
mag += AOMMIN(levels[pos + stride + 1], MAX_BASE_BR_RANGE);
@@ -278,14 +278,14 @@
const int col = c - (row << bwl);
const int stride = (1 << bwl) + TX_PAD_HOR;
const int pos = row * stride + col;
- int mag = levels[pos + 1];
- mag += levels[pos + stride];
+ int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE);
+ mag += AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE);
if (tx_class == TX_CLASS_2D) {
- mag += levels[pos + stride + 1];
+ mag += AOMMIN(levels[pos + stride + 1], MAX_BASE_BR_RANGE);
} else if (tx_class == TX_CLASS_VERT) {
- mag += levels[pos + (stride << 1)];
+ mag += AOMMIN(levels[pos + (stride << 1)], MAX_BASE_BR_RANGE);
} else {
- mag += levels[pos + 2];
+ mag += AOMMIN(levels[pos + 2], MAX_BASE_BR_RANGE);
}
mag = AOMMIN((mag + 1) >> 1, 6);
return mag;