<div dir="ltr">sorry, it will not work with just one and operation.</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 18, 2016 at 7:08 PM, Ashok Kumar Mishra <span dir="ltr"><<a href="mailto:ashok@multicorewareinc.com" target="_blank">ashok@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><div class="h5">On Fri, Mar 18, 2016 at 5:46 PM,  <span dir="ltr"><<a href="mailto:vignesh@multicorewareinc.com" target="_blank">vignesh@multicorewareinc.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"># HG changeset patch<br>
# User Vignesh <<a href="mailto:vignesh@multicorewareinc.com" target="_blank">vignesh@multicorewareinc.com</a>><br>
# Date 1458043301 -19800<br>
#      Tue Mar 15 17:31:41 2016 +0530<br>
# Node ID f38191b0a7ddc6b29c79fecc2821e11e8b24e1db<br>
# Parent  4a2f94a592511afabd434fc6cf02a469b6d65091<br>
fix bug in scaling list<br>
<br>
diff -r 4a2f94a59251 -r f38191b0a7dd source/common/scalinglist.cpp<br>
--- a/source/common/scalinglist.cpp     Wed Mar 09 14:34:06 2016 +0530<br>
+++ b/source/common/scalinglist.cpp     Tue Mar 15 17:31:41 2016 +0530<br>
@@ -57,7 +57,11 @@<br>
     },<br>
     {<br>
         "INTRA32X32_LUMA",<br>
+        "",<br>
+        "",<br>
         "INTER32X32_LUMA",<br>
+        "",<br>
+        "",<br>
     },<br>
 };<br>
 const char MatrixType_DC[4][12][22] =<br>
@@ -76,7 +80,11 @@<br>
     },<br>
     {<br>
         "INTRA32X32_LUMA_DC",<br>
+        "",<br>
+        "",<br>
         "INTER32X32_LUMA_DC",<br>
+        "",<br>
+        "",<br>
     },<br>
 };<br>
<br>
@@ -246,15 +254,15 @@<br>
<br>
     char line[1024];<br>
     int32_t *src = NULL;<br>
+    fseek(fp, 0, 0);<br>
<br>
     for (int sizeIdc = 0; sizeIdc < NUM_SIZES; sizeIdc++)<br>
     {<br>
         int size = X265_MIN(MAX_MATRIX_COEF_NUM, s_numCoefPerSize[sizeIdc]);<br>
-        for (int listIdc = 0; listIdc < NUM_LISTS; listIdc++)<br>
+        for (int listIdc = 0; listIdc < NUM_LISTS;  listIdc += (sizeIdc == 3) ? 3 : 1)<br></blockquote></div></div><div>instead of writing  listIdc += (sizeIdc == 3) ? 3 : 1, you can write listIdc += sizeIdc & 3.</div><div>so that if condition check can be avoided.</div><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
         {<br>
             src = m_scalingListCoef[sizeIdc][listIdc];<br>
<br>
-            fseek(fp, 0, 0);<br>
             do<br>
             {<br>
                 char *ret = fgets(line, 1024, fp);<br>
@@ -282,7 +290,6 @@<br>
<br>
             if (sizeIdc > BLOCK_8x8)<br>
             {<br>
-                fseek(fp, 0, 0);<br>
                 do<br>
                 {<br>
                     char *ret = fgets(line, 1024, fp);<br>
@@ -310,7 +317,7 @@<br>
     fclose(fp);<br>
<br>
     m_bEnabled = true;<br>
-    m_bDataPresent = !checkDefaultScalingList();<br>
+    m_bDataPresent = true;<br>
<br>
     return false;<br>
 }<br>
diff -r 4a2f94a59251 -r f38191b0a7dd source/encoder/entropy.cpp<br>
--- a/source/encoder/entropy.cpp        Wed Mar 09 14:34:06 2016 +0530<br>
+++ b/source/encoder/entropy.cpp        Tue Mar 15 17:31:41 2016 +0530<br>
@@ -306,7 +306,7 @@<br>
 {<br>
     for (int sizeId = 0; sizeId < ScalingList::NUM_SIZES; sizeId++)<br>
     {<br>
-        for (int listId = 0; listId < ScalingList::NUM_LISTS; listId++)<br>
+        for (int listId = 0; listId < ScalingList::NUM_LISTS; listId += (sizeId == 3) ? 3 : 1)<br></blockquote></span><div>Check above comment </div><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
         {<br>
             int predList = scalingList.checkPredMode(sizeId, listId);<br>
             WRITE_FLAG(predList < 0, "scaling_list_pred_mode_flag");<br>
@@ -334,12 +334,7 @@<br>
     for (int i = 0; i < coefNum; i++)<br>
     {<br>
         data = src[scan[i]] - nextCoef;<br>
-        nextCoef = src[scan[i]];<br>
-        if (data > 127)<br>
-            data = data - 256;<br>
-        if (data < -128)<br>
-            data = data + 256;<br>
-<br>
+        nextCoef = (nextCoef + data + 256) % 256;<br>
         WRITE_SVLC(data,  "scaling_list_delta_coef");<br>
     }<br>
 }<br>
_______________________________________________<br>
x265-devel mailing list<br>
<a href="mailto:x265-devel@videolan.org" target="_blank">x265-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/x265-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/x265-devel</a><br>
</blockquote></span></div><br></div></div>
</blockquote></div><br></div>