From abb33ff2cff166bc29661a5dc9f4acfbf647fc15 Mon Sep 17 00:00:00 2001 From: LI Jingya <jingya.li@sg.panasonic.com> Date: Mon, 6 Jan 2020 16:09:26 +0800 Subject: [PATCH] add subpic sps syntax to cfg file and correct coding format (open bracket starting with new line) --- source/App/EncoderApp/EncApp.cpp | 9 ++++++--- source/App/EncoderApp/EncAppCfg.cpp | 21 ++++++++++++++------- source/Lib/DecoderLib/VLCReader.cpp | 3 ++- source/Lib/EncoderLib/EncLib.cpp | 12 ++++++++---- source/Lib/EncoderLib/VLCWriter.cpp | 3 ++- 5 files changed, 32 insertions(+), 16 deletions(-) diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index ad4095545..cb3454f71 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -390,7 +390,8 @@ void EncApp::xInitLibCfg() m_cEncLib.setCTUSize ( m_uiCTUSize ); #if JVET_P0171_SUBPICTURE_LAYOUT m_cEncLib.setSubPicPresentFlag ( m_subPicPresentFlag ); - if(m_subPicPresentFlag){ + if(m_subPicPresentFlag) + { m_cEncLib.setNumSubPics ( m_numSubPics ); for (int i = 0; i < m_numSubPics; i++) { @@ -403,9 +404,11 @@ void EncApp::xInitLibCfg() } } m_cEncLib.setSubPicIdPresentFlag ( m_subPicIdPresentFlag ); - if (m_subPicIdPresentFlag) { + if (m_subPicIdPresentFlag) + { m_cEncLib.setSubPicIdSignallingPresentFlag ( m_subPicIdSignallingPresentFlag ); - if(m_subPicIdSignallingPresentFlag){ + if(m_subPicIdSignallingPresentFlag) + { m_cEncLib.setSubPicIdLen ( m_subPicIdLen ); for (int i = 0; i < m_numSubPics; i++) { diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 4d5fad737..a8f331907 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -1927,12 +1927,15 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) m_subPicTreatedAsPicFlag = cfg_subPicTreatedAsPicFlag.values; m_loopFilterAcrossSubpicEnabledFlag = cfg_loopFilterAcrossSubpicEnabledFlag.values; m_subPicId = cfg_subPicId.values; - for(int i = 0; i < m_numSubPics; i++){ + for(int i = 0; i < m_numSubPics; i++) + { CHECK(m_subPicCtuTopLeftX[i] + m_subPicWidth[i] > (m_iSourceWidth + m_uiCTUSize - 1) / m_uiCTUSize, "subpicture must not exceed picture boundary"); CHECK(m_subPicCtuTopLeftY[i] + m_subPicHeight[i] > (m_iSourceHeight + m_uiCTUSize - 1) / m_uiCTUSize, "subpicture must not exceed picture boundary"); } - if (m_subPicIdPresentFlag) { - if (m_subPicIdSignallingPresentFlag) { + if (m_subPicIdPresentFlag) + { + if (m_subPicIdSignallingPresentFlag) + { CHECK( m_subPicIdLen > 16, "sibpic ID length must not exceed 16 bits" ); } } @@ -4374,9 +4377,11 @@ void EncAppCfg::xPrintParameter() msg( DETAILS, "CU size / depth / total-depth : %d / %d / %d\n", m_uiMaxCUWidth, m_uiMaxCUDepth, m_uiMaxCodingDepth ); #if JVET_P0171_SUBPICTURE_LAYOUT msg(DETAILS, "subpicture present flag : %d\n", m_subPicPresentFlag); - if (m_subPicPresentFlag) { + if (m_subPicPresentFlag) + { msg(DETAILS, "number of subpictures : %d\n", m_numSubPics); - for (int i = 0; i < m_numSubPics; i++) { + for (int i = 0; i < m_numSubPics; i++) + { msg(DETAILS, "[%d]th subpictures location :[%d %d]\n", i, m_subPicCtuTopLeftX[i], m_subPicCtuTopLeftY[i]); msg(DETAILS, "[%d]th subpictures size :[%d %d]\n", i, m_subPicWidth[i], m_subPicHeight[i]); msg(DETAILS, "[%d]th subpictures treated as picture flag :%d\n", i, m_subPicTreatedAsPicFlag); @@ -4385,9 +4390,11 @@ void EncAppCfg::xPrintParameter() } } msg(DETAILS, "subpicture ID present flag : %d\n", m_subPicIdPresentFlag); - if (m_subPicIdPresentFlag) { + if (m_subPicIdPresentFlag) + { msg(DETAILS, "subpicture ID signalling present flag : %d\n", m_subPicIdSignallingPresentFlag); - for (int i = 0; i < m_numSubPics; i++) { + for (int i = 0; i < m_numSubPics; i++) + { msg(DETAILS, "[%d]th subpictures ID length :%d\n", i, m_subPicIdLen); msg(DETAILS, "[%d]th subpictures ID :%d\n", i, m_subPicId); diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 28ee3fb20..592161cfa 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -1524,7 +1524,8 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) #if JVET_P1006_PICTURE_HEADER #if JVET_P0171_SUBPICTURE_LAYOUT - if (pcSPS->getSubPicPresentFlag()) { + if (pcSPS->getSubPicPresentFlag()) + { READ_CODE(8, uiCode, "sps_num_subpics_minus1"); pcSPS->setNumSubPics(uiCode + 1); for (int picIdx = 0; picIdx < pcSPS->getNumSubPics(); picIdx++) { diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index eb203b40c..1ebcf878c 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -1687,9 +1687,11 @@ void EncLib::xInitSPS(SPS &sps) #if JVET_P1006_PICTURE_HEADER #if JVET_P0171_SUBPICTURE_LAYOUT sps.setSubPicPresentFlag(m_subPicPresentFlag); - if (m_subPicPresentFlag) { + if (m_subPicPresentFlag) + { sps.setNumSubPics(m_numSubPics); - for (int i = 0; i < m_numSubPics; i++) { + for (int i = 0; i < m_numSubPics; i++) + { sps.setSubPicCtuTopLeftX(i, m_subPicCtuTopLeftX[i] ); sps.setSubPicCtuTopLeftY(i, m_subPicCtuTopLeftY[i]); sps.setSubPicWidth(i, m_subPicWidth[i]); @@ -1700,9 +1702,11 @@ void EncLib::xInitSPS(SPS &sps) } #endif sps.setSubPicIdPresentFlag(m_subPicIdPresentFlag); - if (m_subPicIdPresentFlag) { + if (m_subPicIdPresentFlag) + { sps.setSubPicIdSignallingPresentFlag(m_subPicIdSignallingPresentFlag); - if (m_subPicIdSignallingPresentFlag){ + if (m_subPicIdSignallingPresentFlag) + { sps.setSubPicIdLen(m_subPicIdLen); for (int i = 0; i < m_numSubPics; i++) { diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 93b1e95af..6bdb6490c 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -965,7 +965,8 @@ void HLSWriter::codeSPS( const SPS* pcSPS ) #if JVET_P0126_SIGNALLING_SUBPICID WRITE_FLAG(pcSPS->getSubPicPresentFlag(), "subpics_present_flag"); #if JVET_P0171_SUBPICTURE_LAYOUT - if(pcSPS->getSubPicPresentFlag()){ + if(pcSPS->getSubPicPresentFlag()) + { WRITE_CODE(pcSPS->getNumSubPics() - 1, 8, "sps_num_subpics_minus1"); for (int picIdx = 0; picIdx < pcSPS->getNumSubPics(); picIdx++) { -- GitLab