diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index 087df69ef4d494f0136feb82b97c78a513718c12..7ac4b51a0c73dc397cebd5b116e19250ccd6eee0 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -1132,7 +1132,7 @@ void EncApp::xInitLibCfg() m_cEncLib.setNNPostFilterSEICharacteristicsPicHeightInLumaSamples (m_nnPostFilterSEICharacteristicsPicHeightInLumaSamples[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsInpTensorBitDepthMinus8 (m_nnPostFilterSEICharacteristicsInpTensorBitDepthMinus8[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsOutTensorBitDepthMinus8 (m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[i], i); -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS m_cEncLib.setNNPostFilterSEICharacteristicsAuxInpIdc (m_nnPostFilterSEICharacteristicsAuxInpIdc[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsSepColDescriptionFlag (m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[i], i); if (m_cEncLib.getNNPostFilterSEICharacteristicsSepColDescriptionFlag(i)){ diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index e4ed638a487e6eaedd995a99e6354496093d98f2..00c9dafd60ac0b888a39239acf985dfaaeb1c8a5 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -1707,26 +1707,26 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) std::ostringstream inpSampleIdc; inpSampleIdc << "SEINNPostFilterCharacteristicsInpSampleIdc" << i; opts.addOptions()(inpSampleIdc.str(), m_nnPostFilterSEICharacteristicsInpSampleIdc[i], 0u, "Specifies the method of converting an input sample in the the Neural Network Post Filter Characteristics SEI message"); -#if JVET_AA0100 - std::ostringstream AuxInpIdc; - AuxInpIdc << "SEINNPostFilterCharacteristicsAuxInpIdc" << i; - opts.addOptions()(AuxInpIdc.str(), m_nnPostFilterSEICharacteristicsAuxInpIdc[i], 0u, "Specifies the auxillary input index in the Nueral Network Post Filter Characteristics SEI message"); - - std::ostringstream SepColDescriptionFlag; - SepColDescriptionFlag << "SEINNPostFilterCharacteristicsSepColDescriptionFlag" << i; - opts.addOptions()(SepColDescriptionFlag.str(), m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[i], false, "Specifies the presence of seperate color descriptions in the Nueral Network Post Filter Characteristics SEI message"); - - std::ostringstream ColPrimaries; - ColPrimaries << "SEINNPostFilterCharacteristicsColPrimaries" << i; - opts.addOptions()(ColPrimaries.str(), m_nnPostFilterSEICharacteristicsColPrimaries[i], 0u, "Specifies color primaries in the Nueral Network Post Filter Characteristics SEI message"); - - std::ostringstream TransCharacteristics; - TransCharacteristics << "SEINNPostFilterCharacteristicsTransCharacteristics" << i; - opts.addOptions()(TransCharacteristics.str(), m_nnPostFilterSEICharacteristicsTransCharacteristics[i], 0u, "Specifies Transfer Characteristics in the Nueral Network Post Filter Characteristics SEI message"); - - std::ostringstream MatrixCoeffs; - MatrixCoeffs << "SEINNPostFilterCharacteristicsMatrixCoeffs" << i; - opts.addOptions()(MatrixCoeffs.str(), m_nnPostFilterSEICharacteristicsMatrixCoeffs[i], 0u, "Specifies color matrix coefficients in the Nueral Network Post Filter Characteristics SEI message"); +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS + std::ostringstream auxInpIdc; + auxInpIdc << "SEINNPostFilterCharacteristicsAuxInpIdc" << i; + opts.addOptions()(auxInpIdc.str(), m_nnPostFilterSEICharacteristicsAuxInpIdc[i], 0u, "Specifies the auxillary input index in the Nueral Network Post Filter Characteristics SEI message"); + + std::ostringstream sepColDescriptionFlag; + sepColDescriptionFlag << "SEINNPostFilterCharacteristicsSepColDescriptionFlag" << i; + opts.addOptions()(sepColDescriptionFlag.str(), m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[i], false, "Specifies the presence of seperate color descriptions in the Nueral Network Post Filter Characteristics SEI message"); + + std::ostringstream colPrimaries; + colPrimaries << "SEINNPostFilterCharacteristicsColPrimaries" << i; + opts.addOptions()(colPrimaries.str(), m_nnPostFilterSEICharacteristicsColPrimaries[i], 0u, "Specifies color primaries in the Nueral Network Post Filter Characteristics SEI message"); + + std::ostringstream transCharacteristics; + transCharacteristics << "SEINNPostFilterCharacteristicsTransCharacteristics" << i; + opts.addOptions()(transCharacteristics.str(), m_nnPostFilterSEICharacteristicsTransCharacteristics[i], 0u, "Specifies Transfer Characteristics in the Nueral Network Post Filter Characteristics SEI message"); + + std::ostringstream matrixCoeffs; + matrixCoeffs << "SEINNPostFilterCharacteristicsMatrixCoeffs" << i; + opts.addOptions()(matrixCoeffs.str(), m_nnPostFilterSEICharacteristicsMatrixCoeffs[i], 0u, "Specifies color matrix coefficients in the Nueral Network Post Filter Characteristics SEI message"); #endif std::ostringstream inpOrderIdc; inpOrderIdc << "SEINNPostFilterCharacteristicsInpOrderIdc" << i; @@ -4632,7 +4632,7 @@ bool EncAppCfg::xCheckParameter() xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[i] > 24, "SEINNPostFilterCharacteristicsOutTensorBitDepthMinus8 must be in the range of 0 to 24"); xConfirmPara(m_nnPostFilterSEICharacteristicsInpSampleIdc[i] > 255, "SEINNPostFilterCharacteristicsInpSampleIdc must be in the range of 0 to 255"); xConfirmPara(m_nnPostFilterSEICharacteristicsInpOrderIdc[i] > 255, "SEINNPostFilterCharacteristicsInpOrderIdc must be in the range of 0 to 255"); -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS xConfirmPara(m_nnPostFilterSEICharacteristicsColPrimaries[i] > 255, "m_nnPostFilterSEICharacteristicsColPrimaries must in the range 0 to 255"); xConfirmPara(m_nnPostFilterSEICharacteristicsTransCharacteristics[i] > 255, "m_nnPostFilterSEICharacteristicsTransCharacteristics must in the range 0 to 255"); xConfirmPara(m_nnPostFilterSEICharacteristicsMatrixCoeffs[i] > 255, "m_nnPostFilterSEICharacteristicsMatrixCoeffs must in the range 0 to 255"); diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index bb425f3071fe64571cab9323af7c31f16f029118..cef08a819c747a99f810c6ac1086dfa981a918d9 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -743,7 +743,7 @@ protected: uint32_t m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsComponentLastFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsInpSampleIdc[MAX_NUM_NN_POST_FILTERS]; -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS uint32_t m_nnPostFilterSEICharacteristicsAuxInpIdc[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsColPrimaries[MAX_NUM_NN_POST_FILTERS]; diff --git a/source/Lib/CommonLib/SEI.h b/source/Lib/CommonLib/SEI.h index 32e0fbafc3c644dba031733eabc167d43775bc36..ce2fb32db2d764f3ccb63f23ca270e578fcdce84 100644 --- a/source/Lib/CommonLib/SEI.h +++ b/source/Lib/CommonLib/SEI.h @@ -1077,7 +1077,7 @@ public: , m_outTensorBitDepthMinus8(0) , m_componentLastFlag(false) , m_inpSampleIdc(0) -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS , m_AuxInpIdc(0) , m_SepColDescriptionFlag(false) , m_ColPrimaries(0) @@ -1120,7 +1120,7 @@ public: uint32_t m_outTensorBitDepthMinus8; bool m_componentLastFlag; uint32_t m_inpSampleIdc; -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS uint32_t m_AuxInpIdc; bool m_SepColDescriptionFlag; uint8_t m_ColPrimaries; diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 509d5154fd6b505729d06d578e2570ba216ca7bc..93ca077b7480bac8be59f53c74141f2b03379854 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -54,7 +54,7 @@ //########### place macros to be removed in next cycle below this line ############### -#define JVET_AA0100 1 // JVET-AA0100 AHG9: On auxiliary input and separate colour description in the neural-network post-filter characteristics SEI message +#define JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS 1 // JVET-AA0100 AHG9: On auxiliary input and separate colour description in the neural-network post-filter characteristics SEI message //########### place macros to be be kept below this line ############### #define JVET_X0143_ALF_APS_ID_OFFSET 0 // A value between 0 to 7 inclusive. This macro should be kept, or to be defined as a configuration parameter if possible. diff --git a/source/Lib/DecoderLib/SEIread.cpp b/source/Lib/DecoderLib/SEIread.cpp index a2677d19b433a9537a92c8e4ae93b903fe4a3043..398d80d04bfb617250ef5b253aaffa1732b41cf5 100644 --- a/source/Lib/DecoderLib/SEIread.cpp +++ b/source/Lib/DecoderLib/SEIread.cpp @@ -2509,7 +2509,7 @@ void SEIReader::xParseSEINNPostFilterCharacteristics(SEINeuralNetworkPostFilterC sei_read_uvlc(pDecodedMessageOutputStream, val, "nnpfc_inp_tensor_bitdepth_minus8"); sei.m_inpTensorBitDepthMinus8 = val; } -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS sei_read_uvlc(pDecodedMessageOutputStream,val,"nnpfc_aux_inp_idc"); sei.m_AuxInpIdc = val; sei_read_flag(pDecodedMessageOutputStream,val,"nnpfc_sep_col_desc_flag"); diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index 5e0ee488f8c903fab70aca8c61d9c54bc1438682..d6c052f215bcffe4b9c093b683f3d9f423f5407f 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -675,7 +675,7 @@ protected: uint32_t m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsComponentLastFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsInpSampleIdc[MAX_NUM_NN_POST_FILTERS]; -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS uint32_t m_nnPostFilterSEICharacteristicsAuxInpIdc[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[MAX_NUM_NN_POST_FILTERS]; uint32_t m_nnPostFilterSEICharacteristicsColPrimaries[MAX_NUM_NN_POST_FILTERS]; @@ -1796,16 +1796,16 @@ public: uint32_t getNNPostFilterSEICharacteristicsInpTensorBitDepthMinus8(int filterIdx) const { return m_nnPostFilterSEICharacteristicsInpTensorBitDepthMinus8[filterIdx]; } void setNNPostFilterSEICharacteristicsOutTensorBitDepthMinus8(uint32_t outTensorBitDepthMinus8, int filterIdx) { m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[filterIdx] = outTensorBitDepthMinus8; } uint32_t getNNPostFilterSEICharacteristicsOutTensorBitDepthMinus8(int filterIdx) const { return m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[filterIdx]; } -#if JVET_AA0100 - void setNNPostFilterSEICharacteristicsAuxInpIdc(uint32_t AuxInpIdc, int filterIdx) { m_nnPostFilterSEICharacteristicsAuxInpIdc[filterIdx] = AuxInpIdc; } +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS + void setNNPostFilterSEICharacteristicsAuxInpIdc(uint32_t auxInpIdc, int filterIdx) { m_nnPostFilterSEICharacteristicsAuxInpIdc[filterIdx] = auxInpIdc; } uint32_t getNNPostFilterSEICharacteristicsAuxInpIdc(int filterIdx) const { return m_nnPostFilterSEICharacteristicsAuxInpIdc[filterIdx]; } - void setNNPostFilterSEICharacteristicsSepColDescriptionFlag(bool SepColDescriptionFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[filterIdx] = SepColDescriptionFlag; } + void setNNPostFilterSEICharacteristicsSepColDescriptionFlag(bool sepColDescriptionFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[filterIdx] = sepColDescriptionFlag; } bool getNNPostFilterSEICharacteristicsSepColDescriptionFlag(int filterIdx) const { return m_nnPostFilterSEICharacteristicsSepColDescriptionFlag[filterIdx]; } - void setNNPostFilterSEICharacteristicsColPrimaries(uint32_t ColPrimaries, int filterIdx) { m_nnPostFilterSEICharacteristicsColPrimaries[filterIdx] = ColPrimaries; } + void setNNPostFilterSEICharacteristicsColPrimaries(uint32_t colPrimaries, int filterIdx) { m_nnPostFilterSEICharacteristicsColPrimaries[filterIdx] = colPrimaries; } uint32_t getNNPostFilterSEICharacteristicsColPrimaries(int filterIdx) const { return m_nnPostFilterSEICharacteristicsColPrimaries[filterIdx]; } - void setNNPostFilterSEICharacteristicsTransCharacteristics(uint32_t TransCharacteristics, int filterIdx) { m_nnPostFilterSEICharacteristicsTransCharacteristics[filterIdx] = TransCharacteristics; } + void setNNPostFilterSEICharacteristicsTransCharacteristics(uint32_t transCharacteristics, int filterIdx) { m_nnPostFilterSEICharacteristicsTransCharacteristics[filterIdx] = transCharacteristics; } uint32_t getNNPostFilterSEICharacteristicsTransCharacteristics(int filterIdx) const { return m_nnPostFilterSEICharacteristicsTransCharacteristics[filterIdx]; } - void setNNPostFilterSEICharacteristicsMatrixCoeffs(uint32_t MatrixCoeffs, int filterIdx) { m_nnPostFilterSEICharacteristicsMatrixCoeffs[filterIdx] = MatrixCoeffs; } + void setNNPostFilterSEICharacteristicsMatrixCoeffs(uint32_t matrixCoeffs, int filterIdx) { m_nnPostFilterSEICharacteristicsMatrixCoeffs[filterIdx] = matrixCoeffs; } uint32_t getNNPostFilterSEICharacteristicsMatrixCoeffs(int filterIdx) const { return m_nnPostFilterSEICharacteristicsMatrixCoeffs[filterIdx]; } #endif void setNNPostFilterSEICharacteristicsComponentLastFlag(bool componentLastFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsComponentLastFlag[filterIdx] = componentLastFlag; } diff --git a/source/Lib/EncoderLib/SEIEncoder.cpp b/source/Lib/EncoderLib/SEIEncoder.cpp index 5a449ec4404c68ec1b82920a2ce9c82a6af5c879..478cebca6c225f830c644ecaa14757046c7503f4 100644 --- a/source/Lib/EncoderLib/SEIEncoder.cpp +++ b/source/Lib/EncoderLib/SEIEncoder.cpp @@ -1188,7 +1188,7 @@ void SEIEncoder::initSEINeuralNetworkPostFilterCharacteristics(SEINeuralNetworkP { sei->m_outTensorBitDepthMinus8 = m_pcCfg->getNNPostFilterSEICharacteristicsOutTensorBitDepthMinus8(filterIdx); } -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS sei->m_AuxInpIdc = m_pcCfg->getNNPostFilterSEICharacteristicsAuxInpIdc(filterIdx); sei->m_SepColDescriptionFlag = m_pcCfg->getNNPostFilterSEICharacteristicsSepColDescriptionFlag(filterIdx); if(sei->m_SepColDescriptionFlag){ diff --git a/source/Lib/EncoderLib/SEIwrite.cpp b/source/Lib/EncoderLib/SEIwrite.cpp index 8e1ff9162f89182f86dfc551e07b89bb567342c4..75d66e2be736e4e7f709940be1284e99001ce491 100644 --- a/source/Lib/EncoderLib/SEIwrite.cpp +++ b/source/Lib/EncoderLib/SEIwrite.cpp @@ -1419,7 +1419,7 @@ void SEIWriter::xWriteSEINeuralNetworkPostFilterCharacteristics(const SEINeuralN { WRITE_UVLC(sei.m_inpTensorBitDepthMinus8, "nnpfc_inp_tensor_bitdepth_minus8"); } -#if JVET_AA0100 +#if JVET_AA0100_SEPERATE_COLOR_CHARACTERISTICS WRITE_UVLC(sei.m_AuxInpIdc,"nnpfc_aux_inp_idc"); WRITE_FLAG(sei.m_SepColDescriptionFlag,"nnpfc_sep_col_desc_flag");