Skip to content

Commit

Permalink
x265: Fix limit-tu bug in loading co-located CU's TU depth
Browse files Browse the repository at this point in the history
  • Loading branch information
Nomis101 authored and bradleysepos committed Dec 10, 2019
1 parent 56a0493 commit e6478f0
Show file tree
Hide file tree
Showing 4 changed files with 104 additions and 0 deletions.
26 changes: 26 additions & 0 deletions contrib/x265/A01-limit-tu_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# HG changeset patch
# User Aruna Matheswaran <[email protected]>
# Date 1573207250 -19800
# Branch Release_3.2
# Node ID 09f3b1d9349ac84d74f14f99297f9418bc8b2b02
# Parent b5c86a64bbbede216b25092def72272ecde5523a
limit-tu: Fix bug in loading co-located CU's TU depth

diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp
+++ b/source/encoder/analysis.cpp
@@ -375,12 +375,12 @@
CUData* neighbourCU;
uint8_t count = 0;
int32_t maxTUDepth = -1;
- neighbourCU = m_slice->m_refFrameList[0][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[0][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
if (m_slice->isInterB())
{
- neighbourCU = m_slice->m_refFrameList[1][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[1][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
}
26 changes: 26 additions & 0 deletions contrib/x265_10bit/A01-limit-tu_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# HG changeset patch
# User Aruna Matheswaran <[email protected]>
# Date 1573207250 -19800
# Branch Release_3.2
# Node ID 09f3b1d9349ac84d74f14f99297f9418bc8b2b02
# Parent b5c86a64bbbede216b25092def72272ecde5523a
limit-tu: Fix bug in loading co-located CU's TU depth

diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp
+++ b/source/encoder/analysis.cpp
@@ -375,12 +375,12 @@
CUData* neighbourCU;
uint8_t count = 0;
int32_t maxTUDepth = -1;
- neighbourCU = m_slice->m_refFrameList[0][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[0][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
if (m_slice->isInterB())
{
- neighbourCU = m_slice->m_refFrameList[1][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[1][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
}
26 changes: 26 additions & 0 deletions contrib/x265_12bit/A01-limit-tu_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# HG changeset patch
# User Aruna Matheswaran <[email protected]>
# Date 1573207250 -19800
# Branch Release_3.2
# Node ID 09f3b1d9349ac84d74f14f99297f9418bc8b2b02
# Parent b5c86a64bbbede216b25092def72272ecde5523a
limit-tu: Fix bug in loading co-located CU's TU depth

diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp
+++ b/source/encoder/analysis.cpp
@@ -375,12 +375,12 @@
CUData* neighbourCU;
uint8_t count = 0;
int32_t maxTUDepth = -1;
- neighbourCU = m_slice->m_refFrameList[0][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[0][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
if (m_slice->isInterB())
{
- neighbourCU = m_slice->m_refFrameList[1][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[1][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
}
26 changes: 26 additions & 0 deletions contrib/x265_8bit/A01-limit-tu_fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# HG changeset patch
# User Aruna Matheswaran <[email protected]>
# Date 1573207250 -19800
# Branch Release_3.2
# Node ID 09f3b1d9349ac84d74f14f99297f9418bc8b2b02
# Parent b5c86a64bbbede216b25092def72272ecde5523a
limit-tu: Fix bug in loading co-located CU's TU depth

diff --git a/source/encoder/analysis.cpp b/source/encoder/analysis.cpp
--- a/source/encoder/analysis.cpp
+++ b/source/encoder/analysis.cpp
@@ -375,12 +375,12 @@
CUData* neighbourCU;
uint8_t count = 0;
int32_t maxTUDepth = -1;
- neighbourCU = m_slice->m_refFrameList[0][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[0][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
if (m_slice->isInterB())
{
- neighbourCU = m_slice->m_refFrameList[1][0]->m_encData->m_picCTU;
+ neighbourCU = &m_slice->m_refFrameList[1][0]->m_encData->m_picCTU[parentCTU.m_cuAddr];
predDepth += neighbourCU->m_refTuDepth[cuGeom.geomRecurId];
count++;
}

0 comments on commit e6478f0

Please sign in to comment.