[x265] sao: minimize skipped lines [CHANGES OUTPUT]

chen chenm003 at 163.com
Tue Jan 6 05:27:08 CET 2015


You want to reduce assign operator, but you affect value on skipB, skipR, etc
It made output mistake and get a less improve, so I suggest keep old version of code.

At 2015-01-05 20:56:35,"Satoshi Nakagawa" <nakagawa424 at oki.com> wrote:
># HG changeset patch
># User Satoshi Nakagawa <nakagawa424 at oki.com>
># Date 1420337650 -32400
>#      Sun Jan 04 11:14:10 2015 +0900
># Node ID 78cf196b3982a327cd38a5f89fcc43fdb94fe5a5
># Parent  f255e8d06423231cb8c58ab5d3b10de7fb27b424
>sao: minimize skipped lines [CHANGES OUTPUT]
>
>diff -r f255e8d06423 -r 78cf196b3982 source/encoder/sao.cpp
>--- a/source/encoder/sao.cpp	Fri Jan 02 18:22:38 2015 +0530
>+++ b/source/encoder/sao.cpp	Sun Jan 04 11:14:10 2015 +0900
>@@ -605,8 +605,8 @@
>     int32_t* stats;
>     int32_t* count;
> 
>-    int skipB = plane ? 2 : 4;
>-    int skipR = plane ? 3 : 5;
>+    int skipR, skipB;
>+    int skipD = plane ? 1 : 3;
> 
>     int8_t _upBuff1[MAX_CU_SIZE + 2], *upBuff1 = _upBuff1 + 1;
>     int8_t _upBufft[MAX_CU_SIZE + 2], *upBufft = _upBufft + 1;
>@@ -615,11 +615,9 @@
>     {
>         const int boShift = X265_DEPTH - SAO_BO_BITS;
> 
>-        if (m_param->bSaoNonDeblocked)
>-        {
>-            skipB = plane ? 1 : 3;
>-            skipR = plane ? 2 : 4;
>-        }
>+        skipR = skipD;
>+        skipB = skipD;
>+
>         stats = m_offsetOrg[plane][SAO_BO];
>         count = m_count[plane][SAO_BO];
> 
>@@ -646,11 +644,9 @@
>     {
>         // SAO_EO_0: // dir: -
>         {
>-            if (m_param->bSaoNonDeblocked)
>-            {
>-                skipB = plane ? 1 : 3;
>-                skipR = plane ? 3 : 5;
>-            }
>+            skipR = skipD + 1;
>+            skipB = skipD;
>+
>             stats = m_offsetOrg[plane][SAO_EO_0];
>             count = m_count[plane][SAO_EO_0];
> 
>@@ -679,11 +675,9 @@
> 
>         // SAO_EO_1: // dir: |
>         {
>-            if (m_param->bSaoNonDeblocked)
>-            {
>-                skipB = plane ? 2 : 4;
>-                skipR = plane ? 2 : 4;
>-            }
>+            skipR = skipD;
>+            skipB = skipD + 1;
>+
>             stats = m_offsetOrg[plane][SAO_EO_1];
>             count = m_count[plane][SAO_EO_1];
> 
>@@ -726,11 +720,9 @@
> 
>         // SAO_EO_2: // dir: 135
>         {
>-            if (m_param->bSaoNonDeblocked)
>-            {
>-                skipB = plane ? 2 : 4;
>-                skipR = plane ? 3 : 5;
>-            }
>+            skipR = skipD + 1;
>+            skipB = skipD + 1;
>+
>             stats = m_offsetOrg[plane][SAO_EO_2];
>             count = m_count[plane][SAO_EO_2];
> 
>@@ -772,11 +764,9 @@
> 
>         // SAO_EO_3: // dir: 45
>         {
>-            if (m_param->bSaoNonDeblocked)
>-            {
>-                skipB = plane ? 2 : 4;
>-                skipR = plane ? 3 : 5;
>-            }
>+            skipR = skipD + 1;
>+            skipB = skipD + 1;
>+
>             stats = m_offsetOrg[plane][SAO_EO_3];
>             count = m_count[plane][SAO_EO_3];
> 
>@@ -846,7 +836,8 @@
>     int32_t* stats;
>     int32_t* count;
> 
>-    int skipB, skipR;
>+    int skipR, skipB;
>+    int skipD = 3;
> 
>     int32_t _upBuff1[MAX_CU_SIZE + 2], *upBuff1 = _upBuff1 + 1;
>     int32_t _upBufft[MAX_CU_SIZE + 2], *upBufft = _upBufft + 1;
>@@ -861,6 +852,7 @@
>         if (plane == 1)
>         {
>             stride = frame->m_reconPic->m_strideC;
>+            skipD = 1;
>             picWidth  >>= m_hChromaShift;
>             picHeight >>= m_vChromaShift;
>             ctuWidth  >>= m_hChromaShift;
>@@ -873,8 +865,8 @@
> 
>         // SAO_BO:
> 
>-        skipB = plane ? 1 : 3;
>-        skipR = plane ? 2 : 4;
>+        skipR = skipD;
>+        skipB = skipD;
> 
>         stats = m_offsetOrgPreDblk[addr][plane][SAO_BO];
>         count = m_countPreDblk[addr][plane][SAO_BO];
>@@ -902,8 +894,8 @@
> 
>         // SAO_EO_0: // dir: -
>         {
>-            skipB = plane ? 1 : 3;
>-            skipR = plane ? 3 : 5;
>+            skipR = skipD + 1;
>+            skipB = skipD;
> 
>             stats = m_offsetOrgPreDblk[addr][plane][SAO_EO_0];
>             count = m_countPreDblk[addr][plane][SAO_EO_0];
>@@ -938,8 +930,8 @@
> 
>         // SAO_EO_1: // dir: |
>         {
>-            skipB = plane ? 2 : 4;
>-            skipR = plane ? 2 : 4;
>+            skipR = skipD;
>+            skipB = skipD + 1;
> 
>             stats = m_offsetOrgPreDblk[addr][plane][SAO_EO_1];
>             count = m_countPreDblk[addr][plane][SAO_EO_1];
>@@ -983,8 +975,8 @@
> 
>         // SAO_EO_2: // dir: 135
>         {
>-            skipB = plane ? 2 : 4;
>-            skipR = plane ? 3 : 5;
>+            skipR = skipD + 1;
>+            skipB = skipD + 1;
> 
>             stats = m_offsetOrgPreDblk[addr][plane][SAO_EO_2];
>             count = m_countPreDblk[addr][plane][SAO_EO_2];
>@@ -1035,8 +1027,8 @@
> 
>         // SAO_EO_3: // dir: 45
>         {
>-            skipB = plane ? 2 : 4;
>-            skipR = plane ? 3 : 5;
>+            skipR = skipD + 1;
>+            skipB = skipD + 1;
> 
>             stats = m_offsetOrgPreDblk[addr][plane][SAO_EO_3];
>             count = m_countPreDblk[addr][plane][SAO_EO_3];
>_______________________________________________
>x265-devel mailing list
>x265-devel at videolan.org
>https://mailman.videolan.org/listinfo/x265-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x265-devel/attachments/20150106/b935745b/attachment.html>


More information about the x265-devel mailing list