From fb96c2bf201289f3c0c9956de6716d31967d565e Mon Sep 17 00:00:00 2001
From: AbeKiyo <abe.kiyo@jp.panasonic.com>
Date: Wed, 18 Sep 2019 19:31:15 +0900
Subject: [PATCH] Update fix #534

---
 source/Lib/CommonLib/Slice.cpp   | 5 +++--
 source/Lib/CommonLib/Slice.h     | 2 +-
 source/Lib/EncoderLib/EncLib.cpp | 4 ++--
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp
index df9dc313d5..08ae79cbe7 100644
--- a/source/Lib/CommonLib/Slice.cpp
+++ b/source/Lib/CommonLib/Slice.cpp
@@ -1984,9 +1984,9 @@ void ScalingList::setDefaultScalingList()
   }
 }
 /** check if use default quantization matrix
- * \returns true if use default quantization matrix in all size
+ * \returns true if the scaling list is not equal to the default quantization matrix
 */
-bool ScalingList::checkDefaultScalingList()
+bool ScalingList::isNotDefaultScalingList()
 {
   bool isAllDefault = true;
   for ( uint32_t sizeId = SCALING_LIST_2x2; sizeId <= SCALING_LIST_64x64; sizeId++)
@@ -2005,6 +2005,7 @@ bool ScalingList::checkDefaultScalingList()
         break;
       }
     }
+    if (!isAllDefault) break;
   }
 
   return !isAllDefault;
diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h
index 22ac7ed2d7..17223c8628 100644
--- a/source/Lib/CommonLib/Slice.h
+++ b/source/Lib/CommonLib/Slice.h
@@ -170,7 +170,7 @@ public:
   void       processRefMatrix(uint32_t sizeId, uint32_t listId , uint32_t refListId );
   bool       xParseScalingList(const std::string &fileName);
   void       setDefaultScalingList();
-  bool       checkDefaultScalingList();
+  bool       isNotDefaultScalingList();
 
 private:
   void       outputScalingLists(std::ostream &os) const;
diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index de684c9025..a76714a906 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -565,7 +565,7 @@ void EncLib::xInitScalingLists(SPS &sps, PPS &pps)
     aps.getScalingList().setDefaultScalingList();
     CHECK( aps.getScalingList().xParseScalingList( getScalingListFileName() ), "Error Parsing Scaling List Input File" );
     aps.getScalingList().checkDcOfMatrix();
-    if( aps.getScalingList().checkDefaultScalingList() == false )
+    if( aps.getScalingList().isNotDefaultScalingList() == false )
     {
       setUseScalingListId( SCALING_LIST_DEFAULT );
     }
@@ -577,7 +577,7 @@ void EncLib::xInitScalingLists(SPS &sps, PPS &pps)
       THROW( "parse scaling list");
     }
     sps.getScalingList().checkDcOfMatrix();
-    sps.setScalingListPresentFlag(sps.getScalingList().checkDefaultScalingList());
+    sps.setScalingListPresentFlag(sps.getScalingList().isNotDefaultScalingList());
     pps.setScalingListPresentFlag(false);
 
     quant->setScalingList(&(sps.getScalingList()), maxLog2TrDynamicRange, sps.getBitDepths());
-- 
GitLab