diff --git a/cfg/sei_vui/neural_network_post_filter_characteristics.cfg b/cfg/sei_vui/neural_network_post_filter_characteristics.cfg index 19a7cd521c7929630aab1ce95a9640a7e48cbc29..73899f5b8da8bed109ad2a0e5a552db819b23223 100644 --- a/cfg/sei_vui/neural_network_post_filter_characteristics.cfg +++ b/cfg/sei_vui/neural_network_post_filter_characteristics.cfg @@ -1,43 +1,43 @@ #======== Neural Network Post Filter characteristics SEI message ===================== -SEINNPostFilterCharacteristicsEnabled: 1 -SEINNPostFilterCharacteristicsNumFilters: 1 +SEINNPFCEnabled: 1 +SEINNPFCNumFilters: 1 -SEINNPostFilterCharacteristicsId0: 1 -SEINNPostFilterCharacteristicsModeIdc0: 1 -SEINNPostFilterCharacteristicsPropertyPresentFlag0: 1 -SEINNPostFilterCharacteristicsBaseFlag0: 1 -SEINNPostFilterCharacteristicsPurpose0: 2 -SEINNPostFilterCharacteristicsOutSubCFlag0: 1 -SEINNPostFilterCharacteristicsComponentLastFlag0: 0 -SEINNPostFilterCharacteristicsInpFormatIdc0: 1 -SEINNPostFilterCharacteristicsInpTensorBitDepthLumaMinusEight0: 2 -SEINNPostFilterCharacteristicsInpTensorBitDepthChromaMinusEight0: 2 -SEINNPostFilterCharacteristicsAuxInpIdc0: 1 -SEINNPostFilterCharacteristicsSepColDescriptionFlag0: 0 -SEINNPostFilterCharacteristicsColPrimaries0: 9 -SEINNPostFilterCharacteristicsTransCharacteristics0: 16 -SEINNPostFilterCharacteristicsMatrixCoeffs0: 14 -SEINNPostFilterCharacteristicsInpOrderIdc0: 2 -SEINNPostFilterCharacteristicsOutFormatIdc0: 1 -SEINNPostFilterCharacteristicsOutTensorBitDepthLumaMinusEight0: 2 -SEINNPostFilterCharacteristicsOutTensorBitDepthChromaMinusEight0: 2 -SEINNPostFilterCharacteristicsOutOrderIdc0: 2 -SEINNPostFilterCharacteristicsConstantPatchSizeFlag0: 1 -SEINNPostFilterCharacteristicsPatchWidthMinus10: 127 -SEINNPostFilterCharacteristicsPatchHeightMinus10: 127 -SEINNPostFilterCharacteristicsOverlap0: 4 -SEINNPostFilterCharacteristicsPaddingType0: 1 -SEINNPostFilterCharacteristicsComplexityInfoPresentFlag0: 1 +SEINNPFCId0: 1 +SEINNPFCModeIdc0: 1 +SEINNPFCPropertyPresentFlag0: 1 +SEINNPFCBaseFlag0: 1 +SEINNPFCPurpose0: 2 +SEINNPFCOutSubCFlag0: 1 +SEINNPFCComponentLastFlag0: 0 +SEINNPFCInpFormatIdc0: 1 +SEINNPFCInpTensorBitDepthLumaMinusEight0: 2 +SEINNPFCInpTensorBitDepthChromaMinusEight0: 2 +SEINNPFCAuxInpIdc0: 1 +SEINNPFCSepColDescriptionFlag0: 0 +SEINNPFCColPrimaries0: 9 +SEINNPFCTransCharacteristics0: 16 +SEINNPFCMatrixCoeffs0: 14 +SEINNPFCInpOrderIdc0: 2 +SEINNPFCOutFormatIdc0: 1 +SEINNPFCOutTensorBitDepthLumaMinusEight0: 2 +SEINNPFCOutTensorBitDepthChromaMinusEight0: 2 +SEINNPFCOutOrderIdc0: 2 +SEINNPFCConstantPatchSizeFlag0: 1 +SEINNPFCPatchWidthMinus10: 127 +SEINNPFCPatchHeightMinus10: 127 +SEINNPFCOverlap0: 4 +SEINNPFCPaddingType0: 1 +SEINNPFCComplexityInfoPresentFlag0: 1 -SEINNPostFilterCharacteristicsParameterTypeIdc0: 1 -SEINNPostFilterCharacteristicsLog2ParameterBitLengthMinus30: 3 -SEINNPostFilterCharacteristicsNumParametersIdc0: 2 -SEINNPostFilterCharacteristicsNumKmacOperationsIdc0: 512 +SEINNPFCParameterTypeIdc0: 1 +SEINNPFCLog2ParameterBitLengthMinus30: 3 +SEINNPFCNumParametersIdc0: 2 +SEINNPFCNumKmacOperationsIdc0: 512 -SEINNPostFilterCharacteristicsPayloadFilename0: test.nnr +SEINNPFCPayloadFilename0: test.nnr -SEINNPostFilterCharacteristicsLumaPadding0: 12 -SEINNPostFilterCharacteristicsCbPadding0: 6 -SEINNPostFilterCharacteristicsCrPadding0: 6 +SEINNPFCLumaPadding0: 12 +SEINNPFCCbPadding0: 6 +SEINNPFCCrPadding0: 6 diff --git a/doc/software-manual.tex b/doc/software-manual.tex index 9dc8e64fc05c6c8159be9367a1d139bf8759c508..7e25ea0379305767fb763492f97b2561c3c63213 100644 --- a/doc/software-manual.tex +++ b/doc/software-manual.tex @@ -116,39 +116,6 @@ fontsize=\footnotesize} \end{longtable} } -\newenvironment{OptionTableNoShorthandLongParameter}[2]{% - \scriptsize - \def\arraystretch{1.8} - \clearOptions - \begin{longtable}{l<{\makecell[tl]{\optOption}}% - c<{\makecell[tc]{\optDefault}}% - >{\def\arraystretch{1.0}}p{0.35\textwidth}<{\clearOptions}} - \caption{#1} \label{#2} \\ - \hspace*{12em}&\hspace*{8em}&\kill - \hline - \thead{Option} & - \thead{Default} & - \thead{Description} \\ - \hline - \endfirsthead - \caption[]{#1 (Continued)} \\ - \hspace*{12em}&\hspace*{8em}&\kill - \hline - \thead{Option} & - \thead{Default} & - \thead{Description} \\ - \hline - \endhead - \multicolumn{3}{r}{Continued...}\\ - \hline - \endfoot - \hline - \endlastfoot -}{% - \hline - \end{longtable} -} - \newenvironment{SEIListTable}[1]{% \scriptsize \def\arraystretch{1.8} @@ -5712,44 +5679,44 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries \\ \end{OptionTableNoShorthand} -\begin{OptionTableNoShorthandLongParameter}{Neural network post-filter characteristics}{tab:sei-nn-post-filter-characteristics} - \Option{SEINNPostFilterCharacteristicsEnabled} & +\begin{OptionTableNoShorthand}{Neural network post-filter characteristics}{tab:sei-nn-post-filter-characteristics} + \Option{SEINNPFCEnabled} & \Default{false} & Enables (true) or disables (false) the insertion of the neural network post-filter characteristics SEI message. \\ - \Option{SEINNPostFilterCharacteristicsNumFilters} & + \Option{SEINNPFCNumFilters} & \Default{0} & Specifies the number of neural network post-filters. \\ - \Option{SEINNPostFilterCharacteristicsId\emph{i}} & + \Option{SEINNPFCId\emph{i}} & \Default{0} & Specifies the id of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsModeIdc\emph{i}} & + \Option{SEINNPFCModeIdc\emph{i}} & \Default{0} & Specifies the nnpfc_mode_idc of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsUriTag{i}} & + \Option{SEINNPFCUriTag{i}} & \Default{""} & specifies that the post-processing filter of the \emph{i}-th neural network post-filter is a neural network identified by a specified tag URI. \\ - \Option{SEINNPostFilterCharacteristicsUri{i}} & + \Option{SEINNPFCUri{i}} & \Default{""} & specifies that the post-processing filter of the \emph{i}-th neural network post-filter is a neural network information URI. \\ - \Option{SEINNPostFilterCharacteristicsPropertyPresentFlag\emph{i}} & + \Option{SEINNPFCPropertyPresentFlag\emph{i}} & \Default{false} & 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{SEINNPostFilterCharacteristicsBaseFlag\emph{i}} & + \Option{SEINNPFCBaseFlag\emph{i}} & \Default{false} & When true (non-zero) specifies, for the \emph{i}-th neural network post-filter, that the filter is a base filter. \\ - \Option{SEINNPostFilterCharacteristicsPurpose\emph{i}} & + \Option{SEINNPFCPurpose\emph{i}} & \Default{0} & Specifies the purpose of the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.14\textwidth}} + \begin{tabular}{cp{0.28\textwidth}} 0 & Determined by the application \\ (nnpfc\_purpose \& 0x01) != 0 & Visual quality improvement \\ (nnpfc\_purpose \& 0x02) != 0 & Chroma upsampling from the 4:2:0 chroma format to the 4:2:2 or 4:4:4 chroma format, or from the 4:2:2 chroma format to the 4:4:4 chroma format \\ @@ -5759,65 +5726,65 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries (nnpfc\_purpose \& 0x20) != 0 & Colourization \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsOutSubCFlag\emph{i}} & + \Option{SEINNPFCOutSubCFlag\emph{i}} & \Default{false} & Specifies the values of outSubWidthC and outSubHeightC \par - \begin{tabular}{cp{0.28\textwidth}} + \begin{tabular}{cp{0.4\textwidth}} true & outSubWidthC is equal to 1 and outSubHeightC is equal to 1 \\ false & outSubWidthC is equal to 2 and outSubHeightC is equal to 1 \\ \end{tabular} \\ \\ - \Option{SEINNPostFilterCharacteristicsOutColourFormatIdc\emph{i}} & + \Option{SEINNPFCOutColourFormatIdc\emph{i}} & \Default{0} & Specifies the colour format of the NNPF output. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.4\textwidth}} 1 & The colour format of the NNPF output is the 4:2:0 format \\ 2 & The colour format of the NNPF output is the 4:2:2 format \\ 3 & The colour format of the NNPF output is the 4:4:4 format \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsPicWidthInLumaSamples\emph{i}} & + \Option{SEINNPFCPicWidthInLumaSamples\emph{i}} & \Default{0} & Specifies the horizontal luma sample counts of the output picture for the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsPicHeightInLumaSamples\emph{i}} & + \Option{SEINNPFCPicHeightInLumaSamples\emph{i}} & \Default{0} & Specifies the vertical luma sample counts of the output picture for the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsComponentLastFlag\emph{i}} & + \Option{SEINNPFCComponentLastFlag\emph{i}} & \Default{false} & Specifies, for the \emph{i}-th neural network post-filter, the location of the channel component in the input and output tensors. \par - \begin{tabular}{cp{0.28\textwidth}} + \begin{tabular}{cp{0.43\textwidth}} true & Specifies that the last dimension in the input tensor to the \emph{i}-th neural network post-filter and the output tensor outputTensor resulting from the \emph{i}-th neural network post-filter is used for the channel. \\ false & Specifies that the second dimension in the input tensor to the \emph{i}-th neural network post-filter and the output tensor resulting from the \emph{i}-th neural network post-filter is used for the channel. \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsInpFormatIdc\emph{i}} & + \Option{SEINNPFCInpFormatIdc\emph{i}} & \Default{0} & Specifies the method of converting a sample value of the decoded picture to an input value to the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.45\textwidth}} 0 & Real numbers where the value range is 0 to 1, inclusive. \\ 1 & Unsigned integer value range of 0 to the bit depth indicated for the input tensor (see syntax element below). \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsInpTensorBitLumaDepthMinusEight\emph{i}} & + \Option{SEINNPFCInpTensorBitLumaDepthMinusEight\emph{i}} & \Default{0} & Specifies the bit depth of the input luma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_inp_format_idc is equal to 1. \\ - \Option{SEINNPostFilterCharacteristicsInpTensorBitDepthChromaMinusEight\emph{i}} & + \Option{SEINNPFCInpTensorBitDepthChromaMinusEight\emph{i}} & \Default{0} & Specifies the bit depth of the input chroma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_inp_format_idc is equal to 1. \\ - \Option{SEINNPostFilterCharacteristicsAuxInpIdc\emph{i}} & + \Option{SEINNPFCAuxInpIdc\emph{i}} & \Default{0} & Specifies that auxiliary input data may be present in the neural network input tensor for any allowed luma-only, chroma-only, and luma-chroma configuration. \\ - \Option{SEINNPostFilterCharacteristicsSepColDescriptionFlag\emph{i}} & + \Option{SEINNPFCSepColDescriptionFlag\emph{i}} & \Default{false} & Specifies that the colour primaries, transfer characteristics, and matrix coefficients of the picture that results from the neural-network post filtering may be different than for the input to the filter. \par @@ -5825,58 +5792,58 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries \par When false the syntax elements nnpfc_colour_primaries, nnpfc_transfer_chracteristics, and nnpfc_matrix_coeffs are assumed to be the same as the input to the filter. \\ - \Option{SEINNPostFilterCharacteristicsColPrimaries\emph{i}} & + \Option{SEINNPFCColPrimaries\emph{i}} & \Default{0} & Specifies the colour primaries of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the colour primaries used for the CLVS. \\ - \Option{SEINNPostFilterCharacteristicsTransCharacteristics\emph{i}} & + \Option{SEINNPFCTransCharacteristics\emph{i}} & \Default{0} & Specifies the transfer characteristics of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the transfer characteristics used for the CLVS. \\ - \Option{SEINNPostFilterCharacteristicsMatrixCoeffs\emph{i}} & + \Option{SEINNPFCMatrixCoeffs\emph{i}} & \Default{0} & Specifies the matrix coefficients of the picture resulting from applying the neural-network post-filter specified in the SEI message, rather than the matrix coefficients used for the CLVS \\ - \Option{SEINNPostFilterCharacteristicsInpOrderIdc\emph{i}} & + \Option{SEINNPFCInpOrderIdc\emph{i}} & \Default{0} & Specifies the method of ordering the input sample arrays for the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.46\textwidth}} 0 & Only the luma matrix is present in the input tensor, thus the number of channels is 1 \\ 1 & Only the chroma matrices are present in the input tensor, thus the number of channels is 2 \\ 2 & The luma and chroma matrices are present in the input tensor, thus the number of channels is 3 \\ 3 & Four luma matrices, two chroma matrices, and a quantization parameter matrix are present in the input tensor, thus the number of channels is 7 \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsOutFormatIdc\emph{i}} & + \Option{SEINNPFCOutFormatIdc\emph{i}} & \Default{0} & Specifies the sample values output by the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.30\textwidth}} + \begin{tabular}{cp{0.46\textwidth}} 0 & Real numbers where the value range is 0 to 1, inclusive. \\ 1 & Unsigned integer numbers where the value range is 0 to $(1 << bitDepth) - 1$ inclusive. \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsOutTensorBitDepthLumaMinusEight\emph{i}} & + \Option{SEINNPFCOutTensorBitDepthLumaMinusEight\emph{i}} & \Default{0} & Specifies the bit depth of the output luma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_out_format_idc is equal to 1. \\ - \Option{SEINNPostFilterCharacteristicsOutTensorBitDepthChromaMinusEight\emph{i}} & + \Option{SEINNPFCOutTensorBitDepthChromaMinusEight\emph{i}} & \Default{0} & Specifies the bit depth of the output chroma tensor - 8 for the \emph{i}-th neural network post-filter, when nnpfc_out_format_idc is equal to 1. \\ - \Option{SEINNPostFilterCharacteristicsOutOrderIdc\emph{i}} & + \Option{SEINNPFCOutOrderIdc\emph{i}} & \Default{0} & Specifies the method of ordering the output sample arrays for the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.46\textwidth}} 0 & Only the luma matrix is present in the input tensor, thus the number of channels is 1 \\ 1 & Only the chroma matrices are present in the input tensor, thus the number of channels is 2 \\ 2 & The luma and chroma matrices are present in the input tensor, thus the number of channels is 3 \\ 3 & Four luma matrices, two chroma matrices, and a quantization parameter matrix are present in the input tensor, thus the number of channels is 7 \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsConstantPatchSizeFlag\emph{i}} & + \Option{SEINNPFCConstantPatchSizeFlag\emph{i}} & \Default{false} & Specifies nnpfc_constant_patch_size_flag of the \emph{i}-th neural network post-filter. \par @@ -5884,39 +5851,39 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries \par When false specifies that the \emph{i}-th neural network post-filter accepts any patch size that is a positive integer multiple of the patch size indicated by nnpfc_patch_width_minus1 and nnpfc_patch_height_minus1 as input. \\ - \Option{SEINNPostFilterCharacteristicsPatchWidthMinus1\emph{i}} & + \Option{SEINNPFCPatchWidthMinus1\emph{i}} & \Default{0} & Specifies the horizontal sample counts of a patch for the \emph{i}-th neural network post-filter. \par When nnpfc_constant_patch_size_flag is true (non-zero), specifies the horizontal sample counts of the patch size required for the input to the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsPatchHeightMinus1\emph{i}} & + \Option{SEINNPFCPatchHeightMinus1\emph{i}} & \Default{0} & Specifies the vertical sample counts of a patch for the \emph{i}-th neural network post-filter. \par When nnpfc_constant_patch_size_flag is true (non-zero), specifies the vertical sample counts of the patch size required for the input to the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsExtendedPatchWidthCdDeltaMinus1\emph{i}} & + \Option{SEINNPFCExtendedPatchWidthCdDeltaMinus1\emph{i}} & \Default{0} & Specifies the extended patch width for the \emph{i}-th neural network post-filter. \par When nnpfc_constant_patch_size_flag is false (zero), nnpfc_extended_patch_width_cd_delta_minus1+1+2*nnpfc_overlap indicates a common divisor of the all allowed values of the width of an extended patch for the input to the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsExtendedPatchHeightCdDeltaMinus1\emph{i}} & + \Option{SEINNPFCExtendedPatchHeightCdDeltaMinus1\emph{i}} & \Default{0} & Specifies the extended patch height \emph{i}-th neural network post-filter. \par When nnpfc_constant_patch_size_flag is false (zero), nnpfc_extended_patch_height_cd_delta_minus1+1+2*nnpfc_overlap indicates a common divisor of the all allowed values of the height of an extended patch for the input to the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsOverlap\emph{i}} & + \Option{SEINNPFCOverlap\emph{i}} & \Default{0} & Specifies the overlapping horizontal and vertical sample counts of adjacent input tensors of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsPaddingType\emph{i}} & + \Option{SEINNPFCPaddingType\emph{i}} & \Default{0} & Specifies the process of padding when referencing sample locations outside the boundaries of the cropped decoded output picture for the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.46\textwidth}} 0 & zero padding \\ 1 & replication padding \\ 2 & reflection padding \\ @@ -5924,74 +5891,74 @@ Specifies sii_num_units_in_shutter_interval for single entry.If multiple entries 4 & fixed padding \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsLumaPadding\emph{i}} & + \Option{SEINNPFCLumaPadding\emph{i}} & \Default{0} & Specifies the luma padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsCrPadding\emph{i}} & + \Option{SEINNPFCCrPadding\emph{i}} & \Default{0} & Specifies the Cr padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsCbPadding\emph{i}} & + \Option{SEINNPFCCbPadding\emph{i}} & \Default{0} & Specifies the Cb padding when when nnpfc_padding_type is equal to 4 of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsComplexityInfoPresentFlag\emph{i}} & + \Option{SEINNPFCComplexityInfoPresentFlag\emph{i}} & \Default{false} & Specifies the nnpfc_complexity_present_flag of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsParameterTypeIdc\emph{i}} & + \Option{SEINNPFCParameterTypeIdc\emph{i}} & \Default{0} & Specifies the nnpfc_parameter_type_idc of the \emph{i}-th neural network post-filter. \par - \begin{tabular}{cp{0.3\textwidth}} + \begin{tabular}{cp{0.46\textwidth}} 0 & Indicates that the \emph{i}-th neural network post-filter uses only integer parameters \\ 1 & Indicates that the \emph{i}-th neural network post-filter may use floating point or integer parameters \\ 2 & Indicates that the \emph{i}-th neural network post-filter may use binary parameters \\ \end{tabular} \\ - \Option{SEINNPostFilterCharacteristicsLog2ParameterBitLengthMinus3\emph{i}} & + \Option{SEINNPFCLog2ParameterBitLengthMinus3\emph{i}} & \Default{0} & For the \emph{i}-th neural network post-filter, nnpfc_log2_parameter_bit_length_minus3 equal to 0, 1, 2, and 3 indicates that the neural network does not use parameters of bit length greater than 8, 16, 32, and 64, respectively. \\ - \Option{SEINNPostFilterCharacteristicsNumParametersIdc\emph{i}} & + \Option{SEINNPFCNumParametersIdc\emph{i}} & \Default{0} & Specifies the maximum number of neural network parameters for the \emph{i}-th neural network post-filter in units of a power of 2048. nnpfc_num_parameters_idc = 0 indicates that the maximum number of neural network parameters is not specified. \\ - \Option{SEINNPostFilterCharacteristicsNumParametersIdc\emph{i}} & + \Option{SEINNPFCNumParametersIdc\emph{i}} & \Default{0} & Specifies the maximum number of neural network parameters for the \emph{i}-th neural network post-filter in units of a power of 2048. nnpfc_num_parameters_idc = 0 specifies that the maximum number of neural network parameters is not specified. \\ - \Option{SEINNPostFilterCharacteristicsNumKmacOperationsIdc\emph{i}} & + \Option{SEINNPFCNumKmacOperationsIdc\emph{i}} & \Default{0} & Specifies that the maximum number of multiply-accumulate (MAC) operations per sample of the \emph{i}-th neural network post-filter is less than or equal to nnpfc_num_kmac_operations_idc * 1000. nnpfc_num_kmac_operations_idc = 0 specifies that the maximum number of MAC operations of the network is not specified. \\ - \Option{SEINNPostFilterCharacteristicsTotalKilobyteSize\emph{i}} & + \Option{SEINNPFCTotalKilobyteSize\emph{i}} & \Default{0} & Indicates the total size in kilobytes required to store the uncompressed NN parameters in the \emph{i}-th neural network post-filter when nnpfc_total_kilobyte_size is greater than 0. The total size in bits is a number equal to or greater than the sum of bits used to store each parameter. nnpfc_total_kilobyte_size is the total size in bits divided by 8000, rounded up. nnpfc_total_kilobyte_size equal to 0 indicates that the total size required to store the parameters for the neural network is unknown. \\ - \Option{SEINNPostFilterCharacteristicsPayloadFilename\emph{i}} & + \Option{SEINNPFCPayloadFilename\emph{i}} & \Default{""} & Specifies the NNR bitstream of the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsNumberInputDecodedPicsMinusOne\emph{i}} & + \Option{SEINNPFCNumberInputDecodedPicsMinusOne\emph{i}} & \Default{0} & Specifies the number of decoded output pictures minus 1 used as input for the \emph{i}-th neural network post-filter. \\ - \Option{SEINNPostFilterCharacteristicsNumberInterpolatedPics\emph{i}} & + \Option{SEINNPFCNumberInterpolatedPics\emph{i}} & \Default{0} & Specifies a list, where the j-th entry in the list specifies interpolated pictures generated by the \emph{i}-th neural network post-filter between the j-th and (j+1)-th picture used as input for the post processing filter. \\ - \Option{SEINNPostFilterCharacteristicsInputPicOutputFlag\emph{i}} & + \Option{SEINNPFCInputPicOutputFlag\emph{i}} & \Default{false} & Indicates whether the i-th neural network post filter generates a corresponding output picture for the i-th input picture. \\ -\end{OptionTableNoShorthandLongParameter} +\end{OptionTableNoShorthand} \begin{OptionTableNoShorthand}{Neural network post-filter activation}{tab:sei-nn-post-filter-activation} \Option{SEINNPostFilterActivationEnabled} & diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 3b992457626021e956bb2d23660f8fc4da8b2cc0..1b938833a1eef84257e88a283f3536ffc19ac500 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -1756,212 +1756,212 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) opts.addOptions()(cOSS2.str(), m_olsPtlIdx[i], 0); } - opts.addOptions()("SEINNPostFilterCharacteristicsEnabled", m_nnPostFilterSEICharacteristicsEnabled, false, "Control generation of the Neural Network Post Filter Characteristics SEI messages"); - opts.addOptions()( "SEINNPostFilterCharacteristicsNumFilters", m_nnPostFilterSEICharacteristicsNumFilters, 0, "Specifies the number of Neural Network Post Filter Characteristics SEI messages" ); + opts.addOptions()("SEINNPFCEnabled", m_nnPostFilterSEICharacteristicsEnabled, false, "Control generation of the Neural Network Post Filter Characteristics SEI messages"); + opts.addOptions()( "SEINNPFCNumFilters", m_nnPostFilterSEICharacteristicsNumFilters, 0, "Specifies the number of Neural Network Post Filter Characteristics SEI messages" ); for (int i = 0; i < MAX_NUM_NN_POST_FILTERS; i++) { std::ostringstream id; - id << "SEINNPostFilterCharacteristicsId" << i; + id << "SEINNPFCId" << i; opts.addOptions()(id.str(), m_nnPostFilterSEICharacteristicsId[i], 0u, "Specifies the identifying number in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream modeIdc; - modeIdc << "SEINNPostFilterCharacteristicsModeIdc" << i; + modeIdc << "SEINNPFCModeIdc" << 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 propertyPresentFlag; - propertyPresentFlag << "SEINNPostFilterCharacteristicsPropertyPresentFlag" << i; + propertyPresentFlag << "SEINNPFCPropertyPresentFlag" << 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"); #if JVET_AC0353_NNPFC_BASE_FLAG std::ostringstream nnpfcBaseFlag; - nnpfcBaseFlag << "SEINNPostFilterCharacteristicsBaseFlag" << i; + nnpfcBaseFlag << "SEINNPFCBaseFlag" << i; opts.addOptions()(nnpfcBaseFlag.str(), m_nnPostFilterSEICharacteristicsBaseFlag[i], false, "Specifies whether the filter is a base filter or not"); #endif std::ostringstream purpose; - purpose << "SEINNPostFilterCharacteristicsPurpose" << i; + purpose << "SEINNPFCPurpose" << i; opts.addOptions()(purpose.str(), m_nnPostFilterSEICharacteristicsPurpose[i], 0u, "Specifies the purpose in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outSubWidthCFlag; - outSubWidthCFlag << "SEINNPostFilterCharacteristicsOutSubCFlag" << i; + outSubWidthCFlag << "SEINNPFCOutSubCFlag" << i; opts.addOptions()(outSubWidthCFlag.str(), m_nnPostFilterSEICharacteristicsOutSubCFlag[i], false, "Specifies output chroma format when upsampling"); #if JVET_AC0154 std::ostringstream outColourFormatIdc; - outColourFormatIdc << "SEINNPostFilterCharacteristicsOutColourFormatIdc" << i; + outColourFormatIdc << "SEINNPFCOutColourFormatIdc" << i; opts.addOptions()(outColourFormatIdc.str(), m_nnPostFilterSEICharacteristicsOutColourFormatIdc[i], 1u, "Specifies output chroma format for colourization purpose"); #endif std::ostringstream picWidthInLumaSamples; - picWidthInLumaSamples << "SEINNPostFilterCharacteristicsPicWidthInLumaSamples" << i; + picWidthInLumaSamples << "SEINNPFCPicWidthInLumaSamples" << i; opts.addOptions()(picWidthInLumaSamples.str(), m_nnPostFilterSEICharacteristicsPicWidthInLumaSamples[i], 0u, "Specifies the horizontal luma sample counts of the output picture in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream picHeightInLumaSamples; - picHeightInLumaSamples << "SEINNPostFilterCharacteristicsPicHeightInLumaSamples" << i; + picHeightInLumaSamples << "SEINNPFCPicHeightInLumaSamples" << i; opts.addOptions()(picHeightInLumaSamples.str(), m_nnPostFilterSEICharacteristicsPicHeightInLumaSamples[i], 0u, "Specifies the vertical luma sample counts of the output picture in the Neural Network Post Filter Characteristics SEI message"); #if JVET_AC0061_TENSOR_BITDEPTH std::ostringstream inpTensorBitDepthLumaMinus8; - inpTensorBitDepthLumaMinus8 << "SEINNPostFilterCharacteristicsInpTensorBitDepthLumaMinusEight" << i; + inpTensorBitDepthLumaMinus8 << "SEINNPFCInpTensorBitDepthLumaMinusEight" << i; opts.addOptions()(inpTensorBitDepthLumaMinus8.str(), m_nnPostFilterSEICharacteristicsInpTensorBitDepthLumaMinus8[i], 0u, "Specifies the bit depth of the input tensor luma minus 8 in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream inpTensorBitDepthChromaMinus8; - inpTensorBitDepthChromaMinus8 << "SEINNPostFilterCharacteristicsInpTensorBitDepthChromaMinusEight" << i; + inpTensorBitDepthChromaMinus8 << "SEINNPFCInpTensorBitDepthChromaMinusEight" << i; opts.addOptions()(inpTensorBitDepthChromaMinus8.str(), m_nnPostFilterSEICharacteristicsInpTensorBitDepthChromaMinus8[i], 0u, "Specifies the bit depth of the input tensor chroma minus 8 in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outTensorBitDepthLumaMinus8; - outTensorBitDepthLumaMinus8 << "SEINNPostFilterCharacteristicsOutTensorBitDepthLumaMinusEight" << i; + outTensorBitDepthLumaMinus8 << "SEINNPFCOutTensorBitDepthLumaMinusEight" << i; opts.addOptions()(outTensorBitDepthLumaMinus8.str(), m_nnPostFilterSEICharacteristicsOutTensorBitDepthLumaMinus8[i], 0u, "Specifies the bit depth of the output tensor luma minus 8 in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outTensorBitDepthChromaMinus8; - outTensorBitDepthChromaMinus8 << "SEINNPostFilterCharacteristicsOutTensorBitDepthChromaMinusEight" << i; + outTensorBitDepthChromaMinus8 << "SEINNPFCOutTensorBitDepthChromaMinusEight" << i; opts.addOptions()(outTensorBitDepthChromaMinus8.str(), m_nnPostFilterSEICharacteristicsOutTensorBitDepthChromaMinus8[i], 0u, "Specifies the bit depth of the output tensor chroma minus 8 in the Neural Network Post Filter Characteristics SEI message"); #else std::ostringstream inpTensorBitDepthMinus8; - inpTensorBitDepthMinus8 << "SEINNPostFilterCharacteristicsInpTensorBitDepthMinus8" << i; + inpTensorBitDepthMinus8 << "SEINNPFCInpTensorBitDepthMinus8" << i; opts.addOptions()(inpTensorBitDepthMinus8.str(), m_nnPostFilterSEICharacteristicsInpTensorBitDepthMinus8[i], 0u, "Specifies the bit depth of the input tensor minus 8 in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outTensorBitDepthMinus8; - outTensorBitDepthMinus8 << "SEINNPostFilterCharacteristicsOutTensorBitDepthMinus8" << i; + outTensorBitDepthMinus8 << "SEINNPFCOutTensorBitDepthMinus8" << i; opts.addOptions()(outTensorBitDepthMinus8.str(), m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[i], 0u, "Specifies the bit depth of the output tensor minus 8 in the Neural Network Post Filter Characteristics SEI message"); #endif std::ostringstream componentLastFlag; - componentLastFlag << "SEINNPostFilterCharacteristicsComponentLastFlag" << i; + componentLastFlag << "SEINNPFCComponentLastFlag" << i; opts.addOptions()(componentLastFlag.str(), m_nnPostFilterSEICharacteristicsComponentLastFlag[i], false, "Specifies the channel component is located in the last dimension for the Neural Network Post Filter Characteristics SEI message"); std::ostringstream inpFormatIdc; - inpFormatIdc << "SEINNPostFilterCharacteristicsInpFormatIdc" << i; + inpFormatIdc << "SEINNPFCInpFormatIdc" << i; opts.addOptions()(inpFormatIdc.str(), m_nnPostFilterSEICharacteristicsInpFormatIdc[i], 0u, "Specifies the method of converting an input sample in the the Neural Network Post Filter Characteristics SEI message"); std::ostringstream auxInpIdc; - auxInpIdc << "SEINNPostFilterCharacteristicsAuxInpIdc" << i; + auxInpIdc << "SEINNPFCAuxInpIdc" << 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; + sepColDescriptionFlag << "SEINNPFCSepColDescriptionFlag" << 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; + colPrimaries << "SEINNPFCColPrimaries" << 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; + transCharacteristics << "SEINNPFCTransCharacteristics" << 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; + matrixCoeffs << "SEINNPFCMatrixCoeffs" << i; opts.addOptions()(matrixCoeffs.str(), m_nnPostFilterSEICharacteristicsMatrixCoeffs[i], 0u, "Specifies color matrix coefficients in the Nueral Network Post Filter Characteristics SEI message"); std::ostringstream inpOrderIdc; - inpOrderIdc << "SEINNPostFilterCharacteristicsInpOrderIdc" << i; + inpOrderIdc << "SEINNPFCInpOrderIdc" << i; opts.addOptions()(inpOrderIdc.str(), m_nnPostFilterSEICharacteristicsInpOrderIdc[i], 0u, "Specifies the method of ordering the input sample arrays in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outFormatIdc; - outFormatIdc << "SEINNPostFilterCharacteristicsOutFormatIdc" << i; + outFormatIdc << "SEINNPFCOutFormatIdc" << i; opts.addOptions()(outFormatIdc.str(), m_nnPostFilterSEICharacteristicsOutFormatIdc[i], 0u, "Specifies the method of converting an output sample in the the Neural Network Post Filter Characteristics SEI message"); std::ostringstream outOrderIdc; - outOrderIdc << "SEINNPostFilterCharacteristicsOutOrderIdc" << i; + outOrderIdc << "SEINNPFCOutOrderIdc" << i; opts.addOptions()(outOrderIdc.str(), m_nnPostFilterSEICharacteristicsOutOrderIdc[i], 0u, "Specifies the method of ordering the output sample arrays in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream constantPatchSizeFlag; - constantPatchSizeFlag << "SEINNPostFilterCharacteristicsConstantPatchSizeFlag" << i; + constantPatchSizeFlag << "SEINNPFCConstantPatchSizeFlag" << i; opts.addOptions()(constantPatchSizeFlag.str(), m_nnPostFilterSEICharacteristicsConstantPatchSizeFlag[i], false, "Specifies the patch size flag in the the Neural Network Post Filter Characteristics SEI message"); std::ostringstream patchWidthMinus1; - patchWidthMinus1 << "SEINNPostFilterCharacteristicsPatchWidthMinus1" << i; + patchWidthMinus1 << "SEINNPFCPatchWidthMinus1" << i; opts.addOptions()(patchWidthMinus1.str(), m_nnPostFilterSEICharacteristicsPatchWidthMinus1[i], 0u, "Specifies the horizontal sample counts of a patch in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream patchHeightMinus1; - patchHeightMinus1 << "SEINNPostFilterCharacteristicsPatchHeightMinus1" << i; + patchHeightMinus1 << "SEINNPFCPatchHeightMinus1" << i; opts.addOptions()(patchHeightMinus1.str(), m_nnPostFilterSEICharacteristicsPatchHeightMinus1[i], 0u, "Specifies the vertical sample counts of a patch in the Neural Network Post Filter Characteristics SEI message"); #if JVET_AC0344_NNPFC_PATCH std::ostringstream extendedPatchWidthCdDeltaMinus1; - extendedPatchWidthCdDeltaMinus1 << "SEINNPostFilterCharacteristicsExtendedPatchWidthCdDeltaMinus1" << i; + extendedPatchWidthCdDeltaMinus1 << "SEINNPFCExtendedPatchWidthCdDeltaMinus1" << i; opts.addOptions()(extendedPatchWidthCdDeltaMinus1.str(), m_nnPostFilterSEICharacteristicsExtendedPatchWidthCdDeltaMinus1[i], 0u, "Specifies the extended horizontal sample counts of a patch in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream extendedPatchHeightCdDeltaMinus1; - extendedPatchHeightCdDeltaMinus1 << "SEINNPostFilterCharacteristicsExtendedPatchHeightCdDeltaMinus1" << i; + extendedPatchHeightCdDeltaMinus1 << "SEINNPFCExtendedPatchHeightCdDeltaMinus1" << i; opts.addOptions()(extendedPatchHeightCdDeltaMinus1.str(), m_nnPostFilterSEICharacteristicsExtendedPatchHeightCdDeltaMinus1[i], 0u, "Specifies the extended vertical sample counts of a patch in the Neural Network Post Filter Characteristics SEI message"); #endif std::ostringstream overlap; - overlap << "SEINNPostFilterCharacteristicsOverlap" << i; + overlap << "SEINNPFCOverlap" << i; opts.addOptions()(overlap.str(), m_nnPostFilterSEICharacteristicsOverlap[i], 0u, "Specifies the overlap in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream paddingType; - paddingType << "SEINNPostFilterCharacteristicsPaddingType" << i; + paddingType << "SEINNPFCPaddingType" << i; opts.addOptions()(paddingType.str(), m_nnPostFilterSEICharacteristicsPaddingType[i], 0u, "Specifies the process of padding when referencing sample locations outside the boundaries of the cropped decoded output picture "); std::ostringstream lumaPadding; - lumaPadding << "SEINNPostFilterCharacteristicsLumaPadding" << i; + lumaPadding << "SEINNPFCLumaPadding" << i; opts.addOptions()(lumaPadding.str(), m_nnPostFilterSEICharacteristicsLumaPadding[i], 0u, "Specifies the luma padding when when the padding type is fixed padding "); std::ostringstream crPadding; - crPadding << "SEINNPostFilterCharacteristicsCrPadding" << i; + crPadding << "SEINNPFCCrPadding" << i; opts.addOptions()(crPadding.str(), m_nnPostFilterSEICharacteristicsCrPadding[i], 0u, "Specifies the Cr padding when when the padding type is fixed padding "); std::ostringstream cbPadding; - cbPadding << "SEINNPostFilterCharacteristicsCbPadding" << i; + cbPadding << "SEINNPFCCbPadding" << i; opts.addOptions()(cbPadding.str(), m_nnPostFilterSEICharacteristicsCbPadding[i], 0u, "Specifies the Cb padding when when the padding type is fixed padding "); std::ostringstream complexityInfoPresentFlag; - complexityInfoPresentFlag << "SEINNPostFilterCharacteristicsComplexityInfoPresentFlag" << i; + complexityInfoPresentFlag << "SEINNPFCComplexityInfoPresentFlag" << i; opts.addOptions()(complexityInfoPresentFlag.str(), m_nnPostFilterSEICharacteristicsComplexityInfoPresentFlag[i], false, "Specifies the value of nnpfc_complexity_info_present_flag in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream uriTag; - uriTag << "SEINNPostFilterCharacteristicsUriTag" << i; + uriTag << "SEINNPFCUriTag" << i; opts.addOptions()( uriTag.str(), m_nnPostFilterSEICharacteristicsUriTag[i], std::string(""), "Specifies the neural network uri tag in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream uri; - uri << "SEINNPostFilterCharacteristicsUri" << i; + uri << "SEINNPFCUri" << i; opts.addOptions()( uri.str(), m_nnPostFilterSEICharacteristicsUri[i], std::string(""), "Specifies the neural network information uri in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream parameterTypeIdc; - parameterTypeIdc << "SEINNPostFilterCharacteristicsParameterTypeIdc" << i; + parameterTypeIdc << "SEINNPFCParameterTypeIdc" << i; opts.addOptions()(parameterTypeIdc.str(), m_nnPostFilterSEICharacteristicsParameterTypeIdc[i], 0u, "Specifies the data type of parameters in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream log2ParameterBitLengthMinus3; - log2ParameterBitLengthMinus3 << "SEINNPostFilterCharacteristicsLog2ParameterBitLengthMinus3" << i; + log2ParameterBitLengthMinus3 << "SEINNPFCLog2ParameterBitLengthMinus3" << i; opts.addOptions()(log2ParameterBitLengthMinus3.str(), m_nnPostFilterSEICharacteristicsLog2ParameterBitLengthMinus3[i], 0u, "Indicates that the neural network does not use parameter of bit length greater than 2^(N+3) bits"); std::ostringstream numParametersIdc; - numParametersIdc << "SEINNPostFilterCharacteristicsNumParametersIdc" << i; + numParametersIdc << "SEINNPFCNumParametersIdc" << i; opts.addOptions()(numParametersIdc.str(), m_nnPostFilterSEICharacteristicsNumParametersIdc[i], 0u, "Specifies the maximum number of parameters ((2048<<NumParametersIdc)-1) in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream numKmacOperationsIdc; - numKmacOperationsIdc << "SEINNPostFilterCharacteristicsNumKmacOperationsIdc" << i; + numKmacOperationsIdc << "SEINNPFCNumKmacOperationsIdc" << i; opts.addOptions()(numKmacOperationsIdc.str(), m_nnPostFilterSEICharacteristicsNumKmacOperationsIdc[i], 0u, "Specifies the maximum number of operations (KMAC) per pixel in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream totalKilobyteSize; - totalKilobyteSize << "SEINNPostFilterCharacteristicsTotalKilobyteSize" << i; + totalKilobyteSize << "SEINNPFCTotalKilobyteSize" << i; opts.addOptions()(totalKilobyteSize.str(), m_nnPostFilterSEICharacteristicsTotalKilobyteSize[i], 0u, "Indicates the total size in kilobytes required to store the uncompressed NN parameters in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream payloadFilename; - payloadFilename << "SEINNPostFilterCharacteristicsPayloadFilename" << i; + payloadFilename << "SEINNPFCPayloadFilename" << i; opts.addOptions()(payloadFilename.str(), m_nnPostFilterSEICharacteristicsPayloadFilename[i], std::string(""), "Specifies the NNR bitstream in the Neural Network Post Filter Characteristics SEI message"); std::ostringstream numberDecodedInputPics; #if JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE - numberDecodedInputPics << "SEINNPostFilterCharacteristicsNumberInputDecodedPicsMinusOne" << i; + numberDecodedInputPics << "SEINNPFCNumberInputDecodedPicsMinusOne" << i; opts.addOptions()(numberDecodedInputPics.str(), m_nnPostFilterSEICharacteristicsNumberInputDecodedPicturesMinus1[i], 0u, "Specifies the number of decoded output pictures used as input for the post processing filter"); #else - numberDecodedInputPics << "SEINNPostFilterCharacteristicsNumberInputDecodedPicsMinusTwo" << i; + numberDecodedInputPics << "SEINNPFCNumberInputDecodedPicsMinusTwo" << i; opts.addOptions()(numberDecodedInputPics.str(), m_nnPostFilterSEICharacteristicsNumberInputDecodedPicturesMinus2[i], 0u, "Specifies the number of decoded output pictures used as input for the post processing filter"); #endif std::ostringstream numberInterpolatedPics; - numberInterpolatedPics << "SEINNPostFilterCharacteristicsNumberInterpolatedPics" << i; + numberInterpolatedPics << "SEINNPFCNumberInterpolatedPics" << i; opts.addOptions()(numberInterpolatedPics.str(), cfg_nnPostFilterSEICharacteristicsInterpolatedPicturesList[i], cfg_nnPostFilterSEICharacteristicsInterpolatedPicturesList[i], "Number of pictures to interpolate"); #if JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE std::ostringstream InputPicOutputFlag; - InputPicOutputFlag << "SEINNPostFilterCharacteristicsInputPicOutputFlag" << i; + InputPicOutputFlag << "SEINNPFCInputPicOutputFlag" << i; opts.addOptions()(InputPicOutputFlag.str(), cfg_nnPostFilterSEICharacteristicsInputPicOutputFlagList[i], cfg_nnPostFilterSEICharacteristicsInputPicOutputFlagList[i], "Indicates whether NNPF will generate a corresponding output picture for the input picture"); #endif @@ -5037,39 +5037,39 @@ bool EncAppCfg::xCheckParameter() { for (int i = 0; i < m_nnPostFilterSEICharacteristicsNumFilters; i++) { - xConfirmPara(m_nnPostFilterSEICharacteristicsId[i] > MAX_NNPFC_ID, "SEINNPostFilterCharacteristicsId must be in the range of 0 to 2^32-2"); - xConfirmPara(m_nnPostFilterSEICharacteristicsModeIdc[i] > 255, "SEINNPostFilterCharacteristicsModeIdc must be in the range of 0 to 255"); - xConfirmPara(m_nnPostFilterSEICharacteristicsPurpose[i] > 1023, "SEINNPostFilterCharacteristicsPurpose must be in the range of 0 to 1023"); + xConfirmPara(m_nnPostFilterSEICharacteristicsId[i] > MAX_NNPFC_ID, "SEINNPFCId must be in the range of 0 to 2^32-2"); + xConfirmPara(m_nnPostFilterSEICharacteristicsModeIdc[i] > 255, "SEINNPFCModeIdc must be in the range of 0 to 255"); + xConfirmPara(m_nnPostFilterSEICharacteristicsPurpose[i] > 1023, "SEINNPFCPurpose must be in the range of 0 to 1023"); #if JVET_AC0127_BIT_MASKING_NNPFC_PURPOSE - xConfirmPara(m_nnPostFilterSEICharacteristicsNumberInputDecodedPicturesMinus1[i] > 63, "SEINNPostFilterCharacteristicsNumberInputDecodedPicturesMinus1 must be in the range of 0 to 63"); + xConfirmPara(m_nnPostFilterSEICharacteristicsNumberInputDecodedPicturesMinus1[i] > 63, "SEINNPFCNumberInputDecodedPicturesMinus1 must be in the range of 0 to 63"); #endif #if JVET_AC0061_TENSOR_BITDEPTH - xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthLumaMinus8[i] > 24, "SEINNPostFilterCharacteristicsInpTensorBitDepthLumaMinus8 must be in the range of 0 to 24"); - xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthChromaMinus8[i] > 24, "SEINNPostFilterCharacteristicsInpTensorBitDepthChromaMinus8 must be in the range of 0 to 24"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthLumaMinus8[i] > 24, "SEINNPostFilterCharacteristicsOutTensorBitDepthLumaMinus8 must be in the range of 0 to 24"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthChromaMinus8[i] > 24, "SEINNPostFilterCharacteristicsOutTensorBitDepthChromaMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthLumaMinus8[i] > 24, "SEINNPFCInpTensorBitDepthLumaMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthChromaMinus8[i] > 24, "SEINNPFCInpTensorBitDepthChromaMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthLumaMinus8[i] > 24, "SEINNPFCOutTensorBitDepthLumaMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthChromaMinus8[i] > 24, "SEINNPFCOutTensorBitDepthChromaMinus8 must be in the range of 0 to 24"); #else - xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthMinus8[i] > 24, "SEINNPostFilterCharacteristicsInpTensorBitDepthMinus8 must be in the range of 0 to 24"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[i] > 24, "SEINNPostFilterCharacteristicsOutTensorBitDepthMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsInpTensorBitDepthMinus8[i] > 24, "SEINNPFCInpTensorBitDepthMinus8 must be in the range of 0 to 24"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOutTensorBitDepthMinus8[i] > 24, "SEINNPFCOutTensorBitDepthMinus8 must be in the range of 0 to 24"); #endif - xConfirmPara(m_nnPostFilterSEICharacteristicsInpFormatIdc[i] > 255, "SEINNPostFilterCharacteristicsInpFormatIdc must be in the range of 0 to 255"); - xConfirmPara(m_nnPostFilterSEICharacteristicsInpOrderIdc[i] > 255, "SEINNPostFilterCharacteristicsInpOrderIdc must be in the range of 0 to 255"); + xConfirmPara(m_nnPostFilterSEICharacteristicsInpFormatIdc[i] > 255, "SEINNPFCInpFormatIdc must be in the range of 0 to 255"); + xConfirmPara(m_nnPostFilterSEICharacteristicsInpOrderIdc[i] > 255, "SEINNPFCInpOrderIdc must be in the range of 0 to 255"); 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"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOutFormatIdc[i] > 255, "SEINNPostFilterCharacteristicsOutFormatIdc must be in the range of 0 to 255"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOutOrderIdc[i] > 255, "SEINNPostFilterCharacteristicsOutOrderIdc must be in the range of 0 to 255"); - xConfirmPara(m_nnPostFilterSEICharacteristicsPatchWidthMinus1[i] > 32766, "SEINNPostFilterCharacteristicsPatchWidthMinus1 must be in the range of 0 to 32766"); - xConfirmPara(m_nnPostFilterSEICharacteristicsPatchHeightMinus1[i] > 32766, "SEINNPostFilterCharacteristicsPatchHeightMinus1 must be in the range of 0 to 32766"); - xConfirmPara(m_nnPostFilterSEICharacteristicsOverlap[i] > 16383, "SEINNPostFilterCharacteristicsOverlap must be in the range of 0 to 16383"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOutFormatIdc[i] > 255, "SEINNPFCOutFormatIdc must be in the range of 0 to 255"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOutOrderIdc[i] > 255, "SEINNPFCOutOrderIdc must be in the range of 0 to 255"); + xConfirmPara(m_nnPostFilterSEICharacteristicsPatchWidthMinus1[i] > 32766, "SEINNPFCPatchWidthMinus1 must be in the range of 0 to 32766"); + xConfirmPara(m_nnPostFilterSEICharacteristicsPatchHeightMinus1[i] > 32766, "SEINNPFCPatchHeightMinus1 must be in the range of 0 to 32766"); + xConfirmPara(m_nnPostFilterSEICharacteristicsOverlap[i] > 16383, "SEINNPFCOverlap must be in the range of 0 to 16383"); xConfirmPara(m_nnPostFilterSEICharacteristicsPaddingType[i] > (1 << 4) - 1, "SEINNPostFilterPaddingType must be in the range of 0 to 2^4-1"); - xConfirmPara(m_nnPostFilterSEICharacteristicsLog2ParameterBitLengthMinus3[i] > 3, "SEINNPostFilterCharacteristicsLog2ParameterBitLengthMinus3 must be in the range of 0 to 3"); - xConfirmPara(m_nnPostFilterSEICharacteristicsNumParametersIdc[i] > 52, "SEINNPostFilterCharacteristicsNumParametersIdc must be in the range of 0 to 52"); + xConfirmPara(m_nnPostFilterSEICharacteristicsLog2ParameterBitLengthMinus3[i] > 3, "SEINNPFCLog2ParameterBitLengthMinus3 must be in the range of 0 to 3"); + xConfirmPara(m_nnPostFilterSEICharacteristicsNumParametersIdc[i] > 52, "SEINNPFCNumParametersIdc must be in the range of 0 to 52"); #if JVET_AC0154 - xConfirmPara(m_nnPostFilterSEICharacteristicsTotalKilobyteSize[i] > (uint32_t) (((uint64_t) 1 << 32) - 2), "SEINNPostFilterCharacteristicsTotalKilobyteSize must be in the range of 0 to 2^32-2"); + xConfirmPara(m_nnPostFilterSEICharacteristicsTotalKilobyteSize[i] > (uint32_t) (((uint64_t) 1 << 32) - 2), "SEINNPFCTotalKilobyteSize must be in the range of 0 to 2^32-2"); xConfirmPara(m_nnPostFilterSEICharacteristicsNumKmacOperationsIdc[i] > (uint32_t) (((uint64_t) 1 << 32) - 2), "SEICharacteristicsNumKmacOperationsIdc must be in the range of 0 to 2^32-2"); #else - xConfirmPara(m_nnPostFilterSEICharacteristicsTotalKilobyteSize[i] > (uint32_t) (((uint64_t) 1 << 32) - 1), "SEINNPostFilterCharacteristicsTotalKilobyteSize must be in the range of 0 to 2^32-1"); + xConfirmPara(m_nnPostFilterSEICharacteristicsTotalKilobyteSize[i] > (uint32_t) (((uint64_t) 1 << 32) - 1), "SEINNPFCTotalKilobyteSize must be in the range of 0 to 2^32-1"); #endif } }