diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index c37456d2a4f8be739a11994795459b62c3acfbf8..026a1a64f125cc1669932464b43874a041485759 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -1287,13 +1287,11 @@ void EncApp::xInitLibCfg( int layerIdx ) m_cEncLib.setNNPostFilterSEICharacteristicsSpatialExtrapolationRightOffset (m_nnPostFilterSEICharacteristicsSpatialExtrapolationRightOffset[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsSpatialExtrapolationTopOffset (m_nnPostFilterSEICharacteristicsSpatialExtrapolationTopOffset[i], i); m_cEncLib.setNNPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset(m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[i], i); -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 m_cEncLib.setNNPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag( m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[i], i); if (m_cEncLib.getNNPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag(i)) { m_cEncLib.setNNPostFilterSEICharacteristicsSpatialExrapolationPrompt( m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[i], i); } -#endif } #endif m_cEncLib.setNNPostFilterSEICharacteristicsAbsentInputPicZeroFlag (m_nnPostFilterSEICharacteristicsAbsentInputPicZeroFlag[i], i); diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index b8687a3a37e72fab1117d82ffb60fc0b442dfe8a..7dbd3c3f335857e3a72afba7e4cf98f7624a7f14 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -2071,14 +2071,12 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) std::ostringstream spatialExtrapolationBottomOffset; spatialExtrapolationBottomOffset << "SEINNPFCSpatialExtrapolationLeftOffset" << i; opts.addOptions()(spatialExtrapolationBottomOffset.str(), m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[i], 0, "Bottom offset of spatial extrapolation"); -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 std::ostringstream spatialextrapolationPromptPresentFlag; spatialextrapolationPromptPresentFlag << "SEINNPFCSpatialExtrapolationPromptPresentFlag" << i; opts.addOptions()(spatialextrapolationPromptPresentFlag.str(), m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[i], false, "equal to 1 specifies that nnpfc_prompt syntax element is present and nnpfc_alignment_zero_bit_c syntax element may be present. nnpfc_spatial_extrapolation_prompt_present_flag equal to 0 specifies that nnpfc_prompt syntax element and nnpfc_alignment_zero_bit_c syntax element are not present."); std::ostringstream spatialextrapolationPrompt; spatialextrapolationPrompt << "SEINNPFCSpatialExtrapolationPrompt" << i; opts.addOptions()(spatialextrapolationPrompt.str(), m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[i], std::string(""), "specifies the text string prompt used for generating the contents of the spatial extrapolation image area."); -#endif #endif std::ostringstream InputPicOutputFlag; InputPicOutputFlag << "SEINNPFCInputPicOutputFlag" << i; diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index 78a128e6f69ea682c57b766a8d6aaf1c6150e065..851d0a8dc8c58bc61bec6550569f1bc6126c09fb 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -831,10 +831,8 @@ protected: int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationRightOffset[MAX_NUM_NN_POST_FILTERS]; int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationTopOffset[MAX_NUM_NN_POST_FILTERS]; int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[MAX_NUM_NN_POST_FILTERS]; -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 bool m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[MAX_NUM_NN_POST_FILTERS]; std::string m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[MAX_NUM_NN_POST_FILTERS]; -#endif #endif std::vector<bool> m_nnPostFilterSEICharacteristicsInputPicOutputFlag[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsAbsentInputPicZeroFlag[MAX_NUM_NN_POST_FILTERS]; diff --git a/source/Lib/CommonLib/SEI.cpp b/source/Lib/CommonLib/SEI.cpp index eb55b304a8c2197462d66e861598d23a4bfc2522..5b66aa4e0a79625a18e49bcd0cedc8ed48fc9ba3 100644 --- a/source/Lib/CommonLib/SEI.cpp +++ b/source/Lib/CommonLib/SEI.cpp @@ -1008,10 +1008,8 @@ SEINeuralNetworkPostFilterCharacteristics::SEINeuralNetworkPostFilterCharacteris m_spatialExtrapolationRightOffset = sei.m_spatialExtrapolationRightOffset; m_spatialExtrapolationTopOffset = sei.m_spatialExtrapolationTopOffset; m_spatialExtrapolationBottomOffset = sei.m_spatialExtrapolationBottomOffset; -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 m_spatialExtrapolationPromptPresentFlag = sei.m_spatialExtrapolationPromptPresentFlag; m_prompt = sei.m_prompt; -#endif #endif m_inputPicOutputFlag = sei.m_inputPicOutputFlag; } @@ -1078,10 +1076,8 @@ bool SEINeuralNetworkPostFilterCharacteristics::operator == (const SEINeuralNetw m_spatialExtrapolationRightOffset == sei.m_spatialExtrapolationRightOffset && m_spatialExtrapolationTopOffset == sei.m_spatialExtrapolationTopOffset && m_spatialExtrapolationBottomOffset == sei.m_spatialExtrapolationBottomOffset && -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 m_spatialExtrapolationPromptPresentFlag == sei.m_spatialExtrapolationPromptPresentFlag && m_prompt == sei.m_prompt && -#endif #endif m_inputPicOutputFlag == sei.m_inputPicOutputFlag && m_payloadLength == sei.m_payloadLength; diff --git a/source/Lib/CommonLib/SEI.h b/source/Lib/CommonLib/SEI.h index f54a412db3ec5a4d234ecd0b404dbca53e2c99ae..2263876deab24086379e43cfc1bb798601ba129f 100644 --- a/source/Lib/CommonLib/SEI.h +++ b/source/Lib/CommonLib/SEI.h @@ -1424,10 +1424,8 @@ public: , m_spatialExtrapolationRightOffset(0) , m_spatialExtrapolationTopOffset(0) , m_spatialExtrapolationBottomOffset(0) -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 , m_spatialExtrapolationPromptPresentFlag(false) , m_prompt("") -#endif #endif , m_absentInputPicZeroFlag(false) , m_numInpPicsInOutputTensor(0) @@ -1511,10 +1509,8 @@ public: int32_t m_spatialExtrapolationRightOffset; int32_t m_spatialExtrapolationTopOffset; int32_t m_spatialExtrapolationBottomOffset; -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 bool m_spatialExtrapolationPromptPresentFlag; std::string m_prompt; -#endif #endif std::vector<bool> m_inputPicOutputFlag; bool m_absentInputPicZeroFlag; diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 0803d9968d1a840733133c9a2f3f1761f74dce8f..5325c43d0b7b1b3d6b4667981bea538236eacc5d 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -63,7 +63,6 @@ -#define JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 1 //JVET-AI0061 proposal 1: signal a NNPFC prompt for spatial extrapolation #define JVET_AI0061_PROPOSAL2_SPATIAL_EXTRAPOLATION 1 // JVET AI0061-Proposal2: Ensure spatial extrapolation works correctly (Option 1) diff --git a/source/Lib/DecoderLib/SEIread.cpp b/source/Lib/DecoderLib/SEIread.cpp index fa2cf1fa318bb91eb81b6891714f85e79f8df144..a4a457cd4952dc19f15e903f87b50f07b5496b5b 100644 --- a/source/Lib/DecoderLib/SEIread.cpp +++ b/source/Lib/DecoderLib/SEIread.cpp @@ -3207,7 +3207,6 @@ void SEIReader::xParseSEINNPostFilterCharacteristics(SEINeuralNetworkPostFilterC sei.m_spatialExtrapolationTopOffset = value; sei_read_svlc(pDecodedMessageOutputStream, value, "nnpfc_spatial_extrapolation_bottom_offset"); sei.m_spatialExtrapolationBottomOffset = value; -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 sei_read_flag(pDecodedMessageOutputStream, val, "nnpfc_spatial_extrapolation_prompt_present_flag"); sei.m_spatialExtrapolationPromptPresentFlag = val; if (sei.m_spatialExtrapolationPromptPresentFlag) @@ -3221,7 +3220,6 @@ void SEIReader::xParseSEINNPostFilterCharacteristics(SEINeuralNetworkPostFilterC sei_read_string(pDecodedMessageOutputStream, valp, "nnpfc_prompt"); sei.m_prompt = valp; } -#endif } #endif diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index d2fffb37638b6b8110379c03bbff66a2cb11ce13..a4d30dd887ecaa4debc6aa89dc60f5fdf7d0bb81 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -770,10 +770,8 @@ protected: int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationRightOffset[MAX_NUM_NN_POST_FILTERS]; int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationTopOffset[MAX_NUM_NN_POST_FILTERS]; int32_t m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[MAX_NUM_NN_POST_FILTERS]; -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 bool m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[MAX_NUM_NN_POST_FILTERS]; std::string m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[MAX_NUM_NN_POST_FILTERS]; -#endif #endif std::vector<bool> m_nnPostFilterSEICharacteristicsInputPicOutputFlag[MAX_NUM_NN_POST_FILTERS]; bool m_nnPostFilterSEICharacteristicsAbsentInputPicZeroFlag[MAX_NUM_NN_POST_FILTERS]; @@ -2175,12 +2173,10 @@ public: int32_t getNNPostFilterSEICharacteristicsSpatialExtrapolationTopOffset(int filterIdx) { return m_nnPostFilterSEICharacteristicsSpatialExtrapolationTopOffset[filterIdx]; } void setNNPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset(int32_t value, int filterIdx) { m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[filterIdx] = value; } int32_t getNNPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset(int filterIdx) { return m_nnPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset[filterIdx]; } -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 void setNNPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag(bool promptPresentFlag, int filterIdx) { m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[filterIdx] = promptPresentFlag; } bool getNNPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag(int filterIdx) const { return m_nnPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag[filterIdx]; } void setNNPostFilterSEICharacteristicsSpatialExrapolationPrompt(std::string prompt, int filterIdx) { m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[filterIdx] = prompt; } std::string getNNPostFilterSEICharacteristicsSpatialExrapolationPrompt(int filterIdx) const { return m_nnPostFilterSEICharacteristicsSpatialExtrapolationPrompt[filterIdx]; } -#endif #endif void setNNPostFilterSEICharacteristicsInputPicOutputFlag(std::vector<bool> value, int filterIdx) { m_nnPostFilterSEICharacteristicsInputPicOutputFlag[filterIdx] = value; } const std::vector<bool>& getNNPostFilterSEICharacteristicsInputPicOutputFlag(int filterIdx) { return m_nnPostFilterSEICharacteristicsInputPicOutputFlag[filterIdx]; } diff --git a/source/Lib/EncoderLib/SEIEncoder.cpp b/source/Lib/EncoderLib/SEIEncoder.cpp index 028f95367598d40a30f4bfbbcd9f725e2587f4b2..29639bfc88d5b742403c649297fbaa77922063cf 100644 --- a/source/Lib/EncoderLib/SEIEncoder.cpp +++ b/source/Lib/EncoderLib/SEIEncoder.cpp @@ -1646,13 +1646,11 @@ void SEIEncoder::initSEINeuralNetworkPostFilterCharacteristics(SEINeuralNetworkP sei->m_spatialExtrapolationRightOffset = m_pcCfg->getNNPostFilterSEICharacteristicsSpatialExtrapolationRightOffset(filterIdx); sei->m_spatialExtrapolationTopOffset = m_pcCfg->getNNPostFilterSEICharacteristicsSpatialExtrapolationTopOffset(filterIdx); sei->m_spatialExtrapolationBottomOffset = m_pcCfg->getNNPostFilterSEICharacteristicsSpatialExtrapolationBottomOffset(filterIdx); -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 sei->m_spatialExtrapolationPromptPresentFlag = m_pcCfg->getNNPostFilterSEICharacteristicsSpatialExtrapolationPromptPresentFlag(filterIdx); if (sei->m_spatialExtrapolationPromptPresentFlag) { sei->m_prompt = m_pcCfg->getNNPostFilterSEICharacteristicsSpatialExrapolationPrompt(filterIdx); } -#endif } #endif diff --git a/source/Lib/EncoderLib/SEIwrite.cpp b/source/Lib/EncoderLib/SEIwrite.cpp index 207004a8a3db4dd92dc0a6368c4efcff1cf9ca82..aa1ac34dc498cffbaff8fb8b229cc7960813d2b9 100644 --- a/source/Lib/EncoderLib/SEIwrite.cpp +++ b/source/Lib/EncoderLib/SEIwrite.cpp @@ -1926,7 +1926,6 @@ void SEIWriter::xWriteSEINeuralNetworkPostFilterCharacteristics(const SEINeuralN xWriteSvlc(sei.m_spatialExtrapolationRightOffset, "nnpfc_spatial_extrapolation_right_offset"); xWriteSvlc(sei.m_spatialExtrapolationTopOffset, "nnpfc_spatial_extrapolation_top_offset"); xWriteSvlc(sei.m_spatialExtrapolationBottomOffset, "nnpfc_spatial_extrapolation_right_offset"); -#if JVET_AI0061_SPATIAL_EXTRAPOLATION_PROPOSAL1 xWriteFlag(sei.m_spatialExtrapolationPromptPresentFlag, "nnpfc_spatial_extrapolation_prompt_present_flag"); if (sei.m_spatialExtrapolationPromptPresentFlag) { @@ -1936,7 +1935,6 @@ void SEIWriter::xWriteSEINeuralNetworkPostFilterCharacteristics(const SEINeuralN } xWriteString(sei.m_prompt, "nnpfc_prompt"); } -#endif } #endif