diff --git a/cfg/sei_vui/neural_network_post_filter_characteristics.cfg b/cfg/sei_vui/neural_network_post_filter_characteristics.cfg index 189f41d7237a0b71df5b161eaaf0e91607d5f788..a69af8b28a519ce9103c47e2fa5b8475abb6ecf0 100644 --- a/cfg/sei_vui/neural_network_post_filter_characteristics.cfg +++ b/cfg/sei_vui/neural_network_post_filter_characteristics.cfg @@ -5,12 +5,13 @@ SEINNPostFilterCharacteristicsNumFilters: 1 SEINNPostFilterCharacteristicsId0: 1 SEINNPostFilterCharacteristicsModeIdc0: 1 -SEINNPostFilterCharacteristicsPurposeAndFormattingFlag0: 1 +SEINNPostFilterCharacteristicsPropertyPresentFlag0: 1 SEINNPostFilterCharacteristicsPurpose0: 2 SEINNPostFilterCharacteristicsOutSubCFlag0: 1 SEINNPostFilterCharacteristicsComponentLastFlag0: 0 SEINNPostFilterCharacteristicsInpFormatIdc0: 1 -SEINNPostFilterCharacteristicsInpTensorBitDepthMinus80: 2 +SEINNPostFilterCharacteristicsInpTensorBitDepthLumaMinusEight0: 2 +SEINNPostFilterCharacteristicsInpTensorBitDepthChromaMinusEight0: 2 SEINNPostFilterCharacteristicsAuxInpIdc0: 1 SEINNPostFilterCharacteristicsSepColDescriptionFlag0: 0 SEINNPostFilterCharacteristicsColPrimaries0: 9 @@ -18,7 +19,8 @@ SEINNPostFilterCharacteristicsTransCharacteristics0: 16 SEINNPostFilterCharacteristicsMatrixCoeffs0: 14 SEINNPostFilterCharacteristicsInpOrderIdc0: 2 SEINNPostFilterCharacteristicsOutFormatIdc0: 1 -SEINNPostFilterCharacteristicsOutTensorBitDepthMinus80: 2 +SEINNPostFilterCharacteristicsOutTensorBitDepthLumaMinusEight0: 2 +SEINNPostFilterCharacteristicsOutTensorBitDepthChromaMinusEight0: 2 SEINNPostFilterCharacteristicsOutOrderIdc0: 2 SEINNPostFilterCharacteristicsConstantPatchSizeFlag0: 1 SEINNPostFilterCharacteristicsPatchWidthMinus10: 127 diff --git a/doc/software-manual.tex b/doc/software-manual.tex index 7ed543688e23ffd6a7b20c5ee99631d498c5853d..28627fb0c4d90f50913da764fd46487db4deb209 100644 --- a/doc/software-manual.tex +++ b/doc/software-manual.tex @@ -5698,9 +5698,9 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries \Default{""} & specifies that the post-processing filter of the \emph{i}-th neural network post-filter is a neural network information URI. \\ - \Option{SEINNPostFilterCharacteristicsPurposeAndFormattingFlag\emph{i}} & + \Option{SEINNPostFilterCharacteristicsPropertyPresentFlag\emph{i}} & \Default{false} & - When true (non-zero) specifies, for the \emph{i}-th neural network post-filter, that the filter purpose, input formatting, output formatting and complexity are present. + When true (non-zero) specifies, for the \emph{i}-th neural network post-filter, that the filter input formatting, output formatting, and complexity are present. \\ \Option{SEINNPostFilterCharacteristicsPurpose\emph{i}} & \Default{0} & diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index ce48e47e8bde3e1e733e5b5162ab52a7e4896094..d4211f429bafdc8af5e4b4db782a4ea390f51250 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -1184,8 +1184,8 @@ void EncApp::xInitLibCfg( int layerIdx ) { m_cEncLib.setNNPostFilterSEICharacteristicsId (m_nnPostFilterSEICharacteristicsId[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsModeIdc (m_nnPostFilterSEICharacteristicsModeIdc[i], i); - m_cEncLib.setNNPostFilterSEICharacteristicsPurposeAndFormattingFlag( m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[i], i); - if (m_cEncLib.getNNPostFilterSEICharacteristicsPurposeAndFormattingFlag(i)) + m_cEncLib.setNNPostFilterSEICharacteristicsPropertyPresentFlag( m_nnPostFilterSEICharacteristicsPropertyPresentFlag[i], i); + if (m_cEncLib.getNNPostFilterSEICharacteristicsPropertyPresentFlag(i)) { m_cEncLib.setNNPostFilterSEICharacteristicsPurpose (m_nnPostFilterSEICharacteristicsPurpose[i], i); #if JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 73a1eeeaffbfc10e18d1901d652171d638b1d344..4e92b0777a3ffca2ee8e7e6cfaf7aae72a0a823e 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -1767,9 +1767,9 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) modeIdc << "SEINNPostFilterCharacteristicsModeIdc" << i; opts.addOptions()(modeIdc.str(), m_nnPostFilterSEICharacteristicsModeIdc[i], 0u, "Specifies the Neural Network Post Filter IDC in the Neural Network Post Filter Characteristics SEI message"); - std::ostringstream purposeAndFormattingFlag; - purposeAndFormattingFlag << "SEINNPostFilterCharacteristicsPurposeAndFormattingFlag" << i; - opts.addOptions()(purposeAndFormattingFlag.str(), m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[i], false, "Specifies whether the filter purpose, input formatting, output formatting and complexity are present in the Neural Network Post Filter Characteristics SEI message"); + std::ostringstream propertyPresentFlag; + propertyPresentFlag << "SEINNPostFilterCharacteristicsPropertyPresentFlag" << i; + opts.addOptions()(propertyPresentFlag.str(), m_nnPostFilterSEICharacteristicsPropertyPresentFlag[i], false, "Specifies whether the filter purpose, input formatting, output formatting and complexity are present in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream purpose; purpose << "SEINNPostFilterCharacteristicsPurpose" << i; diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index a972351c99e0128ffe3f9366f818af18e53c89cc..b7c278083f636ccde1536929f53278b47354ebb6 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -731,7 +731,7 @@ protected: int m_nnPostFilterSEICharacteristicsNumFilters; uint32_t m_nnPostFilterSEICharacteristicsId[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsModeIdc[MAX_NUM_NN_POST_FILTERS]; - bool m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[MAX_NUM_NN_POST_FILTERS]; + bool m_nnPostFilterSEICharacteristicsPropertyPresentFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsPurpose[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsOutSubCFlag[MAX_NUM_NN_POST_FILTERS]; #if JVET_AC0154 diff --git a/source/Lib/CommonLib/SEI.cpp b/source/Lib/CommonLib/SEI.cpp index 0f912ee69da25af415fa52d88e53f48d6d7bdc6f..5a0a313c3cefc7a1a513f0ef09c073419ee8a7e0 100644 --- a/source/Lib/CommonLib/SEI.cpp +++ b/source/Lib/CommonLib/SEI.cpp @@ -1068,7 +1068,7 @@ SEINeuralNetworkPostFilterCharacteristics::SEINeuralNetworkPostFilterCharacteris { m_id = sei.m_id; m_modeIdc = sei.m_modeIdc; - m_purposeAndFormattingFlag = sei.m_purposeAndFormattingFlag; + m_propertyPresentFlag = sei.m_propertyPresentFlag; m_purpose = sei.m_purpose; m_outSubCFlag = sei.m_outSubCFlag; m_outSubWidthC = sei.m_outSubWidthC; diff --git a/source/Lib/CommonLib/SEI.h b/source/Lib/CommonLib/SEI.h index 1f3a64706fdc8373102b2e4bcecdc2030d8a2651..821b2ed21f69f05cbbd40e14d3b923f51766abce 100644 --- a/source/Lib/CommonLib/SEI.h +++ b/source/Lib/CommonLib/SEI.h @@ -1299,7 +1299,7 @@ public: SEINeuralNetworkPostFilterCharacteristics() : m_id(0) , m_modeIdc(0) - , m_purposeAndFormattingFlag(false) + , m_propertyPresentFlag(false) , m_purpose(0) , m_outSubCFlag(0) , m_outSubWidthC(1) @@ -1365,7 +1365,7 @@ public: uint32_t m_id; uint32_t m_modeIdc; - bool m_purposeAndFormattingFlag; + bool m_propertyPresentFlag; uint32_t m_purpose; bool m_outSubCFlag; uint8_t m_outSubWidthC; diff --git a/source/Lib/DecoderLib/SEIread.cpp b/source/Lib/DecoderLib/SEIread.cpp index 99a523676ca09d88d9b0551fccab522bbb0abc0b..54ede8ae6806b85f8767d5933b159d29071f0550 100644 --- a/source/Lib/DecoderLib/SEIread.cpp +++ b/source/Lib/DecoderLib/SEIread.cpp @@ -2717,10 +2717,10 @@ void SEIReader::xParseSEINNPostFilterCharacteristics(SEINeuralNetworkPostFilterC sei.m_uri = val2; } - sei_read_flag(pDecodedMessageOutputStream, val, "nnpfc_purpose_and_formatting_flag"); - sei.m_purposeAndFormattingFlag = val; + sei_read_flag(pDecodedMessageOutputStream, val, "nnpfc_property_present_flag"); + sei.m_propertyPresentFlag = val; - if (sei.m_purposeAndFormattingFlag) + if (sei.m_propertyPresentFlag) { #if !JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE sei_read_uvlc(pDecodedMessageOutputStream, val, "nnpfc_purpose"); diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index f8d01e75c83cef4c81bd7e5e7fac3038be915521..68af43ab0e59e56ab0fb1fd3b1df1b733300e4b6 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -688,7 +688,7 @@ protected: int m_nnPostFilterSEICharacteristicsNumFilters; uint32_t m_nnPostFilterSEICharacteristicsId[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsModeIdc[MAX_NUM_NN_POST_FILTERS]; - bool m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[MAX_NUM_NN_POST_FILTERS]; + bool m_nnPostFilterSEICharacteristicsPropertyPresentFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsPurpose[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsOutSubCFlag[MAX_NUM_NN_POST_FILTERS]; #if JVET_AC0154 @@ -1911,8 +1911,8 @@ public: uint32_t getNNPostFilterSEICharacteristicsId(int filterIdx) const { return m_nnPostFilterSEICharacteristicsId[filterIdx]; } void setNNPostFilterSEICharacteristicsModeIdc(uint32_t idc, int filterIdx) { m_nnPostFilterSEICharacteristicsModeIdc[filterIdx] = idc; } uint32_t getNNPostFilterSEICharacteristicsModeIdc(int filterIdx) const { return m_nnPostFilterSEICharacteristicsModeIdc[filterIdx]; } - void setNNPostFilterSEICharacteristicsPurposeAndFormattingFlag(bool purposeAndFormattingFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[filterIdx] = purposeAndFormattingFlag; } - bool getNNPostFilterSEICharacteristicsPurposeAndFormattingFlag(int filterIdx) const { return m_nnPostFilterSEICharacteristicsPurposeAndFormattingFlag[filterIdx]; } + void setNNPostFilterSEICharacteristicsPropertyPresentFlag(bool propertyPresentFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsPropertyPresentFlag[filterIdx] = propertyPresentFlag; } + bool getNNPostFilterSEICharacteristicsPropertyPresentFlag(int filterIdx) const { return m_nnPostFilterSEICharacteristicsPropertyPresentFlag[filterIdx]; } void setNNPostFilterSEICharacteristicsPurpose(uint32_t purpose, int filterIdx) { m_nnPostFilterSEICharacteristicsPurpose[filterIdx] = purpose; } uint32_t getNNPostFilterSEICharacteristicsPurpose(int filterIdx) const { return m_nnPostFilterSEICharacteristicsPurpose[filterIdx]; } diff --git a/source/Lib/EncoderLib/SEIEncoder.cpp b/source/Lib/EncoderLib/SEIEncoder.cpp index 01436568472c6a1cb1446fb4c812f5c21ae879b0..28c1042b6af17cb490599b855a71134acff2c56e 100644 --- a/source/Lib/EncoderLib/SEIEncoder.cpp +++ b/source/Lib/EncoderLib/SEIEncoder.cpp @@ -1322,8 +1322,8 @@ void SEIEncoder::initSEINeuralNetworkPostFilterCharacteristics(SEINeuralNetworkP sei->m_uriTag = m_pcCfg->getNNPostFilterSEICharacteristicsUriTag(filterIdx); sei->m_uri = m_pcCfg->getNNPostFilterSEICharacteristicsUri(filterIdx); } - sei->m_purposeAndFormattingFlag = m_pcCfg->getNNPostFilterSEICharacteristicsPurposeAndFormattingFlag(filterIdx); - if (sei->m_purposeAndFormattingFlag) + sei->m_propertyPresentFlag = m_pcCfg->getNNPostFilterSEICharacteristicsPropertyPresentFlag(filterIdx); + if (sei->m_propertyPresentFlag) { #if !JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE sei->m_purpose = m_pcCfg->getNNPostFilterSEICharacteristicsPurpose(filterIdx); diff --git a/source/Lib/EncoderLib/SEIwrite.cpp b/source/Lib/EncoderLib/SEIwrite.cpp index 0cb861f8e8ae1beae4775b5a5a36f619191fd471..c65991d51716ca3de1c2e61d92277c1179624e2e 100644 --- a/source/Lib/EncoderLib/SEIwrite.cpp +++ b/source/Lib/EncoderLib/SEIwrite.cpp @@ -1712,8 +1712,8 @@ void SEIWriter::xWriteSEINeuralNetworkPostFilterCharacteristics(const SEINeuralN xWriteString(sei.m_uriTag, "nnpfc_uri_tag"); xWriteString(sei.m_uri, "nnpfc_uri"); } - xWriteFlag(sei.m_purposeAndFormattingFlag, "nnpfc_purpose_and_formatting_flag"); - if (sei.m_purposeAndFormattingFlag) + xWriteFlag(sei.m_propertyPresentFlag, "nnpfc_property_present_flag"); + if (sei.m_propertyPresentFlag) { #if !JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE xWriteUvlc(sei.m_purpose, "nnpfc_purpose");