diff --git a/.gitignore b/.gitignore index 8de22b3bb0085a0848762c7d073404b89461a636..ef9af6c971615f2e58e6c67151767e54cf68cad0 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ deploy *.pyc /out/ /doc/_minted-software-manual/ +/models_intra_prediction/ diff --git a/CMakeLists.txt b/CMakeLists.txt index c8e195113e3547ad3c204abd0b56b9e4f61728eb..175e5ad33c6761b46e9c9878b9c66416197210d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,7 +98,7 @@ endif() #bb_enable_warnings( clang warnings-as-errors ) # enable warnings -bb_enable_warnings( msvc warnings-as-errors "/wd4996" ) +bb_enable_warnings( msvc warnings-as-errors "/wd4996" "/wd4244" ) # enable sse4.1 build for all source files for gcc and clang if( UNIX OR MINGW ) diff --git a/README.md b/README.md index 976f54484543dd8c7233a4cc14ec91a12dd0b080..60beddecfa4619c5cbb7ea65d83a12cc34e28bb9 100644 --- a/README.md +++ b/README.md @@ -407,3 +407,47 @@ To activate NN-based loop filter encoder optimization, use --EncNnlfOpt=1. Note To specify model paths, use e.g. following command lines. Note that model paths should be specified at encoder. --RdoCnnlfInterLumaModel="models/RdNnlfSet1_LumaCNNFilter_InterSlice_int16.sadl" --RdoCnnlfIntraLumaModel="models/RdNnlfSet1_LumaCNNFilter_IntraSlice_int16.sadl" + + +Low-complexity version of the neural network-based intra prediction mode +------------------------------------------------------------------------ + +Below, it is assumed that the current directory is the root directory of the VTM-11-NNVC repository. + +1. Initialize and update SADL if not already done. + +```sh +git submodule init +git submodule update +``` + +2. Download the models of the low-complexity version of the neural network-based intra prediction mode. + +```sh +curl --user "ri-nextgen_r:0Hl5X4yy" -o "models_ee1_2023_january.tgz" "sftp://sftp.interdigital.com/JVET-EE1-3.2/models_ee1_2023_january.tgz" +``` + +If the above command does not work, perhaps because of the `curl` version, please try the command below. + +```sh +sftp ri-nextgen_r@sftp:JVET-EE1-3.2/models_ee1_2023_january.tgz ./ +``` + +using "0Hl5X4yy" as password. + +3. Uncompress the obtained "models_ee1_2023_january.tgz". + +```sh +tar -xvf models_ee1_2023_january.tgz && mv models_ee2_2023_january models_intra_prediction +``` + +4. Rate-distortion tests with the low-complexity version of the neural network-based intra prediction mode in 16-bit signed integer. + * VTM-11-NNVC can be compiled as usual, i.e. without any additional macro passed as argument to `cmake`. + * To run VTM-11-NNVC with the low-complexity version of the neural network-based intra prediction mode, the neural networks being in 16-bit signed integer, please provide the following two arguments to the encoder and the decoder: + * --DescriptionPairHeightWidthPathToGraphOutput=4,4,graph_output_4_4_int16.sadl;4,8,graph_output_4_8_int16.sadl;4,16,graph_output_4_16_int16.sadl;4,32,graph_output_4_32_int16.sadl;8,8,graph_output_8_8_int16.sadl;8,16,graph_output_8_16_int16.sadl;16,16,graph_output_16_16_int16.sadl; + * --PrefixAbsolutePathsToGraphsOutput=models_intra_prediction + +Note that, in 4., `--PrefixAbsolutePathsToGraphsOutput` gives the encoder and the decoder the path +to the directory storing the neural network models, i.e. the files ".sadl". + + diff --git a/source/App/DecoderApp/DecApp.cpp b/source/App/DecoderApp/DecApp.cpp index 0fc7d179c82cc004c425fa5c491989aae9fe886c..c899390c29a79c16212714ec05413b89ccfd5659 100644 --- a/source/App/DecoderApp/DecApp.cpp +++ b/source/App/DecoderApp/DecApp.cpp @@ -81,7 +81,15 @@ uint32_t DecApp::decode() { int poc; PicList* pcListPic = NULL; - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pathToQuadtreeRecords.empty()) + { + std::ifstream file_test(m_pathToQuadtreeRecords); + CHECK(file_test.is_open(),"A file already exists at \"" + m_pathToQuadtreeRecords + "\"."); + m_ofstreamQuadtree.open(m_pathToQuadtreeRecords.c_str(), std::ios::out); + CHECK(m_ofstreamQuadtree.fail(), "The file at \"" + m_pathToQuadtreeRecords + "\" cannot be opened."); + } +#endif ifstream bitstreamFile(m_bitstreamFileName.c_str(), ifstream::in | ifstream::binary); if (!bitstreamFile) { @@ -127,7 +135,9 @@ uint32_t DecApp::decode() bool loopFiltered[MAX_VPS_LAYERS] = { false }; bool bPicSkipped = false; - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool isLmcsMappedDecodedWritten = false; +#endif bool isEosPresentInPu = false; #if JVET_S0078_NOOUTPUTPRIORPICFLAG bool firstSliceInAU = true; @@ -269,6 +279,23 @@ uint32_t DecApp::decode() { if (!loopFiltered[nalu.m_nuhLayerId] || bitstreamFile) { +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pathToFileLDecoded.empty() && !isLmcsMappedDecodedWritten) + { + CHECK(m_upscaledOutput,"`m_upscaledOutput` is true."); + CHECK(m_outputColourSpaceConvert != IPCOLOURSPACE_UNCHANGED,"`m_outputColourSpaceConvert` is not equal to `IPCOLOURSPACE_UNCHANGED`."); + CHECK(m_packedYUVMode,"`m_packedYUVMode` is true."); + CHECK(m_bClipOutputVideoToRec709Range,"`m_bClipOutputVideoToRec709Range` is true."); + isLmcsMappedDecodedWritten = true; + const Picture* ptrPicture = m_cDecLib.getPicture(); + const SPS* sps = ptrPicture->cs->sps; + const BitDepths& bitDepthInternal = sps->getBitDepths(); + m_fileLDecoded.open(m_pathToFileLDecoded,true,bitDepthInternal.recon,bitDepthInternal.recon,bitDepthInternal.recon); + const Window& conf = ptrPicture->getConformanceWindow(); + m_fileLDecoded.write(ptrPicture->getRecoBuf().get(COMPONENT_Y).width,ptrPicture->getRecoBuf().get(COMPONENT_Y).height,ptrPicture->getRecoBuf(),IPCOLOURSPACE_UNCHANGED,false,conf.getWindowLeftOffset()*SPS::getWinUnitX(sps->getChromaFormatIdc()),conf.getWindowRightOffset()*SPS::getWinUnitX(sps->getChromaFormatIdc()),conf.getWindowTopOffset()*SPS::getWinUnitY(sps->getChromaFormatIdc()),conf.getWindowBottomOffset()*SPS::getWinUnitY(sps->getChromaFormatIdc()),NUM_CHROMA_FORMAT,false); + m_fileLDecoded.close(); + } +#endif m_cDecLib.executeLoopFilters(); m_cDecLib.finishPicture(poc, pcListPic, INFO, m_newCLVS[nalu.m_nuhLayerId]); } @@ -525,7 +552,12 @@ uint32_t DecApp::decode() #endif destroyROM(); - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pathToQuadtreeRecords.empty()) + { + m_ofstreamQuadtree.close(); + } +#endif return nRet; } @@ -598,6 +630,16 @@ void DecApp::xCreateDecLib() #endif m_cDecLib.m_targetSubPicIdx = this->m_targetSubPicIdx; m_cDecLib.initScalingList(); +#if JVET_AB0149_INTRA_PRED + m_cDecLib.setDescriptionPairHeightWidthPathToGraphOutput(m_descriptionPairHeightWidthPathToGraphOutput); + m_cDecLib.setPrefixAbsolutePathsToGraphsOutput(m_prefixAbsolutePathsToGraphsOutput); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS && JVET_AB0149_SEARCH_PNN + m_cDecLib.setAreCostsWritten(m_areCostsWritten); +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_cDecLib.setPtrOfstreamQuadtree(m_ofstreamQuadtree); +#endif } void DecApp::xDestroyDecLib() diff --git a/source/App/DecoderApp/DecApp.h b/source/App/DecoderApp/DecApp.h index 84af1ec888df43711a2cdb6ba0f151e8695a18ec..ac38f4d453079e2f43a270c27d2b1f45ef25c16f 100644 --- a/source/App/DecoderApp/DecApp.h +++ b/source/App/DecoderApp/DecApp.h @@ -93,7 +93,10 @@ private: std::ofstream m_seiMessageFileStream; ///< Used for outputing SEI messages. std::ofstream m_oplFileStream; ///< Used to output log file for confomance testing - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream m_ofstreamQuadtree; + VideoIOYuv m_fileLDecoded; +#endif bool m_newCLVS[MAX_NUM_LAYER_IDS]; ///< used to record a new CLVSS diff --git a/source/App/DecoderApp/DecAppCfg.cpp b/source/App/DecoderApp/DecAppCfg.cpp index 58d4f9a6e405791b43af24ccef9bcb374e7c97e6..027d4a3e58beb7e32d3a168524d9316d72fa051a 100644 --- a/source/App/DecoderApp/DecAppCfg.cpp +++ b/source/App/DecoderApp/DecAppCfg.cpp @@ -140,6 +140,17 @@ bool DecAppCfg::parseCfg( int argc, char* argv[] ) ("MCTSCheck", m_mctsCheck, false, "If enabled, the decoder checks for violations of mc_exact_sample_value_match_flag in Temporal MCTS ") ("targetSubPicIdx", m_targetSubPicIdx, 0, "Specify which subpicture shall be written to output, using subpic index, 0: disabled, subpicIdx=m_targetSubPicIdx-1 \n" ) ( "UpscaledOutput", m_upscaledOutput, 0, "Upscaled output for RPR" ) +#if JVET_AB0149_INTRA_PRED + ("DescriptionPairHeightWidthPathToGraphOutput", m_descriptionPairHeightWidthPathToGraphOutput, string(""), "Description of each pair of block height and width being a map key and the path to the output graph of the prediction neural network being its string value.") + ("PrefixAbsolutePathsToGraphsOutput", m_prefixAbsolutePathsToGraphsOutput, string(""), "Prefix of the absolute path to the output graph of each prediction neural network.") +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS && JVET_AB0149_SEARCH_PNN + ("AreCostsWritten", m_areCostsWritten, false, "Flag indicating whether the costs are written to file.") +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + ("PathToQuadtreeRecords", m_pathToQuadtreeRecords, string(""), "Path to the text file containing the part.") + ("PathToFileLDecoded", m_pathToFileLDecoded, string(""), "Path to the binary file to which the decoded picture is written.") +#endif ; po::setDefaults(opts); @@ -257,6 +268,13 @@ bool DecAppCfg::parseCfg( int argc, char* argv[] ) { m_targetOlsIdx = -1; } +#endif +#if JVET_AB0149_INTRA_PRED + if (m_descriptionPairHeightWidthPathToGraphOutput.empty()) + { + fprintf(stderr,"The description of each pair of block height and width being a map key and the path to the output graph of the prediction neural network being its string value has to be provided."); + return false; + } #endif return true; } @@ -286,6 +304,17 @@ DecAppCfg::DecAppCfg() , m_packedYUVMode(false) , m_statMode(0) , m_mctsCheck(false) +#if JVET_AB0149_INTRA_PRED +, m_descriptionPairHeightWidthPathToGraphOutput("") +, m_prefixAbsolutePathsToGraphsOutput("") +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +, m_areCostsWritten(false) +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +, m_pathToQuadtreeRecords("") +, m_pathToFileLDecoded("") +#endif { for (uint32_t channelTypeIndex = 0; channelTypeIndex < MAX_NUM_CHANNEL_TYPE; channelTypeIndex++) { diff --git a/source/App/DecoderApp/DecAppCfg.h b/source/App/DecoderApp/DecAppCfg.h index 2315e946ec1fd2ba04ce8d90aab9ac79928f70fc..7dbb765f403657bd0be5138cd1f3c5c8bfdc547a 100644 --- a/source/App/DecoderApp/DecAppCfg.h +++ b/source/App/DecoderApp/DecAppCfg.h @@ -102,6 +102,18 @@ protected: int m_upscaledOutput; ////< Output upscaled (2), decoded but in full resolution buffer (1) or decoded cropped (0, default) picture for RPR. int m_targetSubPicIdx; ///< Specify which subpicture shall be write to output, using subpicture index +#if JVET_AB0149_INTRA_PRED + std::string m_descriptionPairHeightWidthPathToGraphOutput; + std::string m_prefixAbsolutePathsToGraphsOutput; +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::string m_pathToQuadtreeRecords; + std::string m_pathToFileLDecoded; +#endif + public: DecAppCfg(); virtual ~DecAppCfg(); diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index 69d6bcf2798d1ddce51bc0c868c6b7ca6fd5fa0c..03f3e3cca136aab2459b699402e3dce050eecc87 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -1132,6 +1132,18 @@ void EncApp::xInitLibCfg() m_cEncLib.setNumRefLayers ( m_numRefLayers ); m_cEncLib.setVPSParameters(m_cfgVPSParameters); +#if JVET_AB0149_INTRA_PRED + m_cEncLib.setDescriptionPairHeightWidthPathToGraphOutput(m_descriptionPairHeightWidthPathToGraphOutput); + m_cEncLib.setPrefixAbsolutePathsToGraphsOutput(m_prefixAbsolutePathsToGraphsOutput); +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_cEncLib.setAreCostsWritten(m_areCostsWritten); +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_cEncLib.setPtrOfstreamQuadtree(m_ofstreamQuadtree); + m_cEncLib.setPathToFileLOriginal(m_pathToFileLOriginal); + m_cEncLib.setPathToFileLReconstructed(m_pathToFileLReconstructed); +#endif } void EncApp::xCreateLib( std::list<PelUnitBuf*>& recBufList, const int layerId ) @@ -1204,6 +1216,15 @@ void EncApp::xInitLib(bool isFieldCoding) void EncApp::createLib( const int layerIdx ) { +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pathToQuadtreeRecords.empty()) + { + std::ifstream file_test(m_pathToQuadtreeRecords); + CHECK(file_test.is_open(), "A file already exists at \"" + m_pathToQuadtreeRecords + "\"."); + m_ofstreamQuadtree.open(m_pathToQuadtreeRecords.c_str(), std::ios::out); + CHECK(m_ofstreamQuadtree.fail(), "The file at \"" + m_pathToQuadtreeRecords + "\" cannot be opened."); + } +#endif const int sourceHeight = m_isField ? m_iSourceHeightOrg : m_iSourceHeight; UnitArea unitArea( m_chromaFormatIDC, Area( 0, 0, m_iSourceWidth, sourceHeight ) ); @@ -1243,7 +1264,12 @@ void EncApp::createLib( const int layerIdx ) m_temporalFilter.init( m_FrameSkip, m_inputBitDepth, m_MSBExtendedBitDepth, m_internalBitDepth, m_iSourceWidth, sourceHeight, m_aiPad, m_bClipInputVideoToRec709Range, m_inputFileName, m_chromaFormatIDC, m_inputColourSpaceConvert, m_iQP, m_gopBasedTemporalFilterStrengths, - m_gopBasedTemporalFilterFutureReference ); + m_gopBasedTemporalFilterFutureReference +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areOriginalFv + , m_areOriginalFh +#endif + ); } } @@ -1283,6 +1309,12 @@ void EncApp::destroyLib() #endif printRateSummary(); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pathToQuadtreeRecords.empty()) + { + m_ofstreamQuadtree.close(); + } +#endif } bool EncApp::encodePrep( bool& eos ) @@ -1302,7 +1334,12 @@ bool EncApp::encodePrep( bool& eos ) m_cVideoIOYuvInputFile.read( *m_orgPic, *m_trueOrgPic, ipCSC, m_aiPad, m_InputChromaFormatIDC, m_bClipInputVideoToRec709Range ); } #else - m_cVideoIOYuvInputFile.read( *m_orgPic, *m_trueOrgPic, ipCSC, m_aiPad, m_InputChromaFormatIDC, m_bClipInputVideoToRec709Range ); + m_cVideoIOYuvInputFile.read( *m_orgPic, *m_trueOrgPic, ipCSC, m_aiPad +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areOriginalFv + , m_areOriginalFh +#endif + , m_InputChromaFormatIDC, m_bClipInputVideoToRec709Range ); #endif if( m_gopBasedTemporalFilterEnabled ) diff --git a/source/App/EncoderApp/EncApp.h b/source/App/EncoderApp/EncApp.h index 0efa6935e5fc94b6c211999065fe9bc0c8ddad8a..b3b2f3e8c43782d848e81ffafddaf3c80c463cdc 100644 --- a/source/App/EncoderApp/EncApp.h +++ b/source/App/EncoderApp/EncApp.h @@ -103,6 +103,9 @@ private: #endif EncTemporalFilter m_temporalFilter; bool m_flush; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream m_ofstreamQuadtree; +#endif public: EncApp( fstream& bitStream, EncLibCommon* encLibCommon ); diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index eb409f7ff1fec00f2478f4d32ea1f3cbe1589f25..8ba5c3cf29be3cdc8b459fc01376c5cee846cf86 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -87,6 +87,20 @@ EncAppCfg::EncAppCfg() #if EXTENSION_360_VIDEO , m_ext360(*this) #endif +#if JVET_AB0149_INTRA_PRED +, m_descriptionPairHeightWidthPathToGraphOutput("") +, m_prefixAbsolutePathsToGraphsOutput("") +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +, m_areCostsWritten(false) +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +, m_pathToQuadtreeRecords("") +, m_areOriginalFv(false) +, m_areOriginalFh(false) +, m_pathToFileLOriginal("") +, m_pathToFileLReconstructed("") +#endif { m_aidQP = NULL; } @@ -1480,9 +1494,22 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) #endif ("TemporalFilter", m_gopBasedTemporalFilterEnabled, false, "Enable GOP based temporal filter. Disabled per default") ("TemporalFilterFutureReference", m_gopBasedTemporalFilterFutureReference, true, "Enable referencing of future frames in the GOP based temporal filter. This is typically disabled for Low Delay configurations.") - ("TemporalFilterStrengthFrame*", m_gopBasedTemporalFilterStrengths, std::map<int, double>(), "Strength for every * frame in GOP based temporal filter, where * is an integer." - " E.g. --TemporalFilterStrengthFrame8 0.95 will enable GOP based temporal filter at every 8th frame with strength 0.95"); - // clang-format on + ("TemporalFilterStrengthFrame*", m_gopBasedTemporalFilterStrengths, std::map<int, double>(), "Strength for every * frame in GOP based temporal filter, where * is an integer. E.g. --TemporalFilterStrengthFrame8 0.95 will enable GOP based temporal filter at every 8th frame with strength 0.95.") +#if JVET_AB0149_INTRA_PRED + ("DescriptionPairHeightWidthPathToGraphOutput", m_descriptionPairHeightWidthPathToGraphOutput, string(""), "Description of each pair of block height and width being a map key and the path to the output graph of the prediction neural network being its string value.") + ("PrefixAbsolutePathsToGraphsOutput", m_prefixAbsolutePathsToGraphsOutput, string(""), "Prefix of the absolute path to the output graph of each prediction neural network.") +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + ("AreCostsWritten", m_areCostsWritten, false, "Flag indicating whether the costs are written to file.") +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + ("PathToQuadtreeRecords", m_pathToQuadtreeRecords, string(""), "Path to the text file containing the part.") + ("AreOriginalFv", m_areOriginalFv, false, "") + ("AreOriginalFh", m_areOriginalFh, false, "") + ("PathToFileLOriginal", m_pathToFileLOriginal, string(""), "Path to the binary file to which the original picture is written.") + ("PathToFileLReconstructed", m_pathToFileLReconstructed, string(""), "Path to the binary file to which the reconstructed picture is written.") +#endif + ; #if EXTENSION_360_VIDEO TExt360AppEncCfg::TExt360AppEncCfgContext ext360CfgContext; @@ -3682,6 +3709,9 @@ bool EncAppCfg::xCheckParameter() } xConfirmPara( m_sariAspectRatioIdc < 0 || m_sariAspectRatioIdc > 255, "SEISARISampleAspectRatioIdc must be in the range of 0 to 255"); +#if JVET_AB0149_INTRA_PRED + xConfirmPara(m_descriptionPairHeightWidthPathToGraphOutput.empty(),"The description of each pair of block height and width being a map key and the path to the output graph of the prediction neural network being its string has to be provided."); +#endif if ( m_RCEnableRateControl ) { diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index 62c09f67e019d39b28f7702d74a947764165de21..5d59c2ab366a57df7907921ea173779fad99244f 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -780,7 +780,20 @@ protected: CfgVPSParameters m_cfgVPSParameters; Level::Name m_levelPtl[MAX_NUM_OLSS]; int m_olsPtlIdx[MAX_NUM_OLSS]; - +#if JVET_AB0149_INTRA_PRED + std::string m_descriptionPairHeightWidthPathToGraphOutput; + std::string m_prefixAbsolutePathsToGraphsOutput; +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::string m_pathToQuadtreeRecords; + bool m_areOriginalFv; + bool m_areOriginalFh; + std::string m_pathToFileLOriginal; + std::string m_pathToFileLReconstructed; +#endif #if EXTENSION_360_VIDEO TExt360AppEncCfg m_ext360; friend class TExt360AppEncCfg; diff --git a/source/Lib/CommonLib/CMakeLists.txt b/source/Lib/CommonLib/CMakeLists.txt index f448473ce38a9df0277c158025c17c5574a5082a..262398f0a65d476d5342a41b1f84b9f770a212da 100644 --- a/source/Lib/CommonLib/CMakeLists.txt +++ b/source/Lib/CommonLib/CMakeLists.txt @@ -119,6 +119,15 @@ elseif( UNIX OR MINGW ) set_property( SOURCE NNFilterSet1.cpp APPEND PROPERTY COMPILE_FLAGS "-DNDEBUG=1 -mavx2 -ffast-math") endif() endif() +if(UNIX) + if(NNLF_BUILD_WITH_AVX512 STREQUAL "1") + set_property( SOURCE intra_pred_sadl.cpp APPEND PROPERTY COMPILE_FLAGS "-ffast-math -Wall -fstrict-aliasing -mavx512f") + else() + set_property( SOURCE intra_pred_sadl.cpp APPEND PROPERTY COMPILE_FLAGS "-ffast-math -Wall -fstrict-aliasing -mavx2") + endif() +elseif(MSVC) + set_property( SOURCE intra_pred_sadl.cpp APPEND PROPERTY COMPILE_FLAGS "/arch:AVX2") +endif() # example: place header files in different folders source_group( "Natvis Files" FILES ${NATVIS_FILES} ) diff --git a/source/Lib/CommonLib/CommonDef.h b/source/Lib/CommonLib/CommonDef.h index ab594c457c2364f99203db05104053e3a3d22136..a8c42e17eb4de8c6d90fdeddfa7d81bf4ee9fd5d 100644 --- a/source/Lib/CommonLib/CommonDef.h +++ b/source/Lib/CommonLib/CommonDef.h @@ -261,6 +261,12 @@ static const int MULTI_REF_LINE_IDX[4] = { 0, 1, 2, 0 }; static const int PRED_REG_MIN_WIDTH = 4; // Minimum prediction region width for ISP subblocks static const int NUM_LUMA_MODE = 67; ///< Planar + DC + 65 directional mode (4*16 + 1) + +#if JVET_AB0149_INTRA_PRED +static const int OFFSET_LUMA = NUM_LUMA_MODE - 6; +static const int MODULO_LUMA = OFFSET_LUMA + 3; +#endif + static const int NUM_LMC_MODE = 1 + 2; ///< LMC + MDLM_T + MDLM_L static const int NUM_INTRA_MODE = (NUM_LUMA_MODE + NUM_LMC_MODE); @@ -281,6 +287,12 @@ static const int LM_CHROMA_IDX = NUM_LUMA_MODE; ///< chroma mode index for deriv static const int MDLM_L_IDX = LM_CHROMA_IDX + 1; ///< MDLM_L static const int MDLM_T_IDX = LM_CHROMA_IDX + 2; ///< MDLM_T static const int DM_CHROMA_IDX = NUM_INTRA_MODE; ///< chroma mode index for derived from luma intra mode +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +static const uint8_t NB_INTRA_MODES_STATS = 6; +#endif +#if JVET_AB0149_INTRA_PRED +static const int PNN_IDX = 71; +#endif static const uint32_t NUM_TRAFO_MODES_MTS = 6; ///< Max Intra CU size applying EMT, supported values: 8, 16, 32, 64, 128 static const uint32_t MTS_INTRA_MAX_CU_SIZE = 32; ///< Max Intra CU size applying EMT, supported values: 8, 16, 32, 64, 128 @@ -297,7 +309,9 @@ static const int LFNST_LAST_SIG_LUMA = 1; static const int LFNST_LAST_SIG_CHROMA = 1; static const int NUM_LFNST_NUM_PER_SET = 3; - +#if JVET_AB0149_INTRA_PRED && (JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN) +static const int DEPTH_LFNST_GROUP = 7; +#endif static const int LOG2_MAX_NUM_COLUMNS_MINUS1 = 7; static const int LOG2_MAX_NUM_ROWS_MINUS1 = 7; diff --git a/source/Lib/CommonLib/ContextModelling.cpp b/source/Lib/CommonLib/ContextModelling.cpp index 3e1a44b0e3058766467612c1606a894f5c47640f..5d9dfee97826897a05453e813a21a8b66d2b40d4 100644 --- a/source/Lib/CommonLib/ContextModelling.cpp +++ b/source/Lib/CommonLib/ContextModelling.cpp @@ -568,6 +568,33 @@ unsigned DeriveCtx::CtxMipFlag( const CodingUnit& cu ) return ctxId; } +#if JVET_AB0149_INTRA_PRED +uint16_t DeriveCtx::CtxPnnLFlag(const CodingUnit& cu) +{ + const CodingStructure* cs = cu.cs; + uint16_t ctxId = 0; + const CodingUnit* cuLeft = cs->getCURestricted(cu.lumaPos().offset(-1, 0),cu,CHANNEL_TYPE_LUMA); + if (cuLeft) + { + const uint32_t indexModeLeft = PU::getFinalIntraMode(*cuLeft->firstPU,CHANNEL_TYPE_LUMA); + if (indexModeLeft == PNN_IDX) + { + ctxId = 1; + } + } + const CodingUnit* cuAbove = cs->getCURestricted(cu.lumaPos().offset(0, -1),cu,CHANNEL_TYPE_LUMA); + if (cuAbove) + { + const uint32_t indexModeAbove = PU::getFinalIntraMode(*cuAbove->firstPU,CHANNEL_TYPE_LUMA); + if (indexModeAbove == PNN_IDX) + { + ctxId = 1; + } + } + return ctxId; +} +#endif + unsigned DeriveCtx::CtxPltCopyFlag( const unsigned prevRunType, const unsigned dist ) { uint8_t *ucCtxLut = (prevRunType == PLT_RUN_INDEX) ? g_paletteRunLeftLut : g_paletteRunTopLut; diff --git a/source/Lib/CommonLib/ContextModelling.h b/source/Lib/CommonLib/ContextModelling.h index e3006c3e503723e4974ea1ebadace39de13dc6eb..ca092fd80dc00570cf36b60a07a109476c564e17 100644 --- a/source/Lib/CommonLib/ContextModelling.h +++ b/source/Lib/CommonLib/ContextModelling.h @@ -501,6 +501,9 @@ unsigned CtxAffineFlag( const CodingUnit& cu ); unsigned CtxPredModeFlag( const CodingUnit& cu ); unsigned CtxIBCFlag(const CodingUnit& cu); unsigned CtxMipFlag ( const CodingUnit& cu ); +#if JVET_AB0149_INTRA_PRED +uint16_t CtxPnnLFlag(const CodingUnit& cu); +#endif unsigned CtxPltCopyFlag( const unsigned prevRunType, const unsigned dist ); } diff --git a/source/Lib/CommonLib/Contexts.cpp b/source/Lib/CommonLib/Contexts.cpp index 35b5e67815b857e188eed27cc1b4eeaca2b89de5..68aabbc248055bc3971a6374ced91ef90da855af 100644 --- a/source/Lib/CommonLib/Contexts.cpp +++ b/source/Lib/CommonLib/Contexts.cpp @@ -305,6 +305,7 @@ const CtxSet ContextSetCfg::IntraLumaMpmFlag = ContextSetCfg::addCtxSet { 6, }, }); +#if !JVET_AB0149_INTRA_PRED const CtxSet ContextSetCfg::IntraLumaPlanarFlag = ContextSetCfg::addCtxSet ({ { 13, 6, }, @@ -312,6 +313,7 @@ const CtxSet ContextSetCfg::IntraLumaPlanarFlag = ContextSetCfg::addCtxSet { 13, 28, }, { 1, 5, }, }); +#endif const CtxSet ContextSetCfg::CclmModeFlag = ContextSetCfg::addCtxSet ({ @@ -337,6 +339,16 @@ const CtxSet ContextSetCfg::IntraChromaPredMode = ContextSetCfg::addCtxSet { 5, }, }); +#if JVET_AB0149_INTRA_PRED +const CtxSet ContextSetCfg::PnnChrominanceFlag = ContextSetCfg::addCtxSet +({ + {11}, + {11}, + {CNU}, + {5}, +}); +#endif + const CtxSet ContextSetCfg::MipFlag = ContextSetCfg::addCtxSet ({ { 56, 57, 50, 26, }, @@ -345,6 +357,16 @@ const CtxSet ContextSetCfg::MipFlag = ContextSetCfg::addCtxSet { 9, 10, 9, 6, }, }); +#if JVET_AB0149_INTRA_PRED +const CtxSet ContextSetCfg::PnnLuminanceFlag = ContextSetCfg::addCtxSet +({ + {CNU, CNU}, + {CNU, CNU}, + {CNU, CNU}, + {5, 5} +}); +#endif + const CtxSet ContextSetCfg::DeltaQP = ContextSetCfg::addCtxSet ({ { CNU, CNU, }, @@ -656,6 +678,7 @@ const CtxSet ContextSetCfg::LFNSTIdx = ContextSetCfg::addCtxSet { 9, 9, 10, }, }); + const CtxSet ContextSetCfg::PLTFlag = ContextSetCfg::addCtxSet ({ { 17, }, diff --git a/source/Lib/CommonLib/Contexts.h b/source/Lib/CommonLib/Contexts.h index 40a67e00029b2b8d41ca5621569a579593e02cdd..f3bc207535bf20a540c0563a4a38bd6b8ef472ce 100644 --- a/source/Lib/CommonLib/Contexts.h +++ b/source/Lib/CommonLib/Contexts.h @@ -206,11 +206,19 @@ public: static const CtxSet PredMode; static const CtxSet MultiRefLineIdx; static const CtxSet IntraLumaMpmFlag; +#if !JVET_AB0149_INTRA_PRED static const CtxSet IntraLumaPlanarFlag; +#endif static const CtxSet CclmModeFlag; static const CtxSet CclmModeIdx; static const CtxSet IntraChromaPredMode; +#if JVET_AB0149_INTRA_PRED + static const CtxSet PnnChrominanceFlag; +#endif static const CtxSet MipFlag; +#if JVET_AB0149_INTRA_PRED + static const CtxSet PnnLuminanceFlag; +#endif static const CtxSet DeltaQP; static const CtxSet InterDir; static const CtxSet RefPic; diff --git a/source/Lib/CommonLib/IntraPrediction.cpp b/source/Lib/CommonLib/IntraPrediction.cpp index c70917b889ea91a2f1820d787289a70801a4b292..bfb61ba01b9f2255dfef0225fae828ca2fd3d927 100644 --- a/source/Lib/CommonLib/IntraPrediction.cpp +++ b/source/Lib/CommonLib/IntraPrediction.cpp @@ -47,6 +47,12 @@ #include <memory.h> #include "CommonLib/InterpolationFilter.h" +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +#if JVET_AB0149_INTRA_PRED +#include "intra_pred_extraction_context.h" +#endif +#include "intra_pred_utils.h" +#endif //! \ingroup CommonLib //! \{ @@ -74,6 +80,13 @@ const uint8_t IntraPrediction::m_aucIntraFilter[MAX_INTRA_FILTER_DEPTHS] = IntraPrediction::IntraPrediction() : +#if JVET_AB0149_INTRA_PRED + m_mean_context(0), +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_heightML(-1), + m_widthMA(-1), +#endif m_currChromaFormat( NUM_CHROMA_FORMAT ) { for (uint32_t ch = 0; ch < MAX_NUM_COMPONENT; ch++) @@ -110,7 +123,12 @@ void IntraPrediction::destroy() m_pMdlmTemp = nullptr; } -void IntraPrediction::init(ChromaFormat chromaFormatIDC, const unsigned bitDepthY) +void IntraPrediction::init(ChromaFormat chromaFormatIDC +#if JVET_AB0149_INTRA_PRED + , const std::string& description_pair_height_width_path_to_graph_output + , const std::string& prefix_absolute_paths_to_graphs_output +#endif + ) { if (m_yuvExt2[COMPONENT_Y][0] != nullptr && m_currChromaFormat != chromaFormatIDC) { @@ -118,8 +136,26 @@ void IntraPrediction::init(ChromaFormat chromaFormatIDC, const unsigned bitDepth } m_currChromaFormat = chromaFormatIDC; - - +#if JVET_AB0149_INTRA_PRED + if (models.empty()) + { + int error_code = 0; + error_code = fill_map_height_width_target_vector_tensors_input(tensors,g_vectorPairsHeightWidthPnn); + CHECK(error_code < 0,"Error in `fill_map_height_width_target_vector_tensors_input`."); + error_code = fill_map_height_width_target_model(models,g_vectorPairsHeightWidthPnn); + CHECK(error_code < 0,"Error in `fill_map_height_width_target_model`."); + std::string prefix_common = prefix_absolute_paths_to_graphs_output; + if (!prefix_common.empty()) + { + prefix_common += "/"; + } + std::map<SizeNn, std::string> map_hw_path; + error_code = fill_map_pair_ints_string_from_string(map_hw_path,description_pair_height_width_path_to_graph_output,";",",",prefix_common); + CHECK(error_code < 0,"Error in `fill_map_pair_ints_string_from_string`."); + error_code = read_graphs_init_models(models,map_hw_path,tensors); + CHECK(error_code < 0,"Error in `read_graphs_init_models`."); + } +#endif if (m_yuvExt2[COMPONENT_Y][0] == nullptr) // check if first is null (in which case, nothing initialised yet) { m_yuvExtSize2 = (MAX_CU_SIZE) * (MAX_CU_SIZE); @@ -212,7 +248,11 @@ void IntraPrediction::setReferenceArrayLengths( const CompArea &area ) m_topRefLength = (width << 1); } -void IntraPrediction::predIntraAng( const ComponentID compId, PelBuf &piPred, const PredictionUnit &pu) +void IntraPrediction::predIntraAng( const ComponentID compId, PelBuf &piPred, const PredictionUnit &pu +#if JVET_AB0149_INTRA_PRED + , const bool& contextFlag +#endif + ) { const ComponentID compID = MAP_CHROMA( compId ); const ChannelType channelType = toChannelType( compID ); @@ -230,12 +270,18 @@ void IntraPrediction::predIntraAng( const ComponentID compId, PelBuf &piPred, co const CPelBuf & srcBuf = CPelBuf(getPredictorPtr(compID), srcStride, srcHStride); const ClpRng& clpRng(pu.cu->cs->slice->clpRng(compID)); - +#if JVET_AB0149_INTRA_PRED + const SPS& sps = *pu.cs->sps; +#endif switch (uiDirMode) { case(PLANAR_IDX): xPredIntraPlanar(srcBuf, piPred); break; case(DC_IDX): xPredIntraDc(srcBuf, piPred, channelType, false); break; case(BDPCM_IDX): xPredIntraBDPCM(srcBuf, piPred, isLuma(compID) ? pu.cu->bdpcmMode : pu.cu->bdpcmModeChroma, clpRng); break; +#if JVET_AB0149_INTRA_PRED + case(PNN_IDX): xPredIntraPnn(contextFlag,piPred,srcBuf,sps.getBitDepth(channelType),compID,*pu.cu); + break; +#endif default: xPredIntraAng(srcBuf, piPred, channelType, clpRng); break; } @@ -245,7 +291,11 @@ void IntraPrediction::predIntraAng( const ComponentID compId, PelBuf &piPred, co const int scale = ((floorLog2(iWidth) - 2 + floorLog2(iHeight) - 2 + 2) >> 2); CHECK(scale < 0 || scale > 31, "PDPC: scale < 0 || scale > 31"); - if (uiDirMode == PLANAR_IDX || uiDirMode == DC_IDX) + if (uiDirMode == PLANAR_IDX || uiDirMode == DC_IDX +#if JVET_AB0149_INTRA_PRED + || (uiDirMode == PNN_IDX && !contextFlag) +#endif + ) { for (int y = 0; y < iHeight; y++) { @@ -285,6 +335,124 @@ void IntraPrediction::predIntraChromaLM(const ComponentID compID, PelBuf &piPred piPred.linearTransform(a, iShift, b, true, pu.cs->slice->clpRng(compID)); } +#if JVET_AB0149_INTRA_PRED +void IntraPrediction::xPredIntraPnn(const bool& contextFlag,PelBuf& pDst,const CPelBuf& srcBuf,const int& bitDepth,const ComponentID& compID,CodingUnit& cu) +{ + const SizeNn pairInit(pDst.height,pDst.width); + transformations_context_prediction transfos; + const bool is_shape_handled_pnn = find_equivalent_p(g_vectorPairsHeightWidthPnn,pairInit,transfos); + CHECK(!is_shape_handled_pnn,"The PNN mode is going to predict a block having a shape it cannot handle."); + if (contextFlag) + { + CHECK(bitDepth != 10,"`bitDepth` is not equal to 10."); + int error_code=0; + const TypeSadl* ptr_before_u=nullptr; + const TypeSadl* ptr_ulog=nullptr; +#if JVET_AB0149_TM_INF_PNN + const TypeSadl* ptr_ut=nullptr; +#endif + const SizeNn block_size = transfos.pair_height_width_after_tr; +#if INTERNAL_INT32 || INTERNAL_INT16 + int quantizer_pred=-1; +#endif + if ( + !inferModel(models[block_size],tensors[block_size],ptr_before_u,ptr_ulog +#if JVET_AB0149_TM_INF_PNN + , ptr_ut +#endif +#if INTERNAL_INT32 || INTERNAL_INT16 + , quantizer_pred +#endif + ) + ) + { + std::cerr << "Error during inference" << std::endl; + exit(-1); + } + std::vector<uint32_t> vector_argminmaxs; +#if JVET_AB0149_TM_INF_PNN + const TypeSadl* ptr_ut_optionally=NULL; + if (transfos.is_transposed) + { + error_code = fill_systematically(ptr_ut,m_ptr_ulog_sym,NUM_LFNST_NUM_PER_SET - 1,DEPTH_LFNST_GROUP,1); + CHECK(error_code < 0,"Error in `fill_systematically`."); + ptr_ut_optionally = m_ptr_ulog_sym; + } + else + { + ptr_ut_optionally = ptr_ut; + } + error_code = collect_argminmax_per_row(ptr_ut_optionally,NUM_LFNST_NUM_PER_SET - 1,DEPTH_LFNST_GROUP,vector_argminmaxs,false); + CHECK(error_code < 0,"Error in `collect_argminmax_per_row`."); + CHECK(vector_argminmaxs.size() != NUM_LFNST_NUM_PER_SET - 1,"`vector_argmins.size()` is not equal to " + std::to_string(NUM_LFNST_NUM_PER_SET - 1) + "."); + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + cu.arrayIdxPredictedLfnstPnn[compID][i] = vector_argminmaxs[i]; + } + vector_argminmaxs.clear(); +#endif + if (isLuma(compID)) + { + error_code = collect_argminmax_per_row(ptr_ulog,1,NUM_LUMA_MODE,vector_argminmaxs,false); + CHECK(error_code < 0,"Error in `collect_argminmax_per_row`."); + CHECK(vector_argminmaxs.size() != 1,"`vector_argmins.size()` is not equal to 1."); + if (transfos.is_transposed) + { + error_code = changeAdaptively(vector_argminmaxs[0],cu.idxRepresentationPnn); + CHECK(error_code < 0,"Error in `changeAdaptively`."); + } + else + { + cu.idxRepresentationPnn = vector_argminmaxs[0]; + } + } +#if INTERNAL_FLOAT + const TypeSadl divisor = 1.f/(1 << (bitDepth - 8)); + const TypeSadl maximum = 1023.f; +#else + const int nb_bitshifts_scaling = quantizer_pred - bitDepth + 8; + CHECK(nb_bitshifts_scaling < 0,"`quantizer_pred` is strictly smaller than -`bitDepth` + 8."); + const TypeSadl divisor = static_cast<TypeSadl>(1 << nb_bitshifts_scaling); + const TypeSadl maximum = 1023; +#endif + const TypeSadl mean_context = static_cast<TypeSadl>(m_mean_context); + error_code = change_opt_last(ptr_before_u,m_ptr_intermediate,pDst.buf,srcBuf.buf + srcBuf.stride + 1,srcBuf.buf + 1,pDst.height,pDst.width,block_size.second,block_size.second,pDst.stride,1,transfos.factor_downsampling_vertical,transfos.factor_downsampling_horizontal,divisor,mean_context,maximum,transfos.is_transposed); + CHECK(error_code < 0,"Error in `change_opt_last`."); + } + else + { + xPredIntraPlanar(srcBuf,pDst); +#if JVET_AB0149_TM_INF_PNN + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + cu.arrayIdxPredictedLfnstPnn[compID][i] = 0; + } +#endif + if (isLuma(compID)) + { + cu.idxRepresentationPnn = PLANAR_IDX; + } + } +} + +int IntraPrediction::changeAdaptively(const uint32_t idxIn,uint32_t& idxInT) +{ + if (idxIn > VDIA_IDX) + { + return -1; + } + if (idxIn <= DC_IDX) + { + idxInT = idxIn; + } + else + { + idxInT = 68 - idxIn; + } + return 0; +} +#endif + /** Function for deriving planar intra prediction. This function derives the prediction samples for planar mode (intra coding). */ @@ -364,7 +532,14 @@ void IntraPrediction::initPredIntraParams(const PredictionUnit & pu, const CompA const Size cuSize = Size( pu.cu->blocks[compId].width, pu.cu->blocks[compId].height ); const Size puSize = Size( area.width, area.height ); const Size& blockSize = useISP ? cuSize : puSize; - const int dirMode = PU::getFinalIntraMode(pu, chType); + int dirMode = PU::getFinalIntraMode(pu, + chType); +#if JVET_AB0149_INTRA_PRED + if (dirMode == PNN_IDX) + { + dirMode = PLANAR_IDX; + } +#endif const int predMode = getModifiedWideAngle( blockSize.width, blockSize.height, dirMode ); m_ipaParam.isModeVer = predMode >= DIA_IDX; @@ -743,20 +918,59 @@ void IntraPrediction::geneIntrainterPred(const CodingUnit &cu) } const PredictionUnit* pu = cu.firstPU; - - initIntraPatternChType(cu, pu->Y()); - predIntraAng(COMPONENT_Y, cu.cs->getPredBuf(*pu).Y(), *pu); +#if JVET_AB0149_INTRA_PRED + bool is_context_extracted = false; + bool contextFlag = false; +#endif + initIntraPatternChType(cu, pu->Y() +#if JVET_AB0149_INTRA_PRED + , contextFlag + , is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + predIntraAng(COMPONENT_Y,cu.cs->getPredBuf(*pu).Y(),*pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); int maxCompID = 1; if (isChromaEnabled(pu->chromaFormat)) { maxCompID = MAX_NUM_COMPONENT; if (pu->chromaSize().width > 2) { - initIntraPatternChType(cu, pu->Cb()); - predIntraAng(COMPONENT_Cb, cu.cs->getPredBuf(*pu).Cb(), *pu); - - initIntraPatternChType(cu, pu->Cr()); - predIntraAng(COMPONENT_Cr, cu.cs->getPredBuf(*pu).Cr(), *pu); + initIntraPatternChType(cu,pu->Cb() +#if JVET_AB0149_INTRA_PRED + , contextFlag + , is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + predIntraAng(COMPONENT_Cb,cu.cs->getPredBuf(*pu).Cb(),*pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); + + initIntraPatternChType(cu,pu->Cr() +#if JVET_AB0149_INTRA_PRED + , contextFlag + , is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + predIntraAng(COMPONENT_Cr,cu.cs->getPredBuf(*pu).Cr(),*pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } } for (int currCompID = 0; currCompID < maxCompID; currCompID++) @@ -777,7 +991,194 @@ inline int isLeftAvailable ( const CodingUnit &cu, const ChannelType &chT inline int isAboveRightAvailable ( const CodingUnit &cu, const ChannelType &chType, const Position &posRT, const uint32_t uiNumUnitsInPU, const uint32_t unitHeight, bool *validFlags ); inline int isBelowLeftAvailable ( const CodingUnit &cu, const ChannelType &chType, const Position &posLB, const uint32_t uiNumUnitsInPU, const uint32_t unitHeight, bool *validFlags ); -void IntraPrediction::initIntraPatternChType(const CodingUnit &cu, const CompArea &area, const bool forceRefFilterFlag) +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +int get_dim_mask_in_units_from_neighboring_flags(const bool* const ptr_neighboring_flags,const int& nb_units_border,const int& dim_cb_in_units,const bool& is_indexing_flags_reversed,int& dim_mask_in_units) +{ + int index_first_true{-1}; + bool flag_neighboring{false}; + for (int i = 0; i < nb_units_border; i++) + { + flag_neighboring = ptr_neighboring_flags[is_indexing_flags_reversed ? -i : i]; + if (index_first_true != -1 && !flag_neighboring) + { + return -1; + } + if (flag_neighboring) + { + if (index_first_true == -1) + { + index_first_true = i; + } + } + } + if (index_first_true > nb_units_border - dim_cb_in_units) + { + if (index_first_true != -1) + { + return -1; + } + dim_mask_in_units = -1; + } + else + { + dim_mask_in_units = index_first_true; + } + return 0; +} + +int get_dim_mask_in_pixels_from_neighboring_flags(const bool* const ptr_neighboring_flags,const int& dim_unit,const int& nb_units_border,const int& dim_cb_in_units,const bool& is_indexing_flags_reversed,int& dim_mask_in_pixels) +{ + int dim_mask_in_units{0}; + const int error_code = get_dim_mask_in_units_from_neighboring_flags(ptr_neighboring_flags,nb_units_border,dim_cb_in_units,is_indexing_flags_reversed,dim_mask_in_units); + if (error_code < 0) + { + return -1; + } + if (dim_mask_in_units == -1) + { + dim_mask_in_pixels = -1; + } + else + { + dim_mask_in_pixels = dim_unit*dim_mask_in_units; + } + return 0; +} + +int get_width_height_masks_nn_in_pixels_from_neighboring_flags(const bool* const ptr_neighboring_flags,const int& height_unit,const int& width_unit,const int& nb_units_above,const int& nb_units_left,const int& height_cb_in_units,const int& width_cb_in_units,int& height_mask_left_nn_in_pixels,int& width_mask_above_nn_in_pixels) +{ + int error_code = get_dim_mask_in_pixels_from_neighboring_flags(ptr_neighboring_flags,height_unit,nb_units_left,height_cb_in_units,false,height_mask_left_nn_in_pixels); + if (error_code < 0) + { + return -1; + } + error_code = get_dim_mask_in_pixels_from_neighboring_flags(ptr_neighboring_flags + nb_units_left + nb_units_above,width_unit,nb_units_above,width_cb_in_units,true,width_mask_above_nn_in_pixels); + if (error_code < 0) + { + return -1; + } + return 0; +} +#endif + +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +void IntraPrediction::collectContext(const CompArea& area,const CodingUnit& cu,const int unitHeight,const int unitWidth +#if JVET_AB0149_INTRA_PRED + , const Pel* const piRoiOrigin,const int iPicStride,const Pel* const refBufUnfiltered,const int bitdepth,bool& contextFlag,const bool is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& isComputedHeightWidthMasks,int& heightMaskLeft,int& widthMaskAbove +#endif + ) +{ + const ChannelType chType = toChannelType(area.compID); + const int tuHeight = static_cast<int>(area.height); + const int tuWidth = static_cast<int>(area.width); + const SizeNn pair0(tuHeight,tuWidth); + SizeNn pairSizesCtxBorders(0,0); + get_sizes_context_borders(pair0,pairSizesCtxBorders); + const int totalAboveUnits{static_cast<int>(pairSizesCtxBorders.second)/unitWidth}; + const int totalLeftUnits{static_cast<int>(pairSizesCtxBorders.first)/unitHeight}; + const int totalUnits{totalAboveUnits + totalLeftUnits + 1}; + const int numAboveUnits{tuWidth/unitWidth}; + const int numLeftUnits{tuHeight/unitHeight}; + const int numAboveRightUnits{totalAboveUnits - numAboveUnits}; + const int numLeftBelowUnits{totalLeftUnits - numLeftUnits}; + const Position posLT(area); + const Position posRT(area.topRight()); + const Position posLB(area.bottomLeft()); + bool arrayNeighborFlags[4*MAX_NUM_PART_IDXS_IN_CTU_WIDTH + 1]; + int numIntraNeighbor = 0; + memset(arrayNeighborFlags,0,totalUnits); + arrayNeighborFlags[totalLeftUnits] = isAboveLeftAvailable(cu,chType,posLT); + numIntraNeighbor += arrayNeighborFlags[totalLeftUnits] ? 1 : 0; + numIntraNeighbor += isAboveAvailable(cu,chType,posLT,numAboveUnits,unitWidth,arrayNeighborFlags + totalLeftUnits + 1); + numIntraNeighbor += isAboveRightAvailable(cu,chType,posRT,numAboveRightUnits,unitWidth,arrayNeighborFlags + totalLeftUnits + 1 + numAboveUnits); + numIntraNeighbor += isLeftAvailable(cu, chType,posLT,numLeftUnits,unitHeight,arrayNeighborFlags + totalLeftUnits - 1); + numIntraNeighbor += isBelowLeftAvailable(cu,chType,posLB,numLeftBelowUnits,unitHeight,arrayNeighborFlags + totalLeftUnits - 1 - numLeftUnits); + int error_code{0}; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (isComputedHeightWidthMasks) + { + error_code = get_width_height_masks_nn_in_pixels_from_neighboring_flags(&arrayNeighborFlags[0],unitHeight,unitWidth,totalAboveUnits,totalLeftUnits,numLeftUnits,numAboveUnits,heightMaskLeft,widthMaskAbove); + CHECK(error_code < 0,"Error in `get_width_height_masks_nn_in_pixels_from_neighboring_flags`."); + } +#endif +#if JVET_AB0149_INTRA_PRED + contextFlag = false; + if (is_context_extracted) + { + transformations_context_prediction transfos; + const bool is_shape_handled_pnn = find_equivalent_p(g_vectorPairsHeightWidthPnn,pair0,transfos); + if (is_shape_handled_pnn) + { + SizeNn pairNbLines(0, 0); + error_code = get_nb_lines(pair0,pairNbLines); + CHECK(error_code < 0,"Error in `get_nb_lines`."); + const int nbLinesAbove = static_cast<int>(pairNbLines.first); + const int nbLinesLeft = static_cast<int>(pairNbLines.second); + contextFlag = is_context_available(cu,chType,posLT,nbLinesAbove,nbLinesLeft); + if (contextFlag) + { + CHECK(bitdepth != 10,"`bitdepth` is not equal to 10."); + const auto& pair1{transfos.pair_height_width_after_tr}; + const int nbLinesAboveTr = transfos.is_transposed ? nbLinesLeft/transfos.factor_downsampling_horizontal : nbLinesAbove/transfos.factor_downsampling_vertical; + const int nbLinesLeftTr = transfos.is_transposed ? nbLinesAbove/transfos.factor_downsampling_vertical : nbLinesLeft/transfos.factor_downsampling_horizontal; + const int sizeCtxWidthTr = transfos.is_transposed ? static_cast<int>(pairSizesCtxBorders.first)/transfos.factor_downsampling_vertical : static_cast<int>(pairSizesCtxBorders.second)/transfos.factor_downsampling_horizontal; + TypeSadl* piPortionAbove{NULL}; + TypeSadl* piPortionLeft{NULL}; + std::vector<sadl::Tensor<TypeSadl>>& vector_tensors_input{tensors.at(pair1)}; + bool is_fully_connected = false; + error_code = decide_fully_connected(pair1,is_fully_connected); + CHECK(error_code < 0,"Error in `decide_fully_connected`."); + if (is_fully_connected) + { + piPortionAbove = vector_tensors_input.at(0).data(); + piPortionLeft = piPortionAbove + nbLinesAboveTr*(nbLinesLeftTr + sizeCtxWidthTr); + } + else + { + piPortionAbove = vector_tensors_input.at(0).data(); + piPortionLeft = vector_tensors_input.at(1).data(); + } +#if INTERNAL_FLOAT + const TypeSadl scaleQuantizer = 1.f/(1 << (bitdepth - 8)); + const TypeSadl maskValue = 0; +#else + const int input_quantizer_tf2cpp{ +#if INTERNAL_INT32 + 23 +#else + 7 +#endif + }; + const int nb_bitshifts_scaling = input_quantizer_tf2cpp - bitdepth + 8; + const TypeSadl scaleQuantizer = static_cast<TypeSadl>(1 << nb_bitshifts_scaling); + const TypeSadl maskValue = 0; + for (auto it = vector_tensors_input.begin(); it != vector_tensors_input.end(); it++) + { + it->quantizer = input_quantizer_tf2cpp; + } +#endif + error_code = extract_pre_cin_optionally(piRoiOrigin,piPortionAbove,piPortionLeft,&arrayNeighborFlags[0],NULL,unitWidth,unitHeight,totalAboveUnits,totalLeftUnits,nbLinesAbove,nbLinesLeft,transfos.factor_downsampling_vertical,transfos.factor_downsampling_horizontal,iPicStride,-1,-1,scaleQuantizer,maskValue,transfos.is_transposed,is_fully_connected,m_mean_context); + CHECK(error_code < 0,"Error in `extract_pre_cin_optionally`."); + } + } + } +#endif +} +#endif + +void IntraPrediction::initIntraPatternChType(const CodingUnit &cu, const CompArea &area, + +#if JVET_AB0149_INTRA_PRED + bool& contextFlag, + const bool& is_context_extracted, +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool& isComputedHeightWidthMasks, +#endif + const bool forceRefFilterFlag) { CHECK(area.width == 2, "Width of 2 is not supported"); const CodingStructure& cs = *cu.cs; @@ -793,7 +1194,15 @@ void IntraPrediction::initIntraPatternChType(const CodingUnit &cu, const CompAre setReferenceArrayLengths( area ); // ----- Step 1: unfiltered reference samples ----- - xFillReferenceSamples( cs.picture->getRecoBuf( area ), refBufUnfiltered, area, cu ); + xFillReferenceSamples( cs.picture->getRecoBuf( area ), refBufUnfiltered, area, cu +#if JVET_AB0149_INTRA_PRED + , contextFlag + , is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks +#endif + ); // ----- Step 2: filtered reference samples ----- if( m_ipaParam.refFilterFlag || forceRefFilterFlag ) { @@ -801,7 +1210,11 @@ void IntraPrediction::initIntraPatternChType(const CodingUnit &cu, const CompAre } } -void IntraPrediction::initIntraPatternChTypeISP(const CodingUnit& cu, const CompArea& area, PelBuf& recBuf, const bool forceRefFilterFlag) +void IntraPrediction::initIntraPatternChTypeISP(const CodingUnit& cu, const CompArea& area, PelBuf& recBuf, +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool& isComputedHeightWidthMasks, +#endif + const bool forceRefFilterFlag) { const CodingStructure& cs = *cu.cs; @@ -828,9 +1241,18 @@ void IntraPrediction::initIntraPatternChTypeISP(const CodingUnit& cu, const Comp m_leftRefLength = cu.Y().height + area.height; m_topRefLength = cu.Y().width << 1; } - - - xFillReferenceSamples(cs.picture->getRecoBuf(cu.Y()), refBufUnfiltered, cu.Y(), cu); +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; +#endif + xFillReferenceSamples(cs.picture->getRecoBuf(cu.Y()), refBufUnfiltered, cu.Y(), cu +#if JVET_AB0149_INTRA_PRED + , contextFlag + , false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks +#endif + ); // After having retrieved all the CU reference samples, the number of reference samples is now adjusted for the current subpartition m_topRefLength = cu.blocks[area.compID].width + area.width; @@ -918,7 +1340,15 @@ void IntraPrediction::initIntraPatternChTypeISP(const CodingUnit& cu, const Comp } -void IntraPrediction::xFillReferenceSamples( const CPelBuf &recoBuf, Pel* refBufUnfiltered, const CompArea &area, const CodingUnit &cu ) +void IntraPrediction::xFillReferenceSamples( const CPelBuf &recoBuf, Pel* refBufUnfiltered, const CompArea &area, const CodingUnit &cu +#if JVET_AB0149_INTRA_PRED + , bool& contextFlag + , const bool& is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& isComputedHeightWidthMasks +#endif + ) { const ChannelType chType = toChannelType( area.compID ); const CodingStructure &cs = *cu.cs; @@ -1166,6 +1596,16 @@ void IntraPrediction::xFillReferenceSamples( const CPelBuf &recoBuf, Pel* refBuf currUnit++; } } +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + collectContext(area,cu,unitHeight,unitWidth +#if JVET_AB0149_INTRA_PRED + ,srcBuf,srcStride,refBufUnfiltered,sps.getBitDepth(chType),contextFlag,is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks,m_heightML,m_widthMA +#endif + ); +#endif } void IntraPrediction::xFilterReferenceSamples(const Pel *refBufUnfiltered, Pel *refBufFiltered, const CompArea &area, @@ -1203,6 +1643,15 @@ void IntraPrediction::xFilterReferenceSamples(const Pel *refBufUnfiltered, Pel * refBufFiltered[predHSize] = refBufUnfiltered[predHSize]; } +#if JVET_AB0149_INTRA_PRED +bool is_context_available(const CodingUnit& cu,const ChannelType& chType,const Position& posLT,const int& nbLinesAbove,const int& nbLinesLeft) +{ + const CodingStructure& cs = *cu.cs; + const Position refPos = posLT.offset(-nbLinesLeft, -nbLinesAbove); + return cs.getCURestricted(refPos, cu, chType) != NULL; +} +#endif + bool isAboveLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const Position &posLT) { const CodingStructure& cs = *cu.cs; diff --git a/source/Lib/CommonLib/IntraPrediction.h b/source/Lib/CommonLib/IntraPrediction.h index ff4c6d12e7f6c5ad0fdd889b7f19668a82232cef..6be1275f034d8bccd897f6ae3b615b1ec9f06f79 100644 --- a/source/Lib/CommonLib/IntraPrediction.h +++ b/source/Lib/CommonLib/IntraPrediction.h @@ -43,7 +43,9 @@ #include "Unit.h" #include "Buffer.h" #include "Picture.h" - +#if JVET_AB0149_INTRA_PRED +#include "intra_pred_sadl.h" +#endif #include "MatrixIntraPrediction.h" //! \ingroup CommonLib @@ -107,14 +109,30 @@ private: Pel* m_piTemp; Pel* m_pMdlmTemp; // for MDLM mode MatrixIntraPrediction m_matrixIntraPred; - - +#if JVET_AB0149_INTRA_PRED + std::map<SizeNn, sadl::Model<TypeSadl>> models; + std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>> tensors; +#if JVET_AB0149_TM_INF_PNN + TypeSadl m_ptr_ulog_sym[(NUM_LFNST_NUM_PER_SET - 1)*DEPTH_LFNST_GROUP]; +#endif + Pel m_mean_context; + Pel m_ptr_intermediate[64*64]; +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + int m_heightML; + int m_widthMA; +#endif protected: ChromaFormat m_currChromaFormat; int m_topRefLength; int m_leftRefLength; +#if JVET_AB0149_INTRA_PRED + void xPredIntraPnn(const bool& contextFlag,PelBuf& pDst,const CPelBuf& srcBuf,const int& bitDepth,const ComponentID& compID,CodingUnit& cu); + int changeAdaptively(const uint32_t idxIn,uint32_t& idxInT); +#endif + ScanElement* m_scanOrder; bool m_bestScanRotationMode; // prediction @@ -129,7 +147,26 @@ protected: void xPredIntraBDPCM ( const CPelBuf &pSrc, PelBuf &pDst, const uint32_t dirMode, const ClpRng& clpRng ); Pel xGetPredValDc ( const CPelBuf &pSrc, const Size &dstSize ); - void xFillReferenceSamples ( const CPelBuf &recoBuf, Pel* refBufUnfiltered, const CompArea &area, const CodingUnit &cu ); +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +void collectContext(const CompArea& area,const CodingUnit& cu,const int unitHeight,const int unitWidth +#if JVET_AB0149_INTRA_PRED + ,const Pel* const piRoiOrigin,const int iPicStride,const Pel* const refBufUnfiltered,const int bitdepth,bool& contextFlag,const bool is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& isComputedHeightWidthMasks,int& heightMaskLeft,int& widthMaskAbove +#endif + ); +#endif + + void xFillReferenceSamples ( const CPelBuf &recoBuf, Pel* refBufUnfiltered, const CompArea &area, const CodingUnit &cu +#if JVET_AB0149_INTRA_PRED + , bool& contextFlag + , const bool& is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& isComputedHeightWidthMasks +#endif + ); void xFilterReferenceSamples(const Pel *refBufUnfiltered, Pel *refBufFiltered, const CompArea &area, const SPS &sps, int multiRefIdx ); @@ -144,10 +181,19 @@ public: IntraPrediction(); virtual ~IntraPrediction(); - void init (ChromaFormat chromaFormatIDC, const unsigned bitDepthY); + void init (ChromaFormat chromaFormatIDC +#if JVET_AB0149_INTRA_PRED + , const std::string& description_pair_height_width_path_to_graph_output + , const std::string& prefix_absolute_paths_to_graphs_output +#endif + ); // Angular Intra - void predIntraAng ( const ComponentID compId, PelBuf &piPred, const PredictionUnit &pu); + void predIntraAng ( const ComponentID compId, PelBuf &piPred, const PredictionUnit &pu +#if JVET_AB0149_INTRA_PRED + , const bool& contextFlag +#endif + ); Pel *getPredictorPtr(const ComponentID compId) { return m_refBuffer[compId][m_ipaParam.refFilterFlag ? PRED_BUF_FILTERED : PRED_BUF_UNFILTERED]; @@ -157,8 +203,19 @@ public: void predIntraChromaLM(const ComponentID compID, PelBuf &piPred, const PredictionUnit &pu, const CompArea& chromaArea, int intraDir); void xGetLumaRecPixels(const PredictionUnit &pu, CompArea chromaArea); /// set parameters from CU data for accessing intra data - void initIntraPatternChType (const CodingUnit &cu, const CompArea &area, const bool forceRefFilterFlag = false); // use forceRefFilterFlag to get both filtered and unfiltered buffers - void initIntraPatternChTypeISP (const CodingUnit& cu, const CompArea& area, PelBuf& piReco, const bool forceRefFilterFlag = false); // use forceRefFilterFlag to get both filtered and unfiltered buffers + void initIntraPatternChType (const CodingUnit &cu, const CompArea &area, +#if JVET_AB0149_INTRA_PRED + bool& contextFlag,const bool& is_context_extracted, +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool& isComputedHeightWidthMasks, +#endif + const bool forceRefFilterFlag = false); + void initIntraPatternChTypeISP (const CodingUnit& cu, const CompArea& area, PelBuf& piReco, +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool& isComputedHeightWidthMasks, +#endif + const bool forceRefFilterFlag = false); // use forceRefFilterFlag to get both filtered and unfiltered buffers // Matrix-based intra prediction void initIntraMip (const PredictionUnit &pu, const CompArea &area); @@ -169,8 +226,14 @@ public: void switchBuffer (const PredictionUnit &pu, ComponentID compID, PelBuf srcBuff, Pel *dst); void geneIntrainterPred (const CodingUnit &cu); void reorderPLT (CodingStructure& cs, Partitioner& partitioner, ComponentID compBegin, uint32_t numComp); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + int getHeightMaskLeft() const {return m_heightML;} + int getWidthMaskAbove() const {return m_widthMA;} +#endif }; +#if JVET_AB0149_INTRA_PRED //! \} - +bool is_context_available(const CodingUnit& cu,const ChannelType& chType,const Position& posLT,const int& nbLinesAbove,const int& nbLinesLeft); +#endif #endif // __INTRAPREDICTION__ diff --git a/source/Lib/CommonLib/TrQuant.cpp b/source/Lib/CommonLib/TrQuant.cpp index 95e339fff0df4479f975aa8fd7ce52af541afe61..10f8b8b4b3413f5c8648afcbb64fc3cfb3103480 100644 --- a/source/Lib/CommonLib/TrQuant.cpp +++ b/source/Lib/CommonLib/TrQuant.cpp @@ -197,6 +197,13 @@ TrQuant::TrQuant() : m_quant( nullptr ) m_fwdICT[ 3] = fwdTransformCbCr< 3>; m_fwdICT[-3] = fwdTransformCbCr<-3>; } +#if JVET_AB0149_INTRA_PRED + for (int i = 0; i < MAX_NUM_COMPONENT; i++) + { + m_memoryTrCoeffsPnn[i] = nullptr; + m_isAlreadyComputedTrPnn[i] = false; + } +#endif } TrQuant::~TrQuant() @@ -206,6 +213,16 @@ TrQuant::~TrQuant() delete m_quant; m_quant = nullptr; } +#if JVET_AB0149_INTRA_PRED + for (int i = 0; i < MAX_NUM_COMPONENT; i++) + { + if (m_memoryTrCoeffsPnn[i]) + { + delete[] m_memoryTrCoeffsPnn[i]; + m_memoryTrCoeffsPnn[i] = nullptr; + } + } +#endif } #if ENABLE_SPLIT_PARALLELISM @@ -242,6 +259,15 @@ void TrQuant::init( const Quant* otherQuant, { m_quant->init( uiMaxTrSize, bUseRDOQ, bUseRDOQTS, useSelectiveRDOQ ); } +#if JVET_AB0149_INTRA_PRED + for (int i = 0; i < MAX_NUM_COMPONENT; i++) + { + if (!m_memoryTrCoeffsPnn[i]) + { + m_memoryTrCoeffsPnn[i] = new TCoeff[MAX_TB_SIZEY*MAX_TB_SIZEY]; + } + } +#endif } void TrQuant::fwdLfnstNxN( TCoeff* src, TCoeff* dst, const uint32_t mode, const uint32_t index, const uint32_t size, int zeroOutSize ) @@ -328,6 +354,11 @@ void TrQuant::xInvLfnst( const TransformUnit &tu, const ComponentID compID ) const uint32_t lfnstIdx = tu.cu->lfnstIdx; if( lfnstIdx && tu.mtsIdx[compID] != MTS_SKIP && (tu.cu->isSepTree() ? true : isLuma(compID)) ) { +#if JVET_AB0149_INTRA_PRED && (JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN) + int idxLfnstPnnUsed=-1; +#endif + bool transposeFlag(false); + uint8_t modeLfnst(0); const bool whge3 = width >= 8 && height >= 8; const ScanElement * scan = whge3 ? g_coefTopLeftDiagScan8x8[ gp_sizeIdxInfo->idxFrom( width ) ] : g_scanOrder[ SCAN_GROUPED_4x4 ][ SCAN_DIAG ][ gp_sizeIdxInfo->idxFrom( width ) ][ gp_sizeIdxInfo->idxFrom( height ) ]; uint32_t intraMode = PU::getFinalIntraMode( *tu.cs->getPU( area.pos(), toChannelType( compID ) ), toChannelType( compID ) ); @@ -335,20 +366,83 @@ void TrQuant::xInvLfnst( const TransformUnit &tu, const ComponentID compID ) if( PU::isLMCMode( tu.cs->getPU( area.pos(), toChannelType( compID ) )->intraDir[ toChannelType( compID ) ] ) ) { intraMode = PU::getCoLocatedIntraLumaMode( *tu.cs->getPU( area.pos(), toChannelType( compID ) ) ); +#if JVET_AB0149_INTRA_PRED + if (intraMode == PNN_IDX) + { +#if JVET_AB0149_TM_INF_PNN + idxLfnstPnnUsed = PU::getCoLocatedIdxLfnstPnn(*tu.cs->getPU(area.pos(), toChannelType(compID)),tu.cu->lfnstIdx); +#else + intraMode = PLANAR_IDX; +#endif + } +#endif } - if (PU::isMIP(*tu.cs->getPU(area.pos(), toChannelType(compID)), toChannelType(compID))) +#if JVET_AB0149_INTRA_PRED + else if (intraMode == PNN_IDX) { +#if JVET_AB0149_SEARCH_PNN + CHECK(tu.cu->idxLfnstPnn > MAX_INT,"`tu.cu->idxLfnstPnn` is strictly larger than `MAX_INT`."); + idxLfnstPnnUsed = static_cast<int>(tu.cu->idxLfnstPnn); +#elif JVET_AB0149_TM_INF_PNN + ComponentID compIdEffective(!isLuma(compID) && tu.jointCbCr ? COMPONENT_Cb : compID); + const uint32_t& idxLfnstPnn(tu.cu->arrayIdxPredictedLfnstPnn[compIdEffective][tu.cu->lfnstIdx - 1]); + CHECK(idxLfnstPnn > MAX_INT,"`idxLfnstPnn` is strictly larger than `MAX_INT`."); + idxLfnstPnnUsed = static_cast<int>(idxLfnstPnn); +#else intraMode = PLANAR_IDX; +#endif } - CHECK( intraMode >= NUM_INTRA_MODE - 1, "Invalid intra mode" ); - - if( lfnstIdx < 3 ) +#endif + else if (PU::isMIP(*tu.cs->getPU(area.pos(), toChannelType(compID)), toChannelType(compID))) { - intraMode = getLFNSTIntraMode( PU::getWideAngle( tu, intraMode, compID ) ); -#if RExt__DECODER_DEBUG_TOOL_STATISTICS - CodingStatistics::IncrementStatisticTool( CodingStatisticsClassType { STATS__TOOL_LFNST, width, height, compID } ); + intraMode = PLANAR_IDX; + } +#if JVET_AB0149_INTRA_PRED + CHECK(intraMode >= NUM_INTRA_MODE - 1 && intraMode != PNN_IDX,"`intraMode` is larger than `NUM_INTRA_MODE` - 1 and is not equal to `PNN_IDX`"); +#if JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN + if (idxLfnstPnnUsed != -1) + { + switch (idxLfnstPnnUsed) + { + case 0: + break; + case 1: + modeLfnst = 1; + break; + case 2: + modeLfnst = 2; + break; + case 3: + modeLfnst = 3; + break; + case 4: + transposeFlag = true; + modeLfnst = 3; + break; + case 5: + transposeFlag = true; + modeLfnst = 2; + break; + case 6: + transposeFlag = true; + modeLfnst = 1; + break; + default: CHECK(true, "`idxLfnstPnnUsed` does not belong to [|0, 6|]."); + } + } + else + { +#endif +#else + CHECK( intraMode >= NUM_INTRA_MODE - 1, "Invalid intra mode" ); #endif - bool transposeFlag = getTransposeFlag( intraMode ); + intraMode = getLFNSTIntraMode(PU::getWideAngle(tu,intraMode, compID)); + transposeFlag = getTransposeFlag(intraMode); + modeLfnst = g_lfnstLut[intraMode]; +#if JVET_AB0149_INTRA_PRED && (JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN) + } +#endif + CHECK(!modeLfnst && transposeFlag, "`modeLfnst` is equal to 0 and `transposeFlag` is true."); const int sbSize = whge3 ? 8 : 4; bool tu4x4Flag = ( width == 4 && height == 4 ); bool tu8x8Flag = ( width == 8 && height == 8 ); @@ -366,7 +460,7 @@ void TrQuant::xInvLfnst( const TransformUnit &tu, const ComponentID compID ) scanPtr++; } - invLfnstNxN(m_tempInMatrix, m_tempOutMatrix, g_lfnstLut[intraMode], lfnstIdx - 1, sbSize, + invLfnstNxN(m_tempInMatrix, m_tempOutMatrix, modeLfnst, lfnstIdx - 1, sbSize, (tu4x4Flag || tu8x8Flag) ? 8 : 16, maxLog2TrDynamicRange); lfnstTemp = m_tempOutMatrix; // inverse spectral rearrangement @@ -412,7 +506,6 @@ void TrQuant::xInvLfnst( const TransformUnit &tu, const ComponentID compID ) ::memcpy(coeffTemp, lfnstTemp, uiStride * sizeof(TCoeff)); lfnstTemp += uiStride; coeffTemp += width; - } } } } @@ -426,6 +519,11 @@ void TrQuant::xFwdLfnst( const TransformUnit &tu, const ComponentID compID, cons const uint32_t lfnstIdx = tu.cu->lfnstIdx; if( lfnstIdx && tu.mtsIdx[compID] != MTS_SKIP && (tu.cu->isSepTree() ? true : isLuma(compID)) ) { +#if JVET_AB0149_INTRA_PRED && (JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN) + int idxLfnstPnnUsed=-1; +#endif + bool transposeFlag(false); + uint8_t modeLfnst(0); const bool whge3 = width >= 8 && height >= 8; const ScanElement * scan = whge3 ? g_coefTopLeftDiagScan8x8[ gp_sizeIdxInfo->idxFrom( width ) ] : g_scanOrder[ SCAN_GROUPED_4x4 ][ SCAN_DIAG ][ gp_sizeIdxInfo->idxFrom( width ) ][ gp_sizeIdxInfo->idxFrom( height ) ]; uint32_t intraMode = PU::getFinalIntraMode( *tu.cs->getPU( area.pos(), toChannelType( compID ) ), toChannelType( compID ) ); @@ -433,21 +531,87 @@ void TrQuant::xFwdLfnst( const TransformUnit &tu, const ComponentID compID, cons if( PU::isLMCMode( tu.cs->getPU( area.pos(), toChannelType( compID ) )->intraDir[ toChannelType( compID ) ] ) ) { intraMode = PU::getCoLocatedIntraLumaMode( *tu.cs->getPU( area.pos(), toChannelType( compID ) ) ); +#if JVET_AB0149_INTRA_PRED + if (intraMode == PNN_IDX) + { +#if JVET_AB0149_TM_INF_PNN + idxLfnstPnnUsed = PU::getCoLocatedIdxLfnstPnn(*tu.cs->getPU(area.pos(), toChannelType(compID)),tu.cu->lfnstIdx); +#else + intraMode = PLANAR_IDX; +#endif + } +#endif } - if (PU::isMIP(*tu.cs->getPU(area.pos(), toChannelType(compID)), toChannelType(compID))) +#if JVET_AB0149_INTRA_PRED + else if (intraMode == PNN_IDX) { +#if JVET_AB0149_SEARCH_PNN + CHECK(tu.cu->idxLfnstPnn > MAX_INT,"`tu.cu->idxLfnstPnn` is strictly larger than `MAX_INT`."); + idxLfnstPnnUsed = static_cast<int>(tu.cu->idxLfnstPnn); +#elif JVET_AB0149_TM_INF_PNN + ComponentID compIdEffective(!isLuma(compID) && tu.jointCbCr ? COMPONENT_Cb : compID); + const uint32_t& idxLfnstPnn(tu.cu->arrayIdxPredictedLfnstPnn[compIdEffective][tu.cu->lfnstIdx - 1]); + CHECK(idxLfnstPnn > MAX_INT,"`idxLfnstPnn` is strictly larger than `MAX_INT`."); + idxLfnstPnnUsed = static_cast<int>(idxLfnstPnn); +#else intraMode = PLANAR_IDX; +#endif } - CHECK( intraMode >= NUM_INTRA_MODE - 1, "Invalid intra mode" ); - - if( lfnstIdx < 3 ) +#endif + else if (PU::isMIP(*tu.cs->getPU(area.pos(), toChannelType(compID)), toChannelType(compID))) { - intraMode = getLFNSTIntraMode( PU::getWideAngle( tu, intraMode, compID ) ); - - bool transposeFlag = getTransposeFlag( intraMode ); + intraMode = PLANAR_IDX; + } +#if JVET_AB0149_INTRA_PRED + CHECK(intraMode >= NUM_INTRA_MODE - 1 && intraMode != PNN_IDX,"`intraMode` is larger than `NUM_INTRA_MODE` - 1 and is not equal to `PNN_IDX`"); +#if JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN + if (idxLfnstPnnUsed != -1) + { + switch (idxLfnstPnnUsed) + { + case 0: + break; + case 1: + modeLfnst = 1; + break; + case 2: + modeLfnst = 2; + break; + case 3: + modeLfnst = 3; + break; + case 4: + transposeFlag = true; + modeLfnst = 3; + break; + case 5: + transposeFlag = true; + modeLfnst = 2; + break; + case 6: + transposeFlag = true; + modeLfnst = 1; + break; + default: CHECK(true,"`idxLfnstPnnUsed` does not belong to [|0, 6|]."); + } + } + else + { +#endif +#else + CHECK( intraMode >= NUM_INTRA_MODE - 1, "Invalid intra mode" ); +#endif + intraMode = getLFNSTIntraMode(PU::getWideAngle(tu,intraMode, compID)); + transposeFlag = getTransposeFlag(intraMode); + modeLfnst = g_lfnstLut[intraMode]; +#if JVET_AB0149_INTRA_PRED && (JVET_AB0149_SEARCH_PNN || JVET_AB0149_TM_INF_PNN) + } +#endif + CHECK(!modeLfnst && transposeFlag, "`modeLfnst` is equal to 0 and `transposeFlag` is true."); const int sbSize = whge3 ? 8 : 4; bool tu4x4Flag = ( width == 4 && height == 4 ); bool tu8x8Flag = ( width == 8 && height == 8 ); + TCoeff* lfnstTemp; TCoeff* coeffTemp; TCoeff * tempCoeff = loadTr ? m_mtsCoeffs[tu.mtsIdx[compID]] : m_tempCoeff; @@ -501,7 +665,7 @@ void TrQuant::xFwdLfnst( const TransformUnit &tu, const ComponentID compID, cons } } - fwdLfnstNxN(m_tempInMatrix, m_tempOutMatrix, g_lfnstLut[intraMode], lfnstIdx - 1, sbSize, + fwdLfnstNxN(m_tempInMatrix, m_tempOutMatrix, modeLfnst, lfnstIdx - 1, sbSize, (tu4x4Flag || tu8x8Flag) ? 8 : 16); lfnstTemp = m_tempOutMatrix; // forward spectral rearrangement @@ -514,7 +678,6 @@ void TrQuant::xFwdLfnst( const TransformUnit &tu, const ComponentID compID, cons { coeffTemp[scanPtr->idx] = *lfnstTemp++; scanPtr++; - } } } } @@ -901,7 +1064,11 @@ void TrQuant::xQuant(TransformUnit &tu, const ComponentID &compID, const CCoeffB m_quant->quant( tu, compID, pSrc, uiAbsSum, cQP, ctx ); } -void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, std::vector<TrMode>* trModes, const int maxCand ) +void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, std::vector<TrMode>* trModes, const int maxCand +#if JVET_AB0149_INTRA_PRED + , const bool& isAllowedSavingLoadingTrPnn +#endif + ) { CodingStructure &cs = *tu.cs; const CompArea &rect = tu.blocks[compID]; @@ -919,7 +1086,9 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const while( it != trModes->end() ) { tu.mtsIdx[compID] = it->first; +#if !JVET_AB0149_INTRA_PRED CoeffBuf tempCoeff( m_mtsCoeffs[tu.mtsIdx[compID]], rect); +#endif if( tu.noResidual ) { int sumAbs = 0; @@ -927,7 +1096,24 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const it++; continue; } - +#if JVET_AB0149_INTRA_PRED + int default0Save1Load2Switch = 0; + if (isAllowedSavingLoadingTrPnn && tu.mtsIdx[compID] == MTS_DCT2_DCT2) + { + if ((tu.cu)->isSepTree()) + { + CHECK(getIsAlreadyComputedTrPnn(compID),"The primary transform coefficients resulting from the application of the DCT-2 horizontally and the DCT-2 vertically to the residue of the prediction via the PNN mode should not be already computed."); + } + else + { + CHECK(isLuma(compID) && getIsAlreadyComputedTrPnn(compID),"The primary transform coefficients resulting from the application of the DCT-2 horizontally and the DCT-2 vertically to the residue of the prediction via the PNN mode should not be already computed."); + } + default0Save1Load2Switch = getIsAlreadyComputedTrPnn(compID) ? 2 : 1; + } + CoeffBuf tempCoeff(default0Save1Load2Switch == 2 ? m_memoryTrCoeffsPnn[compID] : m_mtsCoeffs[tu.mtsIdx[compID]],rect); + if (default0Save1Load2Switch != 2) + { +#endif if ( tu.mtsIdx[compID] == MTS_SKIP ) { xTransformSkip( tu, compID, resiBuf, tempCoeff.buf ); @@ -936,7 +1122,15 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const { xT( tu, compID, resiBuf, tempCoeff, width, height ); } - +#if JVET_AB0149_INTRA_PRED + } + if (default0Save1Load2Switch == 1) + { + CoeffBuf memoryTrCoeffsPnn(m_memoryTrCoeffsPnn[compID],rect); + memoryTrCoeffsPnn.copyFrom(tempCoeff); + setIsAlreadyComputedTrPnn(true,compID); + } +#endif TCoeff sumAbs = 0; for( int pos = 0; pos < width*height; pos++ ) { @@ -973,7 +1167,11 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const } } -void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, TCoeff& uiAbsSum, const Ctx& ctx, const bool loadTr ) +void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, TCoeff& uiAbsSum, const Ctx& ctx +#if JVET_AB0149_INTRA_PRED + , const bool& isAllowedSavingLoadingTrPnn +#endif + , const bool loadTr) { CodingStructure &cs = *tu.cs; const SPS &sps = *cs.sps; @@ -999,12 +1197,34 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const // transform and quantize CHECK(cs.sps->getMaxTbSize() < uiWidth, "Unsupported transformation size"); - - CoeffBuf tempCoeff(loadTr ? m_mtsCoeffs[tu.mtsIdx[compID]] : m_tempCoeff, rect); - - DTRACE_PEL_BUF(D_RESIDUALS, resiBuf, tu, tu.cu->predMode, compID); - - if (!loadTr) +#if JVET_AB0149_INTRA_PRED + int default0Save1Load2Switch = 0; + if (isAllowedSavingLoadingTrPnn) + { + default0Save1Load2Switch = getIsAlreadyComputedTrPnn(compID) ? 2 : 1; + } +#endif + bool areMtsCoeffsLoaded(loadTr); +#if JVET_AB0149_INTRA_PRED + if (default0Save1Load2Switch == 2) + { + areMtsCoeffsLoaded = false; + } +#endif + CoeffBuf tempCoeff(areMtsCoeffsLoaded ? m_mtsCoeffs[tu.mtsIdx[compID]] : m_tempCoeff, rect); +#if JVET_AB0149_INTRA_PRED + if (default0Save1Load2Switch == 2) + { + CoeffBuf memoryTrCoeffsPnn(m_memoryTrCoeffsPnn[compID], rect); + const int error_code = copy_with_partial_zero_out_lfnst(memoryTrCoeffsPnn,tempCoeff,(tu.cu)->lfnstIdx); + CHECK(error_code < 0,"Error in `copy_with_partial_zero_out_lfnst`."); + } +#endif + if (!loadTr +#if JVET_AB0149_INTRA_PRED + && default0Save1Load2Switch != 2 +#endif + ) { if (tu.mtsIdx[compID] == MTS_SKIP) { @@ -1015,7 +1235,14 @@ void TrQuant::transformNxN( TransformUnit& tu, const ComponentID& compID, const xT(tu, compID, resiBuf, tempCoeff, uiWidth, uiHeight); } } - +#if JVET_AB0149_INTRA_PRED + if (default0Save1Load2Switch == 1) + { + CoeffBuf memoryTrCoeffsPnn(m_memoryTrCoeffsPnn[compID],rect); + memoryTrCoeffsPnn.copyFrom(tempCoeff); + setIsAlreadyComputedTrPnn(true,compID); + } +#endif if (sps.getUseLFNST()) { xFwdLfnst(tu, compID, loadTr); @@ -1047,4 +1274,48 @@ void TrQuant::xTransformSkip(const TransformUnit &tu, const ComponentID &compID, } } +#if JVET_AB0149_INTRA_PRED +int copy_with_partial_zero_out_lfnst(const CoeffBuf& memoryTrCoeffsPnn,CoeffBuf& tempCoeff,const uint32_t& lfnstIdx) +{ + if (lfnstIdx) + { + SizeType keepHeight = tempCoeff.height, keepWidth = tempCoeff.width; + if ((tempCoeff.width == 4 && tempCoeff.height > 4) || (tempCoeff.width > 4 && tempCoeff.height == 4)) + { + keepHeight = 4; + keepWidth = 4; + } + else if (tempCoeff.width >= 8 && tempCoeff.height >= 8) + { + keepHeight = 8; + keepWidth = 8; + } + for (unsigned i = 0; i < keepHeight; i++) + { + for (unsigned j = 0; j < tempCoeff.width; j++) + { + if (j < keepWidth) + { + tempCoeff.at(j, i) = memoryTrCoeffsPnn.at(j, i); + } + else + { + tempCoeff.at(j, i) = 0; + } + } + } + if (tempCoeff.height > keepHeight) + { + const SizeType nbRemaining = tempCoeff.height - keepHeight; + memset(tempCoeff.buf + keepHeight*tempCoeff.stride,0,sizeof(TCoeff)*nbRemaining*tempCoeff.stride); + } + } + else + { + tempCoeff.copyFrom(memoryTrCoeffsPnn); + } + return 0; +} +#endif + //! \} diff --git a/source/Lib/CommonLib/TrQuant.h b/source/Lib/CommonLib/TrQuant.h index 72c951024f16ce361c2fa3508dede65b246a91c6..f0002b90d69ee7c0ab89b4a6951317abe70e8d55 100644 --- a/source/Lib/CommonLib/TrQuant.h +++ b/source/Lib/CommonLib/TrQuant.h @@ -48,6 +48,8 @@ #include "Quant.h" #include "DepQuant.h" +//! \ingroup CommonLib + //! \ingroup CommonLib //! \{ @@ -93,8 +95,16 @@ protected: public: void invTransformNxN (TransformUnit &tu, const ComponentID &compID, PelBuf &pResi, const QpParam &cQPs); - void transformNxN ( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, std::vector<TrMode>* trModes, const int maxCand ); - void transformNxN ( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, TCoeff& uiAbsSum, const Ctx& ctx, const bool loadTr = false ); + void transformNxN ( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, std::vector<TrMode>* trModes, const int maxCand +#if JVET_AB0149_INTRA_PRED + , const bool& isAllowedSavingLoadingTrPnn +#endif + ); + void transformNxN ( TransformUnit& tu, const ComponentID& compID, const QpParam& cQP, TCoeff& uiAbsSum, const Ctx& ctx +#if JVET_AB0149_INTRA_PRED + , const bool& isAllowedSavingLoadingTrPnn +#endif + , const bool loadTr = false ); void transformSkipQuantOneSample(TransformUnit &tu, const ComponentID &compID, const TCoeff &resiDiff, TCoeff &coeff, const uint32_t &uiPos, const QpParam &cQP, const bool bUseHalfRoundingPoint); void invTrSkipDeQuantOneSample (TransformUnit &tu, const ComponentID &compID, const TCoeff &pcCoeff, Pel &reconSample, const uint32_t &uiPos, const QpParam &cQP); @@ -118,6 +128,17 @@ public: #if ENABLE_SPLIT_PARALLELISM void copyState( const TrQuant& other ); #endif +#if JVET_AB0149_INTRA_PRED + bool getIsAlreadyComputedTrPnn(const ComponentID& compID) const + { + return m_isAlreadyComputedTrPnn[compID]; + } + + void setIsAlreadyComputedTrPnn(const bool& isAlreadyComputedTrPnn,const ComponentID& compID) + { + m_isAlreadyComputedTrPnn[compID] = isAlreadyComputedTrPnn; + } +#endif protected: TCoeff m_tempCoeff[MAX_TB_SIZEY * MAX_TB_SIZEY]; @@ -125,6 +146,10 @@ protected: private: DepQuant *m_quant; //!< Quantizer TCoeff m_mtsCoeffs[NUM_TRAFO_MODES_MTS][MAX_TB_SIZEY * MAX_TB_SIZEY]; +#if JVET_AB0149_INTRA_PRED + TCoeff* m_memoryTrCoeffsPnn[MAX_NUM_COMPONENT]; + bool m_isAlreadyComputedTrPnn[MAX_NUM_COMPONENT]; +#endif TCoeff m_tempInMatrix [ 48 ]; TCoeff m_tempOutMatrix[ 48 ]; static const int maxAbsIctMode = 3; @@ -167,6 +192,10 @@ private: double* horVerRatio ); };// END CLASS DEFINITION TrQuant +#if JVET_AB0149_INTRA_PRED +int copy_with_partial_zero_out_lfnst(const CoeffBuf& memoryTrCoeffsPnn,CoeffBuf& tempCoeff,const uint32_t& lfnstIdx); +#endif + //! \} #endif // __TRQUANT__ diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 4c0978a28166a62ecc1420d5a98e6c46ff0db8f2..6db54c345505bf0ab0e20fd7c2c475dbcecfc291 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -50,6 +50,28 @@ #include <assert.h> #include <cassert> +#define JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS 1 + +// Below is the default set of macros for rate-distortion tests. +#if !defined(JVET_AB0149_INTRA_PRED) && !defined(JVET_AB0149_SEARCH_PNN) && !defined(JVET_AB0149_TM_INF_PNN) && !defined(NN_FIXED_POINT_IMPLEMENTATION) +#define JVET_AB0149_INTRA_PRED 1 +#define JVET_AB0149_SEARCH_PNN 0 +#define JVET_AB0149_TM_INF_PNN 1 +#define NN_FIXED_POINT_IMPLEMENTATION 1 +#define SPARSE_SUPPORT 1 +#else +#if !defined(JVET_AB0149_INTRA_PRED) || !defined(JVET_AB0149_SEARCH_PNN) || !defined(JVET_AB0149_TM_INF_PNN) || !defined(NN_FIXED_POINT_IMPLEMENTATION) +#error "The default set of macros is not used and `JVET_AB0149_INTRA_PRED` or `JVET_AB0149_SEARCH_PNN` or `JVET_AB0149_TM_INF_PNN` or `NN_FIXED_POINT_IMPLEMENTATION` is not defined." +#endif +#endif + +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_TM_INF_PNN +#error "`JVET_AB0149_SEARCH_PNN` is equal to 1 and `JVET_AB0149_TM_INF_PNN` is equal to 1." +#endif +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +using SizeNn = std::pair<unsigned int, unsigned int>; +#endif + // clang-format off // used by both nn filter sets @@ -57,12 +79,16 @@ #define NN_COMMON_API 1 #define NNVC_INFO_ENCODER 1 // add some info in encoder logs necessary to extract data #define NNVC_DUMP_DATA 1 -#define NN_FIXED_POINT_IMPLEMENTATION 1 - #if NN_FIXED_POINT_IMPLEMENTATION +#if JVET_AB0149_INTRA_PRED +#define INTERNAL_INT16 1 +#endif using TypeSadl = int16_t; #else +#if JVET_AB0149_INTRA_PRED +#define INTERNAL_FLOAT 1 +#endif using TypeSadl = float; #endif diff --git a/source/Lib/CommonLib/Unit.cpp b/source/Lib/CommonLib/Unit.cpp index ab3fc757ee617944be57f41123f304fbafd39e76..1009a1a0ebd5e05f87eb953c773d46266c539aa0 100644 --- a/source/Lib/CommonLib/Unit.cpp +++ b/source/Lib/CommonLib/Unit.cpp @@ -275,6 +275,21 @@ CodingUnit& CodingUnit::operator=( const CodingUnit& other ) sbtInfo = other.sbtInfo; mtsFlag = other.mtsFlag; lfnstIdx = other.lfnstIdx; +#if JVET_AB0149_INTRA_PRED +#if JVET_AB0149_SEARCH_PNN + idxLfnstPnn = other.idxLfnstPnn; +#endif +#if JVET_AB0149_TM_INF_PNN + for (uint32_t i = 0; i < MAX_NUM_COMPONENT; i++) + { + for (uint32_t j = 0; j < NUM_LFNST_NUM_PER_SET - 1; j++) + { + arrayIdxPredictedLfnstPnn[i][j] = other.arrayIdxPredictedLfnstPnn[i][j]; + } + } +#endif + idxRepresentationPnn = other.idxRepresentationPnn; +#endif tileIdx = other.tileIdx; imv = other.imv; imvNumCand = other.imvNumCand; @@ -335,6 +350,21 @@ void CodingUnit::initData() sbtInfo = 0; mtsFlag = 0; lfnstIdx = 0; +#if JVET_AB0149_INTRA_PRED +#if JVET_AB0149_SEARCH_PNN + idxLfnstPnn = MAX_INT; +#endif +#if JVET_AB0149_TM_INF_PNN + for (uint32_t i = 0; i < MAX_NUM_COMPONENT; i++) + { + for (uint32_t j = 0; j < NUM_LFNST_NUM_PER_SET - 1; j++) + { + arrayIdxPredictedLfnstPnn[i][j] = MAX_INT; + } + } +#endif + idxRepresentationPnn = MAX_INT; +#endif tileIdx = 0; imv = 0; imvNumCand = 0; @@ -525,6 +555,41 @@ void PredictionUnit::initData() mipTransposedFlag = false; multiRefIdx = 0; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + for (auto it{arrayPairsIdxSsdLumaRegular.begin()}; it != arrayPairsIdxSsdLumaRegular.end(); it++) + { + it->first = -1; + it->second = MAX_UINT64; + } + for (auto it{arrayPairsIdxSatdLumaRegular.begin()}; it != arrayPairsIdxSatdLumaRegular.end(); it++) + { + it->first = -1; + it->second = MAX_UINT64; + } +#if JVET_AB0149_INTRA_PRED + ssdLumaPnn = MAX_UINT64; + satdLumaPnn = MAX_UINT64; + for (uint32_t i = 0; i < 2; i++) + { + arrayMeasuresLumaPnn[i] = MAX_DOUBLE; + } +#if JVET_AB0149_SEARCH_PNN + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j = 0; j < DEPTH_LFNST_GROUP; j++) + { + arrayCostsLfnstPnn[i][j] = MAX_DOUBLE; + } + } +#endif +#endif +#endif +#if JVET_AB0149_INTRA_PRED + mpmFlagReading = false; + idxMpmReading = MAX_UINT; + idxCandidateReading = MAX_UINT; +#endif + // inter data mergeFlag = false; regularMergeFlag = false; @@ -563,6 +628,38 @@ void PredictionUnit::initData() mmvdEncOptMode = 0; } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +bool PredictionUnit::isFilledArrayCostsLfnstPnnMaxDouble() const +{ + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j = 0; j < DEPTH_LFNST_GROUP; j++) + { + if (arrayCostsLfnstPnn[i][j] != MAX_DOUBLE) + { + return false; + } + } + } + return true; +} + +bool PredictionUnit::isInArrayCostsLfnstPnnMaxDouble() const +{ + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j = 0; j < DEPTH_LFNST_GROUP; j++) + { + if (arrayCostsLfnstPnn[i][j] == MAX_DOUBLE) + { + return true; + } + } + } + return false; +} +#endif + PredictionUnit& PredictionUnit::operator=(const IntraPredictionData& predData) { for (uint32_t i = 0; i < MAX_NUM_CHANNEL_TYPE; i++) @@ -572,6 +669,33 @@ PredictionUnit& PredictionUnit::operator=(const IntraPredictionData& predData) mipTransposedFlag = predData.mipTransposedFlag; multiRefIdx = predData.multiRefIdx; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + arrayPairsIdxSsdLumaRegular = predData.arrayPairsIdxSsdLumaRegular; + arrayPairsIdxSatdLumaRegular = predData.arrayPairsIdxSatdLumaRegular; +#if JVET_AB0149_INTRA_PRED + ssdLumaPnn = predData.ssdLumaPnn; + satdLumaPnn = predData.satdLumaPnn; + for (uint32_t i = 0; i < 2; i++) + { + arrayMeasuresLumaPnn[i] = predData.arrayMeasuresLumaPnn[i]; + } +#if JVET_AB0149_SEARCH_PNN + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j = 0; j < DEPTH_LFNST_GROUP; j++) + { + arrayCostsLfnstPnn[i][j] = predData.arrayCostsLfnstPnn[i][j]; + } + } +#endif +#endif +#endif +#if JVET_AB0149_INTRA_PRED + mpmFlagReading = predData.mpmFlagReading; + idxMpmReading = predData.idxMpmReading; + idxCandidateReading = predData.idxCandidateReading; +#endif + return *this; } @@ -623,6 +747,33 @@ PredictionUnit& PredictionUnit::operator=( const PredictionUnit& other ) mipTransposedFlag = other.mipTransposedFlag; multiRefIdx = other.multiRefIdx; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + arrayPairsIdxSsdLumaRegular = other.arrayPairsIdxSsdLumaRegular; + arrayPairsIdxSatdLumaRegular = other.arrayPairsIdxSatdLumaRegular; +#if JVET_AB0149_INTRA_PRED + ssdLumaPnn = other.ssdLumaPnn; + satdLumaPnn = other.satdLumaPnn; + for (uint32_t i = 0; i < 2; i++) + { + arrayMeasuresLumaPnn[i] = other.arrayMeasuresLumaPnn[i]; + } +#if JVET_AB0149_SEARCH_PNN + for (uint32_t i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j = 0; j < DEPTH_LFNST_GROUP; j++) + { + arrayCostsLfnstPnn[i][j] = other.arrayCostsLfnstPnn[i][j]; + } + } +#endif +#endif +#endif +#if JVET_AB0149_INTRA_PRED + mpmFlagReading = other.mpmFlagReading; + idxMpmReading = other.idxMpmReading; + idxCandidateReading = other.idxCandidateReading; +#endif + mergeFlag = other.mergeFlag; regularMergeFlag = other.regularMergeFlag; mergeIdx = other.mergeIdx; diff --git a/source/Lib/CommonLib/Unit.h b/source/Lib/CommonLib/Unit.h index 8a6858fdf56d8e8d3138122f45e00e3a88fb386f..361d5875d0157cf57fa8334919330d88f93b56e4 100644 --- a/source/Lib/CommonLib/Unit.h +++ b/source/Lib/CommonLib/Unit.h @@ -43,6 +43,9 @@ #include "Mv.h" #include "MotionInfo.h" #include "ChromaFormat.h" +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +#include <array> +#endif // --------------------------------------------------------------------------- @@ -318,6 +321,15 @@ struct CodingUnit : public UnitArea uint32_t tileIdx; uint8_t mtsFlag; uint32_t lfnstIdx; +#if JVET_AB0149_INTRA_PRED +#if JVET_AB0149_SEARCH_PNN + uint32_t idxLfnstPnn; +#endif +#if JVET_AB0149_TM_INF_PNN + uint32_t arrayIdxPredictedLfnstPnn[MAX_NUM_COMPONENT][NUM_LFNST_NUM_PER_SET - 1]; +#endif + uint32_t idxRepresentationPnn; +#endif uint8_t BcwIdx; int refIdxBi[2]; bool mipFlag; @@ -377,6 +389,25 @@ struct IntraPredictionData uint32_t intraDir[MAX_NUM_CHANNEL_TYPE]; bool mipTransposedFlag; int multiRefIdx; + +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::array<std::pair<int8_t, uint64_t>, NB_INTRA_MODES_STATS> arrayPairsIdxSsdLumaRegular; + std::array<std::pair<int8_t, uint64_t>, NB_INTRA_MODES_STATS> arrayPairsIdxSatdLumaRegular; +#if JVET_AB0149_INTRA_PRED + uint64_t ssdLumaPnn; + uint64_t satdLumaPnn; + double arrayMeasuresLumaPnn[2]; +#if JVET_AB0149_SEARCH_PNN + double arrayCostsLfnstPnn[NUM_LFNST_NUM_PER_SET - 1][DEPTH_LFNST_GROUP]; +#endif +#endif +#endif +#if JVET_AB0149_INTRA_PRED + bool mpmFlagReading; + uint32_t idxMpmReading; + uint32_t idxCandidateReading; +#endif + }; struct InterPredictionData @@ -440,6 +471,10 @@ struct PredictionUnit : public UnitArea, public IntraPredictionData, public Inte int64_t cacheId; bool cacheUsed; #endif +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool isFilledArrayCostsLfnstPnnMaxDouble() const; + bool isInArrayCostsLfnstPnnMaxDouble() const; +#endif }; // --------------------------------------------------------------------------- diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index f76f64ea236e1ec1e806d7d09a0b91f1f08633db..98c98a76122090d38a0a6bb04879ebe74de1dcf6 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -46,7 +46,10 @@ #include <utility> #include <algorithm> -// CS tools +#if JVET_AB0149_INTRA_PRED +const std::vector<SizeNn> g_vectorPairsHeightWidthPnn = {std::make_pair(4, 4),std::make_pair(4, 8),std::make_pair(4, 16),std::make_pair(4, 32),std::make_pair(8, 8),std::make_pair(8, 16),std::make_pair(16, 16)}; +const unsigned array_mpms_default[NUM_MOST_PROBABLE_MODES] = {PLANAR_IDX,DC_IDX,VER_IDX,HOR_IDX,VER_IDX - 4,VER_IDX + 4}; +#endif uint64_t CS::getEstBits(const CodingStructure &cs) @@ -536,6 +539,197 @@ bool CU::allLumaCBFsAreZero(const CodingUnit& cu) } } +#if JVET_AB0149_INTRA_PRED +uint32_t getIntraDirLumaSubstitutePnn(const uint32_t& indexModeLuma,const uint32_t& heightChroma,const uint32_t& widthChroma) +{ + uint32_t indexSubstitution(indexModeLuma); + if (indexModeLuma == PNN_IDX) + { + const bool is_shape_handled_pnn = decideShapeHandledPnn(heightChroma,widthChroma); + if (!is_shape_handled_pnn) + { + indexSubstitution = PLANAR_IDX; + } + } + return indexSubstitution; +} + +bool decideShapeHandledPnn(const uint32_t& height,const uint32_t& width) +{ + const SizeNn pairHeightWidthBeforeTr(height,width); + transformations_context_prediction transfos; + return find_equivalent_p(g_vectorPairsHeightWidthPnn,pairHeightWidthBeforeTr,transfos); +} + +int fillListMPMs(unsigned* const mpm,const int& leftIntraDir,const int& aboveIntraDir,const int& multiRefIdx,const bool& is_shape_handled_pnn) +{ + CHECK(!mpm, "`mpm` is NULL."); + CHECK(leftIntraDir == PNN_IDX || aboveIntraDir == PNN_IDX, "`leftIntraDir` is equal to `PNN_IDX` or `aboveIntraDir` is equal to `PNN_IDX`."); + int i = 0; + for (i = 0; i < NUM_MOST_PROBABLE_MODES; i++) + { + mpm[i] = array_mpms_default[i]; + } + const int numCand = fillListMPMsWithoutInitialization(mpm,leftIntraDir,aboveIntraDir,multiRefIdx,is_shape_handled_pnn); + for (i = 0; i < NUM_MOST_PROBABLE_MODES; i++) + { + CHECK(mpm[i] >= NUM_LUMA_MODE, "`mpm[" << std::to_string(i) + "]` is larger than " + std::to_string(NUM_LUMA_MODE) + "."); + } + return numCand; +} + +int fillListMPMsWithoutInitialization(unsigned* const mpm,const int& leftIntraDir,const int& aboveIntraDir,const int& multiRefIdx,const bool& is_shape_handled_pnn) +{ + int numCand{0}; + if (leftIntraDir == aboveIntraDir) + { + numCand = 1; + if (leftIntraDir > DC_IDX && leftIntraDir < PNN_IDX) + { + if (multiRefIdx || !is_shape_handled_pnn) + { + mpm[0] = PLANAR_IDX; + mpm[1] = leftIntraDir; + mpm[2] = ((leftIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[3] = ((leftIntraDir - 1) % MODULO_LUMA) + 2; + mpm[4] = ((leftIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[5] = (leftIntraDir % MODULO_LUMA) + 2; + } + else + { + mpm[0] = leftIntraDir; + mpm[1] = ((leftIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[2] = ((leftIntraDir - 1) % MODULO_LUMA) + 2; + mpm[3] = ((leftIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[4] = (leftIntraDir % MODULO_LUMA) + 2; + mpm[5] = PLANAR_IDX; + } + } + } + else + { + numCand = 2; + if (leftIntraDir == PNN_IDX || aboveIntraDir == PNN_IDX) + { + if (leftIntraDir == PNN_IDX && aboveIntraDir > DC_IDX) + { + if (multiRefIdx || !is_shape_handled_pnn) + { + mpm[0] = PLANAR_IDX; + mpm[1] = aboveIntraDir; + mpm[2] = ((aboveIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[3] = ((aboveIntraDir - 1) % MODULO_LUMA) + 2; + mpm[4] = ((aboveIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[5] = (aboveIntraDir % MODULO_LUMA) + 2; + } + else + { + mpm[0] = aboveIntraDir; + mpm[1] = ((aboveIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[2] = ((aboveIntraDir - 1) % MODULO_LUMA) + 2; + mpm[3] = ((aboveIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[4] = (aboveIntraDir % MODULO_LUMA) + 2; + mpm[5] = PLANAR_IDX; + } + } + else if (aboveIntraDir == PNN_IDX && leftIntraDir > DC_IDX) + { + if (multiRefIdx || !is_shape_handled_pnn) + { + mpm[0] = PLANAR_IDX; + mpm[1] = leftIntraDir; + mpm[2] = ((leftIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[3] = ((leftIntraDir - 1) % MODULO_LUMA) + 2; + mpm[4] = ((leftIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[5] = (leftIntraDir % MODULO_LUMA) + 2; + } + else + { + mpm[0] = leftIntraDir; + mpm[1] = ((leftIntraDir + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[2] = ((leftIntraDir - 1) % MODULO_LUMA) + 2; + mpm[3] = ((leftIntraDir + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[4] = (leftIntraDir % MODULO_LUMA) + 2; + mpm[5] = PLANAR_IDX; + } + } + } + else + { + if (leftIntraDir > DC_IDX && aboveIntraDir > DC_IDX) + { + int maxCandModeIdx{0}; + int minCandModeIdx{0}; + int idx_incremented{0}; + if (multiRefIdx || !is_shape_handled_pnn) + { + mpm[0] = PLANAR_IDX; + mpm[1] = leftIntraDir; + mpm[2] = aboveIntraDir; + maxCandModeIdx = mpm[1] > mpm[2] ? 1 : 2; + minCandModeIdx = mpm[1] > mpm[2] ? 2 : 1; + idx_incremented = 3; + } + else + { + mpm[0] = leftIntraDir; + mpm[1] = aboveIntraDir; + maxCandModeIdx = mpm[0] > mpm[1] ? 0 : 1; + minCandModeIdx = mpm[0] > mpm[1] ? 1 : 0; + idx_incremented = 2; + mpm[5] = PLANAR_IDX; + } + if (mpm[maxCandModeIdx] - mpm[minCandModeIdx] == 1) + { + mpm[idx_incremented++] = ((mpm[minCandModeIdx] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[maxCandModeIdx] - 1) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[minCandModeIdx] + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + } + else if (mpm[maxCandModeIdx] - mpm[minCandModeIdx] >= 62) + { + mpm[idx_incremented++] = ((mpm[minCandModeIdx] - 1) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[maxCandModeIdx] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = (mpm[minCandModeIdx] % MODULO_LUMA) + 2; + } + else if (mpm[maxCandModeIdx] - mpm[minCandModeIdx] == 2) + { + mpm[idx_incremented++] = ((mpm[minCandModeIdx] - 1) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[minCandModeIdx] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[maxCandModeIdx] - 1) % MODULO_LUMA) + 2; + } + else + { + mpm[idx_incremented++] = ((mpm[minCandModeIdx] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[minCandModeIdx] - 1) % MODULO_LUMA) + 2; + mpm[idx_incremented++] = ((mpm[maxCandModeIdx] + OFFSET_LUMA) % MODULO_LUMA) + 2; + } + } + else if (leftIntraDir + aboveIntraDir >= 2) + { + if (multiRefIdx || !is_shape_handled_pnn) + { + mpm[0] = PLANAR_IDX; + mpm[1] = leftIntraDir < aboveIntraDir ? aboveIntraDir : leftIntraDir; + mpm[2] = ((mpm[1] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[3] = ((mpm[1] - 1) % MODULO_LUMA) + 2; + mpm[4] = ((mpm[1] + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[5] = (mpm[1] % MODULO_LUMA) + 2; + } + else + { + mpm[0] = leftIntraDir < aboveIntraDir ? aboveIntraDir : leftIntraDir; + mpm[1] = ((mpm[0] + OFFSET_LUMA) % MODULO_LUMA) + 2; + mpm[2] = ((mpm[0] - 1) % MODULO_LUMA) + 2; + mpm[3] = ((mpm[0] + OFFSET_LUMA - 1) % MODULO_LUMA) + 2; + mpm[4] = (mpm[0] % MODULO_LUMA) + 2; + mpm[5] = PLANAR_IDX; + } + } + } + } + return numCand; +} +#endif PUTraverser CU::traversePUs( CodingUnit& cu ) { @@ -559,6 +753,38 @@ cTUTraverser CU::traverseTUs( const CodingUnit& cu ) // PU tools +#if JVET_AB0149_INTRA_PRED +int PU::getIntraMPMs(const PredictionUnit& pu,unsigned* const mpm,const bool& is_shape_handled_pnn,const ChannelType& channelType) +{ + CHECK(isChroma(channelType),"In `PU::getIntraMPMs`, `isChroma(channelType)` returns true."); + int leftIntraDir = PLANAR_IDX; + int aboveIntraDir = PLANAR_IDX; + const CompArea& area = pu.block(getFirstComponentOfChannel(channelType)); + const Position posRT = area.topRight(); + const Position posLB = area.bottomLeft(); + const PredictionUnit* const puLeft = pu.cs->getPURestricted(posLB.offset(-1, 0),pu,channelType); + if (puLeft && CU::isIntra(*puLeft->cu)) + { + leftIntraDir = PU::getIntraDirLuma( *puLeft ); + if (leftIntraDir == PNN_IDX) + { + leftIntraDir = (*puLeft->cu).idxRepresentationPnn; + CHECK(leftIntraDir < 0 || leftIntraDir >= NUM_LUMA_MODE,"`leftIntraDir` does not belong to [|0, " + std::to_string(NUM_LUMA_MODE - 1) + "|]."); + } + } + const PredictionUnit* const puAbove = pu.cs->getPURestricted(posRT.offset(0, -1), pu, channelType); + if (puAbove && CU::isIntra(*puAbove->cu) && CU::isSameCtu(*pu.cu, *puAbove->cu)) + { + aboveIntraDir = PU::getIntraDirLuma(*puAbove); + if (aboveIntraDir == PNN_IDX) + { + aboveIntraDir = (*puAbove->cu).idxRepresentationPnn; + CHECK(aboveIntraDir < 0 || aboveIntraDir >= NUM_LUMA_MODE,"`aboveIntraDir` does not belong to [|0, " + std::to_string(NUM_LUMA_MODE - 1) + "|]."); + } + } + return fillListMPMs(mpm,leftIntraDir,aboveIntraDir,pu.multiRefIdx,is_shape_handled_pnn); +} +#else int PU::getIntraMPMs( const PredictionUnit &pu, unsigned* mpm, const ChannelType &channelType /*= CHANNEL_TYPE_LUMA*/ ) { const int numMPMs = NUM_MOST_PROBABLE_MODES; @@ -666,6 +892,7 @@ int PU::getIntraMPMs( const PredictionUnit &pu, unsigned* mpm, const ChannelType return numCand; } } +#endif bool PU::isMIP(const PredictionUnit &pu, const ChannelType &chType) { @@ -714,8 +941,12 @@ void PU::getIntraChromaCandModes( const PredictionUnit &pu, unsigned modeList[NU { return; } - +#if JVET_AB0149_INTRA_PRED + const uint32_t lumaMode(getIntraDirLumaSubstitutePnn(getCoLocatedIntraLumaMode(pu),pu.Cb().height,pu.Cb().width) + ); +#else const uint32_t lumaMode = getCoLocatedIntraLumaMode(pu); +#endif for (int i = 0; i < 4; i++) { if (lumaMode == modeList[i]) @@ -761,7 +992,11 @@ uint32_t PU::getFinalIntraMode( const PredictionUnit &pu, const ChannelType &chT if( uiIntraMode == DM_CHROMA_IDX && !isLuma( chType ) ) { +#if JVET_AB0149_INTRA_PRED + uiIntraMode = getIntraDirLumaSubstitutePnn(getCoLocatedIntraLumaMode(pu),pu.Cb().height,pu.Cb().width); +#else uiIntraMode = getCoLocatedIntraLumaMode(pu); +#endif } if( pu.chromaFormat == CHROMA_422 && !isLuma( chType ) && uiIntraMode < NUM_LUMA_MODE ) // map directional, planar and dc { @@ -786,6 +1021,18 @@ uint32_t PU::getCoLocatedIntraLumaMode(const PredictionUnit &pu) return PU::getIntraDirLuma(PU::getCoLocatedLumaPU(pu)); } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_TM_INF_PNN +uint32_t PU::getCoLocatedIdxLfnstPnn(const PredictionUnit& pu,const uint32_t& lfnstIdx) +{ + CHECK(lfnstIdx != 1 && lfnstIdx != 2,"`lfnstIdx` does not belong to {1, 2}."); + Position topLeftPos(pu.blocks[pu.chType].lumaPos()); + Position refPos(topLeftPos.offset(pu.blocks[pu.chType].lumaSize().width >> 1,pu.blocks[pu.chType].lumaSize().height >> 1)); + const PredictionUnit& lumaPU(pu.cu->isSepTree() ? *pu.cs->picture->cs->getPU(refPos, CHANNEL_TYPE_LUMA) : *pu.cs->getPU(topLeftPos, CHANNEL_TYPE_LUMA)); + CHECK(PU::getIntraDirLuma(lumaPU) != PNN_IDX,"The selected intra prediction mode of the colocated luminance CB is not the PNN mode."); + return (lumaPU.cu)->arrayIdxPredictedLfnstPnn[COMPONENT_Y][lfnstIdx - 1]; +} +#endif + int PU::getWideAngle( const TransformUnit &tu, const uint32_t dirMode, const ComponentID compID ) { //This function returns a wide angle index taking into account that the values 0 and 1 are reserved @@ -3658,6 +3905,31 @@ bool CU::isFirstTBInPredReg(const CodingUnit& cu, const ComponentID compID, cons return (compID == COMPONENT_Y) && cu.ispMode && ((area.topLeft().x - cu.Y().topLeft().x) % PRED_REG_MIN_WIDTH == 0); } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +bool CU::isFirstTbInPb(const CodingUnit& cu,const ComponentID& compID,const CompArea& area) +{ + return isLuma(compID) && cu.ispMode && area.topLeft() == cu.Y().topLeft(); +} + +bool CU::isLastTbInPb(const CodingUnit& cu,const ComponentID& compID,const CompArea& area) +{ + bool isCommonLast(false); + if (cu.ispMode == VER_INTRA_SUBPARTITIONS) + { + isCommonLast = area.topRight() == cu.Y().topRight(); + } + else if (cu.ispMode == HOR_INTRA_SUBPARTITIONS) + { + isCommonLast = area.bottomLeft() == cu.Y().bottomLeft(); + } + else + { + return false; + } + return isLuma(compID) && isCommonLast; +} +#endif + void CU::adjustPredArea(CompArea &area) { area.width = std::max<int>(PRED_REG_MIN_WIDTH, area.width); diff --git a/source/Lib/CommonLib/UnitTools.h b/source/Lib/CommonLib/UnitTools.h index c87fbdc93904b3319f2095ca38b1743015a5d79f..508a8191f27e6da2a57f469e926c7b619e90fcd7 100644 --- a/source/Lib/CommonLib/UnitTools.h +++ b/source/Lib/CommonLib/UnitTools.h @@ -43,6 +43,11 @@ #include "ContextModelling.h" #include "InterPrediction.h" +#if JVET_AB0149_INTRA_PRED +#include "intra_pred_downsampling_interpolation.h" +extern const std::vector<SizeNn> g_vectorPairsHeightWidthPnn; +#endif + // CS tools namespace CS { @@ -81,6 +86,10 @@ namespace CU uint32_t getNumNonZeroCoeffNonTsCorner8x8( const CodingUnit& cu, const bool lumaFlag = true, const bool chromaFlag = true ); bool isPredRegDiffFromTB(const CodingUnit& cu, const ComponentID compID); bool isFirstTBInPredReg(const CodingUnit& cu, const ComponentID compID, const CompArea &area); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool isFirstTbInPb(const CodingUnit& cu,const ComponentID& compID,const CompArea& area); + bool isLastTbInPb(const CodingUnit& cu,const ComponentID& compID,const CompArea& area); +#endif bool isMinWidthPredEnabledForBlkSize(const int w, const int h); void adjustPredArea(CompArea &area); bool isBcwIdxCoded (const CodingUnit& cu); @@ -127,7 +136,11 @@ namespace CU namespace PU { int getLMSymbolList(const PredictionUnit &pu, int *modeList); - int getIntraMPMs(const PredictionUnit &pu, unsigned *mpm, const ChannelType &channelType = CHANNEL_TYPE_LUMA); + int getIntraMPMs(const PredictionUnit &pu, unsigned *mpm +#if JVET_AB0149_INTRA_PRED + , const bool& is_shape_handled_pnn +#endif + , const ChannelType &channelType = CHANNEL_TYPE_LUMA); bool isMIP (const PredictionUnit &pu, const ChannelType &chType = CHANNEL_TYPE_LUMA); bool isDMChromaMIP (const PredictionUnit &pu); uint32_t getIntraDirLuma (const PredictionUnit &pu); @@ -135,6 +148,9 @@ namespace PU const PredictionUnit &getCoLocatedLumaPU(const PredictionUnit &pu); uint32_t getFinalIntraMode (const PredictionUnit &pu, const ChannelType &chType); uint32_t getCoLocatedIntraLumaMode (const PredictionUnit &pu); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_TM_INF_PNN + uint32_t getCoLocatedIdxLfnstPnn(const PredictionUnit& pu,const uint32_t& lfnstIdx); +#endif int getWideAngle ( const TransformUnit &tu, const uint32_t dirMode, const ComponentID compID ); void getInterMergeCandidates (const PredictionUnit &pu, MergeCtx& mrgCtx, int mmvdList, @@ -250,4 +266,11 @@ uint32_t updateCandList(T uiMode, double uiCost, static_vector<T, N>& candModeLi return 0; } +#if JVET_AB0149_INTRA_PRED +uint32_t getIntraDirLumaSubstitutePnn(const uint32_t& indexModeLuma,const uint32_t& heightChroma,const uint32_t& widthChroma); +bool decideShapeHandledPnn(const uint32_t& height,const uint32_t& width); +int fillListMPMs(unsigned* const mpm,const int& leftIntraDir,const int& aboveIntraDir,const int& multiRefIdx,const bool& is_shape_handled_pnn); +int fillListMPMsWithoutInitialization(unsigned* const mpm,const int& leftIntraDir,const int& aboveIntraDir,const int& multiRefIdx,const bool& is_shape_handled_pnn); +#endif + #endif diff --git a/source/Lib/CommonLib/intra_pred_downsampling_interpolation.cpp b/source/Lib/CommonLib/intra_pred_downsampling_interpolation.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e01007feef004e5c0dae237af49c62207e9fa298 --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_downsampling_interpolation.cpp @@ -0,0 +1,100 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "intra_pred_downsampling_interpolation.h" + +#if JVET_AB0149_INTRA_PRED +bool find_equivalent_p(const std::vector<SizeNn>& vector_pairs_height_width,const SizeNn& pair_height_width_before_tr,transformations_context_prediction& transfos) +{ + auto it = std::find(vector_pairs_height_width.begin(),vector_pairs_height_width.end(),pair_height_width_before_tr); + if (it != vector_pairs_height_width.end()) + { + transfos.pair_height_width_after_tr = pair_height_width_before_tr; + transfos.factor_downsampling_horizontal = 1; + transfos.factor_downsampling_vertical = 1; + transfos.is_transposed = false; + return true; + } + SizeNn pair_height_width_temp{pair_height_width_before_tr.second,pair_height_width_before_tr.first}; + it = std::find(vector_pairs_height_width.begin(),vector_pairs_height_width.end(),pair_height_width_temp); + if (it != vector_pairs_height_width.end()) + { + transfos.pair_height_width_after_tr = pair_height_width_temp; + transfos.factor_downsampling_horizontal = 1; + transfos.factor_downsampling_vertical = 1; + transfos.is_transposed = true; + return true; + } + const bool is_8_32 = pair_height_width_before_tr.first == 8 && pair_height_width_before_tr.second == 32, is_32_8 = pair_height_width_before_tr.first == 32 && pair_height_width_before_tr.second == 8; + if (is_8_32 || is_32_8) + { + pair_height_width_temp.first = 8; + pair_height_width_temp.second = 16; + it = std::find(vector_pairs_height_width.begin(),vector_pairs_height_width.end(),pair_height_width_temp); + if (it != vector_pairs_height_width.end()) + { + transfos.pair_height_width_after_tr = pair_height_width_temp; + transfos.factor_downsampling_horizontal = is_8_32 ? 2 : 1; + transfos.factor_downsampling_vertical = is_8_32 ? 1 : 2; + transfos.is_transposed = is_32_8; + return true; + } + pair_height_width_temp.first = 16; + pair_height_width_temp.second = 8; + it = std::find(vector_pairs_height_width.begin(),vector_pairs_height_width.end(),pair_height_width_temp); + if (it != vector_pairs_height_width.end()) + { + transfos.pair_height_width_after_tr = pair_height_width_temp; + transfos.factor_downsampling_horizontal = is_8_32 ? 2 : 1; + transfos.factor_downsampling_vertical = is_8_32 ? 1 : 2; + transfos.is_transposed = is_8_32; + return true; + } + } + if ((pair_height_width_before_tr.first == 128 && pair_height_width_before_tr.second == 128) || (pair_height_width_before_tr.first == 64 && pair_height_width_before_tr.second == 64) || (pair_height_width_before_tr.first == 32 && pair_height_width_before_tr.second == 32)|| (pair_height_width_before_tr.first == 16 && pair_height_width_before_tr.second == 32)|| (pair_height_width_before_tr.first == 32 && pair_height_width_before_tr.second == 16)) + { + pair_height_width_temp.first = 16; + pair_height_width_temp.second = 16; + it = std::find(vector_pairs_height_width.begin(), vector_pairs_height_width.end(),pair_height_width_temp); + if (it != vector_pairs_height_width.end()) + { + transfos.pair_height_width_after_tr = pair_height_width_temp; + transfos.factor_downsampling_horizontal = pair_height_width_before_tr.second/16; + transfos.factor_downsampling_vertical = pair_height_width_before_tr.first/16; + transfos.is_transposed = false; + return true; + } + } + return false; +} +#endif diff --git a/source/Lib/CommonLib/intra_pred_downsampling_interpolation.h b/source/Lib/CommonLib/intra_pred_downsampling_interpolation.h new file mode 100644 index 0000000000000000000000000000000000000000..2eace88b1953eff86c2521391213d63de4530e43 --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_downsampling_interpolation.h @@ -0,0 +1,188 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef INTRA_PRED_DOWNSAMPLING_INTERPOLATION_H +#define INTRA_PRED_DOWNSAMPLING_INTERPOLATION_H + +#include <cmath> +#include "CommonDef.h" + +#if JVET_AB0149_INTRA_PRED +struct transformations_context_prediction +{ + SizeNn pair_height_width_after_tr; + int factor_downsampling_vertical; + int factor_downsampling_horizontal; + bool is_transposed; +}; + +template<typename T> +T divide_integers_closest(const T& value,const T& divisor) +{ + const bool are_opposite_signs{(value < 0 && divisor > 0) || (value > 0 && divisor < 0)}; + return (value + (are_opposite_signs ? -1 : 1)*(divisor/2))/divisor; +} + +template <typename T> +int redPrimary(const T* ptr_top_left_rectangle,const int factor_downsampling_vertical,const int factor_downsampling_horizontal,const int stride_picture,T& value_downsampling) +{ + if (factor_downsampling_vertical == 1 && factor_downsampling_horizontal == 1) + { + value_downsampling = ptr_top_left_rectangle[0]; + } + else + { + int accumulation = 0, i = 0, j = 0; + for (i = 0; i < factor_downsampling_vertical; i++) + { + for (j = 0; j < factor_downsampling_horizontal; j++) + { + accumulation += ptr_top_left_rectangle[j]; + } + ptr_top_left_rectangle += stride_picture; + } + value_downsampling = static_cast<T>(divide_integers_closest(accumulation,factor_downsampling_vertical*factor_downsampling_horizontal)); + } + return 0; +} +bool find_equivalent_p(const std::vector<SizeNn>& vector_pairs_height_width,const SizeNn& pair_height_width_before_tr,transformations_context_prediction& transfos); +template <typename T> +int ulSecondary(const T* const ptr_src,T* const ptr_dst,const T* const ptr_boundary,const int size_dim_src_upsampled,const int size_dim_src_orth,const int step_src_upsampled,const int step_src_orth,const int step_dst_upsampled,const int step_dst_orth,const int step_boundary,const int factor_upsampling) +{ + const T* ptr_src_temp = ptr_src; + T* ptr_dst_temp = ptr_dst; + const T* ptr_boundary_temp = ptr_boundary; const T* ptr_before = NULL; const T* ptr_after = NULL; + T* ptr_current_dst = NULL; + int i = 0, j = 0, k = 0; + for (i = 0; i < size_dim_src_orth; i++) + { + ptr_before = ptr_boundary_temp; + ptr_after = ptr_src_temp; + ptr_current_dst = ptr_dst_temp; + for (j = 0; j < size_dim_src_upsampled; j++) + { + for (k = 1; k <= factor_upsampling; k++) + { + *ptr_current_dst = divide_integers_closest<int>((factor_upsampling - k)*(*ptr_before) + k*(*ptr_after),factor_upsampling); + ptr_current_dst += step_dst_upsampled; + } + ptr_before = ptr_after; + ptr_after += step_src_upsampled; + } + ptr_src_temp += step_src_orth; + ptr_dst_temp += step_dst_orth; + ptr_boundary_temp += step_boundary; + } + return 0; +} + +template <typename T> +int ulPrimary(const T* const ptr_src,T* const ptr_dst,const T* const ptr_boundary_left,const T* const ptr_boundary_above,const int height_target,const int width_target,const int stride_src,const int stride_dst,const int stride_boundary_left,const int factor_upsampling_vertical,const int factor_upsampling_horizontal,const bool is_transposed) +{ + const int height_target_src = height_target/factor_upsampling_vertical, width_target_src = width_target/factor_upsampling_horizontal; + int step_src_upsampled = is_transposed ? stride_src : 1, step_src_orth = is_transposed ? 1 : stride_src; + T* const ptr_dst_shifted = ptr_dst + stride_dst*(factor_upsampling_vertical - 1); + const T* const ptr_boundary_left_shifted = ptr_boundary_left + stride_boundary_left*(factor_upsampling_vertical - 1); + ulSecondary(ptr_src,ptr_dst_shifted, ptr_boundary_left_shifted,width_target_src,height_target_src,step_src_upsampled,step_src_orth,1,stride_dst*factor_upsampling_vertical,stride_boundary_left*factor_upsampling_vertical,factor_upsampling_horizontal); + const T* ptr_src_shifted = NULL; + int size_dim_src_upsampled = 0, size_dim_src_orth = 0; + if (factor_upsampling_horizontal > 1) + { + ptr_src_shifted = ptr_dst_shifted; + size_dim_src_upsampled = height_target_src; + size_dim_src_orth = width_target; + step_src_upsampled = stride_dst*factor_upsampling_vertical; + step_src_orth = 1; + } + else + { + ptr_src_shifted = ptr_src; + size_dim_src_upsampled = height_target_src; + size_dim_src_orth = width_target_src; + step_src_upsampled = is_transposed ? 1 : stride_src; + step_src_orth = is_transposed ? stride_src : 1; + } + ulSecondary(ptr_src_shifted,ptr_dst,ptr_boundary_above,size_dim_src_upsampled,size_dim_src_orth,step_src_upsampled,step_src_orth,stride_dst,1,1,factor_upsampling_vertical); + return 0; +} + +template<typename T, typename DSMALL> +T change_opt_init(const DSMALL& value,const DSMALL& divisor,const DSMALL& meanContext,const DSMALL& maximum) +{ + if (std::is_integral<DSMALL>::value) + { + return static_cast<T>(std::max<DSMALL>(0, std::min<DSMALL>(maximum,meanContext + divide_integers_closest(value, divisor)))); + } + else + { + return static_cast<T>(std::nearbyint(std::max<DSMALL>(0, std::min<DSMALL>(maximum,meanContext + value/divisor)))); + } +} + +template<typename T, typename DSMALL> +int change_opt_intermediate(const DSMALL* const ptr_src,T* const ptr_dst,const int& height_image,const int& width_image,const int& stride_src,const int& stride_dst, const DSMALL& divisor,const DSMALL& meanContext, const DSMALL& maximum) +{ + const DSMALL* ptr_src_temp = ptr_src; + T* ptr_dst_temp = ptr_dst; + int i = 0, j = 0; + for (i = 0; i < height_image; i++) + { + for (j = 0; j < width_image; j++) + { + ptr_dst_temp[j] = change_opt_init<T, DSMALL>(ptr_src_temp[j],divisor,meanContext,maximum); + } + ptr_src_temp += stride_src; + ptr_dst_temp += stride_dst; + } + return 0; +} + +template<typename T, typename DSMALL> +int change_opt_last(const DSMALL* const ptr_before_upsampling,T* const ptr_intermediate,T* const ptr_after_upsampling,const T* const ptr_boundary_left,const T* const ptr_boundary_above,const int& height_target,const int& width_target,const int& stride_before_upsampling,const int& stride_intermediate,const int& stride_after_upsampling,const int& stride_boundary_left,const int& factor_upsampling_vertical,const int& factor_upsampling_horizontal,const DSMALL& divisor,const DSMALL& meanContext,const DSMALL& maximum,const bool& is_transposed) +{ + const int height_target_src = height_target/factor_upsampling_vertical, width_target_src = width_target/factor_upsampling_horizontal, height_target_tr = is_transposed ? width_target_src : height_target_src, width_target_tr = is_transposed ? height_target_src : width_target_src; + int error_code = change_opt_intermediate(ptr_before_upsampling,ptr_intermediate,height_target_tr,width_target_tr,stride_before_upsampling,stride_intermediate,divisor,meanContext,maximum); + if (error_code < 0) + { + return -1; + } + error_code = ulPrimary(ptr_intermediate,ptr_after_upsampling,ptr_boundary_left,ptr_boundary_above,height_target,width_target,stride_intermediate,stride_after_upsampling,stride_boundary_left,factor_upsampling_vertical,factor_upsampling_horizontal,is_transposed); + if (error_code < 0) + { + return -1; + } + return 0; +} +#endif + +#endif diff --git a/source/Lib/CommonLib/intra_pred_extraction_context.cpp b/source/Lib/CommonLib/intra_pred_extraction_context.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8a81b9703f608aabfcae135c558cf38c4cdd5cab --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_extraction_context.cpp @@ -0,0 +1,190 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "intra_pred_extraction_context.h" + +#if JVET_AB0149_INTRA_PRED +void compute_steps_0(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& nbLinesLeftTr,const int& contextWidth,int& stepFast,int& stepOrth) +{ + if (isTransposed) + { + stepFast = nbLinesLeftTr; + stepOrth = 1; + } + else + { + if (isFlatteningTransposedScanning) + { + stepFast = nbLinesAboveTr; + stepOrth = 1; + } + else + { + stepFast = 1; + stepOrth = contextWidth; + } + } +} + +void compute_steps_2(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& contextWidth,int& stepFast,int& stepOrth) +{ + if (isTransposed) + { + if (isFlatteningTransposedScanning) + { + stepFast = 1; + stepOrth = nbLinesAboveTr; + } + else + { + stepFast = contextWidth; + stepOrth = 1; + } + } + else + { + if (isFlatteningTransposedScanning) + { + stepFast = nbLinesAboveTr; + stepOrth = 1; + } + else + { + stepFast = 1; + stepOrth = contextWidth; + } + } +} + +void compute_steps_1(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& nbLinesLeftTr,const int& contextWidth,int& stepFast,int& stepOrth) +{ + if (isTransposed) + { + if (isFlatteningTransposedScanning) + { + stepFast = 1; + stepOrth = nbLinesAboveTr; + } + else + { + stepFast = contextWidth; + stepOrth = 1; + } + } + else + { + stepFast = 1; + stepOrth = nbLinesLeftTr; + } +} + +int fill_pre_before_last(const bool* const pbNeighborFlags,bool* const pbNeighborFlagsMerged,const int& iAboveUnits,const int& iLeftUnits,const int& stepMerge) +{ + const bool* pbNeighborFlagsTemp = pbNeighborFlags; + bool* pbNeighborFlagsMergedTemp = pbNeighborFlagsMerged; + int i = 0, j = 0; + for (i = 0; i < iLeftUnits/stepMerge; i++) + { + for (j = 0; j < stepMerge; j++) + { + if (pbNeighborFlagsTemp[j] != *pbNeighborFlagsTemp) + { + return -1; + } + } + *pbNeighborFlagsMergedTemp = *pbNeighborFlagsTemp; + pbNeighborFlagsTemp += stepMerge; + pbNeighborFlagsMergedTemp++; + } + *pbNeighborFlagsMergedTemp = *pbNeighborFlagsTemp; + pbNeighborFlagsTemp++; + pbNeighborFlagsMergedTemp++; + for (i = 0; i < iAboveUnits/stepMerge; i++) + { + for (j = 0; j < stepMerge; j++) + { + if (pbNeighborFlagsTemp[j] != *pbNeighborFlagsTemp) + { + return -1; + } + } + *pbNeighborFlagsMergedTemp = *pbNeighborFlagsTemp; + pbNeighborFlagsTemp += stepMerge; + pbNeighborFlagsMergedTemp++; + } + return 0; +} + +int translate_into_new(const bool* const pbNeighborFlags,bool* const pbNeighborFlagsMerged,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,int& unitWidth,int& unitHeight,int& iAboveUnits,int& iLeftUnits,bool& isMerged) +{ + const bool isUnitWidthSmaller = unitWidth < factorDownsamplingHorizontal, isUnitHeightSmaller = unitHeight < factorDownsamplingVertical; + isMerged = false; + if (isUnitWidthSmaller || isUnitHeightSmaller) + { + int stepMergeWidth{1}; + if (isUnitWidthSmaller) + { + if (factorDownsamplingHorizontal % unitWidth == 0) + { + stepMergeWidth = factorDownsamplingHorizontal/unitWidth; + } + else + { + return -1; + } + } + int stepMergeHeight = 1; + if (isUnitHeightSmaller) + { + if (factorDownsamplingVertical % unitHeight == 0) + { + stepMergeHeight = factorDownsamplingVertical/unitHeight; + } + else + { + return -1; + } + } + const int stepMerge = std::max(stepMergeWidth,stepMergeHeight); + fill_pre_before_last(pbNeighborFlags,pbNeighborFlagsMerged,iAboveUnits,iLeftUnits,stepMerge); + unitWidth *= stepMerge; + unitHeight *= stepMerge; + iAboveUnits /= stepMerge; + iLeftUnits /= stepMerge; + isMerged = true; + } + return 0; +} +#endif + + diff --git a/source/Lib/CommonLib/intra_pred_extraction_context.h b/source/Lib/CommonLib/intra_pred_extraction_context.h new file mode 100644 index 0000000000000000000000000000000000000000..42dca202a27c576c09223a02bb8e3edc1d9a7f32 --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_extraction_context.h @@ -0,0 +1,445 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef INTRA_PRED_EXTRACTION_CONTEXT_H +#define INTRA_PRED_EXTRACTION_CONTEXT_H + +#include "intra_pred_downsampling_interpolation.h" + +#if JVET_AB0149_INTRA_PRED +int get_nb_lines(const SizeNn& pair_height_width,SizeNn& pair_nb_lines); + +template<typename T> +int collect_indices_non_zeros(const T* const ptr_array,const unsigned int& size_array,std::vector<uint32_t>& vector_indices) +{ + for (uint32_t i = 0; i < size_array; i++) + { + if (ptr_array[i] != 0) + { + vector_indices.push_back(i); + } + } + return 0; +} + +template<typename T> +int collect_argminmax_per_row(const T* const ptr_array_2d,const int& height_array, const int& width_array, std::vector<uint32_t>& vector_argminmaxs, const bool& is_minimum_used) +{ + uint32_t i = 0, j = 0, position = 0; + bool is_updated = false; + const T* ptr_temp = NULL; + for (i = 0; i < height_array; i++) + { + position = 0; + ptr_temp = ptr_array_2d + i*width_array; + T minmax = *ptr_temp; + for (j = 1; j < width_array; j++) + { + ptr_temp++; + is_updated = is_minimum_used ? *ptr_temp < minmax : *ptr_temp > minmax; + if (is_updated) + { + position = j; + minmax = *ptr_temp; + } + } + vector_argminmaxs.push_back(position); + } + return 0; +} + +void compute_steps_0(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& nbLinesLeftTr,const int& contextWidth,int& stepFast,int& stepOrth); +void compute_steps_2(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& contextWidth,int& stepFast,int& stepOrth); +void compute_steps_1(const bool& isTransposed,const bool& isFlatteningTransposedScanning,const int& nbLinesAboveTr,const int& nbLinesLeftTr,const int& contextWidth,int& stepFast,int& stepOrth); +int fill_pre_before_last(const bool* const pbNeighborFlags,bool* const pbNeighborFlagsMerged,const int& iAboveUnits,const int& iLeftUnits,const int& stepMerge); +int translate_into_new(const bool* const pbNeighborFlags,bool* const pbNeighborFlagsMerged,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,int& unitWidth,int& unitHeight,int& iAboveUnits,int& iLeftUnits,bool& isMerged); +template <typename T, typename DSMALL> +int extract_c0_def(const T* const piRoiOrigin,DSMALL* const piPortion,const bool* const pbNeighborFlags,const int& unitWidth,const int& iAboveUnits,const int& nbLinesAbove,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& stepFast,const int& stepOrth,const int& iPicStride,const int& limitUnmasking,int& sumContext,int& counterInSumContext) +{ + const int unitWidthDownsampled = unitWidth/factorDownsamplingHorizontal, nbLinesAboveDownsampled = nbLinesAbove/factorDownsamplingVertical; + int i = 0, j = 0, k = 0; + const T* piRoiOriginTemp = NULL; + DSMALL* piPortionTemp = NULL; + T valueDownsampling = 0; + const bool* pbNeighborFlagsTemp = pbNeighborFlags; + if (!(*pbNeighborFlagsTemp)){return -1;} + pbNeighborFlagsTemp++; + bool isFirstUnavailableUnitFound = false; + int error_code = 0; + for (i = 0; i < iAboveUnits; i++) + { + const bool isNotInLimitUnmasking = limitUnmasking == -1 ? true : i*unitWidth < limitUnmasking; + if (*pbNeighborFlagsTemp && isNotInLimitUnmasking) + { + if (isFirstUnavailableUnitFound){return -1;} + piRoiOriginTemp = piRoiOrigin - nbLinesAbove*iPicStride + i*unitWidth; + for (j = 0; j < nbLinesAboveDownsampled; j++) + { + piPortionTemp = piPortion + i*unitWidthDownsampled*stepFast + j*stepOrth; + for (k = 0; k < unitWidthDownsampled; k++) + { + error_code = redPrimary(piRoiOriginTemp + k*factorDownsamplingHorizontal,factorDownsamplingVertical,factorDownsamplingHorizontal,iPicStride,valueDownsampling); + if (error_code < 0){return -1;} + *piPortionTemp = static_cast<DSMALL>(valueDownsampling); + sumContext += valueDownsampling; + counterInSumContext += 1; + piPortionTemp += stepFast; + } + piRoiOriginTemp += iPicStride*factorDownsamplingVertical; + } + } + else + { + if (!isFirstUnavailableUnitFound) + { + isFirstUnavailableUnitFound = true; + } + } + pbNeighborFlagsTemp++; + } + return 0; +} + +template <typename T, typename DSMALL> +int extract_c2_def(const T* const piRoiOrigin,DSMALL* const piPortion,const int& nbLinesAbove,const int& nbLinesLeft,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& stepFast,const int& stepOrth,const int& iPicStride,int& sumContext,int& counterInSumContext) +{ + const int nbLinesAboveDownsampled = nbLinesAbove/factorDownsamplingVertical, nbLinesLeftDownsampled = nbLinesLeft/factorDownsamplingHorizontal; + int i = 0, j = 0; + T valueDownsampling = 0; + const T* piRoiOriginTemp = piRoiOrigin - nbLinesAbove*iPicStride - nbLinesLeft; + DSMALL* piPortionTemp = NULL; + int error_code = 0; + for (i = 0; i < nbLinesAboveDownsampled; i++) + { + piPortionTemp = piPortion + i*stepOrth; + for (j = 0; j < nbLinesLeftDownsampled; j++) + { + error_code = redPrimary(piRoiOriginTemp + j*factorDownsamplingHorizontal,factorDownsamplingVertical,factorDownsamplingHorizontal,iPicStride,valueDownsampling); + if (error_code < 0){return -1;} + *piPortionTemp = static_cast<DSMALL>(valueDownsampling); + sumContext += valueDownsampling; + counterInSumContext += 1; + piPortionTemp += stepFast; + } + piRoiOriginTemp += iPicStride*factorDownsamplingVertical; + } + return 0; +} + +template <typename T, typename DSMALL> +int extract_c1_def(const T* const piRoiOrigin,DSMALL* const piPortion,const bool* const pbNeighborFlags,const int& unitHeight,const int& iLeftUnits,const int& nbLinesLeft,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& stepFast,const int& stepOrth,const int& iPicStride,const int& limitUnmasking,int& sumContext,int& counterInSumContext) +{ + const int unitHeightDownsampled = unitHeight/factorDownsamplingVertical, nbLinesLeftDownsampled = nbLinesLeft/factorDownsamplingHorizontal; + int i = 0, j = 0, k = 0; + const T* piRoiOriginTemp = piRoiOrigin - nbLinesLeft; + DSMALL* piPortionTemp = NULL; + T valueDownsampling = 0; + const bool* pbNeighborFlagsTemp = pbNeighborFlags; + if (!(*pbNeighborFlagsTemp)){return -1;} + pbNeighborFlagsTemp--; + bool isFirstUnavailableUnitFound = false; + int error_code = 0; + for (i = 0; i < iLeftUnits; i++) + { + const bool isNotInLimitUnmasking = limitUnmasking == -1 ? true : i*unitHeight < limitUnmasking; + if (*pbNeighborFlagsTemp && isNotInLimitUnmasking) + { + if (isFirstUnavailableUnitFound){return -1;} + for (j = 0; j < unitHeightDownsampled; j++) + { + piPortionTemp = piPortion + (i*unitHeightDownsampled + j)*stepOrth; + for (k = 0; k < nbLinesLeftDownsampled; k++) + { + error_code = redPrimary(piRoiOriginTemp + k*factorDownsamplingHorizontal,factorDownsamplingVertical,factorDownsamplingHorizontal,iPicStride,valueDownsampling); + if (error_code < 0){return -1;} + *piPortionTemp = static_cast<DSMALL>(valueDownsampling); + sumContext += valueDownsampling; + counterInSumContext += 1; + piPortionTemp += stepFast; + } + piRoiOriginTemp += iPicStride*factorDownsamplingVertical; + } + } + else + { + if (!isFirstUnavailableUnitFound) + { + isFirstUnavailableUnitFound = true; + } + } + pbNeighborFlagsTemp--; + } + return 0; +} + +template<typename DSMALL> +int initialize_call(DSMALL* const piPortionAbove,DSMALL* const piPortionLeft,const int& sizePortionAbove,const int& sizePortionLeft,const DSMALL& maskValue) +{ + int i = 0; + for (i = 0; i < sizePortionAbove; i++) + { + piPortionAbove[i] = maskValue; + } + for (i = 0; i < sizePortionLeft; i++) + { + piPortionLeft[i] = maskValue; + } + return 0; +} + +template <typename T, typename DSMALL> +int extract_call_def(const T* const piRoiOrigin,DSMALL* const piPortionAbove,DSMALL* const piPortionLeft,const bool* const pbNeighborFlags,const int& unitWidth,const int& unitHeight,const int& iAboveUnits,const int& iLeftUnits,const int& nbLinesAbove,const int& nbLinesLeft,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& iPicStride,const int& limitUnmaskingWidth,const int& limitUnmaskingHeight,const DSMALL& maskValue,const bool& isTransposed,const bool& isFlatteningTransposedScanning,T& meanContext) +{ + const int nbLinesAboveDownsampled = nbLinesAbove/factorDownsamplingVertical, nbLinesLeftDownsampled = nbLinesLeft/factorDownsamplingHorizontal, sizeCtxHeightDownsampled = (iLeftUnits*unitHeight)/factorDownsamplingVertical, sizeCtxWidthDownsampled = (iAboveUnits*unitWidth)/factorDownsamplingHorizontal, nbLinesAboveTr = isTransposed ? nbLinesLeftDownsampled : nbLinesAboveDownsampled, nbLinesLeftTr = isTransposed ? nbLinesAboveDownsampled : nbLinesLeftDownsampled, sizeCtxHeightTr = isTransposed ? sizeCtxWidthDownsampled : sizeCtxHeightDownsampled, sizeCtxWidthTr = isTransposed ? sizeCtxHeightDownsampled : sizeCtxWidthDownsampled, contextWidth = nbLinesLeftTr + sizeCtxWidthTr; + int error_code = initialize_call(piPortionAbove,piPortionLeft,nbLinesAboveTr*contextWidth,sizeCtxHeightTr*nbLinesLeftTr,maskValue); + if (error_code < 0){return -1;} + int sumContext = 0, counterInSumContext = 0, stepFast = 0, stepOrth = 0; + compute_steps_2(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,contextWidth,stepFast,stepOrth); + error_code = extract_c2_def(piRoiOrigin,piPortionAbove,nbLinesAbove,nbLinesLeft,factorDownsamplingVertical,factorDownsamplingHorizontal,stepFast,stepOrth,iPicStride,sumContext,counterInSumContext); + if (error_code < 0){return -1;} + DSMALL* piPortion{isTransposed ? piPortionLeft : (isFlatteningTransposedScanning ? piPortionAbove + nbLinesAboveTr*nbLinesLeftTr : piPortionAbove + nbLinesLeftTr)}; + compute_steps_0(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,nbLinesLeftTr,contextWidth,stepFast,stepOrth); + error_code = extract_c0_def(piRoiOrigin,piPortion,pbNeighborFlags,unitWidth,iAboveUnits,nbLinesAbove,factorDownsamplingVertical,factorDownsamplingHorizontal,stepFast,stepOrth,iPicStride,limitUnmaskingWidth,sumContext,counterInSumContext); + if (error_code < 0){return -1;} + piPortion = isTransposed ? (isFlatteningTransposedScanning ? piPortionAbove + nbLinesAboveTr*nbLinesLeftTr : piPortionAbove + nbLinesLeftTr) : piPortionLeft; + compute_steps_1(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,nbLinesLeftTr,contextWidth,stepFast,stepOrth); + error_code = extract_c1_def(piRoiOrigin,piPortion,pbNeighborFlags,unitHeight,iLeftUnits,nbLinesLeft,factorDownsamplingVertical,factorDownsamplingHorizontal,stepFast,stepOrth,iPicStride,limitUnmaskingHeight,sumContext,counterInSumContext); + if (error_code < 0){return -1;} + meanContext = static_cast<T>(divide_integers_closest(sumContext,counterInSumContext)); + return 0; +} + +template<typename DSMALL> +int pre_cin_0(DSMALL* const piPortion,const bool* const pbNeighborFlags,const int& unitWidthDownsampled,const int& iAboveUnits,const int& nbLinesAboveDownsampled,const int& stepFast,const int& stepOrth,const int& limitUnmaskingDownsampled,const DSMALL& scaleQuantizer,const DSMALL& meanContext) +{ + int i = 0, j = 0, k = 0; + DSMALL* piPortionTemp = NULL; + const bool* pbNeighborFlagsTemp = pbNeighborFlags; + if (!(*pbNeighborFlagsTemp)){return -1;} + pbNeighborFlagsTemp++; + bool isFirstUnavailableUnitFound = false; + for (i = 0; i < iAboveUnits; i++) + { + const bool isNotInLimitUnmasking = limitUnmaskingDownsampled == -1 ? true : i*unitWidthDownsampled < limitUnmaskingDownsampled; + if (*pbNeighborFlagsTemp && isNotInLimitUnmasking) + { + if (isFirstUnavailableUnitFound){return -1;} + for (j = 0; j < nbLinesAboveDownsampled; j++) + { + piPortionTemp = piPortion + i*unitWidthDownsampled*stepFast + j*stepOrth; + for (k = 0; k < unitWidthDownsampled; k++) + { + *piPortionTemp = (*piPortionTemp - meanContext)*scaleQuantizer; + piPortionTemp += stepFast; + } + } + } + else + { + if (!isFirstUnavailableUnitFound) + { + isFirstUnavailableUnitFound = true; + } + } + pbNeighborFlagsTemp++; + } + return 0; +} + +template<typename DSMALL> +int pre_cin_2(DSMALL* const piPortion,const int& nbLinesAboveDownsampled,const int& nbLinesLeftDownsampled,const int& stepFast,const int& stepOrth,const DSMALL& scaleQuantizer,const DSMALL& meanContext) +{ + int i = 0, j = 0; + DSMALL* piPortionTemp = NULL; + for (i = 0; i < nbLinesAboveDownsampled; i++) + { + piPortionTemp = piPortion + i*stepOrth; + for (j = 0; j < nbLinesLeftDownsampled; j++) + { + *piPortionTemp = (*piPortionTemp - meanContext)*scaleQuantizer; + piPortionTemp += stepFast; + } + } + return 0; +} + +template<typename DSMALL> +int pre_cin_1(DSMALL* const piPortion,const bool* const pbNeighborFlags,const int& unitHeightDownsampled,const int& iLeftUnits,const int& nbLinesLeftDownsampled,const int& stepFast,const int& stepOrth,const int& limitUnmaskingDownsampled,const DSMALL& scaleQuantizer,const DSMALL& meanContext) +{ + int i = 0, j = 0, k = 0; + DSMALL* piPortionTemp = NULL; + const bool* pbNeighborFlagsTemp = pbNeighborFlags; + if (!(*pbNeighborFlagsTemp)){return -1;} + pbNeighborFlagsTemp--; + bool isFirstUnavailableUnitFound = false; + for (i = 0; i < iLeftUnits; i++) + { + const bool isNotInLimitUnmasking = limitUnmaskingDownsampled == -1 ? true : i*unitHeightDownsampled < limitUnmaskingDownsampled; + if (*pbNeighborFlagsTemp && isNotInLimitUnmasking) + { + if (isFirstUnavailableUnitFound){return -1;} + for (j = 0; j < unitHeightDownsampled; j++) + { + piPortionTemp = piPortion + (i*unitHeightDownsampled + j)*stepOrth; + for (k = 0; k < nbLinesLeftDownsampled; k++) + { + *piPortionTemp = (*piPortionTemp - meanContext)*scaleQuantizer; + piPortionTemp += stepFast; + } + } + } + else + { + if (!isFirstUnavailableUnitFound) + { + isFirstUnavailableUnitFound = true; + } + } + pbNeighborFlagsTemp--; + } + return 0; +} + +template<typename DSMALL> +int pre_cin_all_def(DSMALL* const piPortionAbove,DSMALL* const piPortionLeft,const bool* const pbNeighborFlags,const int& unitWidthDownsampled,const int& unitHeightDownsampled,const int& iAboveUnits,const int& iLeftUnits,const int& nbLinesAboveDownsampled,const int& nbLinesLeftDownsampled,const int& limitUnmaskingWidthDownsampled,const int& limitUnmaskingHeightDownsampled,const DSMALL& scaleQuantizer,const bool& isTransposed,const bool& isFlatteningTransposedScanning,const DSMALL& meanContext) +{ + const int nbLinesAboveTr = isTransposed ? nbLinesLeftDownsampled : nbLinesAboveDownsampled, nbLinesLeftTr = isTransposed ? nbLinesAboveDownsampled : nbLinesLeftDownsampled, sizeCtxWidthTr = isTransposed ? iLeftUnits*unitHeightDownsampled : iAboveUnits*unitWidthDownsampled, contextWidth = nbLinesLeftTr + sizeCtxWidthTr; + int stepFast = 0, stepOrth = 0; + compute_steps_2(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,contextWidth,stepFast,stepOrth); + pre_cin_2(piPortionAbove,nbLinesAboveDownsampled,nbLinesLeftDownsampled,stepFast,stepOrth,scaleQuantizer,meanContext); + DSMALL* piPortion = isTransposed ? piPortionLeft : (isFlatteningTransposedScanning ? piPortionAbove + nbLinesAboveTr*nbLinesLeftTr : piPortionAbove + nbLinesLeftTr); + compute_steps_0(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,nbLinesLeftTr,contextWidth,stepFast,stepOrth); + pre_cin_0(piPortion,pbNeighborFlags,unitWidthDownsampled,iAboveUnits,nbLinesAboveDownsampled,stepFast,stepOrth,limitUnmaskingWidthDownsampled,scaleQuantizer,meanContext); + piPortion = isTransposed ? (isFlatteningTransposedScanning ? piPortionAbove + nbLinesAboveTr*nbLinesLeftTr : piPortionAbove + nbLinesLeftTr) : piPortionLeft; + compute_steps_1(isTransposed,isFlatteningTransposedScanning,nbLinesAboveTr,nbLinesLeftTr,contextWidth,stepFast,stepOrth); + pre_cin_1(piPortion,pbNeighborFlags,unitHeightDownsampled,iLeftUnits,nbLinesLeftDownsampled,stepFast,stepOrth,limitUnmaskingHeightDownsampled,scaleQuantizer,meanContext); + return 0; +} + +template <typename T, typename DSMALL> +int extract_pre_cin(const T* const piRoiOrigin,DSMALL* const piPortionAbove,DSMALL* const piPortionLeft,const bool* const pbNeighborFlags,const int& unitWidth,const int& unitHeight,const int& iAboveUnits,const int& iLeftUnits,const int& nbLinesAbove,const int& nbLinesLeft,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& iPicStride,const int& limitUnmaskingWidth,const int& limitUnmaskingHeight,const DSMALL& scaleQuantizer,const DSMALL& maskValue,const bool& isTransposed,const bool& isFlatteningTransposedScanning,T& meanContext) +{ + extract_call_def(piRoiOrigin,piPortionAbove,piPortionLeft,pbNeighborFlags,unitWidth,unitHeight,iAboveUnits,iLeftUnits,nbLinesAbove,nbLinesLeft,factorDownsamplingVertical,factorDownsamplingHorizontal,iPicStride,limitUnmaskingWidth,limitUnmaskingHeight,maskValue,isTransposed,isFlatteningTransposedScanning,meanContext); + pre_cin_all_def(piPortionAbove,piPortionLeft,pbNeighborFlags,unitWidth/factorDownsamplingHorizontal,unitHeight/factorDownsamplingVertical,iAboveUnits,iLeftUnits,nbLinesAbove/factorDownsamplingVertical,nbLinesLeft/factorDownsamplingHorizontal,limitUnmaskingWidth == -1 ? -1 : limitUnmaskingWidth/factorDownsamplingHorizontal,limitUnmaskingHeight == -1 ? -1 : limitUnmaskingHeight/factorDownsamplingVertical,scaleQuantizer,isTransposed,isFlatteningTransposedScanning,static_cast<DSMALL>(meanContext)); + return 0; +} + +template <typename T, typename DSMALL> +int extract_pre_cin_optionally(const T* const piRoiOrigin,DSMALL* const piPortionAbove,DSMALL* const piPortionLeft,const bool* const pbNeighborFlags,bool* const pbNeighborFlagsMerged,int unitWidth,int unitHeight,int iAboveUnits,int iLeftUnits,const int& nbLinesAbove,const int& nbLinesLeft,const int& factorDownsamplingVertical,const int& factorDownsamplingHorizontal,const int& iPicStride,const int& limitUnmaskingWidth,const int& limitUnmaskingHeight,const DSMALL& scaleQuantizer,const DSMALL& maskValue,const bool& isTransposed,const bool& isFlatteningTransposedScanning,T& meanContext) +{ + bool isMerged = false; + int error_code = translate_into_new(pbNeighborFlags,pbNeighborFlagsMerged,factorDownsamplingVertical,factorDownsamplingHorizontal,unitWidth,unitHeight,iAboveUnits,iLeftUnits,isMerged); + error_code = extract_pre_cin(piRoiOrigin,piPortionAbove,piPortionLeft,(isMerged ? pbNeighborFlagsMerged : pbNeighborFlags) + iLeftUnits,unitWidth,unitHeight,iAboveUnits,iLeftUnits,nbLinesAbove,nbLinesLeft,factorDownsamplingVertical,factorDownsamplingHorizontal,iPicStride,limitUnmaskingWidth,limitUnmaskingHeight,scaleQuantizer,maskValue,isTransposed,isFlatteningTransposedScanning,meanContext); + if (error_code < 0) {return -1;} + return 0; +} +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +template<typename T> +int compute_mean(const T* const ptr_array,const int& height_array,const int& width_array,const int& stride_array,double& mean) +{ + const T* ptr_temp = ptr_array; + mean = 0.; + for (int i = 0; i < height_array; i++) + { + for (int j = 0; j < width_array; j++) + { + mean += static_cast<double>(ptr_temp[j]); + } + ptr_temp += stride_array; + } + mean /= height_array*width_array; + return 0; +} + +template<typename T> +int compute_mean_of_elementwise_product(const T* const ptr_array_0,const T* const ptr_array_1,const int& height_array,const int& width_array,const int& stride_array_0,const int& stride_array_1,double& mean_of_prod) +{ + const T* ptr_temp_0 = ptr_array_0; + const T* ptr_temp_1 = ptr_array_1; + mean_of_prod = 0.; + for (int i = 0; i < height_array; i++) + { + for (int j = 0; j < width_array; j++) + { + mean_of_prod += static_cast<double>(ptr_temp_0[j]*ptr_temp_1[j]); + } + ptr_temp_0 += stride_array_0; + ptr_temp_1 += stride_array_1; + } + mean_of_prod /= height_array*width_array; + return 0; +} + +template<typename T> +int compute_mean_of_squared(const T* const ptr_array,const int& height_array,const int& width_array,const int& stride_array,double& mean_of_squared) +{ + const T* ptr_temp = ptr_array; + mean_of_squared = 0.; + for (int i = 0; i < height_array; i++) + { + for (int j = 0; j < width_array; j++) + { + mean_of_squared += static_cast<double>(pow(ptr_temp[j], 2.)); + } + ptr_temp += stride_array; + } + mean_of_squared /= height_array*width_array; + return 0; +} + +template<typename T> +int compare_contrast_structure_globally(const T* const ptr_array_0,const T* const ptr_array_1,const int& height_array,const int& width_array,const int& stride_array_0,const int& stride_array_1,const int& range,double* const ptr_measures) +{ + const double cst = pow(0.03*range,2.); + const double cov_norm = static_cast<double>(height_array*width_array)/(height_array*width_array - 1); + double mean_0 = 0.; + compute_mean(ptr_array_0,height_array,width_array,stride_array_0,mean_0); + double mean_1 = 0.; + compute_mean(ptr_array_1,height_array,width_array,stride_array_1,mean_1); + double mean_of_squared_0 = 0.; + compute_mean_of_squared(ptr_array_0,height_array,width_array,stride_array_0,mean_of_squared_0); + double mean_of_squared_1 = 0.; + compute_mean_of_squared(ptr_array_1,height_array,width_array,stride_array_1,mean_of_squared_1); + double mean_of_prod = 0.; + compute_mean_of_elementwise_product(ptr_array_0,ptr_array_1,height_array,width_array,stride_array_0,stride_array_1,mean_of_prod); + const double var_0 = cov_norm*(mean_of_squared_0 - pow(mean_0, 2.)); + const double var_1 = cov_norm*(mean_of_squared_1 - pow(mean_1, 2.)); + const double covariance = cov_norm*(mean_of_prod - mean_0*mean_1); + ptr_measures[0] = (2.*sqrt(var_0*var_1) + cst)/(var_0 + var_1 + cst); + ptr_measures[1] = (2.*covariance + cst)/(2.*sqrt(var_0*var_1) + cst); + return 0; +} +#endif +#endif + +#endif diff --git a/source/Lib/CommonLib/intra_pred_sadl.cpp b/source/Lib/CommonLib/intra_pred_sadl.cpp new file mode 100644 index 0000000000000000000000000000000000000000..81bae3c5224a088cbcec6f3e57099f67b15a6b3f --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_sadl.cpp @@ -0,0 +1,153 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include <fstream> +#include "intra_pred_extraction_context.h" +#include "intra_pred_sadl.h" + +#if JVET_AB0149_INTRA_PRED +int fill_map_height_width_target_model(std::map<SizeNn, sadl::Model<TypeSadl>>& map_height_width_target_model, const std::vector<SizeNn>& vector_pairs_height_width) { + for (std::vector<SizeNn>::const_iterator it{vector_pairs_height_width.begin()}; it != vector_pairs_height_width.end(); it++) { + if (map_height_width_target_model.find(*it) != map_height_width_target_model.end()) { + return -1; + } + map_height_width_target_model.insert(std::make_pair(*it, sadl::Model<TypeSadl>())); + } + return 0; +} + +int insert_vector_tensors_input_convolutional(std::map<SizeNn,std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input,const SizeNn& pair_height_width) +{ + SizeNn pair_nb_lines(0, 0); + get_nb_lines(pair_height_width,pair_nb_lines); + std::pair<unsigned int, unsigned int> pair_sizes_ctx_borders(0, 0); + get_sizes_context_borders(pair_height_width, pair_sizes_ctx_borders); + map_height_width_target_vector_tensors_input.insert(std::make_pair(pair_height_width,std::vector<sadl::Tensor<TypeSadl>>{sadl::Tensor<TypeSadl>(sadl::Dimensions{{1, static_cast<int>(pair_nb_lines.first), static_cast<int>(pair_nb_lines.second + pair_sizes_ctx_borders.second), 1}}),sadl::Tensor<TypeSadl>(sadl::Dimensions{{1, static_cast<int>(pair_sizes_ctx_borders.first), static_cast<int>(pair_nb_lines.second), 1}})})); + return 0; +} + +int insert_vector_tensors_input_fully_connected(std::map<SizeNn,std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input,const SizeNn& pair_height_width) +{ + SizeNn pair_nb_lines(0, 0); + get_nb_lines(pair_height_width, pair_nb_lines); + std::pair<unsigned int, unsigned int> pair_sizes_ctx_borders(0, 0); + get_sizes_context_borders(pair_height_width,pair_sizes_ctx_borders); + map_height_width_target_vector_tensors_input.insert(std::make_pair(pair_height_width,std::vector<sadl::Tensor<TypeSadl>>{sadl::Tensor<TypeSadl>(sadl::Dimensions{{1, static_cast<int>(pair_nb_lines.first*(pair_nb_lines.second + pair_sizes_ctx_borders.second) + pair_nb_lines.second*pair_sizes_ctx_borders.first)}})})); + return 0; +} + +int fill_map_height_width_target_vector_tensors_input(std::map<SizeNn,std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input,const std::vector<SizeNn>& vector_pairs_height_width) +{ + bool is_fully_connected = false; + for (std::vector<std::pair<unsigned int, unsigned int>>::const_iterator it{vector_pairs_height_width.begin()}; it != vector_pairs_height_width.end(); it++) + { + decide_fully_connected(*it,is_fully_connected); + if (is_fully_connected) + { + insert_vector_tensors_input_fully_connected(map_height_width_target_vector_tensors_input,*it); + } + else + { + insert_vector_tensors_input_convolutional(map_height_width_target_vector_tensors_input,*it); + } + } + return 0; +} + +int read_graph_init_model(sadl::Model<TypeSadl>& model,const std::string& path_to_graph_output,std::vector<sadl::Tensor<TypeSadl>>& vector_tensors_input) +{ + std::ifstream file(path_to_graph_output,std::ios::binary); + if (!model.load(file)) + { + return -1; + } + if (!model.init(vector_tensors_input)) + { + return -1; + } + return 0; +} + +int read_graphs_init_models(std::map<SizeNn, sadl::Model<TypeSadl>>& map_height_width_target_models,const std::map<SizeNn, std::string>& map_height_width_target_path_to_graph_output,std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input) +{ + int error_code{0}; + for (auto it{map_height_width_target_models.begin()}; it != map_height_width_target_models.end(); it++) + { + error_code = read_graph_init_model(it->second,map_height_width_target_path_to_graph_output.at(it->first),map_height_width_target_vector_tensors_input.at(it->first)); + if (error_code < 0) + { + return -1; + } + } + return 0; +} + +bool inferModel(sadl::Model<TypeSadl>& model, std::vector<sadl::Tensor<TypeSadl>>& input_tensor, const TypeSadl*& ptr_before_u, const TypeSadl*& ptr_ulog +#if JVET_AB0149_TM_INF_PNN + , const TypeSadl*& ptr_ut +#endif +#if INTERNAL_INT32 || INTERNAL_INT16 + , int& quantizer_pred +#endif + ) +{ + const std::vector<sadl::layers::Layer<TypeSadl>::Id>& ids_output = model.getIdsOutput(); + CHECK(ids_output.size() != 3,"`ids_output.size()` is not equal to 3."); + if (!model.apply(input_tensor)) { + std::cerr << "Error in `sadl::Model::apply`." << std::endl; + exit(-1); + return false; + } + const sadl::Model<TypeSadl>& cmodel = static_cast<const sadl::Model<TypeSadl>&>(model); // to get getLayer access + const auto& tensor_p = cmodel.getLayer(ids_output[0]).layer->output(); + ptr_before_u = tensor_p.data(); + const auto& tensor_ulog = cmodel.getLayer(ids_output[1]).layer->output(); + CHECK(tensor_ulog.dims().size() != 2, "`tensor_ulog.dims().size()` is not equal to 2."); + CHECK(tensor_ulog.dims()[0] != 1, "`tensor_ulog.dims()[0]` is not equal to 1."); + CHECK(tensor_ulog.dims()[1] != NUM_LUMA_MODE, "`tensor_ulog.dims()[1]` is not equal to " + std::to_string(NUM_LUMA_MODE) + "."); + ptr_ulog = tensor_ulog.data(); +#if JVET_AB0149_TM_INF_PNN + const auto& tensor_ut = cmodel.getLayer(ids_output[2]).layer->output(); + CHECK(tensor_ut.dims().size() != 3, "`tensor_ut.dims().size()` is not equal to 3."); + CHECK(tensor_ut.dims()[0] != 1, "`tensor_ut.dims()[0]` is not equal to 1."); + CHECK(tensor_ut.dims()[1] != NUM_LFNST_NUM_PER_SET - 1, "`tensor_ut.dims()[1]` is not equal to " + std::to_string(NUM_LFNST_NUM_PER_SET - 1) + "."); + CHECK(tensor_ut.dims()[2] != DEPTH_LFNST_GROUP, "`tensor_ut.dims()[2]` is not equal to " + std::to_string(DEPTH_LFNST_GROUP) + "."); + ptr_ut = tensor_ut.data(); +#endif +#if INTERNAL_INT32 || INTERNAL_INT16 + quantizer_pred = tensor_p.quantizer; +#endif + return true; +} + +#endif diff --git a/source/Lib/CommonLib/intra_pred_sadl.h b/source/Lib/CommonLib/intra_pred_sadl.h new file mode 100644 index 0000000000000000000000000000000000000000..a0fd27502970bb2c907a18191d28046b76b71bed --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_sadl.h @@ -0,0 +1,58 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#pragma once + +#include <map> +#include <string> +#include "CommonDef.h" + +#if JVET_AB0149_INTRA_PRED +#include <sadl/model.h> +#include "intra_pred_utils.h" + +int fill_map_height_width_target_model(std::map<SizeNn, sadl::Model<TypeSadl>>& map_height_width_target_model, const std::vector<SizeNn>& vector_pairs_height_width); +int insert_vector_tensors_input_convolutional(std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input, const SizeNn& pair_height_width); +int insert_vector_tensors_input_fully_connected(std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input, const SizeNn& pair_height_width); +int fill_map_height_width_target_vector_tensors_input(std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input, const std::vector<SizeNn>& vector_pairs_height_width); +int read_graph_init_model(sadl::Model<TypeSadl>& model, const std::string& path_to_graph_output, std::vector<sadl::Tensor<TypeSadl>>& vector_tensors_input); +int read_graphs_init_models(std::map<SizeNn, sadl::Model<TypeSadl>>& map_height_width_target_models, const std::map<SizeNn, std::string>& map_height_width_target_path_to_graph_output, std::map<SizeNn, std::vector<sadl::Tensor<TypeSadl>>>& map_height_width_target_vector_tensors_input); +bool inferModel(sadl::Model<TypeSadl>& model, std::vector<sadl::Tensor<TypeSadl>>& input_tensor, const TypeSadl*& ptr_before_u, const TypeSadl*& ptr_ulog +#if JVET_AB0149_TM_INF_PNN + , const TypeSadl*& ptr_ut +#endif +#if INTERNAL_INT32 || INTERNAL_INT16 + , int& quantized_pred +#endif + ); +#endif diff --git a/source/Lib/CommonLib/intra_pred_utils.cpp b/source/Lib/CommonLib/intra_pred_utils.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e964e7c556515cccfb629a07eb0dab182e3bdb98 --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_utils.cpp @@ -0,0 +1,139 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include <regex> +#include "intra_pred_utils.h" +#include "intra_pred_extraction_context.h" + +#if JVET_AB0149_INTRA_PRED +int fill_map_pair_ints_string_from_string(std::map<SizeNn, std::string>& map_pair_ints_string, const std::string& description_pair_ints_string, const std::string& delimiters_elements, const std::string& delimiters_key_value, const std::string& prefix_common) +{ + std::vector<std::string> vector_elements; + split_string(vector_elements, description_pair_ints_string, delimiters_elements); + std::vector<std::string> vector_key_value; + SizeNn pair_ints_key(0, 0); + int storage{0}; + std::string value_string{""}; + for (std::vector<std::string>::const_iterator it{vector_elements.begin()}; it != vector_elements.end(); it++) + { + split_string(vector_key_value, *it, delimiters_key_value); + storage = std::stoi(vector_key_value.at(0)); + pair_ints_key.first = static_cast<unsigned int>(storage); + storage = std::stoi(vector_key_value.at(1)); + pair_ints_key.second = static_cast<unsigned int>(storage); + value_string = vector_key_value.at(2); + remove_leading_trailing_whitespaces(value_string); + map_pair_ints_string[pair_ints_key] = prefix_common + value_string; + vector_key_value.clear(); + } + return 0; +} + +int decide_target_patch_small(const SizeNn& pair_height_width,bool& is_target_patch_small) +{ + is_target_patch_small = pair_height_width.first <= 8 || pair_height_width.second <= 8; + return 0; +} + +int get_nb_lines_individual_dimension(const unsigned int& dimension,unsigned int& nb_lines) +{ + nb_lines = dimension > 8 ? dimension/2 : dimension; + return 0; +} + +int get_nb_lines(const SizeNn& pair_height_width, SizeNn& pair_nb_lines) +{ + bool is_target_patch_small{false}; + const int error_code = decide_target_patch_small(pair_height_width,is_target_patch_small); + if (error_code < 0) + { + return -1; + } + if (is_target_patch_small && pair_height_width.first*pair_height_width.second < 256) + { + const unsigned int minimum = pair_height_width.first < pair_height_width.second ? pair_height_width.first : pair_height_width.second; + pair_nb_lines.first = minimum; + pair_nb_lines.second = minimum; + } + else + { + if (get_nb_lines_individual_dimension(pair_height_width.first, pair_nb_lines.first) < 0) + { + return -1; + } + if (get_nb_lines_individual_dimension(pair_height_width.second, pair_nb_lines.second) < 0) + { + return -1; + } + } + return 0; +} + +void remove_leading_trailing_whitespaces(std::string& string_to_be_modified) +{ + const std::size_t index_position_first{string_to_be_modified.find_first_not_of(" \t\f\v\n\r")}; + string_to_be_modified.erase(0,index_position_first); + const std::size_t index_position_last{string_to_be_modified.find_last_not_of(" \t\f\v\n\r")}; + string_to_be_modified.erase(index_position_last + 1); +} + +void split_string(std::vector<std::string>& vector_substrings,const std::string& input_string,const std::string& delimiters) +{ + const std::regex reg{"[" + delimiters + "]+"}; + std::sregex_token_iterator it(input_string.begin(), input_string.end(), reg, -1); + const std::sregex_token_iterator it_end; + for (; it != it_end; it++) + { + vector_substrings.push_back(it->str()); + } +} +#endif +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +unsigned int get_size_context_border(const unsigned int& dimension) +{ + if (dimension == 4 || dimension == 8) + { + return 2*dimension + 4; + } + else + { + return 2*dimension; + } +} + +void get_sizes_context_borders(const std::pair<unsigned int, unsigned int>& pair_height_width,std::pair<unsigned int, unsigned int>& pair_sizes_ctx_borders) +{ + pair_sizes_ctx_borders.first = get_size_context_border(pair_height_width.first); + pair_sizes_ctx_borders.second = get_size_context_border(pair_height_width.second); +} +#endif diff --git a/source/Lib/CommonLib/intra_pred_utils.h b/source/Lib/CommonLib/intra_pred_utils.h new file mode 100644 index 0000000000000000000000000000000000000000..b1a6ea44b1d3958975fc1e3ec9092276fb129cf5 --- /dev/null +++ b/source/Lib/CommonLib/intra_pred_utils.h @@ -0,0 +1,84 @@ +/* The copyright in this software is being made available under the BSD +* License, included below. This software may be subject to other third party +* and contributor rights, including patent rights, and no such rights are +* granted under this license. +* +* Copyright (c) 2010-2022, ITU/ISO/IEC +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* +* * Redistributions of source code must retain the above copyright notice, +* this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright notice, +* this list of conditions and the following disclaimer in the documentation +* and/or other materials provided with the distribution. +* * Neither the name of the ITU/ISO/IEC nor the names of its contributors may +* be used to endorse or promote products derived from this software without +* specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +* THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#pragma once + +#include <map> +#include <string> +#include <fstream> +#include "CommonDef.h" + +#if JVET_AB0149_INTRA_PRED +int decide_target_patch_small(const SizeNn& pair_height_width,bool& is_target_patch_small); +inline int decide_fully_connected(const SizeNn& pair_height_width,bool& is_fully_connected) +{ + bool is_target_patch_small = false; + const int error_code = decide_target_patch_small(pair_height_width,is_target_patch_small); + if (error_code < 0){return -1;} + is_fully_connected = true || is_target_patch_small; + return 0; +} + +template<typename T> +int fill_systematically(const T* const ptr_array_2d_original,T* const ptr_array_2d_out,const int& height_array,const int& width_array,const int& idx_column_start) +{ + int i = 0, j = 0; + const T* ptr_temp_original = ptr_array_2d_original; + T* ptr_temp_out = ptr_array_2d_out; + for (i = 0; i < height_array; i++) + { + for (j = 0; j < width_array; j++) + { + if (j < idx_column_start) + { + ptr_temp_out[j] = ptr_temp_original[j]; + } + else + { + ptr_temp_out[j] = ptr_temp_original[width_array - 1 - j + idx_column_start]; + } + } + ptr_temp_original += width_array; + ptr_temp_out += width_array; + } + return 0; +} + +int fill_map_pair_ints_string_from_string(std::map<SizeNn, std::string>& map_pair_ints_string, const std::string& description_pair_ints_string, const std::string& delimiters_elements, const std::string& delimiters_key_value, const std::string& prefix_common); +void remove_leading_trailing_whitespaces(std::string& string_to_be_modified); +void split_string(std::vector<std::string>& vector_substrings, const std::string& input_string, const std::string& delimiters); +#endif +#if JVET_AB0149_INTRA_PRED || JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +unsigned int get_size_context_border(const unsigned int& dimension); +void get_sizes_context_borders(const std::pair<unsigned int, unsigned int>& pair_height_width,std::pair<unsigned int, unsigned int>& pair_sizes_ctx_borders); +#endif diff --git a/source/Lib/DecoderLib/CABACReader.cpp b/source/Lib/DecoderLib/CABACReader.cpp index 826813df8336b18b213b41350e1d85678aa0a9f2..fe745fc9400975a19c1b0018e5eaee05d0b47bf8 100644 --- a/source/Lib/DecoderLib/CABACReader.cpp +++ b/source/Lib/DecoderLib/CABACReader.cpp @@ -1440,103 +1440,185 @@ void CABACReader::extend_ref_line(CodingUnit& cu) } } -void CABACReader::intra_luma_pred_modes( CodingUnit &cu ) +void CABACReader::intra_luma_pred_modes(CodingUnit& cu) { - if( !cu.Y().valid() ) + if (!cu.Y().valid()) { return; } - - if( cu.bdpcmMode ) + if (cu.bdpcmMode) { - cu.firstPU->intraDir[0] = cu.bdpcmMode == 2? VER_IDX : HOR_IDX; + cu.firstPU->intraDir[CHANNEL_TYPE_LUMA] = cu.bdpcmMode == 2 ? VER_IDX : HOR_IDX; return; } - + PredictionUnit* pu(cu.firstPU); +#if JVET_AB0149_INTRA_PRED + const CompArea& area = pu->Y(); + const bool is_shape_handled_pnn = decideShapeHandledPnn(area.height, area.width); + if (is_shape_handled_pnn) + { + const uint16_t ctxId = DeriveCtx::CtxPnnLFlag(cu); + if (m_BinDecoder.decodeBin(Ctx::PnnLuminanceFlag(ctxId))) + { + pu->intraDir[CHANNEL_TYPE_LUMA] = PNN_IDX; + return; + } + } +#endif mip_flag(cu); if (cu.mipFlag) { mip_pred_modes(cu); return; } - extend_ref_line( cu ); - isp_mode( cu ); + extend_ref_line(cu); + isp_mode(cu); + RExt__DECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE2(STATS__CABAC_BITS__INTRA_DIR_ANG, cu.lumaSize(), CHANNEL_TYPE_LUMA); + const int numBlocks(CU::getNumPUs(cu)); + CHECK(numBlocks != 1, "There are more than one PU in the current CU."); - RExt__DECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE2( STATS__CABAC_BITS__INTRA_DIR_ANG, cu.lumaSize(), CHANNEL_TYPE_LUMA ); +#if !JVET_AB0149_INTRA_PRED + bool mpmFlag = false; +#endif - // prev_intra_luma_pred_flag - int numBlocks = CU::getNumPUs( cu ); - int mpmFlag[4]; - for( int k = 0; k < numBlocks; k++ ) + if (pu->multiRefIdx) { - CHECK(numBlocks != 1, "not supported yet"); - if ( cu.firstPU->multiRefIdx ) - { - mpmFlag[0] = true; - } - else - { - mpmFlag[k] = m_BinDecoder.decodeBin(Ctx::IntraLumaMpmFlag()); - } + +#if JVET_AB0149_INTRA_PRED + pu->mpmFlagReading = true; +#else + mpmFlag = true; +#endif + } + else + { - PredictionUnit *pu = cu.firstPU; +#if JVET_AB0149_INTRA_PRED + pu->mpmFlagReading = m_BinDecoder.decodeBin(Ctx::IntraLumaMpmFlag()); +#else + mpmFlag = m_BinDecoder.decodeBin(Ctx::IntraLumaMpmFlag()); +#endif + + } + +#if !JVET_AB0149_INTRA_PRED + unsigned mpm_pred[NUM_MOST_PROBABLE_MODES]; + PU::getIntraMPMs(*pu, mpm_pred); + CHECK(mpm_pred[0] != PLANAR_IDX, "`PLANAR` is not the first MPM."); +#endif + + if ( + +#if JVET_AB0149_INTRA_PRED + pu->mpmFlagReading +#else + mpmFlag +#endif - unsigned mpm_pred[NUM_MOST_PROBABLE_MODES]; // mpm_idx / rem_intra_luma_pred_mode - for( int k = 0; k < numBlocks; k++ ) + ) { - PU::getIntraMPMs( *pu, mpm_pred ); - if( mpmFlag[k] ) +#if !JVET_AB0149_INTRA_PRED + uint32_t ipred_idx(0); +#endif + + if (pu->multiRefIdx == 0) { - uint32_t ipred_idx = 0; - { - unsigned ctx = (pu->cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0); - if (pu->multiRefIdx == 0) - { - ipred_idx = m_BinDecoder.decodeBin(Ctx::IntraLumaPlanarFlag(ctx)); - } - else - { - ipred_idx = 1; - } - if( ipred_idx ) - { - ipred_idx += m_BinDecoder.decodeBinEP(); - } - if (ipred_idx > 1) - { - ipred_idx += m_BinDecoder.decodeBinEP(); - } - if (ipred_idx > 2) - { - ipred_idx += m_BinDecoder.decodeBinEP(); - } - if (ipred_idx > 3) - { - ipred_idx += m_BinDecoder.decodeBinEP(); - } - } - pu->intraDir[0] = mpm_pred[ipred_idx]; +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading = m_BinDecoder.decodeBinEP(); +#else + ipred_idx = m_BinDecoder.decodeBin(Ctx::IntraLumaPlanarFlag(pu->cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0)); +#endif } else { - unsigned ipred_mode = 0; - - xReadTruncBinCode(ipred_mode, NUM_LUMA_MODE - NUM_MOST_PROBABLE_MODES); - //postponed sorting of MPMs (only in remaining branch) - std::sort( mpm_pred, mpm_pred + NUM_MOST_PROBABLE_MODES ); - - for( uint32_t i = 0; i < NUM_MOST_PROBABLE_MODES; i++ ) - { - ipred_mode += (ipred_mode >= mpm_pred[i]); - } - - pu->intraDir[0] = ipred_mode; +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading = 1; +#else + ipred_idx = 1; +#endif } - - DTRACE( g_trace_ctx, D_SYNTAX, "intra_luma_pred_modes() idx=%d pos=(%d,%d) mode=%d\n", k, pu->lumaPos().x, pu->lumaPos().y, pu->intraDir[0] ); - pu = pu->next; + if ( +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading +#else + ipred_idx +#endif + ) + { +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading += m_BinDecoder.decodeBinEP(); +#else + ipred_idx += m_BinDecoder.decodeBinEP(); +#endif + } + if ( +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading > 1 +#else + ipred_idx > 1 +#endif + ) + { +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading += m_BinDecoder.decodeBinEP(); +#else + ipred_idx += m_BinDecoder.decodeBinEP(); +#endif + } + if ( +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading > 2 +#else + ipred_idx > 2 +#endif + ) + { +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading += m_BinDecoder.decodeBinEP(); +#else + ipred_idx += m_BinDecoder.decodeBinEP(); +#endif + } + if ( +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading > 3 +#else + ipred_idx > 3 +#endif + ) + { +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading += m_BinDecoder.decodeBinEP(); +#else + ipred_idx += m_BinDecoder.decodeBinEP(); +#endif + } +#if !JVET_AB0149_INTRA_PRED + pu->intraDir[CHANNEL_TYPE_LUMA] = mpm_pred[ipred_idx]; +#endif + } + else + { +#if !JVET_AB0149_INTRA_PRED + unsigned ipred_idx(0); +#endif + xReadTruncBinCode( +#if JVET_AB0149_INTRA_PRED + pu->idxMpmReading, +#else + ipred_idx, +#endif + NUM_LUMA_MODE - NUM_MOST_PROBABLE_MODES); +#if !JVET_AB0149_INTRA_PRED + std::sort(mpm_pred, mpm_pred + NUM_MOST_PROBABLE_MODES); + for (uint32_t i = 0; i < NUM_MOST_PROBABLE_MODES; i++) + { + ipred_idx += ipred_idx >= mpm_pred[i]; + } + pu->intraDir[CHANNEL_TYPE_LUMA] = ipred_idx; +#endif } } @@ -1580,41 +1662,53 @@ bool CABACReader::intra_chroma_lmc_mode(PredictionUnit& pu) void CABACReader::intra_chroma_pred_mode(PredictionUnit& pu) { - RExt__DECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE2(STATS__CABAC_BITS__INTRA_DIR_ANG, pu.cu->blocks[pu.chType].lumaSize(), CHANNEL_TYPE_CHROMA); + RExt__DECODER_DEBUG_BIT_STATISTICS_CREATE_SET_SIZE2(STATS__CABAC_BITS__INTRA_DIR_ANG, + pu.cu->blocks[pu.chType].lumaSize(), + CHANNEL_TYPE_CHROMA); if (pu.cu->colorTransform) { pu.intraDir[CHANNEL_TYPE_CHROMA] = DM_CHROMA_IDX; return; } - - // LM chroma mode - if (pu.cs->sps->getUseLMChroma() && pu.cu->checkCCLMAllowed()) { - bool isLMCMode = m_BinDecoder.decodeBin(Ctx::CclmModeFlag(0)) ? true : false; + const bool isLMCMode(m_BinDecoder.decodeBin(Ctx::CclmModeFlag(0)) ? true : false); if (isLMCMode) { intra_chroma_lmc_mode(pu); return; } } - - if (m_BinDecoder.decodeBin(Ctx::IntraChromaPredMode(0)) == 0) +#if JVET_AB0149_INTRA_PRED + const bool is_shape_handled_pnn( + decideShapeHandledPnn(pu.Cb().height,pu.Cb().width) + ); + const bool is_dm_pnn( + getIntraDirLumaSubstitutePnn(PU::getCoLocatedIntraLumaMode(pu),pu.Cb().height,pu.Cb().width) == PNN_IDX + ); + if (is_shape_handled_pnn && !is_dm_pnn) { - pu.intraDir[1] = DM_CHROMA_IDX; + if (m_BinDecoder.decodeBin(Ctx::PnnChrominanceFlag(0))) + { + pu.intraDir[CHANNEL_TYPE_CHROMA] = PNN_IDX; + return; + } + } +#endif + if (!m_BinDecoder.decodeBin(Ctx::IntraChromaPredMode(0))) + { + pu.intraDir[CHANNEL_TYPE_CHROMA] = DM_CHROMA_IDX; return; } - - unsigned candId = m_BinDecoder.decodeBinsEP(2); - +#if JVET_AB0149_INTRA_PRED + pu.idxCandidateReading = m_BinDecoder.decodeBinsEP(2); +#else unsigned chromaCandModes[NUM_CHROMA_MODE]; - PU::getIntraChromaCandModes(pu, chromaCandModes); - - CHECK(candId >= NUM_CHROMA_MODE, "Chroma prediction mode index out of bounds"); - CHECK(PU::isLMCMode(chromaCandModes[candId]), "The intra dir cannot be LM_CHROMA for this path"); - CHECK(chromaCandModes[candId] == DM_CHROMA_IDX, "The intra dir cannot be DM_CHROMA for this path"); - - pu.intraDir[1] = chromaCandModes[candId]; + PU::getIntraChromaCandModes(pu, + chromaCandModes); + const unsigned candId(m_BinDecoder.decodeBinsEP(2)); + pu.intraDir[CHANNEL_TYPE_CHROMA] = chromaCandModes[candId]; +#endif } void CABACReader::cu_residual( CodingUnit& cu, Partitioner &partitioner, CUCtx& cuCtx ) @@ -3181,11 +3275,24 @@ void CABACReader::residual_lfnst_mode( CodingUnit& cu, CUCtx& cuCtx ) } } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool isReturnedSpecial = nonZeroCoeffNonTsCorner8x8 || isTrSkip; + if (!m_areCostsWritten) + { + isReturnedSpecial |= !cuCtx.lfnstLastScanPos && !cu.ispMode; + } + if (isReturnedSpecial) + { + cu.lfnstIdx = 0; + return; + } +#else if ((!cuCtx.lfnstLastScanPos && !cu.ispMode) || nonZeroCoeffNonTsCorner8x8 || isTrSkip) { cu.lfnstIdx = 0; return; } +#endif } else { @@ -3200,6 +3307,19 @@ void CABACReader::residual_lfnst_mode( CodingUnit& cu, CUCtx& cuCtx ) if( idxLFNST ) { idxLFNST += m_BinDecoder.decodeBin(Ctx::LFNSTIdx(2)); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + const uint32_t intraMode = PU::getFinalIntraMode(*cu.firstPU,cu.chType); + if (intraMode == PNN_IDX) { + uint32_t maxSymbol = DEPTH_LFNST_GROUP; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (m_areCostsWritten) + { + maxSymbol = 8; + } +#endif + xReadTruncBinCode(cu.idxLfnstPnn, maxSymbol); + } +#endif } cu.lfnstIdx = idxLFNST; diff --git a/source/Lib/DecoderLib/CABACReader.h b/source/Lib/DecoderLib/CABACReader.h index ab27eba4110dae1e93c76e1d6c4604eb552b8e7b..6d9871e8dfc45a8e94fb4fcc3bf0a0d850a98dba 100644 --- a/source/Lib/DecoderLib/CABACReader.h +++ b/source/Lib/DecoderLib/CABACReader.h @@ -48,7 +48,11 @@ class CABACReader { public: - CABACReader(BinDecoderBase& binDecoder) : m_BinDecoder(binDecoder), m_Bitstream(0) {} + CABACReader(BinDecoderBase& binDecoder) : m_BinDecoder(binDecoder), m_Bitstream(0) +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areCostsWritten(false) +#endif + {} virtual ~CABACReader() {} public: @@ -144,7 +148,9 @@ public: void residual_codingTS ( TransformUnit& tu, ComponentID compID ); void residual_coding_subblockTS( CoeffCodingContext& cctx, TCoeff* coeff ); void joint_cb_cr ( TransformUnit& tu, const int cbfMask ); - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setAreCostsWritten(const bool& areCostsWritten) {m_areCostsWritten = areCostsWritten;} +#endif private: unsigned unary_max_symbol ( unsigned ctxId0, unsigned ctxIdN, unsigned maxSymbol ); @@ -162,6 +168,9 @@ private: BinDecoderBase& m_BinDecoder; InputBitstream* m_Bitstream; ScanElement* m_scanOrder; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif }; diff --git a/source/Lib/DecoderLib/DecCu.cpp b/source/Lib/DecoderLib/DecCu.cpp index 35705a9914e17838f76fbba33f41973075b4b470..5af7e4aaeda0a3bf3d88a5846aae2cfc857be6df 100644 --- a/source/Lib/DecoderLib/DecCu.cpp +++ b/source/Lib/DecoderLib/DecCu.cpp @@ -60,6 +60,9 @@ // ==================================================================================================================== DecCu::DecCu() +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + : m_ptrOfstreamQuadtree(NULL) +#endif { m_tmpStorageLCU = NULL; } @@ -68,11 +71,18 @@ DecCu::~DecCu() { } -void DecCu::init( TrQuant* pcTrQuant, IntraPrediction* pcIntra, InterPrediction* pcInter) +void DecCu::init( TrQuant* pcTrQuant, IntraPrediction* pcIntra, InterPrediction* pcInter +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , std::ofstream* const ptrOfstreamQuadtree +#endif + ) { m_pcTrQuant = pcTrQuant; m_pcIntraPred = pcIntra; m_pcInterPred = pcInter; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_ptrOfstreamQuadtree = ptrOfstreamQuadtree; +#endif } void DecCu::initDecCuReshaper (Reshape* pcReshape, ChromaFormat chromaFormatIDC) { @@ -148,7 +158,11 @@ void DecCu::decompressCtu( CodingStructure& cs, const UnitArea& ctuArea ) break; case MODE_PLT: case MODE_INTRA: - xReconIntraQT( currCU ); + xReconIntraQT( currCU +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); break; default: THROW( "Invalid prediction mode" ); @@ -165,11 +179,68 @@ void DecCu::decompressCtu( CodingStructure& cs, const UnitArea& ctuArea ) #endif } +#if JVET_AB0149_INTRA_PRED +void DecCu::interpretMpmsLuminance(CodingUnit& cu) +{ + PredictionUnit& pu = *cu.firstPU; + if (cu.bdpcmMode || pu.intraDir[CHANNEL_TYPE_LUMA] == PNN_IDX || cu.mipFlag){return;} + const CompArea& area = cu.Y(); + const bool is_shape_handled_pnn = decideShapeHandledPnn(area.height,area.width); + unsigned arrayMpms[NUM_MOST_PROBABLE_MODES]; + PU::getIntraMPMs(pu, arrayMpms, is_shape_handled_pnn); + if (pu.multiRefIdx || !is_shape_handled_pnn) + { + CHECK(arrayMpms[0] != PLANAR_IDX, "`PLANAR` is not the first MPM."); + } + if (pu.mpmFlagReading) + { + pu.intraDir[CHANNEL_TYPE_LUMA] = arrayMpms[pu.idxMpmReading]; + } + else + { + std::sort(arrayMpms, arrayMpms + NUM_MOST_PROBABLE_MODES); + for (uint32_t i = 0; i < NUM_MOST_PROBABLE_MODES; i++) + { + pu.idxMpmReading += pu.idxMpmReading >= arrayMpms[i]; + } + pu.intraDir[CHANNEL_TYPE_LUMA] = pu.idxMpmReading; + } +} + +void DecCu::interpretCandidatesChrominance(CodingUnit& cu) +{ + PredictionUnit& pu = *cu.firstPU; + if (cu.bdpcmModeChroma || pu.intraDir[CHANNEL_TYPE_CHROMA] == LM_CHROMA_IDX || pu.intraDir[CHANNEL_TYPE_CHROMA] == MDLM_L_IDX || pu.intraDir[CHANNEL_TYPE_CHROMA] == MDLM_T_IDX || pu.intraDir[CHANNEL_TYPE_CHROMA] == PNN_IDX || pu.intraDir[CHANNEL_TYPE_CHROMA] == DM_CHROMA_IDX) + { + return; + } + unsigned arrayCandidates[NUM_CHROMA_MODE]; + PU::getIntraChromaCandModes(pu, arrayCandidates); + pu.intraDir[CHANNEL_TYPE_CHROMA] = arrayCandidates[pu.idxCandidateReading]; +} +#endif + // ==================================================================================================================== // Protected member functions // ==================================================================================================================== -void DecCu::xIntraRecBlk( TransformUnit& tu, const ComponentID compID ) +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +int convert_dim_mask_from_cb_to_tb_isp(const int& coord_top_left_cb,const int& coord_top_left_tb,const unsigned int& dim_cb_in_pixels,const unsigned int& dim_tb_in_pixels,const int& dim_mask_cb_in_pixels,int& dim_mask_tb_in_pixels) +{ + const int size_ctx_border_cb = get_size_context_border(dim_cb_in_pixels); + const int size_ctx_border_tb = get_size_context_border(dim_tb_in_pixels); + if (size_ctx_border_tb > size_ctx_border_cb) + { + return -1; + } + const int distance_top_left = coord_top_left_tb - coord_top_left_cb; + dim_mask_tb_in_pixels = std::max(0, dim_mask_cb_in_pixels - size_ctx_border_cb + size_ctx_border_tb + distance_top_left); + return 0; +} +#endif + +void DecCu::xIntraRecBlk( TransformUnit& tu, const ComponentID compID + ) { if( !tu.blocks[ compID ].valid() ) { @@ -190,6 +261,19 @@ void DecCu::xIntraRecBlk( TransformUnit& tu, const ComponentID compID ) const PredictionUnit &pu = *tu.cs->getPU( area.pos(), chType ); const uint32_t uiChFinalMode = PU::getFinalIntraMode( pu, chType ); PelBuf pReco = cs.getRecoBuf(area); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + int widthMaskAboveModified = -2; + int heightMaskLeftModified = -2; + bool isComputedHeightWidthMasks = false; + if (m_ptrOfstreamQuadtree) + { + isComputedHeightWidthMasks = m_ptrOfstreamQuadtree->is_open(); + } +#endif +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; + const bool is_context_extracted = uiChFinalMode == PNN_IDX; +#endif //===== init availability pattern ===== bool predRegDiffFromTB = CU::isPredRegDiffFromTB(*tu.cu, compID); @@ -197,23 +281,113 @@ void DecCu::xIntraRecBlk( TransformUnit& tu, const ComponentID compID ) CompArea areaPredReg(COMPONENT_Y, tu.chromaFormat, area); if (tu.cu->ispMode && isLuma(compID)) { +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool firstTbInPb = CU::isFirstTbInPb(*tu.cu,compID,area); + const bool lastTbInPb = CU::isLastTbInPb(*tu.cu,compID,area); + CHECK(firstTbInPb && lastTbInPb, "Error."); +#endif if (predRegDiffFromTB) { if (firstTBInPredReg) { CU::adjustPredArea(areaPredReg); - m_pcIntraPred->initIntraPatternChTypeISP(*tu.cu, areaPredReg, pReco); + m_pcIntraPred->initIntraPatternChTypeISP(*tu.cu, areaPredReg, pReco +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks +#endif + ); } } else { - m_pcIntraPred->initIntraPatternChTypeISP(*tu.cu, area, pReco); + m_pcIntraPred->initIntraPatternChTypeISP(*tu.cu, area, pReco +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks +#endif + ); } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + int error_code{0}; + if (firstTbInPb) + { + if ((*tu.cu).ispMode == VER_INTRA_SUBPARTITIONS) + { + if (m_pcIntraPred->getWidthMaskAbove() == -1) + { + widthMaskAboveModified = -1; + } + else + { + error_code = convert_dim_mask_from_cb_to_tb_isp((*tu.cu).lx(),area.x,(*tu.cu).lwidth(),area.width,m_pcIntraPred->getWidthMaskAbove(),widthMaskAboveModified); + CHECK(error_code < 0, "Error in `convert_dim_mask_from_cb_to_tb_isp`."); + } + heightMaskLeftModified = m_pcIntraPred->getHeightMaskLeft(); + } + else + { + widthMaskAboveModified = m_pcIntraPred->getWidthMaskAbove(); + if (m_pcIntraPred->getHeightMaskLeft() == -1) + { + heightMaskLeftModified = -1; + } + else + { + error_code = convert_dim_mask_from_cb_to_tb_isp((*tu.cu).ly(),area.y,(*tu.cu).lheight(),area.height,m_pcIntraPred->getHeightMaskLeft(),heightMaskLeftModified); + CHECK(error_code < 0, "Error in `convert_dim_mask_from_cb_to_tb_isp`."); + } + } + } + else + { + if ((*tu.cu).ispMode == VER_INTRA_SUBPARTITIONS) + { + if (m_pcIntraPred->getWidthMaskAbove() == -1) + { + widthMaskAboveModified = -1; + } + else + { + error_code = convert_dim_mask_from_cb_to_tb_isp((*tu.cu).lx(),area.x,(*tu.cu).lwidth(),area.width,m_pcIntraPred->getWidthMaskAbove(),widthMaskAboveModified); + CHECK(error_code < 0,"Error in `convert_dim_mask_from_cb_to_tb_isp`."); + } + heightMaskLeftModified = get_size_context_border(area.height) - area.height; + } + else + { + widthMaskAboveModified = get_size_context_border(area.width) - area.width; + if (m_pcIntraPred->getHeightMaskLeft() == -1) + { + heightMaskLeftModified = -1; + } + else + { + error_code = convert_dim_mask_from_cb_to_tb_isp((*tu.cu).ly(),area.y,(*tu.cu).lheight(),area.height,m_pcIntraPred->getHeightMaskLeft(),heightMaskLeftModified); + CHECK(error_code < 0,"Error in `convert_dim_mask_from_cb_to_tb_isp`."); + } + } + } +#endif } else { - m_pcIntraPred->initIntraPatternChType(*tu.cu, area); + m_pcIntraPred->initIntraPatternChType(*tu.cu, area +#if JVET_AB0149_INTRA_PRED + , contextFlag + , is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , isComputedHeightWidthMasks +#endif + ); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + widthMaskAboveModified = m_pcIntraPred->getWidthMaskAbove(); + heightMaskLeftModified = m_pcIntraPred->getHeightMaskLeft(); +#endif } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + CHECK(widthMaskAboveModified == -2, "`widthMaskAboveModified` is equal to -2."); + CHECK(heightMaskLeftModified == -2, "`heightMaskLeftModified` is equal to -2."); +#endif //===== get prediction signal ===== if( compID != COMPONENT_Y && PU::isLMCMode( uiChFinalMode ) ) @@ -236,13 +410,48 @@ void DecCu::xIntraRecBlk( TransformUnit& tu, const ComponentID compID ) if (firstTBInPredReg) { PelBuf piPredReg = cs.getPredBuf(areaPredReg); - m_pcIntraPred->predIntraAng(compID, piPredReg, pu); + m_pcIntraPred->predIntraAng(compID, piPredReg, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } } else - m_pcIntraPred->predIntraAng(compID, piPred, pu); + m_pcIntraPred->predIntraAng(compID, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (isComputedHeightWidthMasks) + { + std::ofstream& refOfstreamQuadtree = *m_ptrOfstreamQuadtree; + refOfstreamQuadtree << "channel index " << compID << "; "; + if (isLuma(chType)) + { + refOfstreamQuadtree << "block size " << tu.lwidth() << "x" << tu.lheight() << "; "; + refOfstreamQuadtree << "block position (" << tu.lx() << ", " << tu.ly() << "); "; + } + else + { + refOfstreamQuadtree << "block size " << tu.Cb().width << "x" << tu.Cb().height << "; "; + refOfstreamQuadtree << "block position (" << tu.Cb().x << ", " << tu.Cb().y << "); "; + } + refOfstreamQuadtree << "intra prediction mode index " << uiChFinalMode << "; "; + if (isLuma(chType)) + { + refOfstreamQuadtree << "MIP flag " << (*tu.cu).mipFlag << "; "; + } + refOfstreamQuadtree << "depth of the TB relatively to its CB " << ((*tu.cu).firstTU != (*tu.cu).lastTU) << "; "; + refOfstreamQuadtree << "flag of splitting the CB into 4 PBs 0; "; + refOfstreamQuadtree << "width mask above " << widthMaskAboveModified << "; "; + refOfstreamQuadtree << "height mask left " << heightMaskLeftModified << "; "; + refOfstreamQuadtree << std::endl; + } +#endif const Slice &slice = *cs.slice; bool flag = slice.getLmcsEnabledFlag() && (slice.isIntra() || (!slice.isIntra() && m_pcReshape->getCTUFlag())); if (flag && slice.getPicHeader()->getLmcsChromaResidualScaleFlag() && (compID != COMPONENT_Y) && (tu.cbf[COMPONENT_Cb] || tu.cbf[COMPONENT_Cr])) @@ -372,7 +581,18 @@ void DecCu::xIntraRecACTBlk(TransformUnit& tu) const ChannelType chType = toChannelType(compID); PelBuf piPred = cs.getPredBuf(area); - m_pcIntraPred->initIntraPatternChType(*tu.cu, area); +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; +#endif + m_pcIntraPred->initIntraPatternChType(*tu.cu, area +#if JVET_AB0149_INTRA_PRED + , contextFlag + , false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); if (PU::isMIP(pu, chType)) { m_pcIntraPred->initIntraMip(pu, area); @@ -380,7 +600,11 @@ void DecCu::xIntraRecACTBlk(TransformUnit& tu) } else { - m_pcIntraPred->predIntraAng(compID, piPred, pu); + m_pcIntraPred->predIntraAng(compID, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } PelBuf piResi = cs.getResiBuf(area); @@ -460,7 +684,11 @@ void DecCu::xIntraRecACTBlk(TransformUnit& tu) } } -void DecCu::xReconIntraQT( CodingUnit &cu ) +void DecCu::xReconIntraQT( CodingUnit &cu +#if JVET_AB0149_INTRA_PRED + , const bool& isEncoderCall +#endif + ) { if (CU::isPLT(cu)) @@ -502,7 +730,21 @@ void DecCu::xReconIntraQT( CodingUnit &cu ) { if( cu.blocks[chType].valid() ) { - xIntraRecQT( cu, ChannelType( chType ) ); +#if JVET_AB0149_INTRA_PRED + if (!isEncoderCall) + { + if (chType == CHANNEL_TYPE_LUMA) + { + interpretMpmsLuminance(cu); + } + else + { + interpretCandidatesChrominance(cu); + } + } +#endif + xIntraRecQT( cu, ChannelType( chType ) + ); } } } @@ -595,13 +837,15 @@ void DecCu::xReconPLT(CodingUnit &cu, ComponentID compBegin, uint32_t numComp) */ void -DecCu::xIntraRecQT(CodingUnit &cu, const ChannelType chType) +DecCu::xIntraRecQT(CodingUnit &cu, const ChannelType chType + ) { for( auto &currTU : CU::traverseTUs( cu ) ) { if( isLuma( chType ) ) { - xIntraRecBlk( currTU, COMPONENT_Y ); + xIntraRecBlk( currTU, COMPONENT_Y + ); } else { @@ -609,7 +853,8 @@ DecCu::xIntraRecQT(CodingUnit &cu, const ChannelType chType) for( uint32_t compID = COMPONENT_Cb; compID < numValidComp; compID++ ) { - xIntraRecBlk( currTU, ComponentID( compID ) ); + xIntraRecBlk( currTU, ComponentID( compID ) + ); } } } diff --git a/source/Lib/DecoderLib/DecCu.h b/source/Lib/DecoderLib/DecCu.h index 8789afadb46e306d9c6cadc7108d2fd949a7d613..ad87ae825d4131ed21188b1a93ceed90cfe5ab60 100644 --- a/source/Lib/DecoderLib/DecCu.h +++ b/source/Lib/DecoderLib/DecCu.h @@ -49,6 +49,9 @@ #include "CommonLib/IntraPrediction.h" #include "CommonLib/Unit.h" #include "CommonLib/Reshape.h" +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +#include "intra_pred_utils.h" +#endif //! \ingroup DecoderLib //! \{ @@ -64,7 +67,11 @@ public: virtual ~DecCu(); /// initialize access channels - void init ( TrQuant* pcTrQuant, IntraPrediction* pcIntra, InterPrediction* pcInter ); + void init ( TrQuant* pcTrQuant, IntraPrediction* pcIntra, InterPrediction* pcInter +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , std::ofstream* const ptrOfstreamQuadtree +#endif + ); /// destroy internal buffers void decompressCtu ( CodingStructure& cs, const UnitArea& ctuArea ); @@ -75,20 +82,31 @@ public: /// reconstruct Ctu information protected: - void xIntraRecQT ( CodingUnit& cu, const ChannelType chType ); + void xIntraRecQT ( CodingUnit& cu, const ChannelType chType + ); void xIntraRecACTQT(CodingUnit& cu); void xReconInter ( CodingUnit& cu ); void xDecodeInterTexture( CodingUnit& cu ); - void xReconIntraQT ( CodingUnit& cu ); + void xReconIntraQT ( CodingUnit& cu +#if JVET_AB0149_INTRA_PRED + , const bool& isEncoderCall +#endif + ); void xFillPCMBuffer ( CodingUnit& cu ); - void xIntraRecBlk ( TransformUnit& tu, const ComponentID compID ); + void xIntraRecBlk ( TransformUnit& tu, const ComponentID compID + ); void xIntraRecACTBlk(TransformUnit& tu); void xDecodeInterTU ( TransformUnit& tu, const ComponentID compID ); void xDeriveCUMV ( CodingUnit& cu ); void xReconPLT ( CodingUnit& cu, ComponentID compBegin, uint32_t numComp ); + +#if JVET_AB0149_INTRA_PRED + void interpretMpmsLuminance(CodingUnit& cu); + void interpretCandidatesChrominance(CodingUnit& cu); +#endif PelStorage *m_tmpStorageLCU; private: TrQuant* m_pcTrQuant; @@ -99,6 +117,9 @@ private: MotionInfo m_SubPuMiBuf[(MAX_CU_SIZE * MAX_CU_SIZE) >> (MIN_CU_LOG2 << 1)]; MergeCtx m_geoMrgCtx; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream* m_ptrOfstreamQuadtree; +#endif }; //! \} diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp index b10d764e3447e216f233a0c8d773c93468459abb..67eb2769700d60e7982af10ddef41d888576047f 100644 --- a/source/Lib/DecoderLib/DecLib.cpp +++ b/source/Lib/DecoderLib/DecLib.cpp @@ -467,6 +467,16 @@ DecLib::DecLib() , m_vps( nullptr ) , m_maxDecSubPicIdx(0) , m_maxDecSliceAddrInSubPic(-1) +#if JVET_AB0149_INTRA_PRED + , m_descriptionPairHeightWidthPathToGraphOutput("") + , m_prefixAbsolutePathsToGraphsOutput("") +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areCostsWritten(false) +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_ptrOfstreamQuadtree(NULL) +#endif , m_clsVPSid(0) , m_targetSubPicIdx(0) , m_dci(NULL) @@ -1651,8 +1661,15 @@ void DecLib::xActivateParameterSets( const InputNALUnit nalu ) maxDepth, log2SaoOffsetScaleLuma, log2SaoOffsetScaleChroma ); m_cLoopFilter.create(maxDepth); - m_cIntraPred.init( sps->getChromaFormatIdc(), sps->getBitDepth( CHANNEL_TYPE_LUMA ) ); + m_cIntraPred.init( sps->getChromaFormatIdc() +#if JVET_AB0149_INTRA_PRED + ,m_descriptionPairHeightWidthPathToGraphOutput,m_prefixAbsolutePathsToGraphsOutput +#endif + ); m_cInterPred.init( &m_cRdCost, sps->getChromaFormatIdc(), sps->getMaxCUHeight() ); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_CABACDecoder.getCABACReader(0)->setAreCostsWritten(m_areCostsWritten); +#endif if (sps->getUseLmcs()) { m_cReshaper.createDec(sps->getBitDepth(CHANNEL_TYPE_LUMA)); @@ -1692,7 +1709,11 @@ void DecLib::xActivateParameterSets( const InputNALUnit nalu ) m_SEIs.clear(); // Recursive structure - m_cCuDecoder.init( &m_cTrQuant, &m_cIntraPred, &m_cInterPred ); + m_cCuDecoder.init( &m_cTrQuant, &m_cIntraPred, &m_cInterPred +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_ptrOfstreamQuadtree +#endif + ); if (sps->getUseLmcs()) { m_cCuDecoder.initDecCuReshaper(&m_cReshaper, sps->getChromaFormatIdc()); @@ -2782,10 +2803,27 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl m_cReshaper.setCTUFlag(false); m_cReshaper.setRecReshaped(false); } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (m_ptrOfstreamQuadtree) + { + if (m_ptrOfstreamQuadtree->is_open()) + { + *m_ptrOfstreamQuadtree << "GOP of index " << pcSlice->getPOC() << " - Frame of index " << m_apcSlicePilot->getIndependentSliceIdx() << " - Beginning of the partitioning" << std::endl; + } + } +#endif // Decode a picture m_cSliceDecoder.decompressSlice( pcSlice, &( nalu.getBitstream() ), ( m_pcPic->poc == getDebugPOC() ? getDebugCTU() : -1 ) ); - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (m_ptrOfstreamQuadtree) + { + if (m_ptrOfstreamQuadtree->is_open()) + { + *m_ptrOfstreamQuadtree << "GOP of index " << pcSlice->getPOC() << " - Frame of index " << m_apcSlicePilot->getIndependentSliceIdx() << " - End of the partitioning" << std::endl; + } + } +#endif m_bFirstSliceInPicture = false; m_uiSliceSegmentIdx++; diff --git a/source/Lib/DecoderLib/DecLib.h b/source/Lib/DecoderLib/DecLib.h index bd7a03f17134a9eff65515d6686796cbaa0ec100..3c4e673400402a8c0cf5715714ef0ba723f4d5a5 100644 --- a/source/Lib/DecoderLib/DecLib.h +++ b/source/Lib/DecoderLib/DecLib.h @@ -219,6 +219,16 @@ private: VPS* m_vps; int m_maxDecSubPicIdx; int m_maxDecSliceAddrInSubPic; +#if JVET_AB0149_INTRA_PRED + std::string m_descriptionPairHeightWidthPathToGraphOutput; + std::string m_prefixAbsolutePathsToGraphsOutput; +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream* m_ptrOfstreamQuadtree; +#endif int m_clsVPSid; public: @@ -314,7 +324,17 @@ public: { m_cTrQuantScalingList.init(nullptr, MAX_TB_SIZEY, false, false, false, false); } - +#if JVET_AB0149_INTRA_PRED + void setDescriptionPairHeightWidthPathToGraphOutput(const std::string& description) {m_descriptionPairHeightWidthPathToGraphOutput = description;} + void setPrefixAbsolutePathsToGraphsOutput(const std::string& prefix) {m_prefixAbsolutePathsToGraphsOutput = prefix;} +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setAreCostsWritten(const bool& areCostsWritten) {m_areCostsWritten = areCostsWritten;} +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setPtrOfstreamQuadtree(std::ofstream& ofstreamQuadtree) {m_ptrOfstreamQuadtree = &ofstreamQuadtree;} + const Picture* getPicture() const {return m_pcPic;} +#endif void setAPSMapEnc( ParameterSetMap<APS>* apsMap ) { m_apsMapEnc = apsMap; } bool isNewPicture( std::ifstream *bitstreamFile, class InputByteStream *bytestream ); bool isNewAccessUnit( bool newPicture, std::ifstream *bitstreamFile, class InputByteStream *bytestream ); diff --git a/source/Lib/EncoderLib/CABACWriter.cpp b/source/Lib/EncoderLib/CABACWriter.cpp index 29d923a8748d5a2b88cff45c3fe4a56f8791d88d..21202e4f490869d5141849d6da6a9e1330eb5327 100644 --- a/source/Lib/EncoderLib/CABACWriter.cpp +++ b/source/Lib/EncoderLib/CABACWriter.cpp @@ -1045,7 +1045,24 @@ void CABACWriter::intra_luma_pred_modes( const CodingUnit& cu ) cu.firstPU->intraDir[0] = cu.bdpcmMode == 2? VER_IDX : HOR_IDX; return; } - + const PredictionUnit* pu = cu.firstPU; +#if JVET_AB0149_INTRA_PRED + const CompArea& area = pu->Y(); + const bool is_shape_handled_pnn = decideShapeHandledPnn(area.height,area.width); + if (is_shape_handled_pnn) + { + const uint16_t ctxId = DeriveCtx::CtxPnnLFlag(cu); + if (pu->intraDir[CHANNEL_TYPE_LUMA] == PNN_IDX) + { + m_BinEncoder.encodeBin(1,Ctx::PnnLuminanceFlag(ctxId)); + return; + } + else + { + m_BinEncoder.encodeBin(0,Ctx::PnnLuminanceFlag(ctxId)); + } + } +#endif mip_flag(cu); if (cu.mipFlag) { @@ -1058,12 +1075,12 @@ void CABACWriter::intra_luma_pred_modes( const CodingUnit& cu ) const int numMPMs = NUM_MOST_PROBABLE_MODES; const int numBlocks = CU::getNumPUs( cu ); + CHECK(numBlocks != 1, + "There are more than one PU in the current CU."); unsigned mpm_preds [4][numMPMs]; unsigned mpm_idxs [4]; unsigned ipred_modes [4]; - const PredictionUnit* pu = cu.firstPU; - // prev_intra_luma_pred_flag for( int k = 0; k < numBlocks; k++ ) { @@ -1071,8 +1088,19 @@ void CABACWriter::intra_luma_pred_modes( const CodingUnit& cu ) unsigned& mpm_idx = mpm_idxs[k]; unsigned& ipred_mode = ipred_modes[k]; - PU::getIntraMPMs( *pu, mpm_pred ); - + PU::getIntraMPMs( *pu, mpm_pred +#if JVET_AB0149_INTRA_PRED + , is_shape_handled_pnn +#endif + ); +#if JVET_AB0149_INTRA_PRED + if (pu->multiRefIdx || !is_shape_handled_pnn) + { +#endif + CHECK(mpm_pred[0] != PLANAR_IDX, "`PLANAR` is not the the first MPM."); +#if JVET_AB0149_INTRA_PRED + } +#endif ipred_mode = pu->intraDir[0]; mpm_idx = numMPMs; for( unsigned idx = 0; idx < numMPMs; idx++ ) @@ -1104,9 +1132,14 @@ void CABACWriter::intra_luma_pred_modes( const CodingUnit& cu ) if( mpm_idx < numMPMs ) { { - unsigned ctx = (pu->cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0); if (pu->multiRefIdx == 0) - m_BinEncoder.encodeBin(mpm_idx > 0, Ctx::IntraLumaPlanarFlag(ctx)); + { +#if JVET_AB0149_INTRA_PRED + m_BinEncoder.encodeBinEP(mpm_idx > 0); +#else + m_BinEncoder.encodeBin(mpm_idx > 0, Ctx::IntraLumaPlanarFlag(pu->cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0)); +#endif + } if( mpm_idx ) { m_BinEncoder.encodeBinEP( mpm_idx > 1 ); @@ -1156,6 +1189,30 @@ void CABACWriter::intra_luma_pred_mode( const PredictionUnit& pu ) { if( pu.cu->bdpcmMode ) return; + unsigned ipred_mode = pu.intraDir[CHANNEL_TYPE_LUMA]; +#if JVET_AB0149_INTRA_PRED + const CompArea& area(pu.Y()); + const bool is_shape_handled_pnn( + decideShapeHandledPnn(area.height, area.width) + ); + if (is_shape_handled_pnn) + { + const uint16_t ctxId = DeriveCtx::CtxPnnLFlag(*pu.cu); + if (ipred_mode == PNN_IDX) + { + m_BinEncoder.encodeBin(1, Ctx::PnnLuminanceFlag(ctxId)); + return; + } + else + { + m_BinEncoder.encodeBin(0, Ctx::PnnLuminanceFlag(ctxId)); + } + } + else + { + CHECK(ipred_mode == PNN_IDX,"`ipred_mode` is equal to `PNN_IDX`."); + } +#endif mip_flag(*pu.cu); if (pu.cu->mipFlag) { @@ -1169,9 +1226,19 @@ void CABACWriter::intra_luma_pred_mode( const PredictionUnit& pu ) const int numMPMs = NUM_MOST_PROBABLE_MODES; unsigned mpm_pred[numMPMs]; - PU::getIntraMPMs( pu, mpm_pred ); - - unsigned ipred_mode = pu.intraDir[0]; + PU::getIntraMPMs( pu, mpm_pred +#if JVET_AB0149_INTRA_PRED + , is_shape_handled_pnn +#endif + ); +#if JVET_AB0149_INTRA_PRED + if (pu.multiRefIdx || !is_shape_handled_pnn) + { +#endif + CHECK(mpm_pred[0] != PLANAR_IDX, "`PLANAR` is not the first MPM."); +#if JVET_AB0149_INTRA_PRED + } +#endif unsigned mpm_idx = numMPMs; for( int idx = 0; idx < numMPMs; idx++ ) @@ -1195,9 +1262,14 @@ void CABACWriter::intra_luma_pred_mode( const PredictionUnit& pu ) if( mpm_idx < numMPMs ) { { - unsigned ctx = (pu.cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0); if (pu.multiRefIdx == 0) - m_BinEncoder.encodeBin( mpm_idx > 0, Ctx::IntraLumaPlanarFlag(ctx) ); + { +#if JVET_AB0149_INTRA_PRED + m_BinEncoder.encodeBinEP(mpm_idx > 0); +#else + m_BinEncoder.encodeBin(mpm_idx > 0, Ctx::IntraLumaPlanarFlag(pu.cu->ispMode == NOT_INTRA_SUBPARTITIONS ? 1 : 0)); +#endif + } if( mpm_idx ) { m_BinEncoder.encodeBinEP( mpm_idx > 1 ); @@ -1294,8 +1366,28 @@ void CABACWriter::intra_chroma_pred_mode(const PredictionUnit& pu) return; } } - - const bool isDerivedMode = intraDir == DM_CHROMA_IDX; +#if JVET_AB0149_INTRA_PRED + const bool is_shape_handled_pnn( + decideShapeHandledPnn(pu.Cb().height,pu.Cb().width) + ); + const bool is_dm_pnn( + getIntraDirLumaSubstitutePnn( + PU::getCoLocatedIntraLumaMode(pu), pu.Cb().height, pu.Cb().width) == PNN_IDX + ); + if (is_shape_handled_pnn && !is_dm_pnn) + { + if (pu.intraDir[CHANNEL_TYPE_CHROMA] == PNN_IDX) + { + m_BinEncoder.encodeBin(1, Ctx::PnnChrominanceFlag(0)); + return; + } + else + { + m_BinEncoder.encodeBin(0, Ctx::PnnChrominanceFlag(0)); + } + } +#endif + const bool isDerivedMode = intraDir == DM_CHROMA_IDX; m_BinEncoder.encodeBin(isDerivedMode ? 0 : 1, Ctx::IntraChromaPredMode(0)); if (isDerivedMode) { @@ -2819,10 +2911,22 @@ void CABACWriter::residual_lfnst_mode( const CodingUnit& cu, CUCtx& cuCtx ) } } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool isReturnedSpecial = nonZeroCoeffNonTsCorner8x8 || isTrSkip; + if (!m_areCostsWritten) + { + isReturnedSpecial |= !cuCtx.lfnstLastScanPos && !cu.ispMode; + } + if (isReturnedSpecial) + { + return; + } +#else if( (!cuCtx.lfnstLastScanPos && !cu.ispMode) || nonZeroCoeffNonTsCorner8x8 || isTrSkip ) { return; } +#endif } else { @@ -2840,6 +2944,20 @@ void CABACWriter::residual_lfnst_mode( const CodingUnit& cu, CUCtx& cuCtx ) if( idxLFNST ) { m_BinEncoder.encodeBin( (idxLFNST - 1) ? 1 : 0, Ctx::LFNSTIdx(2)); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + const uint32_t intraMode = PU::getFinalIntraMode(*cu.firstPU, cu.chType); + if (intraMode == PNN_IDX) { + CHECK(cu.idxLfnstPnn < 0 || cu.idxLfnstPnn > DEPTH_LFNST_GROUP - 1, "`cu.idxLfnstPnn` does not belong to [|0, 6|]."); + uint32_t maxSymbol = DEPTH_LFNST_GROUP; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (m_areCostsWritten) + { + maxSymbol = 8; + } +#endif + xWriteTruncBinCode(cu.idxLfnstPnn, maxSymbol); + } +#endif } DTRACE( g_trace_ctx, D_SYNTAX, "residual_lfnst_mode() etype=%d pos=(%d,%d) mode=%d\n", COMPONENT_Y, cu.lx(), cu.ly(), ( int ) cu.lfnstIdx ); diff --git a/source/Lib/EncoderLib/CABACWriter.h b/source/Lib/EncoderLib/CABACWriter.h index e4182ed12a69fd5d6bdbd3d91f00f7be64be2a5a..dbdb6f95f2c43dc8548afd9e0ae807758a3b58c3 100644 --- a/source/Lib/EncoderLib/CABACWriter.h +++ b/source/Lib/EncoderLib/CABACWriter.h @@ -51,7 +51,11 @@ class EncCu; class CABACWriter { public: - CABACWriter(BinEncIf& binEncoder) : m_BinEncoder(binEncoder), m_Bitstream(0) { m_TestCtx = m_BinEncoder.getCtx(); m_EncCu = NULL; } + CABACWriter(BinEncIf& binEncoder) : m_BinEncoder(binEncoder), m_Bitstream(0) +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areCostsWritten(false) +#endif + { m_TestCtx = m_BinEncoder.getCtx(); m_EncCu = NULL; } virtual ~CABACWriter() {} public: @@ -163,6 +167,9 @@ public: void codeAlfCtuAlternative ( CodingStructure& cs, uint32_t ctuRsAddr, const int compIdx, const AlfParam* alfParam = NULL ); void codeCcAlfFilterControlIdc(uint8_t idcVal, CodingStructure &cs, const ComponentID compID, const int curIdx, const uint8_t *filterControlIdc, Position lumaPos, const int filterCount); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setAreCostsWritten(const bool& areCostsWritten) {m_areCostsWritten = areCostsWritten;} +#endif #if NN_FILTERING_SET_0 void codeCnnlfCtuEnableFlag(CodingStructure& cs, uint32_t ctuRsAddr, const int compIdx, CnnlfSliceParam* cnnlfParam = NULL); @@ -191,6 +198,9 @@ private: Ctx m_TestCtx; EncCu* m_EncCu; ScanElement* m_scanOrder; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif }; diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index feb426be5c382c1975658c85eb35a2affbd2ddd7..016d0fad20876f2e0b47819058a611ec655205f5 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -799,9 +799,34 @@ protected: int m_upscaledOutput; int m_numRefLayers[MAX_VPS_LAYERS]; bool m_avoidIntraInDepLayer; +#if JVET_AB0149_INTRA_PRED + std::string m_descriptionPairHeightWidthPathToGraphOutput; + std::string m_prefixAbsolutePathsToGraphsOutput; +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areCostsWritten; +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream* m_ptrOfstreamQuadtree; + std::string m_pathToFileLOriginal; + std::string m_pathToFileLReconstructed; +#endif public: - EncCfg() + EncCfg() : + m_intraSmoothingDisabledFlag(false) +#if JVET_AB0149_INTRA_PRED + , m_descriptionPairHeightWidthPathToGraphOutput("") + , m_prefixAbsolutePathsToGraphsOutput("") +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areCostsWritten(false) +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_ptrOfstreamQuadtree(NULL) + , m_pathToFileLOriginal("") + , m_pathToFileLReconstructed("") +#endif { } @@ -2062,6 +2087,24 @@ public: const CfgVPSParameters& getVPSParameters() const { return m_cfgVPSParameters; } void setVPSParameters(const CfgVPSParameters& cfg) { m_cfgVPSParameters = cfg; } +#if JVET_AB0149_INTRA_PRED + void setDescriptionPairHeightWidthPathToGraphOutput(const std::string& description) {m_descriptionPairHeightWidthPathToGraphOutput = description;} + void setPrefixAbsolutePathsToGraphsOutput(const std::string& prefix) {m_prefixAbsolutePathsToGraphsOutput = prefix;} + std::string getDescriptionPairHeightWidthPathToGraphOutput() const {return m_descriptionPairHeightWidthPathToGraphOutput;} + std::string getPrefixAbsolutePathsToGraphsOutput() const {return m_prefixAbsolutePathsToGraphsOutput;} +#if JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setAreCostsWritten(const bool& areCostsWritten) {m_areCostsWritten = areCostsWritten;} + bool getAreCostsWritten() const {return m_areCostsWritten;} +#endif +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void setPtrOfstreamQuadtree(std::ofstream& ofstreamQuadtree) {m_ptrOfstreamQuadtree = &ofstreamQuadtree;} + std::ofstream& getOfstreamQuadtree() const {return *m_ptrOfstreamQuadtree;} + void setPathToFileLOriginal(const std::string& pathToFileLOriginal) {m_pathToFileLOriginal = pathToFileLOriginal;} + std::string getPathToFileLOriginal() const {return m_pathToFileLOriginal;} + void setPathToFileLReconstructed(const std::string& pathToFileLReconstructed) {m_pathToFileLReconstructed = pathToFileLReconstructed;} + std::string getPathToFileLReconstructed() const {return m_pathToFileLReconstructed;} +#endif }; //! \} diff --git a/source/Lib/EncoderLib/EncCu.cpp b/source/Lib/EncoderLib/EncCu.cpp index 77f2e285e313a987019023118fd349ffb3730936..cea3f9d7d02736c1a2b0d4815cdf824cea12711a 100644 --- a/source/Lib/EncoderLib/EncCu.cpp +++ b/source/Lib/EncoderLib/EncCu.cpp @@ -242,7 +242,11 @@ void EncCu::init( EncLib* pcEncLib, const SPS& sps PARL_PARAM( const int tId ) ) m_GeoCostList.init(GEO_NUM_PARTITION_MODE, m_pcEncCfg->getMaxNumGeoCand()); m_AFFBestSATDCost = MAX_DOUBLE; - DecCu::init( m_pcTrQuant, m_pcIntraSearch, m_pcInterSearch ); + DecCu::init( m_pcTrQuant, m_pcIntraSearch, m_pcInterSearch +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , NULL +#endif + ); m_modeCtrl->init( m_pcEncCfg, m_pcRateCtrl, m_pcRdCost ); @@ -1762,6 +1766,30 @@ void EncCu::xCheckCnnlf(CodingStructure& cs, UnitArea unitArea) bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS, Partitioner &partitioner, const EncTestMode& encTestMode, bool adaptiveColorTrans) { +#if JVET_AB0149_INTRA_PRED + m_pcIntraSearch->setIsAlreadyComputedPnnRd(false,CHANNEL_TYPE_LUMA);m_pcIntraSearch->setIsAlreadyComputedPnnRd(false,CHANNEL_TYPE_CHROMA);m_pcTrQuant->setIsAlreadyComputedTrPnn(false,COMPONENT_Y);m_pcTrQuant->setIsAlreadyComputedTrPnn(false,COMPONENT_Cb);m_pcTrQuant->setIsAlreadyComputedTrPnn(false,COMPONENT_Cr); +#if JVET_AB0149_TM_INF_PNN + m_pcIntraSearch->resetIdxPredictedLfnstPnnMemories(); +#endif + m_pcIntraSearch->resetIdxRepresentationPnnMemories(); + m_pcIntraSearch->setIsModeIsEnableUpdated(false); +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (isLuma(partitioner.chType) && m_pcEncCfg->getOfstreamQuadtree().is_open()) + { + m_pcIntraSearch->resetSsdsLumaMemories(); + m_pcIntraSearch->resetSatdsLumaMemories(); +#if JVET_AB0149_INTRA_PRED + m_pcIntraSearch->resetMeasuresLumaPnnMemories(); +#endif + } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (m_pcEncCfg->getAreCostsWritten()) + { + m_pcIntraSearch->resetCostsLfnstPnnMemories(); + } +#endif +#endif double bestInterCost = m_modeCtrl->getBestInterCost(); double costSize2Nx2NmtsFirstPass = m_modeCtrl->getMtsSize2Nx2NFirstPassCost(); bool skipSecondMtsPass = m_modeCtrl->getSkipSecondMTSPass(); @@ -1792,6 +1820,9 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS bool skipOtherLfnst = false; int startLfnstIdx = 0; int endLfnstIdx = sps.getUseLFNST() ? maxLfnstIdx : 0; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + bool isTriggeredHeuristicInter=false; +#endif int grpNumMax = sps.getUseLFNST() ? m_pcEncCfg->getMTSIntraMaxCand() : 1; m_modeCtrl->setISPWasTested(false); @@ -1821,6 +1852,12 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS { for( int lfnstIdx = startLfnstIdx; lfnstIdx <= endLfnstIdx; lfnstIdx++ ) { +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + int idxLfnstPnnEnd = lfnstIdx ? DEPTH_LFNST_GROUP : 1; + isTriggeredHeuristicInter = false; + for (uint8_t idxLfnstPnn = 0; idxLfnstPnn < idxLfnstPnnEnd; idxLfnstPnn++) + { +#endif for( uint8_t mtsFlag = startMtsFlag; mtsFlag <= endMtsFlag; mtsFlag++ ) { if (sps.getUseColorTrans() && !CS::isDualITree(*tempCS)) @@ -1850,6 +1887,9 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS cu.chromaQpAdj = m_cuChromaQpOffsetIdxPlus1; cu.qp = encTestMode.qp; cu.lfnstIdx = lfnstIdx; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + cu.idxLfnstPnn = idxLfnstPnn; +#endif cu.mtsFlag = mtsFlag; cu.ispMode = NOT_INTRA_SUBPARTITIONS; cu.colorTransform = adaptiveColorTrans; @@ -1869,9 +1909,32 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS { bestCostSoFar = encTestMode.maxCostAllowed; } - validCandRet = m_pcIntraSearch->estIntraPredLumaQT(cu, partitioner, bestCostSoFar, mtsFlag, startMTSIdx[trGrpIdx], endMTSIdx[trGrpIdx], (trGrpIdx > 0), !cu.colorTransform ? bestCS : nullptr); - if ((!validCandRet || (cu.ispMode && cu.firstTU->cbf[COMPONENT_Y] == 0))) + validCandRet = m_pcIntraSearch->estIntraPredLumaQT(cu, + partitioner +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , isTriggeredHeuristicInter +#endif + , bestCostSoFar, mtsFlag, startMTSIdx[trGrpIdx], endMTSIdx[trGrpIdx], trGrpIdx > 0, !cu.colorTransform ? bestCS : nullptr); + if (!validCandRet) + { +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (isTriggeredHeuristicInter) + { + CHECK(tempCS->slice->isIntra(),"The heuristic in inter at the end of the fast search in luminance is activated for a I-slice."); + idxLfnstPnnEnd = 1; + } +#endif + continue; + } + + /* + The condition `!validCandRet || cu.ispMode && cu.firstTU->cbf[COMPONENT_Y] == 0` + in the original code was split into two conditions. + */ + if (cu.ispMode && cu.firstTU->cbf[COMPONENT_Y] == 0) { + + // `continue` acts on the loop iterating over `mtsFlag`. continue; } if (m_pcEncCfg->getUseFastISP() && validCandRet && !mtsFlag && !lfnstIdx && !cu.colorTransform) @@ -1930,7 +1993,19 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS if( tempCS->area.chromaFormat != CHROMA_400 && ( partitioner.chType == CHANNEL_TYPE_CHROMA || !cu.isSepTree() ) && !cu.colorTransform ) { TUIntraSubPartitioner subTuPartitioner( partitioner ); - m_pcIntraSearch->estIntraPredChromaQT( cu, ( !useIntraSubPartitions || ( cu.isSepTree() && !isLuma( CHANNEL_TYPE_CHROMA ) ) ) ? partitioner : subTuPartitioner, maxCostAllowedForChroma ); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + validCandRet = m_pcIntraSearch->estIntraPredChromaQT(cu, !useIntraSubPartitions || cu.isSepTree() ? partitioner : subTuPartitioner, maxCostAllowedForChroma); + if (!validCandRet) + { + + // `continue` acts on the loop iterating over `mtsFlag`. + continue; + } +#else + m_pcIntraSearch->estIntraPredChromaQT(cu, + !useIntraSubPartitions || cu.isSepTree() ? partitioner : subTuPartitioner, + maxCostAllowedForChroma); +#endif if( useIntraSubPartitions && !cu.ispMode ) { //At this point the temp cost is larger than the best cost. Therefore, we can already skip the remaining calculations @@ -1979,7 +2054,10 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS xCheckDQP( *tempCS, partitioner ); xCheckChromaQPOffset( *tempCS, partitioner ); - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pcEncCfg->getAreCostsWritten()) + { +#endif // Check if low frequency non-separable transform (LFNST) is too expensive if( lfnstIdx && !cuCtx.lfnstLastScanPos && !cu.ispMode ) { @@ -1994,6 +2072,9 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS tmpCostWithoutSplitFlags = MAX_DOUBLE; } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + } +#endif if (isLuma(partitioner.chType) && cu.firstTU->mtsIdx[COMPONENT_Y] > MTS_SKIP) { @@ -2015,12 +2096,21 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS } if( !mtsFlag ) static_cast< double& >( costSize2Nx2NmtsFirstPass ) = tempCS->cost; - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (!idxLfnstPnn +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + && !m_pcEncCfg->getAreCostsWritten() +#endif + ) + { +#endif if( sps.getUseLFNST() && !tempCS->cus.empty() ) { skipOtherLfnst = m_modeCtrl->checkSkipOtherLfnst( encTestMode, tempCS, partitioner ); } - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + } +#endif xCalDebCost( *tempCS, partitioner ); tempCS->useDbCost = m_pcEncCfg->getUseEncDbOpt(); @@ -2051,6 +2141,10 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS bestSelFlag [ trGrpIdx ] = true; bestMtsFlag = mtsFlag; bestLfnstIdx = lfnstIdx; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pcEncCfg->getAreCostsWritten()) + { +#endif if( bestCS->cus.size() == 1 ) { CodingUnit &cu = *bestCS->cus.front(); @@ -2062,8 +2156,14 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS } } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + } +#endif } - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (!idxLfnstPnn) + { +#endif //we decide to skip the non-DCT-II transforms and LFNST according to the ISP results if ((endMtsFlag > 0 || endLfnstIdx > 0) && (cu.ispMode || (bestCS && bestCS->cus[0]->ispMode)) && tempCS->slice->isIntra() && m_pcEncCfg->getUseFastISP()) { @@ -2075,7 +2175,14 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS double lfnstThreshold = 1.01 * threshold; if( m_modeCtrl->getStopNonDCT2Transforms() || bestCostDct2NoIsp > bestIspCost*lfnstThreshold ) { +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pcEncCfg->getAreCostsWritten()) + { +#endif endLfnstIdx = lfnstIdx; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + } +#endif } if ( m_modeCtrl->getStopNonDCT2Transforms() || bestCostDct2NoIsp > bestIspCost*threshold ) @@ -2096,15 +2203,28 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS break; } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + } +#endif } - } //for emtCuFlag +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (!idxLfnstPnn +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + && !m_pcEncCfg->getAreCostsWritten() +#endif + ) + { +#endif if( skipOtherLfnst ) { startLfnstIdx = lfnstIdx; endLfnstIdx = lfnstIdx; - break; } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + } + } +#endif } //for lfnstIdx } //if (!skipSecondMtsPass && considerMtsSecondPass && trGrpCheck[iGrpIdx]) @@ -2119,6 +2239,23 @@ bool EncCu::xCheckRDCostIntra(CodingStructure *&tempCS, CodingStructure *&bestCS } } } //trGrpIdx +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + CodingUnit* currentBestCu = bestCS->getCU(partitioner.chType); + CHECK(!currentBestCu,"`currentBestCu` is NULL."); + if (isLuma(partitioner.chType) && m_pcEncCfg->getOfstreamQuadtree().is_open()) + { + m_pcIntraSearch->transferSsdsLumaMemories(*currentBestCu->firstPU);m_pcIntraSearch->transferSatdsLumaMemories(*currentBestCu->firstPU); +#if JVET_AB0149_INTRA_PRED + m_pcIntraSearch->transferMeasuresLumaPnnMemories(*currentBestCu->firstPU); +#endif + } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (m_pcEncCfg->getAreCostsWritten()) + { + m_pcIntraSearch->transferCostsLfnstPnnMemories(*currentBestCu->firstPU); + } +#endif +#endif if(!adaptiveColorTrans) m_modeCtrl->setBestNonDCT2Cost(bestNonDCT2Cost); return foundZeroRootCbf; @@ -2665,15 +2802,30 @@ void EncCu::xCheckRDCostMerge2Nx2N( CodingStructure *&tempCS, CodingStructure *& // estimate merge bits mergeCtx.setMergeInfo(pu, mergeCand); - - // first round +#if JVET_AB0149_INTRA_PRED + bool is_context_extracted = false; +#endif pu.intraDir[0] = PLANAR_IDX; uint32_t intraCnt = 0; // generate intrainter Y prediction if (mergeCnt == 0) { - m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Y()); - m_pcIntraSearch->predIntraAng(COMPONENT_Y, pu.cs->getPredBuf(pu).Y(), pu); +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; +#endif + m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Y() +#if JVET_AB0149_INTRA_PRED + , contextFlag, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + m_pcIntraSearch->predIntraAng(COMPONENT_Y, pu.cs->getPredBuf(pu).Y(), pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); m_pcIntraSearch->switchBuffer(pu, COMPONENT_Y, pu.cs->getPredBuf(pu).Y(), m_pcIntraSearch->getPredictorPtr2(COMPONENT_Y, intraCnt)); } pu.cs->getPredBuf(pu).copyFrom(acMergeTmpBuffer[mergeCand]); @@ -2773,13 +2925,41 @@ void EncCu::xCheckRDCostMerge2Nx2N( CodingStructure *&tempCS, CodingStructure *& pu.intraDir[1] = DM_CHROMA_IDX; if (pu.chromaSize().width == 2) continue; +#if JVET_AB0149_INTRA_PRED + bool is_context_extracted = false; +#endif uint32_t bufIdx = 0; - m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Cb()); - m_pcIntraSearch->predIntraAng(COMPONENT_Cb, pu.cs->getPredBuf(pu).Cb(), pu); +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; +#endif + m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Cb() +#if JVET_AB0149_INTRA_PRED + , contextFlag, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + m_pcIntraSearch->predIntraAng(COMPONENT_Cb, pu.cs->getPredBuf(pu).Cb(), pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); m_pcIntraSearch->switchBuffer(pu, COMPONENT_Cb, pu.cs->getPredBuf(pu).Cb(), m_pcIntraSearch->getPredictorPtr2(COMPONENT_Cb, bufIdx)); - m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Cr()); - m_pcIntraSearch->predIntraAng(COMPONENT_Cr, pu.cs->getPredBuf(pu).Cr(), pu); + m_pcIntraSearch->initIntraPatternChType(*pu.cu, pu.Cr() +#if JVET_AB0149_INTRA_PRED + , contextFlag, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + m_pcIntraSearch->predIntraAng(COMPONENT_Cr, pu.cs->getPredBuf(pu).Cr(), pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); m_pcIntraSearch->switchBuffer(pu, COMPONENT_Cr, pu.cs->getPredBuf(pu).Cr(), m_pcIntraSearch->getPredictorPtr2(COMPONENT_Cr, bufIdx)); } } @@ -4834,7 +5014,11 @@ void EncCu::xReuseCachedResult( CodingStructure *&tempCS, CodingStructure *&best || CU::isPLT(cu) ) { - xReconIntraQT( cu ); + xReconIntraQT( cu +#if JVET_AB0149_INTRA_PRED + , true +#endif + ); } else { diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index d2bd5f5693b434bf0479a1c04700d4093f2c6197..609e63118a3bda676a21feaf4a70c917070cce2f 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -2910,10 +2910,31 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, clipMv = clipMvInPic; m_pcEncLib->getInterSearch()->setClipMvInSubPic(false); } - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const std::string pathToFileLOriginal = m_pcEncLib->getPathToFileLOriginal(); + if (!pathToFileLOriginal.empty() && pcSlice->getPOC() == 0) + { + m_fileLOriginal.open(pathToFileLOriginal,true,m_pcEncLib->getBitDepth(),m_pcEncLib->getBitDepth(),m_pcEncLib->getBitDepth()); + const Window& conf = pcPic->getConformanceWindow(); + m_fileLOriginal.write(pcPic->getOrigBuf(COMPONENT_Y).width,pcPic->getOrigBuf(COMPONENT_Y).height,pcPic->getOrigBuf(),IPCOLOURSPACE_UNCHANGED,false,conf.getWindowLeftOffset()*SPS::getWinUnitX(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowRightOffset()*SPS::getWinUnitX(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowTopOffset()*SPS::getWinUnitY(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowBottomOffset()*SPS::getWinUnitY(pcPic->cs->sps->getChromaFormatIdc()),NUM_CHROMA_FORMAT,false); + m_fileLOriginal.close(); + } +#endif m_pcSliceEncoder->precompressSlice( pcPic ); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream& refOfstreamQuadtree = m_pcCfg->getOfstreamQuadtree(); + if (refOfstreamQuadtree.is_open()) + { + refOfstreamQuadtree << "GOP of index " << pcSlice->getPOC() << " - Frame of index " << sliceIdx << " - Beginning of the partitioning" << std::endl; + } +#endif m_pcSliceEncoder->compressSlice ( pcPic, false, false ); - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (refOfstreamQuadtree.is_open()) + { + refOfstreamQuadtree << "GOP of index " << pcSlice->getPOC() << " - Frame of index " << sliceIdx << " - End of the partitioning" << std::endl; + } +#endif if(sliceIdx < pcPic->cs->pps->getNumSlicesInPic() - 1) { uint32_t independentSliceIdx = pcSlice->getIndependentSliceIdx(); @@ -2934,7 +2955,16 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, CodingStructure& cs = *pcPic->cs; pcSlice = pcPic->slices[0]; - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const std::string pathToFileLReconstructed = m_pcEncLib->getPathToFileLReconstructed(); + if (!pathToFileLReconstructed.empty() && pcSlice->getPOC() == 0) + { + m_fileLReconstructed.open(pathToFileLReconstructed,true,m_pcEncLib->getBitDepth(),m_pcEncLib->getBitDepth(),m_pcEncLib->getBitDepth()); + const Window& conf = pcPic->getConformanceWindow(); + m_fileLReconstructed.write(pcPic->getRecoBuf(COMPONENT_Y).width,pcPic->getRecoBuf(COMPONENT_Y).height,pcPic->getRecoBuf(),IPCOLOURSPACE_UNCHANGED,false,conf.getWindowLeftOffset()*SPS::getWinUnitX(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowRightOffset()*SPS::getWinUnitX(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowTopOffset()*SPS::getWinUnitY(pcPic->cs->sps->getChromaFormatIdc()),conf.getWindowBottomOffset()*SPS::getWinUnitY(pcPic->cs->sps->getChromaFormatIdc()),NUM_CHROMA_FORMAT,false); + m_fileLReconstructed.close(); + } +#endif if (cs.sps->getUseLmcs() && m_pcReshaper->getSliceReshaperInfo().getUseSliceReshaper()) { picHeader->setLmcsEnabledFlag(true); diff --git a/source/Lib/EncoderLib/EncGOP.h b/source/Lib/EncoderLib/EncGOP.h index ecd77be4d79fe5c29df315aa003b6cef1b161e7f..f6cc19ed03339caabe9cd078fd73f038a3bf562b 100644 --- a/source/Lib/EncoderLib/EncGOP.h +++ b/source/Lib/EncoderLib/EncGOP.h @@ -61,7 +61,9 @@ #include "RateCtrl.h" #include <vector> #include "EncHRD.h" - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +#include "Utilities/VideoIOYuv.h" +#endif #if JVET_O0756_CALCULATE_HDRMETRICS #include "HDRLib/inc/ConvertColorFormat.H" #include "HDRLib/inc/Convert.H" @@ -199,6 +201,10 @@ private: bool m_bInitAMaxBT; AUWriterIf* m_AUWriterIf; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + VideoIOYuv m_fileLOriginal; + VideoIOYuv m_fileLReconstructed; +#endif #if JVET_O0756_CALCULATE_HDRMETRICS diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index 03481b3f7e11ac827367372276d684bf80ff497a..2421b93953bc56f3f039d291002c90f25e84e345 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -453,6 +453,10 @@ void EncLib::init( bool isFieldCoding, AUWriterIf* auWriterIf ) // initialize encoder search class CABACWriter* cabacEstimator = m_CABACEncoder.getCABACEstimator(&sps0); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + cabacEstimator->setAreCostsWritten(m_areCostsWritten); + m_CABACEncoder.getCABACWriter(&sps0)->setAreCostsWritten(m_areCostsWritten); +#endif m_cIntraSearch.init( this, &m_cTrQuant, &m_cRdCost, diff --git a/source/Lib/EncoderLib/EncSlice.cpp b/source/Lib/EncoderLib/EncSlice.cpp index babb8b516f33e7a4e0b781abfeac4768e4437609..f9f828752c3281dea130af2e405b3422de1b0ecb 100644 --- a/source/Lib/EncoderLib/EncSlice.cpp +++ b/source/Lib/EncoderLib/EncSlice.cpp @@ -1468,6 +1468,216 @@ void EncSlice::setJointCbCrModes( CodingStructure& cs, const Position topLeftLum cs.picHeader->setJointCbCrSignFlag( sgnFlag ); } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +template <typename T> +int is_equal_row_in_array_2d(const T* const ptr_array_2d,const int& height_array,const int& width_array,bool& is_equal_row) +{ + bool is_equal_single_row = true; + is_equal_row = false; + for (int i = 0; i < height_array; i++) + { + is_equal_single_row = true; + for (int j = 1; j < width_array; j++) + { + if (ptr_array_2d[i*width_array + j] != ptr_array_2d[i*width_array]) + { + is_equal_single_row = false; + } + } + if (is_equal_single_row) + { + is_equal_row = true; + } + } + return 0; +} + +void writeCharacteristicsTuInCuIntra(const TransformUnit& tu,const ChannelType& chType,std::ofstream& refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , const bool& areWrittenDone +#endif + ) +{ + const CodingUnit& cu = *tu.cu; + CHECK(!CU::isIntra(cu),"`writeCharacteristicsTuInCu` is not called for a CU predicted in intra."); + if (isLuma(chType)) + { + if (!tu.blocks[COMPONENT_Y].valid()) + { + return; + } + } + else + { + if (!tu.blocks[COMPONENT_Cb].valid() || !tu.blocks[COMPONENT_Cr].valid()) + { + return; + } + } + const PredictionUnit& pu = *cu.firstPU; + const uint32_t uiIntraMode = PU::getFinalIntraMode(pu,chType); + if (isLuma(chType)) + { + refOfstreamQuadtree << "channel index 0; ";refOfstreamQuadtree << "block size " << tu.lwidth() << "x" << tu.lheight() << "; ";refOfstreamQuadtree << "block position (" << tu.lx() << ", " << tu.ly() << "); ";refOfstreamQuadtree << "intra prediction mode index " << uiIntraMode << "; ";refOfstreamQuadtree << "MIP flag " << cu.mipFlag << "; ";refOfstreamQuadtree << "depth of the TB relatively to its CB " << (cu.firstTU != cu.lastTU) << "; ";refOfstreamQuadtree << "flag of splitting the CB into 4 PBs 0; ";refOfstreamQuadtree << "LFNST indices (" << cu.lfnstIdx << ", "; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (uiIntraMode == PNN_IDX && cu.lfnstIdx) + { + refOfstreamQuadtree << cu.idxLfnstPnn; + } +#endif + refOfstreamQuadtree << "); "; + uint32_t i = 0; + refOfstreamQuadtree << "indices best modes SSDs regular "; + for (i = 0; i < pu.arrayPairsIdxSsdLumaRegular.size(); i++) + { + refOfstreamQuadtree << static_cast<int>(pu.arrayPairsIdxSsdLumaRegular[i].first); + if (i < pu.arrayPairsIdxSsdLumaRegular.size() - 1) + { + refOfstreamQuadtree << " | "; + } + } + refOfstreamQuadtree << "; "; + refOfstreamQuadtree << "intra prediction SSDs regular "; + for (i = 0; i < pu.arrayPairsIdxSsdLumaRegular.size(); i++) + { + refOfstreamQuadtree << pu.arrayPairsIdxSsdLumaRegular[i].second; + if (i < pu.arrayPairsIdxSsdLumaRegular.size() - 1) + { + refOfstreamQuadtree << " | "; + } + } + refOfstreamQuadtree << "; "; +#if JVET_AB0149_INTRA_PRED + refOfstreamQuadtree << "intra prediction SSD PNN " << pu.ssdLumaPnn << "; "; +#endif + refOfstreamQuadtree << "indices best modes SATDs regular "; + for (i = 0; i < pu.arrayPairsIdxSatdLumaRegular.size(); i++) + { + refOfstreamQuadtree << static_cast<int>(pu.arrayPairsIdxSatdLumaRegular[i].first); + if (i < pu.arrayPairsIdxSatdLumaRegular.size() - 1) + { + refOfstreamQuadtree << " | "; + } + } + refOfstreamQuadtree << "; "; + refOfstreamQuadtree << "intra prediction SATDs regular "; + for (i = 0; i < pu.arrayPairsIdxSatdLumaRegular.size(); i++) + { + refOfstreamQuadtree << pu.arrayPairsIdxSatdLumaRegular[i].second; + if (i < pu.arrayPairsIdxSatdLumaRegular.size() - 1) + { + refOfstreamQuadtree << " | "; + } + } + refOfstreamQuadtree << "; "; +#if JVET_AB0149_INTRA_PRED + refOfstreamQuadtree << "intra prediction SATD PNN " << pu.satdLumaPnn << "; ";refOfstreamQuadtree << "measures of discrepancies PNN (" << pu.arrayMeasuresLumaPnn[0] << ", " << pu.arrayMeasuresLumaPnn[1] << "); "; +#if JVET_AB0149_SEARCH_PNN + if (areWrittenDone) + { + const CompArea& area = cu.Y(); + const bool is_shape_handled_pnn = decideShapeHandledPnn(area.height,area.width); + if (is_shape_handled_pnn) + { + CHECK(pu.isInArrayCostsLfnstPnnMaxDouble(),"A cost has not been written to memory for a luminance CB the PNN mode can predict."); + } + else + { + CHECK(!pu.isFilledArrayCostsLfnstPnnMaxDouble(),"A cost is not equal to `MAX_DOUBLE` for a luminance CB the PNN mode cannot predict."); + } + bool is_equal_row = true; + const int error_code = is_equal_row_in_array_2d(&pu.arrayCostsLfnstPnn[0][0], NUM_LFNST_NUM_PER_SET - 1, DEPTH_LFNST_GROUP, is_equal_row); + CHECK(error_code < 0, "Error in `is_equal_row_in_array_2d`."); + if (!is_shape_handled_pnn || cu.ispMode || is_equal_row || !cu.lfnstIdx) + { + refOfstreamQuadtree << "costs mapping ; "; + } + else + { + refOfstreamQuadtree << "costs mapping "; + uint32_t j = 0; + for (i = 0; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (j = 0; j < DEPTH_LFNST_GROUP; j++) + { + refOfstreamQuadtree << pu.arrayCostsLfnstPnn[i][j]; + if (i*DEPTH_LFNST_GROUP + j < (NUM_LFNST_NUM_PER_SET - 1)*DEPTH_LFNST_GROUP - 1) + { + refOfstreamQuadtree << " | "; + } + } + } + refOfstreamQuadtree << "; "; + } + } +#endif +#endif + refOfstreamQuadtree << std::endl; + } + else + { + for (uint32_t compID = COMPONENT_Cb; compID < getNumberValidComponents(cu.chromaFormat); compID++) + { + refOfstreamQuadtree << "channel index " << compID << "; ";refOfstreamQuadtree << "block size " << tu.Cb().width << "x" << tu.Cb().height << "; ";refOfstreamQuadtree << "block position (" << tu.Cb().x << ", " << tu.Cb().y << "); ";refOfstreamQuadtree << "intra prediction mode index " << uiIntraMode << "; ";refOfstreamQuadtree << "depth of the TB relatively to its CB " << (cu.firstTU != cu.lastTU) << "; ";refOfstreamQuadtree << "flag of splitting the CB into 4 PBs 0; ";refOfstreamQuadtree << "LFNST indices (" << cu.lfnstIdx << ", "; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (uiIntraMode == PNN_IDX && cu.lfnstIdx) + { + refOfstreamQuadtree << cu.idxLfnstPnn; + } +#endif + refOfstreamQuadtree << "); ";refOfstreamQuadtree << std::endl; + } + } +} + +void writeCharacteristicsCu(const CodingUnit& cu,std::ofstream& refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , const bool& areWrittenDone +#endif + ) +{ + const int numBlocks = CU::getNumPUs(cu); + CHECK(numBlocks != 1,"A CU can only contain a single PU in VVC."); + for (uint32_t chType = CHANNEL_TYPE_LUMA; chType < ::getNumberValidChannels(cu.chromaFormat); chType++) + { + if (cu.blocks[chType].valid()) + { + if (CU::isIntra(cu)) + { + for (const TransformUnit& tu : CU::traverseTUs(cu)) + { + writeCharacteristicsTuInCuIntra(tu,ChannelType(chType),refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , areWrittenDone +#endif + ); + } + } + } + } +} + +void writeCharacteristicsCus(const CodingStructure& cs,const UnitArea& ctuArea,std::ofstream& refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , const bool& areWrittenDone +#endif + ) +{ + const int maxNumChannelType = cs.pcv->chrFormat != CHROMA_400 && CS::isDualITree(cs) ? 2 : 1; + for (int ch(0); ch < maxNumChannelType; ch++) + { + const ChannelType chType = ChannelType(ch); + for (const CodingUnit& cu : cs.traverseCUs(CS::getArea(cs, ctuArea, chType), chType)) + { + writeCharacteristicsCu(cu,refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , areWrittenDone +#endif + ); + } + } +} +#endif void EncSlice::encodeCtus( Picture* pcPic, const bool bCompressEntireSlice, const bool bFastDeltaQP, EncLib* pEncLib ) { @@ -1695,7 +1905,17 @@ void EncSlice::encodeCtus( Picture* pcPic, const bool bCompressEntireSlice, cons #if K0149_BLOCK_STATISTICS getAndStoreBlockStatistics(cs, ctuArea); #endif - +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::ofstream& refOfstreamQuadtree = m_pcCfg->getOfstreamQuadtree(); + if (refOfstreamQuadtree.is_open()) + { + writeCharacteristicsCus(cs,ctuArea,refOfstreamQuadtree +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , m_pcCfg->getAreCostsWritten() +#endif + ); + } +#endif pCABACWriter->resetBits(); pCABACWriter->coding_tree_unit( cs, ctuArea, prevQP, ctuRsAddr, true, true ); const int numberOfWrittenBits = int( pCABACWriter->getEstFracBits() >> SCALE_BITS ); diff --git a/source/Lib/EncoderLib/EncTemporalFilter.cpp b/source/Lib/EncoderLib/EncTemporalFilter.cpp index 18ae4e37dc2142cf154a4ff2e66910b16d6627b3..521d852dcb2b544995465d0313296c976dfe4c81 100644 --- a/source/Lib/EncoderLib/EncTemporalFilter.cpp +++ b/source/Lib/EncoderLib/EncTemporalFilter.cpp @@ -99,6 +99,10 @@ EncTemporalFilter::EncTemporalFilter() : m_QP(0), m_clipInputVideoToRec709Range(false), m_inputColourSpaceConvert(NUMBER_INPUT_COLOUR_SPACE_CONVERSIONS) +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areOriginalFv(false) + , m_areOriginalFh(false) +#endif {} void EncTemporalFilter::init(const int frameSkip, @@ -114,7 +118,12 @@ void EncTemporalFilter::init(const int frameSkip, const InputColourSpaceConversion colorSpaceConv, const int qp, const std::map<int, double> &temporalFilterStrengths, - const bool gopBasedTemporalFilterFutureReference) + const bool gopBasedTemporalFilterFutureReference +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& areOriginalFv + , const bool& areOriginalFh +#endif + ) { m_FrameSkip = frameSkip; for (int i = 0; i < MAX_NUM_CHANNEL_TYPE; i++) @@ -138,6 +147,10 @@ void EncTemporalFilter::init(const int frameSkip, m_QP = qp; m_temporalFilterStrengths = temporalFilterStrengths; m_gopBasedTemporalFilterFutureReference = gopBasedTemporalFilterFutureReference; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + m_areOriginalFv = areOriginalFv; + m_areOriginalFh = areOriginalFh; +#endif } // ==================================================================================================================== @@ -210,7 +223,12 @@ bool EncTemporalFilter::filter(PelStorage *orgPic, int receivedPoc) PelStorage dummyPicBufferTO; // Only used temporary in yuvFrames.read srcPic.picBuffer.create(m_chromaFormatIDC, m_area, 0, m_padding); dummyPicBufferTO.create(m_chromaFormatIDC, m_area, 0, m_padding); - if (!yuvFrames.read(srcPic.picBuffer, dummyPicBufferTO, m_inputColourSpaceConvert, m_pad, m_chromaFormatIDC, m_clipInputVideoToRec709Range)) + if (!yuvFrames.read(srcPic.picBuffer, dummyPicBufferTO, m_inputColourSpaceConvert, m_pad +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , m_areOriginalFv + , m_areOriginalFh +#endif + , m_chromaFormatIDC, m_clipInputVideoToRec709Range)) { return false; // eof or read fail } diff --git a/source/Lib/EncoderLib/EncTemporalFilter.h b/source/Lib/EncoderLib/EncTemporalFilter.h index 01848881097f24a87e515850e9c8aa49dfa3cdfd..a8bbe8d3ba680794ee1f366d79929436aec8b0a4 100644 --- a/source/Lib/EncoderLib/EncTemporalFilter.h +++ b/source/Lib/EncoderLib/EncTemporalFilter.h @@ -121,7 +121,12 @@ public: const InputColourSpaceConversion colorSpaceConv, const int qp, const std::map<int, double> &temporalFilterStrengths, - const bool gopBasedTemporalFilterFutureReference); + const bool gopBasedTemporalFilterFutureReference +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& areOriginalFv + , const bool& areOriginalFh +#endif + ); bool filter(PelStorage *orgPic, int frame); @@ -156,6 +161,10 @@ private: InputColourSpaceConversion m_inputColourSpaceConvert; Area m_area; bool m_gopBasedTemporalFilterFutureReference; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + bool m_areOriginalFv; + bool m_areOriginalFh; +#endif // Private functions void subsampleLuma(const PelStorage &input, PelStorage &output, const int factor = 2) const; diff --git a/source/Lib/EncoderLib/InterSearch.cpp b/source/Lib/EncoderLib/InterSearch.cpp index ff9ba841d315778eeaba31500454145b1d63d480..e6c7520e97757f1cfe3b16fd2ea5d75fc93bc05e 100644 --- a/source/Lib/EncoderLib/InterSearch.cpp +++ b/source/Lib/EncoderLib/InterSearch.cpp @@ -6656,17 +6656,29 @@ void InterSearch::xEstimateInterResidualQT(CodingStructure &cs, Partitioner &par { if( transformMode == 0 ) { - m_pcTrQuant->transformNxN( tu, compID, cQP, &trModes, m_pcEncCfg->getMTSInterMaxCand() ); + m_pcTrQuant->transformNxN( tu, compID, cQP, &trModes, m_pcEncCfg->getMTSInterMaxCand() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); tu.mtsIdx[compID] = trModes[0].first; } if (!(m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0)) { - m_pcTrQuant->transformNxN( tu, compID, cQP, currAbsSum, m_CABACEstimator->getCtx(), true ); + m_pcTrQuant->transformNxN( tu, compID, cQP, currAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + , true ); } } else { - m_pcTrQuant->transformNxN( tu, compID, cQP, currAbsSum, m_CABACEstimator->getCtx() ); + m_pcTrQuant->transformNxN( tu, compID, cQP, currAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); } if (isFirstMode || (currAbsSum == 0)) @@ -6965,14 +6977,26 @@ void InterSearch::xEstimateInterResidualQT(CodingStructure &cs, Partitioner &par { if (modeId == 0) { - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, &trModes, m_pcEncCfg->getMTSInterMaxCand()); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, &trModes, m_pcEncCfg->getMTSInterMaxCand() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); tu.mtsIdx[codeCompId] = trModes[modeId].first; tu.mtsIdx[otherCompId] = MTS_DCT2_DCT2; } - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, compAbsSum, m_CABACEstimator->getCtx(), true); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, compAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + , true); } else - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, compAbsSum, m_CABACEstimator->getCtx()); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, compAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); if (compAbsSum > 0) { m_pcTrQuant->invTransformNxN(tu, codeCompId, codeResi, qpCbCr); diff --git a/source/Lib/EncoderLib/IntraSearch.cpp b/source/Lib/EncoderLib/IntraSearch.cpp index 063ef8b3af12195d427cc82260aa1f4114c003ad..24c9c1094614ce7b9f63f67ea5c9580f01113a29 100644 --- a/source/Lib/EncoderLib/IntraSearch.cpp +++ b/source/Lib/EncoderLib/IntraSearch.cpp @@ -49,6 +49,14 @@ #include <math.h> #include <limits> + +#if JVET_AB0149_INTRA_PRED +#include "intra_pred_extraction_context.h" +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +#include <fstream> +#endif + //! \ingroup EncoderLib //! \{ #define PLTCtx(c) SubCtx( Ctx::Palette, c ) @@ -56,6 +64,9 @@ IntraSearch::IntraSearch() : m_pSplitCS (nullptr) , m_pFullCS (nullptr) , m_pBestCS (nullptr) +#if JVET_AB0149_INTRA_PRED + , m_isModeIsEnableUpdated(false) +#endif , m_pcEncCfg (nullptr) , m_pcTrQuant (nullptr) , m_pcRdCost (nullptr) @@ -79,6 +90,34 @@ IntraSearch::IntraSearch() { m_statePtRDOQ[i] = nullptr; } +#if JVET_AB0149_INTRA_PRED + for (unsigned int i = 0; i < MAX_NUM_CHANNEL_TYPE; i++) + { + m_isAlreadyComputedPnnRd[i] = false; + } + for (unsigned int i = 0; i < MAX_NUM_COMPONENT; i++) + { + m_pSharedPredPnn[i] = nullptr; + } +#if JVET_AB0149_TM_INF_PNN + resetIdxPredictedLfnstPnnMemories(); +#endif + resetIdxRepresentationPnnMemories(); + for (unsigned int i = 0; i < NUM_INTRA_MODE + 1; i++) + { + m_modeIsEnable[i] = true; + } +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + resetSsdsLumaMemories(); + resetSatdsLumaMemories(); +#if JVET_AB0149_INTRA_PRED + resetMeasuresLumaPnnMemories(); +#if JVET_AB0149_SEARCH_PNN + resetCostsLfnstPnnMemories(); +#endif +#endif +#endif } @@ -199,6 +238,13 @@ void IntraSearch::destroy() m_statePtRDOQ[i] = nullptr; } } +#if JVET_AB0149_INTRA_PRED + for (uint32_t i = 0; i < MAX_NUM_COMPONENT; i++) + { + delete[] m_pSharedPredPnn[i]; + m_pSharedPredPnn[i] = nullptr; + } +#endif } IntraSearch::~IntraSearch() @@ -209,6 +255,136 @@ IntraSearch::~IntraSearch() } } +#if JVET_AB0149_INTRA_PRED +#if JVET_AB0149_TM_INF_PNN +void IntraSearch::resetIdxPredictedLfnstPnnMemories() +{ + for (uint32_t i{0}; i < MAX_NUM_COMPONENT; i++) + { + for (uint32_t j{0}; j < NUM_LFNST_NUM_PER_SET - 1; j++) + { + m_arrayIdxPredictedLfnstPnn[i][j] = MAX_INT; + } + } +} + +void IntraSearch::transferIdxPredictedLfnstPnnMemories(CodingUnit& cu,const ComponentID& compID,const bool& isFromMemoryToCu) +{ + for (uint32_t i{0}; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + if (isFromMemoryToCu) + { + cu.arrayIdxPredictedLfnstPnn[compID][i] = m_arrayIdxPredictedLfnstPnn[compID][i]; + } + else + { + m_arrayIdxPredictedLfnstPnn[compID][i] = cu.arrayIdxPredictedLfnstPnn[compID][i]; + } + } +} +#endif +void IntraSearch::resetIdxRepresentationPnnMemories() +{ + m_idxRepresentationPnn = MAX_INT; +} + +void IntraSearch::transferIdxRepresentationPnnMemories(CodingUnit& cu, + const bool& isFromMemoryToCu) +{ + if (isFromMemoryToCu) + { + cu.idxRepresentationPnn = m_idxRepresentationPnn; + } + else + { + m_idxRepresentationPnn = cu.idxRepresentationPnn; + } +} +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +void IntraSearch::resetSsdsLumaMemories() +{ + for (auto it = m_arrayPairsIdxSsdLumaRegular.begin(); it != m_arrayPairsIdxSsdLumaRegular.end(); it++) + { + it->first = -1; + it->second = MAX_UINT64; + } +#if JVET_AB0149_INTRA_PRED + m_ssdLumaPnn = MAX_UINT64; +#endif +} + +void IntraSearch::transferSsdsLumaMemories(PredictionUnit& pu) const +{ + pu.arrayPairsIdxSsdLumaRegular = m_arrayPairsIdxSsdLumaRegular; +#if JVET_AB0149_INTRA_PRED + pu.ssdLumaPnn = m_ssdLumaPnn; +#endif +} + +void IntraSearch::resetSatdsLumaMemories() +{ + for (auto it = m_arrayPairsIdxSatdLumaRegular.begin(); it != m_arrayPairsIdxSatdLumaRegular.end(); it++) + { + it->first = -1; + it->second = MAX_UINT64; + } +#if JVET_AB0149_INTRA_PRED + m_satdLumaPnn = MAX_UINT64; +#endif +} + +void IntraSearch::transferSatdsLumaMemories(PredictionUnit& pu) const +{ + pu.arrayPairsIdxSatdLumaRegular = m_arrayPairsIdxSatdLumaRegular; +#if JVET_AB0149_INTRA_PRED + pu.satdLumaPnn = m_satdLumaPnn; +#endif +} + +#if JVET_AB0149_INTRA_PRED +void IntraSearch::resetMeasuresLumaPnnMemories() +{ + for (uint32_t i = 0; i < 2; i++) + { + m_arrayMeasuresLumaPnn[i] = MAX_DOUBLE; + } +} + +void IntraSearch::transferMeasuresLumaPnnMemories(PredictionUnit& pu) const +{ + for (uint32_t i{0}; i < 2; i++) + { + pu.arrayMeasuresLumaPnn[i] = m_arrayMeasuresLumaPnn[i]; + } +} + +#if JVET_AB0149_SEARCH_PNN +void IntraSearch::resetCostsLfnstPnnMemories() +{ + for (uint32_t i{0}; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j{0}; j < DEPTH_LFNST_GROUP; j++) + { + m_arrayCostsLfnstPnn[i][j] = MAX_DOUBLE; + } + } +} + +void IntraSearch::transferCostsLfnstPnnMemories(PredictionUnit& pu) const +{ + for (uint32_t i{0}; i < NUM_LFNST_NUM_PER_SET - 1; i++) + { + for (uint32_t j{0}; j < DEPTH_LFNST_GROUP; j++) + { + pu.arrayCostsLfnstPnn[i][j] = m_arrayCostsLfnstPnn[i][j]; + } + } +} +#endif +#endif +#endif + void IntraSearch::init( EncCfg* pcEncCfg, TrQuant* pcTrQuant, RdCost* pcRdCost, @@ -231,8 +407,18 @@ void IntraSearch::init( EncCfg* pcEncCfg, const ChromaFormat cform = pcEncCfg->getChromaFormatIdc(); - IntraPrediction::init( cform, pcEncCfg->getBitDepth( CHANNEL_TYPE_LUMA ) ); + IntraPrediction::init( cform +#if JVET_AB0149_INTRA_PRED + , pcEncCfg->getDescriptionPairHeightWidthPathToGraphOutput(), pcEncCfg->getPrefixAbsolutePathsToGraphsOutput() +#endif + ); m_tmpStorageLCU.create(UnitArea(cform, Area(0, 0, MAX_CU_SIZE, MAX_CU_SIZE))); +#if JVET_AB0149_INTRA_PRED + for (uint32_t i = 0; i < MAX_NUM_COMPONENT; i++) + { + m_pSharedPredPnn[i] = new Pel[MAX_CU_SIZE*MAX_CU_SIZE]; + } +#endif m_colorTransResiBuf.create(UnitArea(cform, Area(0, 0, MAX_CU_SIZE, MAX_CU_SIZE))); for( uint32_t ch = 0; ch < MAX_NUM_TBLOCKS; ch++ ) @@ -367,8 +553,12 @@ double IntraSearch::findInterCUCost( CodingUnit &cu ) return COST_UNKNOWN; } -bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, const double bestCostSoFar, bool mtsCheckRangeFlag, int mtsFirstCheckId, int mtsLastCheckId, bool moreProbMTSIdxFirst, CodingStructure* bestCS) -{ +bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + bool& isTriggeredHeuristicInter, +#endif + const double bestCostSoFar, bool mtsCheckRangeFlag, int mtsFirstCheckId, int mtsLastCheckId, + bool moreProbMTSIdxFirst, CodingStructure *bestCS) { CodingStructure &cs = *cu.cs; const SPS &sps = *cs.sps; const uint32_t uiWidthBit = floorLog2(partitioner.currArea().lwidth() ); @@ -381,8 +571,13 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c const TempCtx ctxStart ( m_CtxCache, m_CABACEstimator->getCtx() ); const TempCtx ctxStartMipFlag ( m_CtxCache, SubCtx( Ctx::MipFlag, m_CABACEstimator->getCtx() ) ); +#if JVET_AB0149_INTRA_PRED + const TempCtx ctxStartPnnLuminanceFlag(m_CtxCache, SubCtx(Ctx::PnnLuminanceFlag, m_CABACEstimator->getCtx())); +#endif const TempCtx ctxStartIspMode ( m_CtxCache, SubCtx( Ctx::ISPMode, m_CABACEstimator->getCtx() ) ); - const TempCtx ctxStartPlanarFlag ( m_CtxCache, SubCtx( Ctx::IntraLumaPlanarFlag, m_CABACEstimator->getCtx() ) ); +#if !JVET_AB0149_INTRA_PRED + const TempCtx ctxStartPlanarFlag(m_CtxCache, SubCtx( Ctx::IntraLumaPlanarFlag, m_CABACEstimator->getCtx())); +#endif const TempCtx ctxStartIntraMode(m_CtxCache, SubCtx(Ctx::IntraLumaMpmFlag, m_CABACEstimator->getCtx())); const TempCtx ctxStartMrlIdx ( m_CtxCache, SubCtx( Ctx::MultiRefLineIdx, m_CABACEstimator->getCtx() ) ); @@ -468,10 +663,19 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c const bool supportedMipBlkSize = pu.lwidth() <= MIP_MAX_WIDTH && pu.lheight() <= MIP_MAX_HEIGHT; static_vector<ModeInfo, FAST_UDI_MAX_RDMODE_NUM> uiRdModeList; - +#if JVET_AB0149_INTRA_PRED + int numModesForFullRD = 0; +#if JVET_AB0149_SEARCH_PNN + if (!cu.idxLfnstPnn) + { +#endif +#else int numModesForFullRD = 3; +#endif numModesForFullRD = g_aucIntraModeNumFast_UseMPM_2D[uiWidthBit - MIN_CU_LOG2][uiHeightBit - MIN_CU_LOG2]; - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + } +#endif #if INTRA_FULL_SEARCH numModesForFullRD = numModesAvailable; #endif @@ -493,20 +697,32 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c } else { + const CompArea& area = pu.Y(); +#if JVET_AB0149_INTRA_PRED + const bool is_shape_handled_pnn = decideShapeHandledPnn(area.height,area.width); +#if JVET_AB0149_SEARCH_PNN + if (!cu.idxLfnstPnn) + { +#endif +#endif if (mtsUsageFlag != 2) { - // this should always be true - CHECK(!pu.Y().valid(), "PU is not valid"); bool isFirstLineOfCtu = (((pu.block(COMPONENT_Y).y) & ((pu.cs->sps)->getMaxCUWidth() - 1)) == 0); int numOfPassesExtendRef = ((!sps.getUseMRL() || isFirstLineOfCtu) ? 1 : MRL_NUM_REF_LINES); pu.multiRefIdx = 0; - +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false, is_context_extracted = false; +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool is_written_first_test = (m_pcEncCfg->getOfstreamQuadtree()).is_open() && cu.mtsFlag == 0 && cu.lfnstIdx == 0; +#if JVET_AB0149_INTRA_PRED + is_context_extracted = is_written_first_test && is_shape_handled_pnn; + int error_code = 0; +#endif +#endif if (numModesForFullRD != numModesAvailable) { CHECK(numModesForFullRD >= numModesAvailable, "Too many modes for full RD search"); - - const CompArea &area = pu.Y(); - PelBuf piOrg = cs.getOrgBuf(area); PelBuf piPred = cs.getPredBuf(area); @@ -546,7 +762,14 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c cu.mipFlag = false; //===== init pattern for luma prediction ===== - initIntraPatternChType(cu, pu.Y(), true); + initIntraPatternChType(cu, pu.Y(), +#if JVET_AB0149_INTRA_PRED + contextFlag, is_context_extracted, +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + false, +#endif + true); bool bSatdChecked[NUM_INTRA_MODE]; memset(bSatdChecked, 0, sizeof(bSatdChecked)); @@ -558,25 +781,44 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c Distortion minSadHad = 0; // Skip checking extended Angular modes in the first round of SATD +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + const bool isDirectionalOdd(uiMode > DC_IDX && (uiMode & 1)); + if (isDirectionalOdd && !is_written_first_test) +#else if (uiMode > DC_IDX && (uiMode & 1)) +#endif { continue; } - +#if !JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS bSatdChecked[uiMode] = true; - +#endif pu.intraDir[0] = modeIdx; initPredIntraParams(pu, pu.Y(), sps); - predIntraAng(COMPONENT_Y, piPred, pu); + predIntraAng(COMPONENT_Y, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!isDirectionalOdd) + { + bSatdChecked[uiMode] = true; +#endif // Use the min between SAD and HAD as the cost criterion // SAD is scaled by 2 to align with the scaling of HAD minSadHad += std::min(distParamSad.distFunc(distParamSad) * 2, distParamHad.distFunc(distParamHad)); // NB xFracModeBitsIntra will not affect the mode for chroma that may have already been pre-estimated. m_CABACEstimator->getCtx() = SubCtx( Ctx::MipFlag, ctxStartMipFlag ); +#if JVET_AB0149_INTRA_PRED + m_CABACEstimator->getCtx() = SubCtx(Ctx::PnnLuminanceFlag, ctxStartPnnLuminanceFlag); +#endif m_CABACEstimator->getCtx() = SubCtx( Ctx::ISPMode, ctxStartIspMode ); +#if !JVET_AB0149_INTRA_PRED m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaPlanarFlag, ctxStartPlanarFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaMpmFlag, ctxStartIntraMode); m_CABACEstimator->getCtx() = SubCtx( Ctx::MultiRefLineIdx, ctxStartMrlIdx ); @@ -590,7 +832,32 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c CandCostList, numModesForFullRD); updateCandList(ModeInfo(false, false, 0, NOT_INTRA_SUBPARTITIONS, uiMode), double(minSadHad), uiHadModeList, CandHadList, numHadCand); +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + } + if (is_written_first_test) + { + computeSsdsSatdsLumaRegular(piOrg,piPred,uiMode,sps.getBitDepth(CHANNEL_TYPE_LUMA)); + } +#endif } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (is_context_extracted) + { + pu.intraDir[CHANNEL_TYPE_LUMA] = PNN_IDX; + initPredIntraParams(pu,area,sps); + predIntraAng(COMPONENT_Y,piPred,pu,contextFlag); + error_code = computeSsdSatdMeasuresConstrastStructureLumaPnn(piOrg,piPred,sps.getBitDepth(CHANNEL_TYPE_LUMA)); + CHECK(error_code < 0,"Error in `computeLumaSsdSatdMeasuresConstrastStructurePnn`."); + PelBuf sharedPredPnn(m_pSharedPredPnn[COMPONENT_Y],area); + CHECK(getIsAlreadyComputedPnnRd(CHANNEL_TYPE_LUMA),"The prediction of the neural network mode should not be already computed."); + sharedPredPnn.copyFrom(piPred); + setIsAlreadyComputedPnnRd(true,CHANNEL_TYPE_LUMA); +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(cu,COMPONENT_Y,false); +#endif + transferIdxRepresentationPnnMemories(cu,false); + } +#endif if (!sps.getUseMIP() && LFNSTSaveFlag) { // save found best modes @@ -633,7 +900,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c pu.intraDir[0] = mode; initPredIntraParams(pu, pu.Y(), sps); - predIntraAng(COMPONENT_Y, piPred, pu); + predIntraAng(COMPONENT_Y, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); // Use the min between SAD and SATD as the cost criterion // SAD is scaled by 2 to align with the scaling of HAD @@ -643,8 +914,13 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c // NB xFracModeBitsIntra will not affect the mode for chroma that may have already been // pre-estimated. m_CABACEstimator->getCtx() = SubCtx(Ctx::MipFlag, ctxStartMipFlag); +#if JVET_AB0149_INTRA_PRED + m_CABACEstimator->getCtx() = SubCtx(Ctx::PnnLuminanceFlag, ctxStartPnnLuminanceFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::ISPMode, ctxStartIspMode); +#if !JVET_AB0149_INTRA_PRED m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaPlanarFlag, ctxStartPlanarFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaMpmFlag, ctxStartIntraMode); m_CABACEstimator->getCtx() = SubCtx(Ctx::MultiRefLineIdx, ctxStartMrlIdx); @@ -670,14 +946,25 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c pu.multiRefIdx = 1; const int numMPMs = NUM_MOST_PROBABLE_MODES; unsigned multiRefMPM[numMPMs]; - PU::getIntraMPMs(pu, multiRefMPM); + PU::getIntraMPMs(pu, multiRefMPM +#if JVET_AB0149_INTRA_PRED + , is_shape_handled_pnn +#endif + ); for (int mRefNum = 1; mRefNum < numOfPassesExtendRef; mRefNum++) { int multiRefIdx = MULTI_REF_LINE_IDX[mRefNum]; pu.multiRefIdx = multiRefIdx; { - initIntraPatternChType(cu, pu.Y(), true); + initIntraPatternChType(cu, pu.Y(), +#if JVET_AB0149_INTRA_PRED + contextFlag,false, +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + false, +#endif + true); } for (int x = 1; x < numMPMs; x++) { @@ -686,7 +973,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c pu.intraDir[0] = mode; initPredIntraParams(pu, pu.Y(), sps); - predIntraAng(COMPONENT_Y, piPred, pu); + predIntraAng(COMPONENT_Y, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); // Use the min between SAD and SATD as the cost criterion // SAD is scaled by 2 to align with the scaling of HAD @@ -695,8 +986,13 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c // NB xFracModeBitsIntra will not affect the mode for chroma that may have already been pre-estimated. m_CABACEstimator->getCtx() = SubCtx(Ctx::MipFlag, ctxStartMipFlag); +#if JVET_AB0149_INTRA_PRED + m_CABACEstimator->getCtx() = SubCtx(Ctx::PnnLuminanceFlag, ctxStartPnnLuminanceFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::ISPMode, ctxStartIspMode); +#if !JVET_AB0149_INTRA_PRED m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaPlanarFlag, ctxStartPlanarFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaMpmFlag, ctxStartIntraMode); m_CABACEstimator->getCtx() = SubCtx(Ctx::MultiRefLineIdx, ctxStartMrlIdx); @@ -753,7 +1049,14 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c double mipHadCost[MAX_NUM_MIP_MODE] = { MAX_DOUBLE }; - initIntraPatternChType(cu, pu.Y()); + initIntraPatternChType(cu, pu.Y() +#if JVET_AB0149_INTRA_PRED + , contextFlag, false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); initIntraMip(pu, pu.Y()); const int transpOff = getNumModesMip(pu.Y()); @@ -773,7 +1076,9 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c std::min(distParamSad.distFunc(distParamSad) * 2, distParamHad.distFunc(distParamHad)); m_CABACEstimator->getCtx() = SubCtx(Ctx::MipFlag, ctxStartMipFlag); - +#if JVET_AB0149_INTRA_PRED + m_CABACEstimator->getCtx() = SubCtx( Ctx::PnnLuminanceFlag, ctxStartPnnLuminanceFlag ); +#endif uint64_t fracModeBits = xFracModeBitsIntra(pu, uiMode, CHANNEL_TYPE_LUMA); double cost = double(minSadHad) + double(fracModeBits) * sqrtLambdaForFirstPass; @@ -821,8 +1126,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c pu.multiRefIdx = 0; - const int numCand = PU::getIntraMPMs(pu, uiPreds); - + const int numCand = PU::getIntraMPMs(pu, uiPreds +#if JVET_AB0149_INTRA_PRED + , is_shape_handled_pnn +#endif + ); for (int j = 0; j < numCand; j++) { bool mostProbableModeIncluded = false; @@ -876,6 +1184,12 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c { numModesForFullRD = 0; + /* + `cu.lfnstIdx` is always equal to 0 as, at this point, + `cu.mtsFlag` is equal to 1. + */ + CHECK(cu.lfnstIdx != 0, + "`cu.lfnstIdx` is expected to be equal to 0."); double thresholdSkipMode = 1.0 + ((cu.lfnstIdx > 0) ? 0.1 : 1.0) * (1.4 / sqrt((double) (width * height))); // Skip checking the modes with much larger R-D cost than the best mode @@ -905,7 +1219,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c // PBINTRA fast if (m_pcEncCfg->getUsePbIntraFast() && !cs.slice->isIntra() && uiRdModeList.size() < numModesAvailable - && !cs.slice->getDisableSATDForRD() && (mtsUsageFlag != 2 || lfnstIdx > 0)) + && !cs.slice->getDisableSATDForRD() && (mtsUsageFlag != 2 || lfnstIdx > 0) +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + && !m_pcEncCfg->getAreCostsWritten() +#endif + ) { double pbintraRatio = (lfnstIdx > 0) ? 1.25 : PBINTRA_RATIO; int maxSize = -1; @@ -931,10 +1249,12 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c if (maxSize > 0) { uiRdModeList.resize(std::min<size_t>(uiRdModeList.size(), maxSize)); + numModesForFullRD = (int)uiRdModeList.size(); if (bestMipIdx >= 0) { if (uiRdModeList.size() <= bestMipIdx) { + numModesForFullRD++; uiRdModeList.push_back(bestMipMode); } } @@ -950,14 +1270,43 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c //===== reset context models ===== m_CABACEstimator->getCtx() = SubCtx(Ctx::MipFlag, ctxStartMipFlag); +#if JVET_AB0149_INTRA_PRED + m_CABACEstimator->getCtx() = SubCtx( Ctx::PnnLuminanceFlag, ctxStartPnnLuminanceFlag ); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::ISPMode, ctxStartIspMode); +#if !JVET_AB0149_INTRA_PRED m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaPlanarFlag, ctxStartPlanarFlag); +#endif m_CABACEstimator->getCtx() = SubCtx(Ctx::IntraLumaMpmFlag, ctxStartIntraMode); m_CABACEstimator->getCtx() = SubCtx(Ctx::MultiRefLineIdx, ctxStartMrlIdx); - +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + isTriggeredHeuristicInter = true; +#endif return false; } } +#if JVET_AB0149_INTRA_PRED +#if JVET_AB0149_SEARCH_PNN + } +#endif + if (is_shape_handled_pnn) + { + numModesForFullRD++; + uiRdModeList.push_back( + ModeInfo(false, + false, + 0, + NOT_INTRA_SUBPARTITIONS, + PNN_IDX) + ); + } +#if JVET_AB0149_SEARCH_PNN + if (!numModesForFullRD) + { + return false; + } +#endif +#endif } int numNonISPModes = (int)uiRdModeList.size(); @@ -969,9 +1318,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c m_curIspLfnstIdx = 0; for (int i = 0; i < maxNumRDModesISP; i++) { + numModesForFullRD++; uiRdModeList.push_back( ModeInfo( false, false, 0, INTRA_SUBPARTITIONS_RESERVED, 0 ) ); } } + CHECK(numModesForFullRD != uiRdModeList.size(), "`uiRdModeList.size()` is different from its expected value."); //===== check modes (using r-d costs) ===== ModeInfo uiBestPUMode; @@ -987,9 +1338,6 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c csBest->initStructData(); csTemp->picture = cs.picture; csBest->picture = cs.picture; - - // just to be sure - numModesForFullRD = ( int ) uiRdModeList.size(); TUIntraSubPartitioner subTuPartitioner( partitioner ); if ( testISP ) { @@ -1090,7 +1438,11 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c } } - if (!cu.ispMode && !cu.mtsFlag && !cu.lfnstIdx && !cu.bdpcmMode && !pu.multiRefIdx && !cu.mipFlag && testISP) + if (!cu.ispMode && !cu.mtsFlag && !cu.lfnstIdx && !cu.bdpcmMode && !pu.multiRefIdx && !cu.mipFlag && testISP +#if JVET_AB0149_INTRA_PRED + && uiOrgMode.modeId != PNN_IDX +#endif + ) { m_regIntraRDListWithCosts.push_back( ModeInfoWithCost( cu.mipFlag, pu.mipTransposedFlag, pu.multiRefIdx, cu.ispMode, uiOrgMode.modeId, csTemp->cost ) ); } @@ -1107,7 +1459,15 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c { m_modeCostStore[lfnstIdx][mode] = tmpValidReturn ? csTemp->cost : (MAX_DOUBLE / 2.0); //(MAX_DOUBLE / 2.0) ?? } - +#if JVET_AB0149_INTRA_PRED + if (uiOrgMode.modeId == PNN_IDX) + { +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(cu,COMPONENT_Y,true); +#endif + transferIdxRepresentationPnnMemories(cu,true); + } +#endif DTRACE(g_trace_ctx, D_INTRA_COST, "IntraCost T [x=%d,y=%d,w=%d,h=%d] %f (%d,%d,%d,%d,%d,%d) \n", cu.blocks[0].x, cu.blocks[0].y, (int) width, (int) height, csTemp->cost, uiOrgMode.modeId, uiOrgMode.ispMod, pu.multiRefIdx, cu.mipFlag, cu.lfnstIdx, cu.mtsFlag); @@ -1121,7 +1481,15 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c sortRdModeListFirstColorSpace(uiOrgMode, csTemp->cost, cu.bdpcmMode, m_savedRdModeFirstColorSpace[m_savedRdModeIdx], m_savedRdCostFirstColorSpace[m_savedRdModeIdx], m_savedBDPCMModeFirstColorSpace[m_savedRdModeIdx], m_numSavedRdModeFirstColorSpace[m_savedRdModeIdx]); } } - // check r-d cost +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (m_pcEncCfg->getAreCostsWritten()) + { + if (uiOrgMode.modeId == PNN_IDX && cu.lfnstIdx) + { + m_arrayCostsLfnstPnn[cu.lfnstIdx - 1][cu.idxLfnstPnn] = csTemp->cost; + } + } +#endif if( csTemp->cost < csBest->cost ) { std::swap( csTemp, csBest ); @@ -1154,6 +1522,10 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c } csTemp->releaseIntermediateData(); +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (!m_pcEncCfg->getAreCostsWritten()) + { +#endif if( m_pcEncCfg->getFastLocalDualTreeMode() ) { if( cu.isConsIntra() && !cu.slice->isIntra() && csBest->cost != MAX_DOUBLE && costInterCU != COST_UNKNOWN && mode >= 0 ) @@ -1172,6 +1544,9 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c } } } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN && JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + } +#endif if (sps.getUseColorTrans() && !CS::isDualITree(cs)) { if ((m_pcEncCfg->getRGBFormatFlag() && !cu.colorTransform) && csBest->cost != MAX_DOUBLE && bestCS->cost != MAX_DOUBLE && mode >= 0) @@ -1220,7 +1595,55 @@ bool IntraSearch::estIntraPredLumaQT(CodingUnit &cu, Partitioner &partitioner, c return validReturn; } -void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner, const double maxCostAllowed ) +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +template<typename T, typename U, std::size_t SIZE> +void insert_pair_index_cost(std::array<std::pair<T, U>, SIZE>& array_pairs_index_cost,const std::pair<T, U>& pair_index_cost) +{ + std::size_t shift = 0; + while (shift < SIZE && pair_index_cost.second < array_pairs_index_cost[SIZE - 1 - shift].second) + { + shift++; + } + if (shift) + { + for (int i = 1; i < shift; i++) + { + array_pairs_index_cost[SIZE - i] = array_pairs_index_cost[SIZE - 1 - i]; + } + array_pairs_index_cost[SIZE - shift] = pair_index_cost; + } +} + +void IntraSearch::computeSsdsSatdsLumaRegular(const PelBuf& piOrg,const PelBuf& piPred,const uint32_t& uiMode,const int& bitDepth) +{ + std::pair<int8_t, uint64_t> pairIndexCost(uiMode, MAX_UINT64); + pairIndexCost.second = m_pcRdCost->getDistPart(piOrg,piPred,bitDepth,COMPONENT_Y,DF_SSE); + insert_pair_index_cost(m_arrayPairsIdxSsdLumaRegular,pairIndexCost); + pairIndexCost.second = m_pcRdCost->getDistPart(piOrg,piPred,bitDepth,COMPONENT_Y,DF_HAD); + insert_pair_index_cost(m_arrayPairsIdxSatdLumaRegular,pairIndexCost); +} + +#if JVET_AB0149_INTRA_PRED +int IntraSearch::computeSsdSatdMeasuresConstrastStructureLumaPnn(const PelBuf& piOrg,const PelBuf& piPred,const int& bitDepth) +{ + m_ssdLumaPnn = m_pcRdCost->getDistPart(piOrg,piPred,bitDepth,COMPONENT_Y,DF_SSE); + m_satdLumaPnn = m_pcRdCost->getDistPart(piOrg,piPred,bitDepth,COMPONENT_Y,DF_HAD); + const int error_code = compare_contrast_structure_globally(piOrg.buf,piPred.buf,piOrg.height,piOrg.width,piOrg.stride,piPred.stride,(1 << bitDepth) - 1,&m_arrayMeasuresLumaPnn[0]); + if (error_code < 0) + { + return -1; + } + return 0; +} +#endif +#endif + +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN +bool +#else +void +#endif +IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner, const double maxCostAllowed ) { const ChromaFormat format = cu.chromaFormat; const uint32_t numberValidComponents = getNumberValidComponents(format); @@ -1235,17 +1658,33 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner CHECK( cu.ispMode && bestCostSoFar < 0, "bestCostSoFar must be positive!" ); auto &pu = *cu.firstPU; - +#if JVET_AB0149_INTRA_PRED + const bool is_shape_handled_pnn = decideShapeHandledPnn(pu.Cb().height, pu.Cb().width); + const bool is_dm_pnn( + getIntraDirLumaSubstitutePnn(PU::getCoLocatedIntraLumaMode(pu), pu.Cb().height, pu.Cb().width) == PNN_IDX + ); +#if JVET_AB0149_SEARCH_PNN + if (cu.isSepTree() && cu.idxLfnstPnn) + { + if (!is_shape_handled_pnn) { + return false; + } + } +#endif +#endif { + double dCost = MAX_DOUBLE; + double dBestCost = MAX_DOUBLE; uint32_t uiBestMode = 0; Distortion uiBestDist = 0; - double dBestCost = MAX_DOUBLE; int32_t bestBDPCMMode = 0; //----- init mode list ---- { - int32_t uiMinMode = 0; - int32_t uiMaxMode = NUM_CHROMA_MODE; + + // `const` are added for safety. + const int32_t uiMinMode = 0; + const int32_t uiMaxMode = NUM_CHROMA_MODE; //----- check chroma modes ----- uint32_t chromaCandModes[ NUM_CHROMA_MODE ]; PU::getIntraChromaCandModes( pu, chromaCandModes ); @@ -1305,7 +1744,21 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner { saveCS.clearCUs(); } +#if JVET_AB0149_INTRA_PRED // SATD pre-selecting. + if (!cu.isSepTree() || !m_isModeIsEnableUpdated) + { +#else + bool modeIsEnable[NUM_INTRA_MODE + 1]; +#endif + for (int i = 0; i < NUM_INTRA_MODE + 1; i++) + { +#if JVET_AB0149_INTRA_PRED + m_modeIsEnable[i] = true; +#else + modeIsEnable[i] = true; +#endif + } int satdModeList[NUM_CHROMA_MODE]; int64_t satdSortedCost[NUM_CHROMA_MODE]; for (int i = 0; i < NUM_CHROMA_MODE; i++) @@ -1313,17 +1766,29 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner satdSortedCost[i] = 0; // for the mode not pre-select by SATD, do RDO by default, so set the initial value 0. satdModeList[i] = 0; } - bool modeIsEnable[NUM_INTRA_MODE + 1]; // use intra mode idx to check whether enable - for (int i = 0; i < NUM_INTRA_MODE + 1; i++) - { - modeIsEnable[i] = 1; - } DistParam distParamSad; DistParam distParamSatd; pu.intraDir[1] = MDLM_L_IDX; // temporary assigned, just to indicate this is a MDLM mode. for luma down-sampling operation. - - initIntraPatternChType(cu, pu.Cb()); - initIntraPatternChType(cu, pu.Cr()); +#if JVET_AB0149_INTRA_PRED + bool contextFlagCb = false; + bool contextFlagCr = false; +#endif + initIntraPatternChType(cu, pu.Cb() +#if JVET_AB0149_INTRA_PRED + , contextFlagCb, false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + initIntraPatternChType(cu, pu.Cr() +#if JVET_AB0149_INTRA_PRED + , contextFlagCr, false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); xGetLumaRecPixels(pu, pu.Cb()); for (int idx = uiMinMode; idx <= uiMaxMode - 1; idx++) @@ -1361,7 +1826,11 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner else { initPredIntraParams(pu, pu.Cb(), *pu.cs->sps); - predIntraAng(COMPONENT_Cb, predCb, pu); + predIntraAng(COMPONENT_Cb, predCb, pu +#if JVET_AB0149_INTRA_PRED + , contextFlagCb +#endif + ); } sadCb = distParamSad.distFunc(distParamSad) * 2; satdCb = distParamSatd.distFunc(distParamSatd); @@ -1380,7 +1849,11 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner else { initPredIntraParams(pu, pu.Cr(), *pu.cs->sps); - predIntraAng(COMPONENT_Cr, predCr, pu); + predIntraAng(COMPONENT_Cr, predCr, pu +#if JVET_AB0149_INTRA_PRED + , contextFlagCr +#endif + ); } sadCr = distParamSad.distFunc(distParamSad) * 2; satdCr = distParamSatd.distFunc(distParamSatd); @@ -1407,47 +1880,110 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner } } } - int reducedModeNumber = 2; // reduce the number of chroma modes - for (int i = 0; i < reducedModeNumber; i++) +#if JVET_AB0149_INTRA_PRED + std::vector<uint32_t> vector_indices; + const int error_code = collect_indices_non_zeros(satdSortedCost,NUM_CHROMA_MODE,vector_indices); + CHECK(error_code < 0, "Error in `collect_indices_non_zeros`."); + if (vector_indices.empty()) + { + m_modeIsEnable[chromaCandModes[1]] = false;m_modeIsEnable[chromaCandModes[2]] = false; + } + else if (vector_indices.size() == 1) + { + CHECK(vector_indices.at(0) != NUM_CHROMA_MODE - 1,"The index in `satdSortedCost` of the unique chrominance candidate intra prediction mode with non-zero SATD cost is not equal to `NUM_CHROMA_MODE - 1`."); + m_modeIsEnable[satdModeList[NUM_CHROMA_MODE - 1]] = false; + if (satdModeList[NUM_CHROMA_MODE - 1] == chromaCandModes[1]) + { + m_modeIsEnable[chromaCandModes[2]] = false; + } + else + { + m_modeIsEnable[chromaCandModes[1]] = false; + } + } + else { - modeIsEnable[satdModeList[uiMaxMode - 1 - i]] = 0; // disable the last reducedModeNumber modes +#endif + for (int i = 0; i < 2; i++) + { +#if JVET_AB0149_INTRA_PRED + m_modeIsEnable[satdModeList[NUM_CHROMA_MODE - 1 - i]] = false; +#else + modeIsEnable[satdModeList[NUM_CHROMA_MODE - 1 - i]] = false; +#endif + } +#if JVET_AB0149_INTRA_PRED } + m_isModeIsEnableUpdated = true; + } + CHECK(!m_isModeIsEnableUpdated,"For the current call to `EncCu::xCheckRDCostIntra`, the fast search in chrominance was not run before starting the rate-distortion tests in chrominance."); + CHECK(!m_modeIsEnable[PLANAR_IDX] || !m_modeIsEnable[LM_CHROMA_IDX] || !m_modeIsEnable[DM_CHROMA_IDX],"PLANAR or LM or DM is rejected during the fast search in chrominance."); +#endif + int32_t numModesForFullRD(NUM_CHROMA_MODE); +#if JVET_AB0149_INTRA_PRED + if (is_shape_handled_pnn && !is_dm_pnn) + { + numModesForFullRD++; + } +#endif // save the dist Distortion baseDist = cs.dist; bool testBDPCM = true; testBDPCM = testBDPCM && CU::bdpcmAllowed(cu, COMPONENT_Cb) && cu.ispMode == 0 && cu.mtsFlag == 0 && cu.lfnstIdx == 0; - for (int32_t uiMode = uiMinMode - (2 * int(testBDPCM)); uiMode < uiMaxMode; uiMode++) + for (int32_t uiMode = uiMinMode - (2 * int(testBDPCM)); uiMode < numModesForFullRD; uiMode++) { - int chromaIntraMode; - + int chromaIntraMode( +#if JVET_AB0149_INTRA_PRED + uiMode == NUM_CHROMA_MODE ? PNN_IDX : chromaCandModes[uiMode] +#else + chromaCandModes[uiMode] +#endif + ); + pu.intraDir[CHANNEL_TYPE_CHROMA] = chromaIntraMode; +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + if (cu.isSepTree()&& cu.idxLfnstPnn && PU::getFinalIntraMode(pu, CHANNEL_TYPE_CHROMA) != PNN_IDX) + { + continue; + } +#endif if (uiMode < 0) { cu.bdpcmModeChroma = -uiMode; chromaIntraMode = cu.bdpcmModeChroma == 2 ? chromaCandModes[1] : chromaCandModes[2]; + + // As `chromaIntraMode` is modified, `pu.intraDir[CHANNEL_TYPE_CHROMA]` is updated. + pu.intraDir[CHANNEL_TYPE_CHROMA] = chromaIntraMode; } else { - chromaIntraMode = chromaCandModes[uiMode]; - cu.bdpcmModeChroma = 0; +#if JVET_AB0149_INTRA_PRED + if (chromaIntraMode != PNN_IDX) + { +#endif if( PU::isLMCMode( chromaIntraMode ) && ! PU::isLMCModeEnabled( pu, chromaIntraMode ) ) { continue; } - if (!modeIsEnable[chromaIntraMode] && PU::isLMCModeEnabled(pu, chromaIntraMode)) // when CCLM is disable, then MDLM is disable. not use satd checking + if (PU::isLMCModeEnabled(pu, chromaIntraMode) +#if JVET_AB0149_INTRA_PRED + && !m_modeIsEnable[chromaIntraMode] +#else + && !modeIsEnable[chromaIntraMode] +#endif + ) { continue; } +#if JVET_AB0149_INTRA_PRED + } +#endif } cs.setDecomp( pu.Cb(), false ); cs.dist = baseDist; //----- restore context models ----- m_CABACEstimator->getCtx() = ctxStart; - - //----- chroma coding ----- - pu.intraDir[1] = chromaIntraMode; - xRecurIntraChromaCodingQT( cs, partitioner, bestCostSoFar, ispType ); if( lumaUsesISP && cs.dist == MAX_UINT ) { @@ -1458,10 +1994,18 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner { m_CABACEstimator->getCtx() = ctxStart; } - - uint64_t fracBits = xGetIntraFracBitsQT( cs, partitioner, false, true, -1, ispType ); +#if JVET_AB0149_INTRA_PRED + CUCtx cuCtx; + cuCtx.isDQPCoded = true; + cuCtx.isChromaQpAdjCoded = true; +#endif + uint64_t fracBits = xGetIntraFracBitsQT( cs, partitioner, false, true, -1, ispType +#if JVET_AB0149_INTRA_PRED + , &cuCtx +#endif + ); Distortion uiDist = cs.dist; - double dCost = m_pcRdCost->calcRdCost( fracBits, uiDist - baseDist ); + dCost = m_pcRdCost->calcRdCost( fracBits, uiDist - baseDist ); //----- compare ----- if( dCost < dBestCost ) @@ -1528,6 +2072,9 @@ void IntraSearch::estIntraPredChromaQT( CodingUnit &cu, Partitioner &partitioner { cu.ispMode = 0; } +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + return true; +#endif } @@ -2908,7 +3455,11 @@ void IntraSearch::xEncCoeffQT( CodingStructure &cs, Partitioner &partitioner, co } else { - m_CABACEstimator->residual_coding(currTU, compID); + m_CABACEstimator->residual_coding(currTU, compID +#if JVET_AB0149_INTRA_PRED + , cuCtx +#endif + ); } } } @@ -2928,12 +3479,29 @@ uint64_t IntraSearch::xGetIntraFracBitsQT( CodingStructure &cs, Partitioner &par } if( bChroma ) { - xEncCoeffQT( cs, partitioner, COMPONENT_Cb, subTuIdx, ispType ); - xEncCoeffQT( cs, partitioner, COMPONENT_Cr, subTuIdx, ispType ); + xEncCoeffQT( cs, partitioner, COMPONENT_Cb, subTuIdx, ispType +#if JVET_AB0149_INTRA_PRED + , cuCtx +#endif + ); + xEncCoeffQT( cs, partitioner, COMPONENT_Cr, subTuIdx, ispType +#if JVET_AB0149_INTRA_PRED + , cuCtx +#endif + ); } CodingUnit& cu = *cs.getCU(partitioner.chType); - if ( cuCtx && bLuma && cu.isSepTree() && ( !cu.ispMode || ( cu.lfnstIdx && subTuIdx == 0 ) || ( !cu.lfnstIdx && subTuIdx == m_ispTestedModes[cu.lfnstIdx].numTotalParts[cu.ispMode - 1] - 1 ) ) ) + + // In 4:0:0, for a I-slice, `cu.isSepTree()` returns false. + if (cuCtx +#if JVET_AB0149_INTRA_PRED + && (cs.slice->isIntra() || cu.isSepTree()) +#else + && bLuma + && cu.isSepTree() +#endif + && (!cu.ispMode || (cu.lfnstIdx && subTuIdx == 0) || (!cu.lfnstIdx && subTuIdx == m_ispTestedModes[cu.lfnstIdx].numTotalParts[cu.ispMode - 1] - 1))) { m_CABACEstimator->residual_lfnst_mode(cu, *cuCtx); } @@ -3051,8 +3619,24 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp if (compID == COMPONENT_Y) { PelBuf sharedPredTS( m_pSharedPredTransformSkip[compID], area ); +#if JVET_AB0149_INTRA_PRED + int default0Save1Load2Switch(default0Save1Load2); + PelBuf& sharedPredSwitch(sharedPredTS); + PelBuf sharedPredPnn(m_pSharedPredPnn[compID],area); + const bool is_context_extracted = uiChFinalMode == PNN_IDX; + if (is_context_extracted) + { + default0Save1Load2Switch = getIsAlreadyComputedPnnRd(CHANNEL_TYPE_LUMA) ? 2 : 1; + sharedPredSwitch = sharedPredPnn; + setIsAlreadyComputedPnnRd(true, CHANNEL_TYPE_LUMA); + } + if (default0Save1Load2Switch != 2) + { + bool contextFlag(false); +#else if( default0Save1Load2 != 2 ) { +#endif bool predRegDiffFromTB = CU::isPredRegDiffFromTB(*tu.cu, compID); bool firstTBInPredReg = CU::isFirstTBInPredReg(*tu.cu, compID, area); CompArea areaPredReg(COMPONENT_Y, tu.chromaFormat, area); @@ -3063,17 +3647,32 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp if (firstTBInPredReg) { CU::adjustPredArea(areaPredReg); - initIntraPatternChTypeISP(*tu.cu, areaPredReg, piReco); + initIntraPatternChTypeISP(*tu.cu, areaPredReg, piReco +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); } } else { - initIntraPatternChTypeISP(*tu.cu, area, piReco); + initIntraPatternChTypeISP(*tu.cu, area, piReco +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); } } else { - initIntraPatternChType(*tu.cu, area); + initIntraPatternChType(*tu.cu, area +#if JVET_AB0149_INTRA_PRED + , contextFlag, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); } //===== get prediction signal ===== @@ -3096,17 +3695,48 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp if (firstTBInPredReg) { PelBuf piPredReg = cs.getPredBuf(areaPredReg); - predIntraAng(compID, piPredReg, pu); + predIntraAng(compID, piPredReg, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } } else { - predIntraAng(compID, piPred, pu); + predIntraAng(compID, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } } } - - // save prediction +#if JVET_AB0149_INTRA_PRED + if (default0Save1Load2Switch == 1) + { + sharedPredSwitch.copyFrom(piPred); + if (is_context_extracted) + { +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(*tu.cu,compID,false); +#endif + transferIdxRepresentationPnnMemories(*tu.cu, false); + } + } + } + else + { + piPred.copyFrom(sharedPredSwitch); + if (is_context_extracted) + { +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(*tu.cu,compID,true); +#endif + transferIdxRepresentationPnnMemories(*tu.cu, true); + } + } +#else if( default0Save1Load2 == 1 ) { sharedPredTS.copyFrom( piPred ); @@ -3117,6 +3747,7 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp // load prediction piPred.copyFrom( sharedPredTS ); } +#endif } @@ -3192,12 +3823,20 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp { if (trModes) { - m_pcTrQuant->transformNxN(tu, compID, cQP, trModes, m_pcEncCfg->getMTSIntraMaxCand()); + m_pcTrQuant->transformNxN(tu, compID, cQP, trModes, m_pcEncCfg->getMTSIntraMaxCand() +#if JVET_AB0149_INTRA_PRED + , uiChFinalMode == PNN_IDX +#endif + ); tu.mtsIdx[compID] = trModes->at(0).first; } if (!(m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0) || tu.cu->bdpcmMode != 0) { - m_pcTrQuant->transformNxN(tu, compID, cQP, uiAbsSum, m_CABACEstimator->getCtx(), loadTr); + m_pcTrQuant->transformNxN(tu, compID, cQP, uiAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , uiChFinalMode == PNN_IDX && tu.mtsIdx[compID] == MTS_DCT2_DCT2 +#endif + , loadTr); } DTRACE(g_trace_ctx, D_TU_ABS_SUM, "%d: comp=%d, abssum=%d\n", DTRACE_GET_COUNTER(g_trace_ctx, D_TU_ABS_SUM), compID, @@ -3241,10 +3880,16 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp } PelBuf& codeResi = ( codeCompId == COMPONENT_Cr ? crResi : piResi ); uiAbsSum = 0; - +#if JVET_AB0149_INTRA_PRED + const bool isNotSepTreeIspLfnst = !(tu.cu)->isSepTree() && (tu.cu)->ispMode && (tu.cu)->lfnstIdx; +#endif if (trModes) { - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, trModes, m_pcEncCfg->getMTSIntraMaxCand()); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, trModes, m_pcEncCfg->getMTSIntraMaxCand() +#if JVET_AB0149_INTRA_PRED + , uiChFinalMode == PNN_IDX && !tu.jointCbCr && !isNotSepTreeIspLfnst +#endif + ); tu.mtsIdx[codeCompId] = trModes->at(0).first; if (tu.jointCbCr) { @@ -3254,7 +3899,11 @@ void IntraSearch::xIntraCodingTUBlock(TransformUnit &tu, const ComponentID &comp // encoder bugfix: Set loadTr to aovid redundant transform process if (!(m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0) || tu.cu->bdpcmModeChroma != 0) { - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, uiAbsSum, m_CABACEstimator->getCtx(), loadTr); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, uiAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , uiChFinalMode == PNN_IDX && tu.mtsIdx[compID] == MTS_DCT2_DCT2 && !tu.jointCbCr && !isNotSepTreeIspLfnst +#endif + , loadTr); } if ((m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0) && 0 == tu.cu->bdpcmModeChroma) { @@ -3414,12 +4063,20 @@ void IntraSearch::xIntraCodingACTTUBlock(TransformUnit &tu, const ComponentID &c if (trModes) { - m_pcTrQuant->transformNxN(tu, compID, cQP, trModes, m_pcEncCfg->getMTSIntraMaxCand()); + m_pcTrQuant->transformNxN(tu, compID, cQP, trModes, m_pcEncCfg->getMTSIntraMaxCand() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); tu.mtsIdx[compID] = trModes->at(0).first; } if (!(m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0) || tu.cu->bdpcmMode != 0) { - m_pcTrQuant->transformNxN(tu, compID, cQP, uiAbsSum, m_CABACEstimator->getCtx(), loadTr); + m_pcTrQuant->transformNxN(tu, compID, cQP, uiAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + , loadTr); } if ((m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[compID] == 0) && tu.cu->bdpcmMode == 0) { @@ -3454,7 +4111,11 @@ void IntraSearch::xIntraCodingACTTUBlock(TransformUnit &tu, const ComponentID &c uiAbsSum = 0; if (trModes) { - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, trModes, m_pcEncCfg->getMTSIntraMaxCand()); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, trModes, m_pcEncCfg->getMTSIntraMaxCand() +#if JVET_AB0149_INTRA_PRED + , false +#endif + ); tu.mtsIdx[codeCompId] = trModes->at(0).first; if (tu.jointCbCr) { @@ -3463,7 +4124,11 @@ void IntraSearch::xIntraCodingACTTUBlock(TransformUnit &tu, const ComponentID &c } if (!(m_pcEncCfg->getCostMode() == COST_LOSSLESS_CODING && slice.isLossless() && tu.mtsIdx[codeCompId] == 0) || tu.cu->bdpcmModeChroma != 0) { - m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, uiAbsSum, m_CABACEstimator->getCtx(), loadTr); + m_pcTrQuant->transformNxN(tu, codeCompId, qpCbCr, uiAbsSum, m_CABACEstimator->getCtx() +#if JVET_AB0149_INTRA_PRED + , false +#endif + , loadTr); } if (uiAbsSum > 0) { @@ -4201,8 +4866,17 @@ bool IntraSearch::xRecurIntraCodingACTQT(CodingStructure &cs, Partitioner &parti PelBuf piOrg = orgBuf.bufs[compID]; PelBuf piPred = predBuf.bufs[compID]; PelBuf piResi = resiBuf.bufs[compID]; - - initIntraPatternChType(*tu.cu, area); +#if JVET_AB0149_INTRA_PRED + bool contextFlag = false; +#endif + initIntraPatternChType(*tu.cu, area +#if JVET_AB0149_INTRA_PRED + , contextFlag, false +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); if (PU::isMIP(pu, chType)) { initIntraMip(pu, area); @@ -4210,7 +4884,11 @@ bool IntraSearch::xRecurIntraCodingACTQT(CodingStructure &cs, Partitioner &parti } else { - predIntraAng(compID, piPred, pu); + predIntraAng(compID, piPred, pu +#if JVET_AB0149_INTRA_PRED + , contextFlag +#endif + ); } piResi.copyFrom(piOrg); @@ -4992,29 +5670,94 @@ ChromaCbfs IntraSearch::xRecurIntraChromaCodingQT( CodingStructure &cs, Partitio PelBuf piPredCb = cs.getPredBuf(cbArea); PelBuf piPredCr = cs.getPredBuf(crArea); - - initIntraPatternChType( *currTU.cu, cbArea); - initIntraPatternChType( *currTU.cu, crArea); - +#if JVET_AB0149_INTRA_PRED + const bool is_context_extracted = predMode == PNN_IDX; + bool contextFlagCb = false, contextFlagCr = false; + PelBuf sharedPredPnnCb(m_pSharedPredPnn[COMPONENT_Cb],cbArea); + PelBuf sharedPredPnnCr(m_pSharedPredPnn[COMPONENT_Cr],crArea); + int default0Save1Load2Switch = 0; + if (is_context_extracted) + { + default0Save1Load2Switch = getIsAlreadyComputedPnnRd(CHANNEL_TYPE_CHROMA) ? 2 : 1; + setIsAlreadyComputedPnnRd(true, CHANNEL_TYPE_CHROMA); + } + if (default0Save1Load2Switch != 2) + { +#endif + initIntraPatternChType(*currTU.cu, + cbArea +#if JVET_AB0149_INTRA_PRED + , contextFlagCb, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); if( PU::isLMCMode( predMode ) ) { - xGetLumaRecPixels( pu, cbArea ); - predIntraChromaLM( COMPONENT_Cb, piPredCb, pu, cbArea, predMode ); - predIntraChromaLM( COMPONENT_Cr, piPredCr, pu, crArea, predMode ); + xGetLumaRecPixels(pu, cbArea); + predIntraChromaLM(COMPONENT_Cb, piPredCb, pu, cbArea, predMode); } else if (PU::isMIP(pu, CHANNEL_TYPE_CHROMA)) { - initIntraMip(pu, cbArea); - predIntraMip(COMPONENT_Cb, piPredCb, pu); - - initIntraMip(pu, crArea); - predIntraMip(COMPONENT_Cr, piPredCr, pu); + initIntraMip(pu, cbArea); + predIntraMip(COMPONENT_Cb, piPredCb, pu); + } + else + { + predIntraAng(COMPONENT_Cb, + piPredCb, + pu +#if JVET_AB0149_INTRA_PRED + , contextFlagCb +#endif + ); + } + initIntraPatternChType(*currTU.cu, + crArea +#if JVET_AB0149_INTRA_PRED + , contextFlagCr, is_context_extracted +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , false +#endif + ); + if (PU::isLMCMode(predMode)) + { + predIntraChromaLM(COMPONENT_Cr, piPredCr, pu, crArea, predMode); + } + else if (PU::isMIP(pu, CHANNEL_TYPE_CHROMA)) + { + initIntraMip(pu, crArea); + predIntraMip(COMPONENT_Cr, piPredCr, pu); + } + else + { + predIntraAng(COMPONENT_Cr, + piPredCr, + pu +#if JVET_AB0149_INTRA_PRED + , contextFlagCr +#endif + ); + } +#if JVET_AB0149_INTRA_PRED + if (default0Save1Load2Switch == 1) + { + sharedPredPnnCb.copyFrom(piPredCb);sharedPredPnnCr.copyFrom(piPredCr); +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(*currTU.cu,COMPONENT_Cb,false);transferIdxPredictedLfnstPnnMemories(*currTU.cu,COMPONENT_Cr,false); +#endif + } } else { - predIntraAng( COMPONENT_Cb, piPredCb, pu); - predIntraAng( COMPONENT_Cr, piPredCr, pu); + piPredCb.copyFrom(sharedPredPnnCb);piPredCr.copyFrom(sharedPredPnnCr); +#if JVET_AB0149_TM_INF_PNN + transferIdxPredictedLfnstPnnMemories(*currTU.cu,COMPONENT_Cb,true);transferIdxPredictedLfnstPnnMemories(*currTU.cu,COMPONENT_Cr,true); +#endif } +#endif // determination of chroma residuals including reshaping and cross-component prediction //----- get chroma residuals ----- diff --git a/source/Lib/EncoderLib/IntraSearch.h b/source/Lib/EncoderLib/IntraSearch.h index f911e0fe2db4c5473a9436646c4dec63097fc290..a3c273439fb3ab88b05a96cce02ee2030486437c 100644 --- a/source/Lib/EncoderLib/IntraSearch.h +++ b/source/Lib/EncoderLib/IntraSearch.h @@ -195,6 +195,26 @@ class IntraSearch : public IntraPrediction private: EncModeCtrl *m_modeCtrl; Pel* m_pSharedPredTransformSkip[MAX_NUM_TBLOCKS]; +#if JVET_AB0149_INTRA_PRED + Pel* m_pSharedPredPnn[MAX_NUM_COMPONENT]; + bool m_isAlreadyComputedPnnRd[MAX_NUM_CHANNEL_TYPE]; +#if JVET_AB0149_TM_INF_PNN + uint32_t m_arrayIdxPredictedLfnstPnn[MAX_NUM_COMPONENT][NUM_LFNST_NUM_PER_SET - 1]; +#endif + uint32_t m_idxRepresentationPnn; +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + std::array<std::pair<int8_t, uint64_t>, NB_INTRA_MODES_STATS> m_arrayPairsIdxSsdLumaRegular; + std::array<std::pair<int8_t, uint64_t>, NB_INTRA_MODES_STATS> m_arrayPairsIdxSatdLumaRegular; +#if JVET_AB0149_INTRA_PRED + uint64_t m_ssdLumaPnn; + uint64_t m_satdLumaPnn; + double m_arrayMeasuresLumaPnn[2]; +#if JVET_AB0149_SEARCH_PNN + double m_arrayCostsLfnstPnn[NUM_LFNST_NUM_PER_SET - 1][DEPTH_LFNST_GROUP]; +#endif +#endif +#endif XUCache m_unitCache; @@ -356,6 +376,10 @@ private: double m_modeCostStore[ NUM_LFNST_NUM_PER_SET ][ NUM_LUMA_MODE ]; // RD cost of each mode for each PU using DCT2 ModeInfo m_savedRdModeList[ NUM_LFNST_NUM_PER_SET ][ NUM_LUMA_MODE ]; int32_t m_savedNumRdModes[ NUM_LFNST_NUM_PER_SET ]; +#if JVET_AB0149_INTRA_PRED + bool m_modeIsEnable[NUM_INTRA_MODE + 1]; + bool m_isModeIsEnableUpdated; +#endif ModeInfo m_savedRdModeFirstColorSpace[4 * NUM_LFNST_NUM_PER_SET * 2][FAST_UDI_MAX_RDMODE_NUM]; char m_savedBDPCMModeFirstColorSpace[4 * NUM_LFNST_NUM_PER_SET * 2][FAST_UDI_MAX_RDMODE_NUM]; @@ -371,6 +395,12 @@ private: PelStorage m_tmpStorageLCU; PelStorage m_colorTransResiBuf; +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void computeSsdsSatdsLumaRegular(const PelBuf& piOrg,const PelBuf& piPred,const uint32_t& uiMode,const int& bitDepth); +#if JVET_AB0149_INTRA_PRED + int computeSsdSatdMeasuresConstrastStructureLumaPnn(const PelBuf& piOrg,const PelBuf& piPred,const int& bitDepth); +#endif +#endif protected: // interface to option EncCfg* m_pcEncCfg; @@ -428,10 +458,52 @@ public: void saveCuAreaCostInSCIPU ( Area area, double cost ); void initCuAreaCostInSCIPU (); double findInterCUCost ( CodingUnit &cu ); +#if JVET_AB0149_INTRA_PRED + bool getIsAlreadyComputedPnnRd(const ChannelType& chType) const + { + return m_isAlreadyComputedPnnRd[chType]; + } + void setIsAlreadyComputedPnnRd(const bool& isAlreadyComputedPnnRd, const ChannelType& chType) + { + m_isAlreadyComputedPnnRd[chType] = isAlreadyComputedPnnRd; + } +#if JVET_AB0149_TM_INF_PNN + void resetIdxPredictedLfnstPnnMemories(); + void transferIdxPredictedLfnstPnnMemories(CodingUnit& cu,const ComponentID& compID,const bool& isFromMemoryToCu); +#endif + void resetIdxRepresentationPnnMemories(); + void transferIdxRepresentationPnnMemories(CodingUnit& cu, const bool& isFromMemoryToCu); + void setIsModeIsEnableUpdated(const bool& value) {m_isModeIsEnableUpdated = value;} +#endif +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + void resetSsdsLumaMemories(); + void transferSsdsLumaMemories(PredictionUnit& pu) const; + void resetSatdsLumaMemories(); + void transferSatdsLumaMemories(PredictionUnit& pu) const; +#if JVET_AB0149_INTRA_PRED + void resetMeasuresLumaPnnMemories(); + void transferMeasuresLumaPnnMemories(PredictionUnit& pu) const; +#if JVET_AB0149_SEARCH_PNN + void resetCostsLfnstPnnMemories(); + void transferCostsLfnstPnnMemories(PredictionUnit& pu) const; +#endif +#endif +#endif public: - bool estIntraPredLumaQT(CodingUnit &cu, Partitioner& pm, const double bestCostSoFar = MAX_DOUBLE, bool mtsCheckRangeFlag = false, int mtsFirstCheckId = 0, int mtsLastCheckId = 0, bool moreProbMTSIdxFirst = false, CodingStructure* bestCS = NULL); - void estIntraPredChromaQT ( CodingUnit &cu, Partitioner& pm, const double maxCostAllowed = MAX_DOUBLE ); + bool estIntraPredLumaQT(CodingUnit &cu, + Partitioner& pm +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + , bool& isTriggeredHeuristicInter +#endif + , const double bestCostSoFar=MAX_DOUBLE, bool mtsCheckRangeFlag=false, int mtsFirstCheckId=0, int mtsLastCheckId=0, bool moreProbMTSIdxFirst=false, CodingStructure* bestCS=NULL); + +#if JVET_AB0149_INTRA_PRED && JVET_AB0149_SEARCH_PNN + bool +#else + void +#endif + estIntraPredChromaQT(CodingUnit& cu, Partitioner& pm, const double maxCostAllowed=MAX_DOUBLE); void PLTSearch ( CodingStructure &cs, Partitioner& partitioner, ComponentID compBegin, uint32_t numComp); uint64_t xFracModeBitsIntra (PredictionUnit &pu, const uint32_t &uiMode, const ChannelType &compID); void invalidateBestModeCost () { for( int i = 0; i < NUM_LFNST_NUM_PER_SET; i++ ) m_bestModeCostValid[ i ] = false; }; diff --git a/source/Lib/Utilities/VideoIOYuv.cpp b/source/Lib/Utilities/VideoIOYuv.cpp index 8a30ccc5ddcf43123914dd55415a2b741294c890..cc26a7d61570a1832d9aba6d10bf0cad095abcec 100644 --- a/source/Lib/Utilities/VideoIOYuv.cpp +++ b/source/Lib/Utilities/VideoIOYuv.cpp @@ -873,6 +873,30 @@ static bool writeField(ostream& fd, const Pel* top, const Pel* bottom, return true; } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS +template<typename T> +int mirror_array_in_place(T* const ptr_src,const int& height,const int& width,const int& stride,const bool& is_mirrored_horizontally) +{ + const int limit_height = is_mirrored_horizontally ? height/2 : height; + const int limit_width = is_mirrored_horizontally ? width : width/2; + T* ptr_src_temp_0 = ptr_src; + T* ptr_src_temp_1 = is_mirrored_horizontally ? ptr_src + (height - 1)*stride : NULL; + for (int i = 0; i < limit_height; i++) + { + for (int j = 0; j < limit_width; j++) + { + std::swap(ptr_src_temp_0[j],is_mirrored_horizontally ? ptr_src_temp_1[j] : ptr_src_temp_0[width - 1 - j]); + } + ptr_src_temp_0 += stride; + if (is_mirrored_horizontally) + { + ptr_src_temp_1 -= stride; + } + } + return 0; +} +#endif + /** * Read one Y'CbCr frame, performing any required input scaling to change * from the bitdepth of the input file to the internal bit-depth. @@ -889,7 +913,12 @@ static bool writeField(ostream& fd, const Pel* top, const Pel* bottom, * @param format chroma format * @return true for success, false in case of error */ -bool VideoIOYuv::read ( PelUnitBuf& pic, PelUnitBuf& picOrg, const InputColourSpaceConversion ipcsc, int aiPad[2], ChromaFormat format, const bool bClipToRec709 ) +bool VideoIOYuv::read ( PelUnitBuf& pic, PelUnitBuf& picOrg, const InputColourSpaceConversion ipcsc, int aiPad[2] +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& areOriginalFv + , const bool& areOriginalFh +#endif + , ChromaFormat format, const bool bClipToRec709 ) { // check end-of-file if ( isEof() ) @@ -960,6 +989,24 @@ bool VideoIOYuv::read ( PelUnitBuf& pic, PelUnitBuf& picOrg, const InputColourSp #endif scalePlane( picOrg.get(compID), m_bitdepthShift[chType], minval, maxval); } +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + if (areOriginalFv || areOriginalFh) + { + CHECK(pad_h444 != 0,"`pad_h444` is not equal to 0."); + CHECK(pad_v444 != 0,"`pad_v444` is not equal to 0."); + int error_code{0}; + if (areOriginalFv) + { + error_code = mirror_array_in_place(dst,height_full444 >> getComponentScaleY(compID, picOrg.chromaFormat),width_full444 >> getComponentScaleX(compID, picOrg.chromaFormat),stride444 >> getComponentScaleX(compID, picOrg.chromaFormat),false); + CHECK(error_code < 0,"Error in `mirror_array_in_place`."); + } + if (areOriginalFh) + { + error_code = mirror_array_in_place(dst,height_full444 >> getComponentScaleY(compID, picOrg.chromaFormat),width_full444 >> getComponentScaleX(compID, picOrg.chromaFormat),stride444 >> getComponentScaleX(compID, picOrg.chromaFormat),true); + CHECK(error_code < 0,"Error in `mirror_array_in_place`."); + } + } +#endif } #if EXTENSION_360_VIDEO diff --git a/source/Lib/Utilities/VideoIOYuv.h b/source/Lib/Utilities/VideoIOYuv.h index bf2c470560dae8a67de69bb9c914d55799ac3103..4140383623811b9ab61bf6b6d2752bd618f0a788 100644 --- a/source/Lib/Utilities/VideoIOYuv.h +++ b/source/Lib/Utilities/VideoIOYuv.h @@ -77,7 +77,12 @@ public: // If fileFormat=NUM_CHROMA_FORMAT, use the format defined by pPicYuvTrueOrg - bool read ( PelUnitBuf& pic, PelUnitBuf& picOrg, const InputColourSpaceConversion ipcsc, int aiPad[2], ChromaFormat fileFormat=NUM_CHROMA_FORMAT, const bool bClipToRec709=false ); ///< read one frame with padding parameter + bool read ( PelUnitBuf& pic, PelUnitBuf& picOrg, const InputColourSpaceConversion ipcsc, int aiPad[2] +#if JVET_AB0149_ACTIVATE_WRITER_BLOCK_STATS + , const bool& areOriginalFv + , const bool& areOriginalFh +#endif + , ChromaFormat fileFormat=NUM_CHROMA_FORMAT, const bool bClipToRec709=false ); ///< read one frame with padding parameter // If fileFormat=NUM_CHROMA_FORMAT, use the format defined by pPicYuv bool write( uint32_t orgWidth, uint32_t orgHeight, const CPelUnitBuf& pic, diff --git a/training/training_intra_prediction/CMakeLists.txt b/training/training_intra_prediction/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef78d8173b0756148f3040bed9f364530a23b439 --- /dev/null +++ b/training/training_intra_prediction/CMakeLists.txt @@ -0,0 +1,205 @@ +# minimum required cmake version +cmake_minimum_required( VERSION 3.5 FATAL_ERROR ) + +# project name +if( EXTENSION_360_VIDEO ) + project( NextSoftware360 ) +else() + project( NextSoftware ) +endif() + +# use ccache +find_program( CCACHE_FOUND ccache ) +if( CCACHE_FOUND ) + message( STATUS "ccache found. using it." ) + set_property( GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache ) + set_property( GLOBAL PROPERTY RULE_LAUNCH_LINK ccache ) +endif() + +# set default CMAKE_BUILD_TYPE to Release if not set +if( NOT CMAKE_BUILD_TYPE ) + set( CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE ) +endif() + +if( NOT DEFINED NNLF_BUILD_WITH_AVX512 ) + set( NNLF_BUILD_WITH_AVX512 "1" CACHE STRING "Enable/Disable AVX512, options are: 0 (disable) 1 (enable)" ) +endif() + +if( CMAKE_SYSTEM_NAME STREQUAL "Linux" ) + if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ) + set( USE_ADDRESS_SANITIZER OFF CACHE BOOL "Compiles with -sanitize=address and links to libasan" ) + endif() +endif() + +set( EXTENSION_360_VIDEO OFF CACHE BOOL "If EXTENSION_360_VIDEO is on, 360Lib will be added" ) +set( EXTENSION_HDRTOOLS OFF CACHE BOOL "If EXTENSION_HDRTOOLS is on, HDRLib will be added" ) +set( SET_ENABLE_TRACING OFF CACHE BOOL "Set ENABLE_TRACING as a compiler flag" ) +set( ENABLE_TRACING OFF CACHE BOOL "If SET_ENABLE_TRACING is on, it will be set to this value" ) + +if( CMAKE_COMPILER_IS_GNUCC ) + set( BUILD_STATIC OFF CACHE BOOL "Build static executables" ) +endif() + +# set c++14 +set( CMAKE_CXX_STANDARD 14 ) +set( CMAKE_CXX_STANDARD_REQUIRED ON ) + +# compile everything position independent (even static libraries) +set( CMAKE_POSITION_INDEPENDENT_CODE TRUE ) + +# set verbose compile options +#set( CMAKE_VERBOSE_MAKEFILE ON ) + +# use folders in IDEs for projects (e.g. lib sample app test) +set_property( GLOBAL PROPERTY USE_FOLDERS ON ) + +# Include a utility module providing functions, macros, and settings +include( ${CMAKE_SOURCE_DIR}/../../cmake/CMakeBuild/cmake/modules/BBuildEnv.cmake ) + +# Enable multithreading +bb_multithreading() + +find_package(OpenMP) + +if( OpenMP_FOUND ) + set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}" ) + set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}" ) + + set( SET_ENABLE_SPLIT_PARALLELISM OFF CACHE BOOL "Set ENABLE_SPLIT_PARALLELISM as a compiler flag" ) + set( ENABLE_SPLIT_PARALLELISM OFF CACHE BOOL "If SET_ENABLE_SPLIT_PARALLELISM is on, it will be set to this value" ) + set( SET_ENABLE_WPP_PARALLELISM OFF CACHE BOOL "Set ENABLE_WPP_PARALLELISM as a compiler flag" ) + set( ENABLE_WPP_PARALLELISM OFF CACHE BOOL "If SET_ENABLE_WPP_PARALLELISM is on, it will be set to this value" ) +endif() + +# Enable warnings for some generators and toolsets. +# bb_enable_warnings( gcc warnings-as-errors -Wno-sign-compare ) +# bb_enable_warnings( gcc -Wno-unused-variable ) +# bb_enable_warnings( gcc-4.8 warnings-as-errors -Wno-unused-variable ) +# for gcc 8.2: +bb_enable_warnings( gcc warnings-as-errors -Wno-sign-compare -Wno-class-memaccess) + +if( XCODE ) + bb_enable_warnings( clang warnings-as-errors + -Wno-deprecated-declarations + -Wno-unknown-attributes + -Wno-deprecated-register + -Wno-pessimizing-move + -Wno-absolute-value + -Wno-unused-const-variable ) +else() + bb_enable_warnings( clang warnings-as-errors + -Wno-unknown-attributes + -Wno-deprecated-register + -Wno-pessimizing-move + -Wno-absolute-value + -Wno-unused-const-variable ) +endif() +#bb_enable_warnings( clang warnings-as-errors ) + +# enable warnings +bb_enable_warnings( msvc warnings-as-errors "/wd4996" "/wd4244") + +# enable sse4.1 build for all source files for gcc and clang +if( UNIX OR MINGW ) + add_compile_options( "-msse4.1" ) + set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffast-math -fstrict-aliasing" ) +endif() + +# enable parallel build for Visual Studio +if( MSVC ) + add_compile_options( "/MP" ) + add_compile_options( "/EHsc" ) +endif() + +# set address sanitizer compiler arguments +if( CMAKE_CXX_COMPILER_ID STREQUAL "GNU" ) + if( CMAKE_SYSTEM_NAME STREQUAL "Linux" ) + if( USE_ADDRESS_SANITIZER ) + # add compile options + add_compile_options( "-fsanitize=address" ) + add_link_options( "-fsanitize=address" ) + endif() + endif() + + if( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0 ) + add_compile_options( "-fabi-version=6" ) + endif() +endif() + +set(PATH_TO_DIRECTORY_ROOT_SADL "../../../sadl") + +# modify .lldbinit for lldb custom data formatters +if( XCODE ) + set( LLDB_INSTALL_ROOT "$ENV{HOME}/.lldb.d" ) + set( LLDBINIT_FILE "$ENV{HOME}/.lldbinit" ) + set( ENABLE_LLDBINIT_UPDATE ON ) + # add custom target to install LLDB files. + add_subdirectory("../../lldb") +endif() + +if(USE_SEARCH) + if(USE_TM_INF) + message(FATAL_ERROR "When `USE_SEARCH` is 1, `USE_TM_INF` has to be 0.") + endif() + add_compile_definitions(JVET_AB0149_INTRA_PRED=1) + add_compile_definitions(JVET_AB0149_SEARCH_PNN=1) + add_compile_definitions(JVET_AB0149_TM_INF_PNN=0) + add_compile_definitions(NN_FIXED_POINT_IMPLEMENTATION=0) + add_compile_definitions(SPARSE_SUPPORT=1) + set(TAG_SUFFIX "/search") +elseif(USE_TM_INF) + if(USE_SEARCH) + message(FATAL_ERROR "When `USE_TM_INF` is 1, `USE_SEARCH` has to be 0.") + endif() + add_compile_definitions(JVET_AB0149_INTRA_PRED=1) + add_compile_definitions(JVET_AB0149_SEARCH_PNN=0) + add_compile_definitions(JVET_AB0149_TM_INF_PNN=1) + add_compile_definitions(NN_FIXED_POINT_IMPLEMENTATION=0) + add_compile_definitions(SPARSE_SUPPORT=1) + set(TAG_SUFFIX "/tm_inf") +else() + add_compile_definitions(JVET_AB0149_INTRA_PRED=0) + add_compile_definitions(JVET_AB0149_SEARCH_PNN=0) + add_compile_definitions(JVET_AB0149_TM_INF_PNN=0) + add_compile_definitions(NN_FIXED_POINT_IMPLEMENTATION=1) + set(TAG_SUFFIX "/regular") +endif() +if(MSVC) + foreach(CONFIG_TYPE ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${CONFIG_TYPE} CONFIG_TYPE) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPE} "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPE}}${TAG_SUFFIX}") + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPE} "${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPE}}${TAG_SUFFIX}") + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPE} "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPE}}${TAG_SUFFIX}") + endforeach() +elseif(UNIX) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE}${TAG_SUFFIX}") + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE "${CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE}${TAG_SUFFIX}") + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE}${TAG_SUFFIX}") +endif() + +# add needed subdirectories +add_subdirectory("../../source/Lib/CommonLib" "source/Lib/CommonLib") +add_subdirectory("../../source/Lib/CommonAnalyserLib" "source/Lib/CommonAnalyserLib") +if( EXTENSION_360_VIDEO ) + add_subdirectory("../../source/Lib/Lib360" "source/Lib/Lib360") + add_subdirectory("../../source/Lib/AppEncHelper360" "source/Lib/AppEncHelper360") +endif() +if ( EXTENSION_HDRTOOLS ) + add_subdirectory("../../source/Lib/HDRLib" "source/Lib/HDRLib") +endif() +add_subdirectory("../../source/Lib/DecoderAnalyserLib" "source/Lib/DecoderAnalyserLib") +add_subdirectory("../../source/Lib/DecoderLib" "source/Lib/DecoderLib") +add_subdirectory("../../source/Lib/EncoderLib" "source/Lib/EncoderLib") +add_subdirectory("../../source/Lib/Utilities" "source/Lib/Utilities") +add_subdirectory("../../source/App/DecoderAnalyserApp" "source/App/DecoderAnalyserApp") +add_subdirectory("../../source/App/DecoderApp" "source/App/DecoderApp") +add_subdirectory("../../source/App/EncoderApp" "source/App/EncoderApp") +add_subdirectory("../../source/App/SEIRemovalApp" "source/App/SEIRemovalApp") +add_subdirectory("../../source/App/Parcat" "source/App/Parcat") +add_subdirectory("../../source/App/StreamMergeApp" "source/App/StreamMergeApp") +add_subdirectory("../../source/App/BitstreamExtractorApp" "source/App/BitstreamExtractorApp") +add_subdirectory("../../source/App/SubpicMergeApp" "source/App/SubpicMergeApp") +if( EXTENSION_360_VIDEO ) + add_subdirectory("../../source/App/utils/360ConvertApp" "source/App/utils/360ConvertApp") +endif() diff --git a/training/training_intra_prediction/README.md b/training/training_intra_prediction/README.md new file mode 100644 index 0000000000000000000000000000000000000000..47be48e6d86c2459198a4d4bb2d7296641565f2d --- /dev/null +++ b/training/training_intra_prediction/README.md @@ -0,0 +1,236 @@ +# Training of the neural network-based intra prediction mode + +The documentation "training_workflow.pdf" summarizes the training workflow. The contribution +JVET-AB0149 summarizes the integration of the neural network-based intra prediction into VTM-11-NNVC. + +## Requirements + +1. 2.6TB of available storage space for storing the training sets at the training cycle of given index. +2. No specific requirements regarding the GPUs. Small GPUs with 8GB of GRAM are enough. + +It is assumed that the current directory is the root directory of the VTM-11-NNVC repository. + +## I. Setups + +The first setup consists in building three different versions of VTM-11-NNVC. The first version, +stored in the directory at "training/training_intra_prediction/bin/regular", corresponds to VTM-11-NNVC +without Filter-Set, without the neural network-based intra prediction mode. It is used to generate +the training sets at the training cycle of index 0. The second version, stored in the directory +at "training/training_intra_prediction/bin/search", corresponds to VTM-11-NNVC without Filter-Set, +with the neural network-based intra prediction mode in floats. It is used to generate the training +sets at the training cycles of indices 1, 2, and 3. The third version, stored in the directory +at "training/training_intra_prediction/bin/tm_inf", corresponds to VTM-11-NNVC with Filter-Sets +in floats, with the neural network-based intra prediction mode in floats. It is used for the final +rate-distortion tests. + +In the file at "training/training_intra_prediction/run_setups_vtm.sh", please set the two variables +`PATH_TO_GPLUSPLUS` and `PATH_TO_GCC` following the associated comments. Then, + +```sh +git submodule init +git submodule update +cd training/training_intra_prediction +chmod 755 run_setups_vtm.sh +./run_setups_vtm.sh +``` + +## II. Dispatching the paths to raw data + +In III.1, each grid job will create a portion of training sets from a different portion of raw data. +That is why all the raw data must be dispatched between grid jobs first. + +```sh +python dispatching_paths_to_raw.py nb_jobs --tuple_paths_to_directories_rgbs=path_to_directory_ilsvrc2012_training,path_to_directory_div2k_training --paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved=cfgs_training/bvidvc,path_to_directory_yuvs_bvidvc,cfgs_training/uvg,path_to_directory_yuvs_uvg,cfgs_training/tvd,path_to_directory_yuvs_tvd +``` + +* `nb_jobs` : number of grid jobs for generating the training sets via run_generating_data_intra.py in III.1, IV.1, V.1, and VI.1 +* `path_to_directory_ilsvrc2012_training` : path to the directory storing the ILSVRC 2012 training images +* `path_to_directory_div2k_training` : path to the directory storing the DIV2K training images +* `path_to_directory_yuvs_bvidvc` : path to the directory storing the BVI-DVC YUV sequences +* `path_to_directory_yuvs_uvg` : path to the directory storing the UVG YUV sequences +* `path_to_directory_yuvs_tvd` : path to the directory storing the TVD YUV sequences + +For each of the five above paths to directories, the images/{YUV sequences} of interest can be stored +either in this directory or in a sub-directory inside the directory tree having this directory as root. +"dispatching_paths_to_raw.py" looks recursively for all images/{YUV sequences} inside the directory tree +starting from the directory of given path. For example, the ILSVRC 2012 training images can be stored +in either the directory at `path_to_directory_ilsvrc2012_training` or in any sub-directory inside the +directory tree having the directory at `path_to_directory_ilsvrc2012_training` as root. + +As, for the UVG dataset https://ultravideo.fi/#testsequences, the video sequences cannot be downloaded +as one pack, it is harder to guess which UVG video sequences are placed in the directory at `path_to_directory_yuvs_uvg`. +For safety, here are the 23 UVG video sequences expected in the directory at `path_to_directory_yuvs_uvg`. + +1. Beauty_1920x1080_120fps_420_8bit_YUV.yuv +2. Beauty_3840x2160_120fps_420_10bit_YUV.yuv +3. Bosphorus_1920x1080_120fps_420_8bit_YUV.yuv +4. Bosphorus_3840x2160_120fps_420_10bit_YUV.yuv +5. CityAlley_3840x2160_50fps_10bit.yuv +6. FlowerFocus_3840x2160_50fps_10bit.yuv +7. FlowerKids_3840x2160_50fps_10bit.yuv +8. FlowerPan_3840x2160_50fps_10bit.yuv +9. HoneyBee_1920x1080_120fps_420_8bit_YUV.yuv +10. HoneyBee_3840x2160_120fps_420_10bit_YUV.yuv +11. Jockey_1920x1080_120fps_420_8bit_YUV.yuv +12. Jockey_3840x2160_120fps_420_10bit_YUV.yuv +13. Lips_3840x2160_120fps_10bit.yuv +14. RaceNight_3840x2160_50fps_10bit.yuv +15. ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv +16. ReadySetGo_3840x2160_120fps_420_10bit_YUV.yuv +17. RiverBank_3840x2160_50fps_10bit.yuv +18. ShakeNDry_1920x1080_120fps_420_8bit_YUV.yuv +19. ShakeNDry_3840x2160_120fps_420_10bit_YUV.yuv +20. SunBath_3840x2160_50fps_10bit.yuv +21. Twilight_3840x2160_50fps_10bit.yuv +22. YachtRide_1920x1080_120fps_420_8bit_YUV.yuv +23. YachtRide_3840x2160_120fps_420_10bit_YUV.yuv + +## III. Training cycle of index 0 + +### III.1. Generating the training sets + +To generate the portion of training sets of index `index_job`, the job of index `index_job` +runs the encoding of raw data (YUV frames) via VTM-11-NNVC writing intra prediction data. + +```sh +python generating_data_intra.py path_to_directory_training_sets 0, index_job +``` + +* `path_to_directory_training_sets` : path to the directory in which you want to store the generated training sets +* `index_job` : job index + +The above command must be launched for `index_job` in [|1, `nb_jobs`|], `nb_jobs` being defined in II. + +### III.2. Training the neural networks + +The 7 neural networks for intra prediction are trained using the training sets generated in III.1. + +```sh +python training_nn_intra.py path_to_directory_training_sets height,width partitioning_0_reconstruction_vtm sparsity_0 nb_jobs +``` + +* `path_to_directory_training_sets` : path to the directory in which the generated training sets are stored, see III.1 +* `height`,`width` : height and width of the blocks predicted by the neural network trained via the above command +* `nb_jobs` : number of grid jobs for generating the training sets in III.1, `nb_jobs` being used for checking + +The above command must be launched for (`height`,`width`) in {(4,4), (4,8), (4,16), (4,32), (8,8), (8, 16), (16,16)}. + +## IV. Training cycle of index 1 + +### IV.1. Generating the training sets + +First, it is advised to remove the training sets generated at III.1 before moving on as these training +sets are relatively large. Then, to generate the training sets at the training cycle of index 1, + +```sh +python generating_data_intra.py path_to_directory_training_sets 1,sparsity_0 index_job +``` + +* `path_to_directory_training_sets` : path to the directory in which you want to store the generated training sets +* `index_job` : job index + +The above command must be launched for `index_job` in [|1, `nb_jobs`|], `nb_jobs` being defined in II. + +### IV.2. Training the neural networks + +The 7 neural networks for intra prediction are re-trained for few iterations using the training sets generated in IV.1. + +```sh +python training_nn_intra.py path_to_directory_training_sets height,width partitioning_1_reconstruction_vtm sparsity_0 nb_jobs +``` + +* `path_to_directory_training_sets` : path to the directory in which the generated training sets are stored, see IV.1 +* `height`,`width` : height and width of the blocks predicted by the neural network trained via the above command +* `nb_jobs` : number of grid jobs used to generate the training sets in IV.1, `nb_jobs` being used for checking + +The above command must be launched for (`height`,`width`) in {(4,4), (4,8), (4,16), (4,32), (8,8), (8, 16), (16,16)}. + +## V. Training cycle of index 2 + +### V.1. Generating the training sets + +First, it is advised to remove the training sets generated at IV.1 before moving on as these training +sets are relatively large. Then, to generate the training sets at the training cycle of index 2, + +```sh +python generating_data_intra.py path_to_directory_training_sets 2,sparsity_0 index_job +``` + +* `path_to_directory_training_sets` : path to the directory in which you want to store the generated training sets +* `index_job` : job index + +The above command must be launched for `index_job` in [|1, `nb_jobs`|], `nb_jobs` being defined in II. + +### V.2. Training the neural networks + +#### V.2.1. Training without weight sparsity + +The 7 neural networks for intra prediction are re-trained for few iterations using the training sets generated in V.1. +The sparsity of the neural network weights is not forced. + +```sh +python training_nn_intra.py path_to_directory_training_sets height,width partitioning_2_reconstruction_vtm sparsity_0 nb_jobs +``` + +* `path_to_directory_training_sets` : path to the directory in which the generated training sets are stored, see V.1 +* `height`,`width` : height and width of the blocks predicted by the neural network trained via the above command +* `nb_jobs` : number of grid jobs used to generate the training sets in V.1, `nb_jobs` being used for checking + +The above command must be launched for (`height`,`width`) in {(4,4), (4,8), (4,16), (4,32), (8,8), (8, 16), (16,16)}. + +#### V.2.2. Training with weight sparsity + +The 7 neural networks for intra prediction are re-trained using the training sets generated in V.1. +The sparsity of the neural network weights is forced. + +```sh +python training_nn_intra.py path_to_directory_training_sets height,width partitioning_2_reconstruction_vtm sparsity_1 nb_jobs +``` + +* `path_to_directory_training_sets` : path to the directory in which the generated training sets are stored, see V.1 +* `height`,`width` : height and width of the blocks predicted by the neural network trained via the above command +* `nb_jobs` : number of grid jobs used to generate the training sets in V.1, `nb_jobs` being used for checking + +The above command must be launched for (`height`,`width`) in {(4,4), (4,8), (4,16), (4,32), (8,8), (8, 16), (16,16)}. + +## VI. Training cycle of index 3 + +### VI.1. Generating the training sets + +First, it is advised to remove the training sets generated at V.1 before moving on as these training +sets are relatively large. Then, to generate the training sets at the training cycle of index 3, + +```sh +python generating_data_intra.py path_to_directory_training_sets 3,sparsity_1 index_job --are_costs_parsed +``` + +* `path_to_directory_training_sets` : path to the directory in which you want to store the generated training sets +* `index_job` : job index + +The above command must be launched for `index_job` in [|1, `nb_jobs`|], `nb_jobs` being defined in II. + +### VI.2. Training the neural networks + +The 7 neural networks for intra prediction are re-trained for few iterations using the training sets generated in VI.1. + +```sh +python training_nn_intra.py path_to_directory_training_sets height,width partitioning_3_reconstruction_vtm_ttm sparsity_1 nb_jobs --is_last_cycle +``` + +* `path_to_directory_training_sets` : path to the directory in which the generated training sets are stored, see VI.1 +* `height`,`width` : height and width of the blocks predicted by the neural network trained via the above command +* `nb_jobs` : number of grid jobs used to generate the training sets in VI.1, `nb_jobs` being used for checking + +The above command must be launched for (`height`,`width`) in {(4,4), (4,8), (4,16), (4,32), (8,8), (8, 16), (16,16)}. + +The argument `--is_last_cycle` indicates that, at the end of the current training, after converting each of the +7 neural networks to its associated SADL graph, the resulting SADL graph is copied to the directory at "../../models_intra_prediction". + +### VII. Rate-distortion tests + +The neural network graphs used by the low-complexity version of the neural network-based intra prediction mode +in VTM-11-NNVC are now stored in the directory at "../../models_intra_prediction". Please use these neural network +graphs for the rate-distortion tests of VTM-11-NNVC with the low-complexity version of the neural network-based +intra prediction mode, the neural networks being in floats. + + diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAdvertisingMassagesBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAdvertisingMassagesBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bf3146a84b9c7c11249e3ab1a6c6085b0cd57c1c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAdvertisingMassagesBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAdvertisingMassagesBangkokVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..86302edf0c553c26b10231ec7aeb934d75c68b04 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAmericanFootballS2Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c0a5bc57e6a0a580d8a5bf00665ad264a77e1c51 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAmericanFootballS3Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c7429e06537eb21d2567ff6fff9fcf5a8222436e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAmericanFootballS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAmericanFootballS4Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS11Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS11Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df4020c3ac3ec93d58cafe94a29a8955ae2e329b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS11Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAnimalsS11Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..783ba84b15d8224254400afb2a6d381b173eca06 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AAnimalsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AAnimalsS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABangkokMarketVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABangkokMarketVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9b826dc81be6a21045dd6a75901e322e4f0a811f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABangkokMarketVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABangkokMarketVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e5e4c17274d5df11f55f729958824cf74fe71216 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABasketballGoalScoredS1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..811fb2b32ad2fb2cbd3fbec1ab1212c590698b33 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballGoalScoredS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABasketballGoalScoredS2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..42bf2f478b0284e9ed77f0055825a69fbfc6d3b0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABasketballS1YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a8d872413390377bf5ef1a25d9a2ad027d164a9d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABasketballS2YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS3YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS3YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2408fd9a7fb49765c2b3afec78ef275e98d0c3f5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABasketballS3YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABasketballS3YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABoatsChaoPhrayaRiverVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABoatsChaoPhrayaRiverVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8dc85a262fadf60796c7a379197100693273f036 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABoatsChaoPhrayaRiverVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABoatsChaoPhrayaRiverVidevo_3840x2176_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABobbleheadBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABobbleheadBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..195c218de5213329870aef6f1ae90cb2790b8182 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABobbleheadBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABobbleheadBVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABookcaseBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABookcaseBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..06858e69242ec584f3d3dc346d52d13abd0785d1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABookcaseBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABookcaseBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABoxingPracticeHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABoxingPracticeHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ccd40b4469e3e26bc61b7aa30982e6220ced3049 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABoxingPracticeHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABoxingPracticeHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABricksBushesStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksBushesStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..be7de499dba1c8ee96f447f26e8b47c2d64c3a46 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksBushesStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABricksBushesStaticBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABricksLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c67c1cced551ad1752599657a8468810a5e4be33 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABricksLeavesBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABricksTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..73690dbba9e8e663bd639665d8a3f07641ad13fc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABricksTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABricksTiltingBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABubblesPitcherS1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABubblesPitcherS1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c41d5152117f4679b36d911618d4110a46ada372 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABubblesPitcherS1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABubblesPitcherS1BVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..933bf2342c77823e0e94e5b39e08bc3d90e59ccb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABuildingRoofS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..01185ba8a14225baae533df98af2f6e0af07bb2e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABuildingRoofS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..acbd40c0d3fae41cf1bdbe1f052244a204080c88 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABuildingRoofS3IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b945e836a79e5ef71f5423761776bc936c8771fb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABuildingRoofS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABuildingRoofS4IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABuntingHangingAcrossHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABuntingHangingAcrossHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..80718555a795ff8ddc496841be8943b6a2edb3c1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABuntingHangingAcrossHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABuntingHangingAcrossHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ABusyHongKongStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ABusyHongKongStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4814fb0e5d341823499eb7ffd5ff88df09a2a377 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ABusyHongKongStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ABusyHongKongStreetVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACalmingWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACalmingWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..832acabe3d30ee0bde0659c21c6d412458870616 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACalmingWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACalmingWaterBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACarpetPanAverageBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACarpetPanAverageBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..15e6828b392e5ef270bc1ec79908b3a493c568d6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACarpetPanAverageBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACarpetPanAverageBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACatchBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACatchBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9b8647cdede8ffe3e91db8019dd6074eb8e0c97c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACatchBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACatchBVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACeramicsandSpicesMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACeramicsandSpicesMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e4cca5087de90de3e42c77e6a17fdc345213192f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACeramicsandSpicesMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACeramicsandSpicesMoroccoVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACharactersYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACharactersYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..eb4a88a64b6e5bdc375d0e4fe243192134d8a45e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACharactersYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACharactersYonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasPresentsIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasPresentsIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cd82aa20c9666c9a8873b6754e26b103e8a02195 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasPresentsIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AChristmasPresentsIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasRoomDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasRoomDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3e05df55e8a9b9a9056b627ac2fda6e26221fe4f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AChristmasRoomDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AChristmasRoomDareful_3840x2176_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AChurchInsideMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AChurchInsideMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2caec41f7f785b54e04b86dc027ded7db8afa8f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AChurchInsideMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AChurchInsideMCLJCV_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c168592ed5a56bc7cf8f5403c8c7b5c6927d360a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityScapesS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f5669dcf5f55b58776e3c3ba909168be0f15a2a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityScapesS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ffbf8fd1cef1a5261fb7708788f7ea0db47275a6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityScapesS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityScapesS3IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a4d1576fa2681528c840a2037f232d7c54e3c04e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e36dcd6740bfb5fa720f2f7c0bac14033f450afc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS3IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a629e484277318ea30f1297356034126429bf599 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS4IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f88b6dd9fb11bcb839c13f3685993ce39db1ae73 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS5IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS6IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS6IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0f4c8d0dbb7416ba02ef19ad35519fe4ed917baf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS6IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS6IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS7IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS7IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a2c7c6d5443b7b4e6e0962b9e1181c66e61497dc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACityStreetS7IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACityStreetS7IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACloseUpBasketballSceneVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACloseUpBasketballSceneVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0275f03fa3eb416b2c8323e0c693ebd7323683fc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACloseUpBasketballSceneVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACloseUpBasketballSceneVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACloudsStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACloudsStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a623464570e3fd9e02ff8ca606741aa7fff149a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACloudsStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACloudsStaticBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulDecorationWatPhoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulDecorationWatPhoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d94d372c8b1a4c0dccb666e7f4ed7260cc7f7a60 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulDecorationWatPhoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AColourfulDecorationWatPhoVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulKoreanLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulKoreanLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4d13f7c2a03e6ab7050d5cccba77f85e6650e009 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulKoreanLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AColourfulKoreanLanternsVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulPaperLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulPaperLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c030e9d81fb3abb1d518585d2099872a44ae715d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulPaperLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AColourfulPaperLanternsVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulRugsMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulRugsMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..79d639d11465dab479a84178ca2c222f32431bfe --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AColourfulRugsMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AColourfulRugsMoroccoVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AConstructionS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AConstructionS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..76b8d579c9949dbf1860b84c0dc8eab6dc332001 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AConstructionS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AConstructionS2YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACostaRicaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACostaRicaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cf0eebc97b4e97712eb425600aa12f0dfb567b00 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACostaRicaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACostaRicaS3Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1f4e4045aa96fab7c4747f4708788ede596d8b11 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACrosswalkHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d9f9367fe08c59d15c31c7e31eb13277f18b86fa --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACrosswalkHongKong2S1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bc0c6ceae06e1b4ab1cc9bc60f5595bd8a0c60ea --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKong2S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACrosswalkHongKong2S2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e8ca4ac7dc1d0ecca4dbafc24c8bdeb0d7ed7071 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACrosswalkHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACrosswalkHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACrowdRunMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACrowdRunMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..88f308e443d48748808d8a4cd595e44ed208d589 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACrowdRunMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACrowdRunMCLV_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..13e96047d236867c9af0a50b238a20668cdced03 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACyclistS1BVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistVeniceBeachBoardwalkVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistVeniceBeachBoardwalkVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..47e5c1037564e6dba1b1d959e53d6baea0c3b062 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ACyclistVeniceBeachBoardwalkVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ACyclistVeniceBeachBoardwalkVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ea658bea8e4e7aeff20aa3800774e22251fdf21d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ADollsScene1YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7762f2c9a51b1add26c2d063693a3d068361be79 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ADollsScene2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ADollsScene2YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ADowntownHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ADowntownHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..06848226c9443f4394e9051602db41eb9a589b20 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ADowntownHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ADowntownHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ADrivingPOVHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ADrivingPOVHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5e625a5fc87f714541e90a180dfd853866e1bc03 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ADrivingPOVHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ADrivingPOVHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ADropsOnWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ADropsOnWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c89c04b6937b957b6a4ac579d7be251b42020890 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ADropsOnWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ADropsOnWaterBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AElFuenteMaskLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AElFuenteMaskLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..418805ae2915e07fa8569df7fd38340cf3e02b81 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AElFuenteMaskLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AElFuenteMaskLIVENetFlix_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c60db98e08ef773baa3e545f8edc89dda7de4bcd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AEnteringHongKongStallS1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2bfbef71e20092c900cbef27a8b73e87f72267be --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AEnteringHongKongStallS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AEnteringHongKongStallS2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFerrisWheelTurningVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFerrisWheelTurningVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6b06be3cc1fa50bef0d5f3cd90422b930222c454 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFerrisWheelTurningVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFerrisWheelTurningVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFireS18Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS18Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2329587b43724a8041821d673c773800728cc4db --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS18Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFireS18Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFireS21Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS21Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4ce5beb370eae9674b787c584cc6e9871d59f3e3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS21Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFireS21Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFireS71Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS71Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8d5bff0f4d4e021c8fd0feee6b3dae0813aeb228 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFireS71Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFireS71Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3428fb450854ca4ab20043472c022645992d22ef --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFirewoodS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1d399e4e5845de463a8f06dc0fa2be153f2d8bf8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFirewoodS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFirewoodS2IRIS_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFitnessIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFitnessIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4df18e49e8d29c5ae188255d1a4080a18ca06cf9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFitnessIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFitnessIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFjordsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFjordsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c1bddf3614885837513b90f47ae4d35f44e3bdee --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFjordsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFjordsS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlagShootTUMSVT.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlagShootTUMSVT.cfg new file mode 100644 index 0000000000000000000000000000000000000000..06c2f563339896ba68b8734514216707f794a223 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlagShootTUMSVT.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlagShootTUMSVT_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..01494060315c1f0b243a92cf949e17a0372ea54e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlowerChapelS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b1c43f85a5f3a75dc41101edcc671d4f81c00212 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlowerChapelS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlowerChapelS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingCountrysideDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingCountrysideDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0f7fd32497f5b0a0c6c458350de262fd52dd359e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingCountrysideDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlyingCountrysideDareful_3840x2176_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingMountainsDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingMountainsDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6c1dc41ef964757fcc6fa0141056802dd38de532 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingMountainsDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlyingMountainsDareful_3840x2176_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingThroughLAStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingThroughLAStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f682536823c58037696dc9fc6eec6db85fce7f67 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFlyingThroughLAStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFlyingThroughLAStreetVidevo_3840x2176_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AFungusZoomBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AFungusZoomBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..66a14ee3b546f05fb3081472958bf7501ccaba5e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AFungusZoomBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AFungusZoomBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AGrassBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AGrassBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..606eeb3c97630c24a3243c1b9978f7e77fc05095 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AGrassBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AGrassBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AGrazTowerIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AGrazTowerIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..58a905d5d8c10e0403a1f31b9658bbfb99c2f830 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AGrazTowerIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AGrazTowerIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHamsterBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHamsterBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0a336239417fb6f49ed984f612708f0135e7fab9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHamsterBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHamsterBVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHarleyDavidsonIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHarleyDavidsonIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c97eab5d0164e94eaf3718ff80ae510e6ff0ee6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHarleyDavidsonIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHarleyDavidsonIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongIslandVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongIslandVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1673a1c72790d7006262555c965eac3b26740e01 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongIslandVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongIslandVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2d320ecb71936a1ccd6e90789eb1a9298b6c016a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7ddd5b207e423b7984ffd685e602adb1965d9539 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..04e3effbc84720a414a438a08111cda12106f161 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket3S1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fab4a2495dd6fd27920c48090c179f2873aa9316 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket3S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket3S2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..301e9f0a7a66b514a98c373a677ef9968f708ee3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket4S1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..272ea1a73977ea067a04c6d3f345f039f8e85e30 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongMarket4S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongMarket4S2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1a1ea6f4267508aeb4fd34811a730de681f63e77 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f64c02b4a9d309c307affbfee5c592dfc1e4e1c7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongS2Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2302fbdce2c3ce57084e75f0b56ce50993712011 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHongKongS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHongKongS3Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHorseDrawnCarriagesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseDrawnCarriagesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df5e246888cc1ab12b979a048857559d9f6265a1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseDrawnCarriagesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHorseDrawnCarriagesVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1b611453febbccbd3375fe729ee0e95929b66163 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHorseStaringS1Videvo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57d7f34c0fe9b949bef99f895bcca71e774c832f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AHorseStaringS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AHorseStaringS2Videvo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AJockeyHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AJockeyHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1ce120351c39a9980b7fd8e377aa418f522f27e7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AJockeyHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AJockeyHarmonics_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c73b0150d54023134e2c2e0c93ea1d045b5dbdf4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AJoggersS1BVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS2BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS2BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..639a26182b83f880c0e2f7c68e766fb3854f32ef --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AJoggersS2BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AJoggersS2BVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AKartingIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AKartingIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..45c55d52869874de6475347c07777ef739863c11 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AKartingIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AKartingIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AKoraDrumsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AKoraDrumsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..08a9a0287bfb61ce6c72685332c5ada6d7c9f749 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AKoraDrumsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AKoraDrumsVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALakeYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALakeYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8be3c94a0d23af62a541ccda6c0373d08fba9e91 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALakeYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALakeYonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALampLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALampLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9386b47e1c5cdcea46b2fbbe519a7103ed704c19 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALampLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALampLeavesBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALaundryHangingOverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALaundryHangingOverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..50e0ae0486b90e35bf5a8c89bf25106e23d0b70e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALaundryHangingOverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALaundryHangingOverHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d529d3213c0dbec777b97cd78d7f13b929066ecb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALeaves1BVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves3BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves3BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..af03153e505388a7785a59cf7e3cce690e25e061 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALeaves3BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALeaves3BVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALowLevelShotAlongHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALowLevelShotAlongHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..80602aba82fc432de356c193c0f666950e7ec103 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALowLevelShotAlongHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALowLevelShotAlongHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8384f18f2a6d10f38a1f1f0ce4fc1fb5e0aedf8f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALungshanTempleS1Videvo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..83c0b06c9a17075955514d1b6fe219f0c12e1729 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ALungshanTempleS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ALungshanTempleS2Videvo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AManMoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AManMoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..667ba2bba6216877048d309dfac474d16b20ebc4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AManMoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AManMoTempleVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AManStandinginProduceTruckVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AManStandinginProduceTruckVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e95abac76f94d6e30d4d5b82acf42a17e2b0e293 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AManStandinginProduceTruckVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AManStandinginProduceTruckVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AManWalkingThroughBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AManWalkingThroughBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cbdca8dced0d76ac8034c88356d025d471af6f9c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AManWalkingThroughBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AManWalkingThroughBangkokVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1979fefce2a3c7c19f6badb61de6f7a0981d41a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMaplesS1YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fb1d5922e4d58e1fc3e01617e1275d01d2667ff8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMaplesS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMaplesS2YonseiUniversity_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..94b641bbacc3139861873a0d725f06a4e50e1eb7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMirabellParkS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c0e3fd7194294478d68bdee36df21b276a605664 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMirabellParkS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMirabellParkS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMobileHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMobileHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a448726d114e3bd21c9daeb572bccdaeb3b900da --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMobileHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMobileHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanCeramicsShopVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanCeramicsShopVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7f51af241b1cecbc45d1ddca42f59650b6a08fa2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanCeramicsShopVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMoroccanCeramicsShopVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanSlippersVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanSlippersVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c36e887d5b34223b2b20e271bac8e0e487e467a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMoroccanSlippersVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMoroccanSlippersVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMuralPaintingVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMuralPaintingVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a2391f01fed657e194f93e0e49a07a98193c5f6f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMuralPaintingVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMuralPaintingVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c4e3f4d8d702911db450b8d9ce69f0bb5ec359f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMyanmarS4Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS6Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS6Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c1591f26ffb6df9eb172f7798abc0e291756e912 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMyanmarS6Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMyanmarS6Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AMyeongDongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AMyeongDongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a76b3f6dc62bea8e69683a7e6c3038d7cbaf765a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AMyeongDongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AMyeongDongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ANewYorkStreetDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ANewYorkStreetDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..61508b0199e2cb475a85d5057b765cee728eca8e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ANewYorkStreetDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ANewYorkStreetDareful_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AOrangeBuntingoverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AOrangeBuntingoverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..040df24e1ad7ec7d29afbc383815a63b5ad91d59 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AOrangeBuntingoverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AOrangeBuntingoverHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APaintingTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APaintingTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2b02ba5272d00f32c0e077b6ea507e311822ddf7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APaintingTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APaintingTiltingBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AParkViolinMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AParkViolinMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..28540f113921fd349085aaef612cd03447157a1f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AParkViolinMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AParkViolinMCLJCV_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APedestriansSeoulatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APedestriansSeoulatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3d63847f858a8aad0776e26da5dd43351bfab25c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APedestriansSeoulatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APedestriansSeoulatDawnVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APeopleWalkingS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APeopleWalkingS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ee8a2fdc91f23b73afb99eea1f41fff422dcedec --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APeopleWalkingS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APeopleWalkingS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APersonRunningOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APersonRunningOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7fceab98f0c39ecc315d83ab254437af504b71ba --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APersonRunningOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APersonRunningOutsideVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APillowsTransBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APillowsTransBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a14e33ef7f7cace7f1b4bc2715c9c79dd28945e1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APillowsTransBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APillowsTransBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APlasmaFreeBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APlasmaFreeBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..88ba7145cbaca6cf5c546e61e16eaaec50b6a22f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APlasmaFreeBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APlasmaFreeBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/APresentsChristmasTreeDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/APresentsChristmasTreeDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c7c52f6df20a5cd986cf492339e138a325815935 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/APresentsChristmasTreeDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : APresentsChristmasTreeDareful_3840x2176_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AReadySetGoS2TampereUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AReadySetGoS2TampereUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ecfdd8dd14605fc5a649b9c5b7c8661adc767125 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AReadySetGoS2TampereUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AReadySetGoS2TampereUniversity_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AResidentialBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AResidentialBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..843d763d57ef0f48ce41fe6a7b35e9fd642c9a82 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AResidentialBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AResidentialBuildingSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ARollerCoaster2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ARollerCoaster2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f16776698b09de5b4f1a30fb564d63ca3822b43c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ARollerCoaster2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ARollerCoaster2Netflix_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ARunnersSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ARunnersSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e01cfd1b2cf8c55675c9b5e6310b41d3a485532b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ARunnersSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ARunnersSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0642c0a5c542d6f45ef934890b30f29947394273 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ARuralSetupIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..632bfdefcbb0fa85d6590711325ebe601b6f2303 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ARuralSetupS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ARuralSetupS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AScarfSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AScarfSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bbe0440ec2e3ac23f457aca20b3ed838e1d13d1b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AScarfSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AScarfSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASeasideWalkIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASeasideWalkIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7d0cd49e3c7fee1e479ddd45ca7b492ba6ecea83 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASeasideWalkIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASeasideWalkIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASeekingMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASeekingMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f10bad13e9dd6dc000833a98d971ae0612f5183d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASeekingMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASeekingMCLV_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASeoulCanalatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASeoulCanalatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aa32817cda2851eb6fb4fafee3920a646b7c0793 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASeoulCanalatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASeoulCanalatDawnVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AShoppingCentreVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AShoppingCentreVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a78a33c91c55c1571ad5528b9fe1f62f7124982a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AShoppingCentreVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AShoppingCentreVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASignboardBoatLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASignboardBoatLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..391742e233c53570f7c2c21bb82414b8e3f6687c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASignboardBoatLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASignboardBoatLIVENetFlix_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASkyscraperBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASkyscraperBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..99221034a6d273586055430b4316a450769f3feb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASkyscraperBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASkyscraperBangkokVidevo_3840x2176_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeClearBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeClearBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..78f5e2966cdf3917f680744bdd542a1f64d07821 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeClearBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASmokeClearBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeS45Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeS45Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4512561e0c46709850ca987ea22019e5628f50dd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASmokeS45Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASmokeS45Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASparklerBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASparklerBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..872b6541ee59a3fed280b1163f16545e1a4d260c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASparklerBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASparklerBVIHFR_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASquareAndTimelapseHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareAndTimelapseHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..955c1238b76e71906ec5e47b8882b7da6e45edd0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareAndTimelapseHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASquareAndTimelapseHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0b2f57409c5f32979bb2b702a9546790c5e80134 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASquareS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..971b2f925687861c9213a4559c7d894285fd111b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ASquareS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ASquareS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetArtVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetArtVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..44015f560cec3501347692cef8e1c85aaa89f68a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetArtVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetArtVidevo_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..85cc6df9367ae9aa68a2bf653059d090402a0e4e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetDancerS1IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6c8cd84652f41a5cf0bda80039c61d3443898e2c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetDancerS2IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e7772d6a3901a19483fcc60322329f18ee580eda --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetDancerS3IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7fee3d520ef75559d02aa6db9c2d788c24d2ea89 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetDancerS4IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1112a5f08a028f138b7feced556dbeb4a59ac48e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetDancerS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetDancerS5IRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..470041d115c863562efa1eba2f3b66ff2046aa80 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetsOfIndiaS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4558265241268e3f1116cc1f6a9af57f11c653ef --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetsOfIndiaS2Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8de22a6005ad255941a34f47fda862ef6ab9bee2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AStreetsOfIndiaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AStreetsOfIndiaS3Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..86ffa6f95aaddc1119c7d860da999d0dcf8cfac6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaiChiHongKongS1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c2a6553b6aba03a5c3089a57e28fb27d8ed246c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaiChiHongKongS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaiChiHongKongS2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftops8Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftops8Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..59428fa1350ae44c9896dc600762e8ce0530c6a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftops8Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaipeiCityRooftops8Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a8118ca894015edb1a1175201395b07537cb4ea9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaipeiCityRooftopsS1Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..125b1af78800e4fb12543842d67e2bf55b7dc64b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaipeiCityRooftopsS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaipeiCityRooftopsS2Videvo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATaksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATaksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3a2a69994652ce348512e76bc3418b0eb6b86ec9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATaksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATaksinBridgeVidevo_3840x2176_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATallBuildingsSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATallBuildingsSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..474f79665c52bc9d8c670bee485434940e131161 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATallBuildingsSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATallBuildingsSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATennisMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATennisMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b5691f1aa82b4760a490f8605f35da0b3fb3507f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATennisMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATennisMCLV_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AToddlerFountain2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AToddlerFountain2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..17128735e58078685e58c6581f40043fc0d35780 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AToddlerFountain2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AToddlerFountain2Netflix_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATouristsSatOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATouristsSatOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2bfd065a45e82119842a4a845d9de12e3b8e4f9b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATouristsSatOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATouristsSatOutsideVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AToyCalendarHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AToyCalendarHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7d31f0d58659b137be458d713aa44792691f45e9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AToyCalendarHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AToyCalendarHarmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingDownHongKongSideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingDownHongKongSideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8595e46a70df580d9be4931bc8d0d0ba5427ce00 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingDownHongKongSideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrackingDownHongKongSideVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastRestaurantVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastRestaurantVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..255b387aaaeca1c9b5710035e7c572bb2e691e8d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastRestaurantVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrackingPastRestaurantVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastStallHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastStallHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f18d32b61b2dbc0ce1c30f9713fd18fe7214c15d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrackingPastStallHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrackingPastStallHongKongVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATraditionalIndonesianKecakVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATraditionalIndonesianKecakVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d95707969c1a022f762879861dc5dfdb768bc7d2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATraditionalIndonesianKecakVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATraditionalIndonesianKecakVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficFlowSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficFlowSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ec58f896947fa5ee4cd5ce6312e5122a72f60be5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficFlowSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrafficFlowSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficandBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficandBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9cf80606fc25ed57e891bf4c2c2d3178f0111cd5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficandBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrafficandBuildingSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficonTasksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficonTasksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1ce7ccb3629092fdc56fbfcd5652e88546c2884f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATrafficonTasksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATrafficonTasksinBridgeVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATreeWillsBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATreeWillsBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a0b7d5ab339b36501ec68ad08d2bda85f445deff --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATreeWillsBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATreeWillsBVITexture_3840x2176_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATruckIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATruckIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..52dda699c35bc207826c3026308afc720c64734b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATruckIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATruckIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/ATunnelFlagS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/ATunnelFlagS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4f5b7c8d1fc2387cf5643da930b54e73a47a0cb7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/ATunnelFlagS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ATunnelFlagS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AUnloadingVegetablesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AUnloadingVegetablesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..70d2e96b6c25423e04c755af24e166c2833fa714 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AUnloadingVegetablesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AUnloadingVegetablesVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS1LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS1LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9955117269650a69ede954e5d39616989e63c607 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS1LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVegetableMarketS1LIVENetFlix_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS2LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS2LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..49b512c933996d57990faa0bf6131bcacd7e9721 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS2LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVegetableMarketS2LIVENetFlix_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS3LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS3LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..005829df76b380187f65cdb7b377058507db1a5d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS3LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVegetableMarketS3LIVENetFlix_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS4LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS4LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f08a6e0734904754822ecbd579c8eca60851b8ed --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVegetableMarketS4LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVegetableMarketS4LIVENetFlix_3840x2176_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fbdd1c7f5ba0e55417226338bff4a82affcc8973 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVeniceS1Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a07f9788bb61b80a98395c62273ec11aae1ccbcd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVeniceS2Harmonics_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceSceneIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceSceneIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1263b609e14d5daa55d8bb155f2d5b3ec440a9e9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AVeniceSceneIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AVeniceSceneIRIS_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownKhaoStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownKhaoStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..db100391375363dd372caa9827822908411b2578 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownKhaoStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWalkingDownKhaoStreetVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownNorthRodeoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownNorthRodeoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..96364a9fa0e282815b4031288bf9db71e2604223 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingDownNorthRodeoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWalkingDownNorthRodeoVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingThroughFootbridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingThroughFootbridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b7729cac72eb7e07da6a7f5d2267127b39c5a6c3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWalkingThroughFootbridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWalkingThroughFootbridgeVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWatPhoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWatPhoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dd1311809ae7fc2733470fa791fe66f9d97cce88 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWatPhoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWatPhoTempleVidevo_3840x2176_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS65Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS65Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3e7b04fe18e2f3109220c0af4e23a58c16368c36 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS65Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWaterS65Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS81Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS81Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4ab70c3862f71cc3ab9f997405184a043335268a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWaterS81Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWaterS81Mitch_3840x2176_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWoodSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWoodSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7cec42cc24a6aaf179e7f1508021ee730004e5ef --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWoodSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWoodSJTU_3840x2176_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/AWovenVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/AWovenVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7f47fdf14addded941acee680783a6a9e49b2b26 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/AWovenVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : AWovenVidevo_3840x2176_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2176 +FramesToBeEncoded : 64 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAdvertisingMassagesBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAdvertisingMassagesBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c245d4487142b7a7c7b325e7041db4b1e981719c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAdvertisingMassagesBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAdvertisingMassagesBangkokVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5cbad739404be55a9fb11b8a06828e40f619e6be --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAmericanFootballS2Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..46a53f2545847c0e48828bc76a61c2cf7c4996a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAmericanFootballS3Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..834d1819205ffa2b101bbc303ab6906ae190e0fc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAmericanFootballS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAmericanFootballS4Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS11Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS11Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c84c9c67e77d1c3fed7ad647823caee7d680f88 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS11Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAnimalsS11Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c09af8a17f82e8f7af41721ff04b21eaad42015e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BAnimalsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BAnimalsS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBangkokMarketVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBangkokMarketVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..72a978e9ff21d3dadd8cffc8d511279d2a3d6697 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBangkokMarketVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBangkokMarketVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6a091cec680cfd5fc1aff62e288dae1dbbb0a708 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBasketballGoalScoredS1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f3999ea7d6760cb5f00e471fbff2eeeedcfa91a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballGoalScoredS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBasketballGoalScoredS2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d9ccd198ac529e8ac419b98ecb00990b4d3dc020 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBasketballS1YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1216901ecfdb62532c5032b1e28a433a52057ed1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBasketballS2YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS3YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS3YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8f73ffc8f665485b9dde4f965cde9041440c8f80 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBasketballS3YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBasketballS3YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBoatsChaoPhrayaRiverVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBoatsChaoPhrayaRiverVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..06cd2a64130640fe91791b46b79e1c4b8414027f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBoatsChaoPhrayaRiverVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBoatsChaoPhrayaRiverVidevo_1920x1088_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBobbleheadBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBobbleheadBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d179a8140930a5472d37a42f6bd5e3b3c9ad5b79 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBobbleheadBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBobbleheadBVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBookcaseBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBookcaseBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3224531fc0a5814adf337c7103cb5cf729fca9bf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBookcaseBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBookcaseBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBoxingPracticeHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBoxingPracticeHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8c8c06bb8b97c092bad9cf4261bc0e67193160c8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBoxingPracticeHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBoxingPracticeHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBricksBushesStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksBushesStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..89e0c97b69fc70d234bad5492c0041e08c5897ce --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksBushesStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBricksBushesStaticBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBricksLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6fc3dd5592e5d2188f7af1a788a978e018a22275 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBricksLeavesBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBricksTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..66a27ecd06c25af5f58779734397c03117e8a65d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBricksTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBricksTiltingBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBubblesPitcherS1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBubblesPitcherS1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2d16264cbc0796bec8ac33944cebca237618dcc5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBubblesPitcherS1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBubblesPitcherS1BVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5f551009a8f2fad3ab68dd6b7f86c62f60578eb3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBuildingRoofS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..44d6a936e53731b1e7882a84767840cc80eb95eb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBuildingRoofS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..32cfb2c3f38ac1196ba97c7e43ca290b96a1994e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBuildingRoofS3IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0dca7e62f309cfe558d32e0acc41908b4ab56e41 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBuildingRoofS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBuildingRoofS4IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBuntingHangingAcrossHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBuntingHangingAcrossHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..27b1636584968eb0b4370d976a5fac33bc6fed49 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBuntingHangingAcrossHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBuntingHangingAcrossHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BBusyHongKongStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BBusyHongKongStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c63fa963a6733fb58a4b3a88246dd96afe406dcb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BBusyHongKongStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BBusyHongKongStreetVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCalmingWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCalmingWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..43b2779ede3311000377c25afb74651d39b986cb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCalmingWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCalmingWaterBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCarpetPanAverageBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCarpetPanAverageBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2c34d12f31fc175d6abb283ef4e175633f4b9bd1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCarpetPanAverageBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCarpetPanAverageBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCatchBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCatchBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2e8d8fb77dae4355434e616f7321367def3f9fad --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCatchBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCatchBVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCeramicsandSpicesMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCeramicsandSpicesMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1a4ce212fc3ab680ee2661e129ebdd10491d4a44 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCeramicsandSpicesMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCeramicsandSpicesMoroccoVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCharactersYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCharactersYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f3161e45bc98e48a7000213037d8e7950eeac860 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCharactersYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCharactersYonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasPresentsIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasPresentsIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fd044dcc694267e98f52cc3ee4181b18e0662995 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasPresentsIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BChristmasPresentsIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasRoomDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasRoomDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..79dc100852859d0e785c48043e587261e5af0fda --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BChristmasRoomDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BChristmasRoomDareful_1920x1088_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BChurchInsideMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BChurchInsideMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..911c59a8b16771c4c08f4d12c00fd31815436dc3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BChurchInsideMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BChurchInsideMCLJCV_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..da56ccc7b1cbc147b783e58e33bf981318c76044 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityScapesS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b377635b5bca96dcaa9f9f2071d5fdbb4c020948 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityScapesS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cb7fb17103a092e6f7617553e935f6b6d97841e2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityScapesS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityScapesS3IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6d25be0608a102ca83e935895f56f4dbf738285c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6a9ff74244677cf14d41ad0c928fd59b41287a25 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS3IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df23f0e02fac069244388663b27d26bbb50ae0c2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS4IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f3a2ca21d425876d2a4748734f41ddb545007b05 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS5IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS6IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS6IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3ff400cdbe7b576baa9c7be137c2c78ed69dadd7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS6IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS6IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS7IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS7IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7ed739fb74ae5f097aecd9a64a36f5ee325425fa --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCityStreetS7IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCityStreetS7IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCloseUpBasketballSceneVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCloseUpBasketballSceneVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b6ff5f981b6a76bbc0516c0f6855a22577cd8d31 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCloseUpBasketballSceneVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCloseUpBasketballSceneVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCloudsStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCloudsStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..59573e7635511b9bcd641bc4cee07c19ba506486 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCloudsStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCloudsStaticBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulDecorationWatPhoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulDecorationWatPhoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..da68650e20f890404c98ccd79f4c405de7310bdb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulDecorationWatPhoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BColourfulDecorationWatPhoVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulKoreanLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulKoreanLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..455710e90e89402dffa829a60a7dc0a89cc6e496 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulKoreanLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BColourfulKoreanLanternsVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulPaperLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulPaperLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5a353ad20d8b511ab88329bb888efb29ddf14147 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulPaperLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BColourfulPaperLanternsVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulRugsMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulRugsMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..714630943f8a33d4a9d2b8d8edd9c2063ded9abf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BColourfulRugsMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BColourfulRugsMoroccoVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BConstructionS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BConstructionS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..89d9c865dda40ea7cbdde8acf7706395c59ec52f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BConstructionS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BConstructionS2YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCostaRicaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCostaRicaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9d6aec42ee114a63be09c459468ed5522deecf8e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCostaRicaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCostaRicaS3Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6527cec7db2ee33d4492231f8598008fd8726ff6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCrosswalkHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a0908ebc9c3bef2d45caaa38c7f72553706e047d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCrosswalkHongKong2S1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..62454c6ab001466093d8a1c998f55aebd0516092 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKong2S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCrosswalkHongKong2S2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e41da3a67f8443ff896bd69d622003ffea81e20b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCrosswalkHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCrosswalkHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCrowdRunMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCrowdRunMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..33ca5b31d20d9aa5709711889f9e6d6bd56c574b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCrowdRunMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCrowdRunMCLV_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b2d669ac9f39f1bd7fd3d23e03f932497a49d81f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCyclistS1BVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistVeniceBeachBoardwalkVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistVeniceBeachBoardwalkVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f198b996c075d62efb57c10394aacd376ee14bfd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BCyclistVeniceBeachBoardwalkVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BCyclistVeniceBeachBoardwalkVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..35e9d3096ae128f639ff7e15bc8e6907d67f46a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BDollsScene1YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a81df624bcc8a1512634c9e45a274c36373dd4f2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BDollsScene2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BDollsScene2YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BDowntownHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BDowntownHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..028fb392c627aa310386b899ffa4a790768a28d5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BDowntownHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BDowntownHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BDrivingPOVHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BDrivingPOVHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e87d37ee99e4e95a22d1b4b8cabe7414ee0093a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BDrivingPOVHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BDrivingPOVHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BDropsOnWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BDropsOnWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aa07c30f53159fbbac5de6db256d790133b97701 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BDropsOnWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BDropsOnWaterBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BElFuenteMaskLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BElFuenteMaskLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1624be1e34e34a04240db9898237f62dacc8f465 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BElFuenteMaskLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BElFuenteMaskLIVENetFlix_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1adaae1ec6e4bdaf8f58fb23c8d2b39e6ffc14fd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BEnteringHongKongStallS1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7bb03fed9b58d3e4624a34646846b8c5afb3f534 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BEnteringHongKongStallS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BEnteringHongKongStallS2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFerrisWheelTurningVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFerrisWheelTurningVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c7ea042187ceb6e2c581a02c8b83b121ee082c9f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFerrisWheelTurningVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFerrisWheelTurningVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFireS18Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS18Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e0b7031b7bed6d2961c9172738e8d3a400cfe11b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS18Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFireS18Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFireS21Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS21Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..140daa00df3153b25f4a80d0fc5ece370155d394 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS21Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFireS21Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFireS71Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS71Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1624bb8bb52e28f11ca37ca3e71adf4505f89dd0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFireS71Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFireS71Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9cbcd022e6d1bd806fde0d389e981a54fa862b3a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFirewoodS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5db7ae813ba1d2850446fadd577749ca07590012 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFirewoodS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFirewoodS2IRIS_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFitnessIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFitnessIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..24548acf50fe44552dbe9dc58cfac9fa73dee155 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFitnessIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFitnessIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFjordsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFjordsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cac1fed4dea9b3dd66b90615d06b245692ba7d87 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFjordsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFjordsS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlagShootTUMSVT.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlagShootTUMSVT.cfg new file mode 100644 index 0000000000000000000000000000000000000000..323216301baf22d677f1d6d450d577a5fbf80307 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlagShootTUMSVT.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlagShootTUMSVT_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c25487836e58152848ff1f5f72ae245b83b638e7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlowerChapelS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d4db52fa3fd239e5a356e1ceb309a33e7e169fca --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlowerChapelS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlowerChapelS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingCountrysideDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingCountrysideDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d9b3b1e9e9dadd47fd73de6b42a6a52032ee7add --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingCountrysideDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlyingCountrysideDareful_1920x1088_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingMountainsDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingMountainsDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2ebec0491e8d7178ce536e88e2441961816f8272 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingMountainsDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlyingMountainsDareful_1920x1088_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingThroughLAStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingThroughLAStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..78a917e952d69dbc4169c2a2cd4ca7c1c813fb2d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFlyingThroughLAStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFlyingThroughLAStreetVidevo_1920x1088_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BFungusZoomBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BFungusZoomBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6ea8e6f1b576fc4341a78edc419be4f4281598a0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BFungusZoomBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BFungusZoomBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BGrassBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BGrassBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..afcb2352e6ca3a137aad02affec8314ed58eee17 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BGrassBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BGrassBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BGrazTowerIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BGrazTowerIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57c1ded699316fa8ea68d469d6cc985422b476b6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BGrazTowerIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BGrazTowerIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHamsterBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHamsterBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d02992ab9d0d76ec0d6e391cde7ab5a981c1f433 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHamsterBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHamsterBVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHarleyDavidsonIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHarleyDavidsonIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d457492ea44c482987f91296077f26412db148bf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHarleyDavidsonIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHarleyDavidsonIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongIslandVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongIslandVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7d95ae7173bd201ed4626a51d6cedfe4cbe7b4b9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongIslandVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongIslandVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..355ebe65a36125983288055bd336fb213b5d6362 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6f8276641584ce48fe8856436a781558089a3a13 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c4964a8a3eca386e1f4835323aa78ef5e3b13f1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket3S1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d3700b157762a967ef7040abcce0f4374a601d5f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket3S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket3S2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d0fd58f06345daf24b879e5b73564e3f3ad47a21 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket4S1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..12d38ad8d61dd292dd8ad59a5db51c3de6a27606 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongMarket4S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongMarket4S2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fc7723a0a379a75edd2bdd7e5c65b5260c089bad --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c6f9a3ba9f25cf1ba0111578ddd2278644836ada --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongS2Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7149015b0e520b5b3e531f52ffd74f22229b0119 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHongKongS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHongKongS3Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHorseDrawnCarriagesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseDrawnCarriagesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..954e5a3d6562d2e2fc4a7bc8d2dba17d38765e8e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseDrawnCarriagesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHorseDrawnCarriagesVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f78b44340471d53aaa606ea1708d8323c4d16bad --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHorseStaringS1Videvo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cad9888a9d42ad18a5ecbf38016555d459d2ca22 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BHorseStaringS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BHorseStaringS2Videvo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BJockeyHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BJockeyHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1bb0c72ac818b5205927f42cbc9c27637203cd7c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BJockeyHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BJockeyHarmonics_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df7b5e40cb880410f24c3bc775f390f233396c13 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BJoggersS1BVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS2BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS2BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f2455f65cf94122fd546ef3f43ec346ca89f0d90 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BJoggersS2BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BJoggersS2BVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BKartingIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BKartingIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..33577f3b46a780e8535e97e5d45445d617eb1cd8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BKartingIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BKartingIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BKoraDrumsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BKoraDrumsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ad948907107d0746f2a98063c9794402fcf7d015 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BKoraDrumsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BKoraDrumsVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLakeYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLakeYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..190c35cb7f91e0cf4bc60f92e52c8ff4060829d7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLakeYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLakeYonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLampLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLampLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..630e6e7018b687fa6beeda252758f96f8c491d2f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLampLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLampLeavesBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLaundryHangingOverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLaundryHangingOverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3d4704700f246c935c6ec9e83feceab2536f9fbc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLaundryHangingOverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLaundryHangingOverHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..069d2dce1cd935233785aa53bc8458db2c96fee0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLeaves1BVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves3BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves3BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3359288d144e20a0c80c6ea1d1ea341ecf600870 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLeaves3BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLeaves3BVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLowLevelShotAlongHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLowLevelShotAlongHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..25c6c6356cc9bc8ffaa1c70f1610634084b2dab6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLowLevelShotAlongHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLowLevelShotAlongHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..25e4bd1301ddd6d5ddacc02e60e5f287ca670e89 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLungshanTempleS1Videvo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e1fd587ce3147012fe78bde4d5ad06468732761f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BLungshanTempleS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BLungshanTempleS2Videvo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BManMoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BManMoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a55325a95f4b248275ad28deb6357b18cf779f83 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BManMoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BManMoTempleVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BManStandinginProduceTruckVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BManStandinginProduceTruckVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cc943486d023ce7baf59f24c0a4255364c1f7c1b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BManStandinginProduceTruckVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BManStandinginProduceTruckVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BManWalkingThroughBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BManWalkingThroughBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c0dedd6502c0a7691d57b7ff24fcfc83820ec365 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BManWalkingThroughBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BManWalkingThroughBangkokVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1d8bc5efd0dcf1ae0c77ace7982a85647d8154bd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMaplesS1YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..47aa9e2134c522bd521ca84a042814b84346aac7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMaplesS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMaplesS2YonseiUniversity_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ce49df1827aa9f65f227bb90226acb3a7d2aa1cb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMirabellParkS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e9fe7533639f40263b75dc9e416c761e943b2ef3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMirabellParkS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMirabellParkS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMobileHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMobileHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..db58837c8d5b3c28baebcce183318e8d4fd71148 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMobileHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMobileHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanCeramicsShopVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanCeramicsShopVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0267d3cdfd47c786ac847f345968d89c1f8c451e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanCeramicsShopVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMoroccanCeramicsShopVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanSlippersVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanSlippersVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dfc6060fc568c3e6eca28184287ed23c0675e425 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMoroccanSlippersVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMoroccanSlippersVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMuralPaintingVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMuralPaintingVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..54fc8d759a0fa30b3f9e119519834beb53ea5fe8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMuralPaintingVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMuralPaintingVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c49d69a24a863df12a463493dd2ce19be738a596 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMyanmarS4Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS6Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS6Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b7495e2984baa21daea76b60549e5103dfabbc71 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMyanmarS6Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMyanmarS6Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BMyeongDongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BMyeongDongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9b213f5f4b73a366a3719bee707229d24adc9ef8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BMyeongDongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BMyeongDongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BNewYorkStreetDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BNewYorkStreetDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ad9732f07cbff7eaf86054ca6e3688c2ba6415c2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BNewYorkStreetDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BNewYorkStreetDareful_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BOrangeBuntingoverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BOrangeBuntingoverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..53209b7232c71cad5fcc1f4e38eecdac344578d9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BOrangeBuntingoverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BOrangeBuntingoverHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPaintingTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPaintingTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2a0bf99cde47fa8a44a5fdd5441fc34c9b788397 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPaintingTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPaintingTiltingBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BParkViolinMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BParkViolinMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3629091769a77be0e555ff08a76fe3af36146505 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BParkViolinMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BParkViolinMCLJCV_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPedestriansSeoulatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPedestriansSeoulatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..475f101cdaea32690a6c3dbb2956c45407f25e1b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPedestriansSeoulatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPedestriansSeoulatDawnVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPeopleWalkingS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPeopleWalkingS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d7c19617a853dd20dd35b25b02e9e5bd9e41f46d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPeopleWalkingS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPeopleWalkingS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPersonRunningOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPersonRunningOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5b1314590b3f052b380bd094149fa4a9ac4320d1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPersonRunningOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPersonRunningOutsideVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPillowsTransBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPillowsTransBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..77d9ef9822a8648fff709d25303614912e7477ba --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPillowsTransBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPillowsTransBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPlasmaFreeBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPlasmaFreeBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2ef4e2a05e7dd9e50cb86334e18ecdb3942a9f50 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPlasmaFreeBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPlasmaFreeBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BPresentsChristmasTreeDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BPresentsChristmasTreeDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cc0af4bbcde94b32f379b065fd685134691d5088 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BPresentsChristmasTreeDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BPresentsChristmasTreeDareful_1920x1088_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BReadySetGoS2TampereUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BReadySetGoS2TampereUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4d1784980c0a9d7f2cd833be74ec097ed22cd3c2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BReadySetGoS2TampereUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BReadySetGoS2TampereUniversity_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BResidentialBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BResidentialBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bcbaafeb3dc6abfddeed74c305ce09dff9c264c3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BResidentialBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BResidentialBuildingSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BRollerCoaster2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BRollerCoaster2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..962736ae0abdb0273a2e5441c46c6f64fb53de37 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BRollerCoaster2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BRollerCoaster2Netflix_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BRunnersSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BRunnersSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2f2ab27836775f9e9b26c3d3c7c2d90906aadd2b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BRunnersSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BRunnersSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e3d8b83c55ec04aa977be6bb64044b226b434e6f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BRuralSetupIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a9368faf29584d427992b3c5dbd0020dd3be3d19 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BRuralSetupS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BRuralSetupS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BScarfSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BScarfSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c392dfcded9953177d2505be25870a8bf5f4677 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BScarfSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BScarfSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSeasideWalkIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSeasideWalkIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cee67800c2db93f601088c451819c58395f35ae5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSeasideWalkIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSeasideWalkIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSeekingMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSeekingMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..baffe3f8682433cec9bd8228a4d5e1442c69b5b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSeekingMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSeekingMCLV_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSeoulCanalatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSeoulCanalatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..34ccaf0e2a21a7c7ba40e431b1495d019ed375e4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSeoulCanalatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSeoulCanalatDawnVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BShoppingCentreVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BShoppingCentreVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d775fd7479adf07479bb7f6ed9d96f18e7d21118 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BShoppingCentreVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BShoppingCentreVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSignboardBoatLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSignboardBoatLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..741224bb705afa384dc2c0435d178a3567f8fc76 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSignboardBoatLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSignboardBoatLIVENetFlix_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSkyscraperBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSkyscraperBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ba315fae96695e39d3e4a4c588eb9fc182f8788d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSkyscraperBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSkyscraperBangkokVidevo_1920x1088_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeClearBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeClearBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e0df8cee8d98212fb84c08758a1b008ff4b74390 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeClearBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSmokeClearBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeS45Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeS45Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7b971f63c43eeb89d8bd73d48967770482e7f756 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSmokeS45Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSmokeS45Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSparklerBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSparklerBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b4a7a5a344707bb161879a80fae57c3d3a86dd81 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSparklerBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSparklerBVIHFR_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSquareAndTimelapseHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareAndTimelapseHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c31441867480b0b5d792074c528c27f2837da7eb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareAndTimelapseHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSquareAndTimelapseHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1ba888084e1d03ebc0d09cd6b23db8f75efa6b20 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSquareS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..75a71ebc28f14fbd1302daaa244c755c1d4b0514 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BSquareS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BSquareS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetArtVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetArtVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f0ab62cde11d01b3a8c4f0f950d6822357520c07 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetArtVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetArtVidevo_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a1a64dfb143873376a9b0c63b5c2a01af24f0676 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetDancerS1IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c9c4bc4c1b616a7250a3c5326bea5bfc1d6c21e3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetDancerS2IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bebd7eb604d1df42f3e146663c82ccc452d4545c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetDancerS3IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c9220893765d21827af6a1918fa1ac19820530be --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetDancerS4IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..61b6cb68911d60c757beb82b4fb9db3412824137 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetDancerS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetDancerS5IRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..142e7b9f33d0ef86664d71133b98ad4165190853 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetsOfIndiaS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e631cca3d892df61c3546cf170d7664356e82cad --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetsOfIndiaS2Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d421dbad08900ed3b1bf80ca79b7991b9dfcae2e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BStreetsOfIndiaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BStreetsOfIndiaS3Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3f9f99230610427a781ca9c8e236b2b377903385 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaiChiHongKongS1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..95fb6fdc7104a4ff7d5ffae8085beaa3c2f3751f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaiChiHongKongS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaiChiHongKongS2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftops8Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftops8Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..397435f6fb01557466c1762da699729383db79f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftops8Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaipeiCityRooftops8Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..687c4278f11cb4ab7485303f7d0bd54f79f3cbf1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaipeiCityRooftopsS1Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c05ee9298129c7153818049f79f2a55e244ed83 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaipeiCityRooftopsS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaipeiCityRooftopsS2Videvo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTaksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTaksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..967f854a0d14a2da5f545ea1c24769121bb0d001 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTaksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTaksinBridgeVidevo_1920x1088_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTallBuildingsSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTallBuildingsSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b4257e4b6632cfd33bd124ad27c62d2f4a3babcd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTallBuildingsSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTallBuildingsSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTennisMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTennisMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9d72bef7dc4681bcc7eb1de5acae56c63d84cd20 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTennisMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTennisMCLV_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BToddlerFountain2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BToddlerFountain2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0cfc4540112cab97332edcec713276f7cacb99bb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BToddlerFountain2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BToddlerFountain2Netflix_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTouristsSatOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTouristsSatOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8a445d698eba60a6b199ce4fdf0333d171b8e371 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTouristsSatOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTouristsSatOutsideVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BToyCalendarHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BToyCalendarHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..452ea48f5dc669618c80c0ba58eaddb5e9452952 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BToyCalendarHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BToyCalendarHarmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingDownHongKongSideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingDownHongKongSideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ccff09d70d9e3dd52f9950d9c688d7b3d0cc4691 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingDownHongKongSideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrackingDownHongKongSideVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastRestaurantVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastRestaurantVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..469c7014a4cdcaa9fafc03047b730d9a9485610e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastRestaurantVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrackingPastRestaurantVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastStallHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastStallHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..588b161a224ca8df13afacdd1ce961c045d8f002 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrackingPastStallHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrackingPastStallHongKongVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTraditionalIndonesianKecakVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTraditionalIndonesianKecakVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ce8867a44f7fd74ad5b5411dc8458e4d370296ba --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTraditionalIndonesianKecakVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTraditionalIndonesianKecakVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficFlowSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficFlowSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..feb8d625768f89d97f1e11896fdd8cc3d2884fa3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficFlowSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrafficFlowSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficandBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficandBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..29c212286a9bb5b0a79555ff62c0157de1b64c28 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficandBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrafficandBuildingSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficonTasksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficonTasksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d47967bb8b9b93c077193c43df8c069dc802c657 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTrafficonTasksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTrafficonTasksinBridgeVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTreeWillsBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTreeWillsBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..403386950e7de5b7d1753994cd60085146aff18c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTreeWillsBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTreeWillsBVITexture_1920x1088_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTruckIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTruckIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..24f6efddef03a9d8c5fc53b0c906d78ee5d8bea8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTruckIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTruckIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BTunnelFlagS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BTunnelFlagS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..886719bfed146b407a6149fa29eea9878f4ee0d3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BTunnelFlagS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BTunnelFlagS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BUnloadingVegetablesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BUnloadingVegetablesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bb33815e641269eee98f233637c71e99748dd027 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BUnloadingVegetablesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BUnloadingVegetablesVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS1LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS1LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..418acdf95bbfc9c9a5e77848bbbee29a9d853368 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS1LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVegetableMarketS1LIVENetFlix_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS2LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS2LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b5ce4e0d6342b7c19119a07c8e5ea121485aed9b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS2LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVegetableMarketS2LIVENetFlix_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS3LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS3LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9adc6592472e38ffeb84b24c09b2c76381e3ec0e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS3LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVegetableMarketS3LIVENetFlix_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS4LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS4LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8cb1c458208c8f558cab0675a76d6f1b3801d206 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVegetableMarketS4LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVegetableMarketS4LIVENetFlix_1920x1088_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1bff67cf7bef84069ad33d6ae9cac98987b3cbfa --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVeniceS1Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4b78f43294835aac809a357818c7849514b8ee8f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVeniceS2Harmonics_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceSceneIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceSceneIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e579b91c0febd9430c00e8b4e98d6b2d52919e8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BVeniceSceneIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BVeniceSceneIRIS_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownKhaoStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownKhaoStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3996c681433eb9f4786d85c03a7bad9d75fb6d71 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownKhaoStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWalkingDownKhaoStreetVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownNorthRodeoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownNorthRodeoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..be30f80249f4d4873ec8252be88cfc5b9bcdc3e9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingDownNorthRodeoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWalkingDownNorthRodeoVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingThroughFootbridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingThroughFootbridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fa364af54730f214b2af73eded6e87f65e1ef2c3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWalkingThroughFootbridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWalkingThroughFootbridgeVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWatPhoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWatPhoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2b61b7d80dc41fa514c50b1f04e6ec88cd272d1a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWatPhoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWatPhoTempleVidevo_1920x1088_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS65Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS65Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3102253be900c762809da9dea42d17440e42ecfd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS65Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWaterS65Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS81Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS81Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..01fea939419f287d0aa7df074a0a78ec513ae40a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWaterS81Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWaterS81Mitch_1920x1088_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWoodSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWoodSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b09460b8c9f80f48f0c71d233c7f3048a3d411e1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWoodSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWoodSJTU_1920x1088_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/BWovenVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/BWovenVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b73948974440825b70c9a0f8ff67c65a723ea99d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/BWovenVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : BWovenVidevo_1920x1088_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1088 +FramesToBeEncoded : 64 +Level : 5 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAdvertisingMassagesBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAdvertisingMassagesBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0638825922466f37de5e596f72eb8f87da82ad0d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAdvertisingMassagesBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAdvertisingMassagesBangkokVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4fcdbd9b60d07b9d3cc2de5f9d54bdb8146e38e7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAmericanFootballS2Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bdb97197aa197952ff9a64d184d54aa06665b9e5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAmericanFootballS3Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..677ea67f0a60d57ad4d26d2b963f3db4243fbb7b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAmericanFootballS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAmericanFootballS4Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS11Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS11Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..880a2191ac767e8c5039a15680cdbbe8e3944651 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS11Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAnimalsS11Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..19c5f5f0e50f5c12143f45a6c0ff71a569e2eb38 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CAnimalsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CAnimalsS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBangkokMarketVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBangkokMarketVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..72812c23b15de150353004dff6b351e4c6ef3d62 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBangkokMarketVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBangkokMarketVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4e37137aaed4fd9de784bfc02650c7b9e69f6cd6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBasketballGoalScoredS1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..406b18e0ee4001c37190f5a05027c7b795926e9f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballGoalScoredS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBasketballGoalScoredS2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a4ea932cdda77bf5c5ae38baa69e7807b340078f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBasketballS1YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2184106ebf16c4d65527e7094a6d7df3c695d85d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBasketballS2YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS3YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS3YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c89d46a341a8ca5f8d2cd7c71c04a4e4e0c05fca --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBasketballS3YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBasketballS3YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBoatsChaoPhrayaRiverVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBoatsChaoPhrayaRiverVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df4bbe731e4a2a70ea2c3ed989202d447ca90084 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBoatsChaoPhrayaRiverVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBoatsChaoPhrayaRiverVidevo_960x544_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBobbleheadBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBobbleheadBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..36e84a62c18451103b5f7260bb1f57a58ee33ab3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBobbleheadBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBobbleheadBVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBookcaseBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBookcaseBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..47a95de2c29ef4a643487d08a58f0785f8b10146 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBookcaseBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBookcaseBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBoxingPracticeHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBoxingPracticeHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0b1f0119ff5101a4b22377e25baa3ee463c8016b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBoxingPracticeHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBoxingPracticeHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBricksBushesStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksBushesStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5e3c6aeaeaeca84cd6ab4be97580dfaf383b0cbe --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksBushesStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBricksBushesStaticBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBricksLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3f16f31ffa4b78ed43c13422bd8f01b91a120972 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBricksLeavesBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBricksTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f2d6e625f26a1990822e50fbed27b04100399451 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBricksTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBricksTiltingBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBubblesPitcherS1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBubblesPitcherS1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..950801be4b028038dabb80933b2ec3da1cbf2e17 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBubblesPitcherS1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBubblesPitcherS1BVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e9bef4996692bd828119d1453225ce65fad21254 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBuildingRoofS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e96c00f1ae770ede3bd227018977d493031e3e55 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBuildingRoofS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4a415c5c547d7a093e0e57f053402145a6fb953a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBuildingRoofS3IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e0497d4d89e889f304969baec208a90db52c0815 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBuildingRoofS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBuildingRoofS4IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBuntingHangingAcrossHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBuntingHangingAcrossHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f710b8b79de5bed25cb77f0219a5b4be0de78625 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBuntingHangingAcrossHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBuntingHangingAcrossHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CBusyHongKongStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CBusyHongKongStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f2d139eae5fa9279708c7b81a384e02e3746ab83 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CBusyHongKongStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CBusyHongKongStreetVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCalmingWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCalmingWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bb24752eec8f00935c7831617381261e44fdbfc3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCalmingWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCalmingWaterBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCarpetPanAverageBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCarpetPanAverageBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..77b0bbba64d0d7ae4ada213dc60fbf74f949a271 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCarpetPanAverageBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCarpetPanAverageBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCatchBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCatchBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..76d290cde14f647655d510105c63e2b314a0df1c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCatchBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCatchBVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCeramicsandSpicesMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCeramicsandSpicesMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3192c035e6065b9b4014feb2234303dedc5a82a1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCeramicsandSpicesMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCeramicsandSpicesMoroccoVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCharactersYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCharactersYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fe94b05e8f7566416ffefd72a6e30c1f4c8192fe --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCharactersYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCharactersYonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasPresentsIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasPresentsIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c95b83e055e882a461f04bd90c89d96c2fd6a6f6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasPresentsIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CChristmasPresentsIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasRoomDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasRoomDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ac592bb7cdc2e949e927d714c9af5a6fb4d07ff2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CChristmasRoomDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CChristmasRoomDareful_960x544_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CChurchInsideMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CChurchInsideMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..43103a070f7290cc9e4ae6f5549378d62a7195b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CChurchInsideMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CChurchInsideMCLJCV_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b18e75f321c49c2f46d40c84e0f39b26d0476e9f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityScapesS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0390b93f48ec46dfa9090707dd30f7b523ba0bc2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityScapesS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2334c7c3b67760520a8414cfc3462045ed1a4cdc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityScapesS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityScapesS3IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ac3d8a7e406a508d9a375f42535e2c46fb8bd07f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9a55a2fd0dba2ac0e2d296462aa62fc86fb9915f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS3IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..78defae656ba39a08185928163f18583e3ae0699 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS4IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..793b72c5b649432e4084504b98534ee95423ce95 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS5IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS6IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS6IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1423f20a4df73476c2a3fce1f4c0dc21489ca166 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS6IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS6IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS7IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS7IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1595e5569ecb94fda9a0b7f1b557cb5a57663aa1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCityStreetS7IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCityStreetS7IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCloseUpBasketballSceneVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCloseUpBasketballSceneVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1b7102022ef1ca22eb09c15c19a0c564eab9fa8e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCloseUpBasketballSceneVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCloseUpBasketballSceneVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCloudsStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCloudsStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a49f70f89cab4524edb4145c56e17e2b55643e7e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCloudsStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCloudsStaticBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulDecorationWatPhoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulDecorationWatPhoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..998f116e7566abda4e42b03653e6bd67c0ab2fd2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulDecorationWatPhoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CColourfulDecorationWatPhoVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulKoreanLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulKoreanLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4499164bea3396b3e8d4ff67bce477d810432b62 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulKoreanLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CColourfulKoreanLanternsVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulPaperLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulPaperLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a31f686fbddf5d4a1bfab4f5bc54d9df10dafa0f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulPaperLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CColourfulPaperLanternsVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulRugsMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulRugsMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f340cc1b9aea800d8a0104974578c5fec458d762 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CColourfulRugsMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CColourfulRugsMoroccoVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CConstructionS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CConstructionS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d5eb300f1b2e3c34a6d35fb8583fa94f184b3785 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CConstructionS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CConstructionS2YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCostaRicaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCostaRicaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..372f02fb3f07c9113d3dc4b6685492f7f00b0f93 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCostaRicaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCostaRicaS3Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e77af5790e7679fd877aeebb1505e78f7c11d0f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCrosswalkHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ef174a899797fdc28acff15cf16a4d4836783fe3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCrosswalkHongKong2S1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b56e9c77bab9ca02129476b518486feb78795fe2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKong2S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCrosswalkHongKong2S2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..456d22ebe1652a0e33ed4d2bb5b227d2185fa9e2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCrosswalkHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCrosswalkHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCrowdRunMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCrowdRunMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3ae527db1d7924d7c8423140f53181aa264cf828 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCrowdRunMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCrowdRunMCLV_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6e053f9f3f68e3f61bfad57381c115f0114a5ef9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCyclistS1BVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistVeniceBeachBoardwalkVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistVeniceBeachBoardwalkVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bd5ff1ce1df5827548cbcf51d31abd9d4ce96ee7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CCyclistVeniceBeachBoardwalkVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CCyclistVeniceBeachBoardwalkVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0a5361c56806e9bf9971f841ee913584a3c5d5dc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CDollsScene1YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e5be29c30f01bbbcee34ae16d707e585c47a2d21 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CDollsScene2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CDollsScene2YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CDowntownHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CDowntownHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..31a471ac55fcd131b87b38728a311e5139b49495 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CDowntownHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CDowntownHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CDrivingPOVHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CDrivingPOVHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5fb91d96832ccdd940cd4fad176a865780b1db3c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CDrivingPOVHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CDrivingPOVHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CDropsOnWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CDropsOnWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e4a0ab5f735e6c308161171021316d233dfa53c8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CDropsOnWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CDropsOnWaterBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CElFuenteMaskLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CElFuenteMaskLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..73a2caa79225032a4d7a39efe72f1c4166d49bc5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CElFuenteMaskLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CElFuenteMaskLIVENetFlix_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..997bb9143b5219954ace1f9783062c052e963a4f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CEnteringHongKongStallS1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..35a715366b4269728e6046f15206955399cb298c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CEnteringHongKongStallS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CEnteringHongKongStallS2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFerrisWheelTurningVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFerrisWheelTurningVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c47287ecf3e2461ef53f2b930caa8bf9fa0e7ff1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFerrisWheelTurningVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFerrisWheelTurningVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFireS18Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS18Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ede1b336f5e167fad7a9f33cd67749c71bcd0bcf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS18Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFireS18Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFireS21Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS21Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9bde4dbe30704d50d4389824eb4b11b5165544b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS21Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFireS21Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFireS71Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS71Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4dc89c42dfd6942d1899e1f060c738a072bf4112 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFireS71Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFireS71Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9ce23ac80535d9e8f483a585a0fcb70810f5810b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFirewoodS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..04ef1915a75d4775055ecc77f59af2e4bab6f693 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFirewoodS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFirewoodS2IRIS_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFitnessIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFitnessIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c3bf01d3e293f01fa96887788c27fed815f62976 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFitnessIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFitnessIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFjordsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFjordsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..08f525d08aea646c2648ddbea3e99a47c59ae6ed --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFjordsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFjordsS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlagShootTUMSVT.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlagShootTUMSVT.cfg new file mode 100644 index 0000000000000000000000000000000000000000..73a70b40ed5a0fcf0804823ab4e1dbbcce7b6e25 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlagShootTUMSVT.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlagShootTUMSVT_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..604ab71b397b289034f9955e2924db8ddcfc3611 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlowerChapelS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1dcca65ac750d946c852d9d1e007afa7369fc3bc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlowerChapelS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlowerChapelS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingCountrysideDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingCountrysideDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..95fe7b165b53b59486ea67028d70cf320039ff24 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingCountrysideDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlyingCountrysideDareful_960x544_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingMountainsDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingMountainsDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9e0d67add885634144fce6ecef004a5060872d0c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingMountainsDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlyingMountainsDareful_960x544_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingThroughLAStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingThroughLAStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ec952a7b7f4e5895bd8572b0ae01d660c5643906 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFlyingThroughLAStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFlyingThroughLAStreetVidevo_960x544_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CFungusZoomBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CFungusZoomBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3f3f4aaf439ddefd0a02b5b315922cb609b19a54 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CFungusZoomBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CFungusZoomBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CGrassBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CGrassBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c3acfbff4f26aa1659e7954f562049e5c2ba3ff4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CGrassBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CGrassBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CGrazTowerIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CGrazTowerIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cf81a1ceb4994cb51c60eeb4bf008c62abad3661 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CGrazTowerIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CGrazTowerIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHamsterBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHamsterBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1c5dae6023f443cd177efef148d87431a28b4864 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHamsterBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHamsterBVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHarleyDavidsonIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHarleyDavidsonIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3e7f36d2d63342a25c8f50cdc6c08681e92f21c2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHarleyDavidsonIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHarleyDavidsonIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongIslandVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongIslandVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bdcb0b793ee855783424a2ec7f5259e093152edc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongIslandVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongIslandVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..491f379ca6013da73a8f23a25f3030699d171b60 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..72b9f58dd232500878a1ee2b80c7fe0a76747950 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..78679b9f1ecc003dddfdfeea5c55c0e74331637f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket3S1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..570ed15ac3ca1de9145441619f77c05ae80137f1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket3S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket3S2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7b00ed4ecd5501ac64afdf9d922b52c0a83c884b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket4S1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..22743fb44a1ad30ddae0a5e6ea07c7fc043b97b3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongMarket4S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongMarket4S2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9bb2a852428a72ce19c03aafcb63bbb54aeabf5e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..97c3c11f832a492672ca299b94e274065b430f5a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongS2Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..45ffa235cd7daa83c8cf949099ce77d09fd57289 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHongKongS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHongKongS3Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHorseDrawnCarriagesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseDrawnCarriagesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3a4e3a013a5a90ef86c5946c14fa25b1969116c5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseDrawnCarriagesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHorseDrawnCarriagesVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..84a0fcb938c4d8f2a40f1177fc54d0a46d6a8f7f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHorseStaringS1Videvo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3a1f612c19f6849e88f359b954e6cfdf13532483 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CHorseStaringS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CHorseStaringS2Videvo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CJockeyHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CJockeyHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..011603b9751698fe5ab36509f740a109182c52ed --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CJockeyHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CJockeyHarmonics_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e8e0294ac083debd855a9e373fa3874e5805ad3b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CJoggersS1BVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS2BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS2BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..527624ef15de796114dd45ce0bef31c9b9c7e7a6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CJoggersS2BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CJoggersS2BVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CKartingIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CKartingIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7b454bb59e68fbe3c39055e5af834283751746f9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CKartingIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CKartingIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CKoraDrumsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CKoraDrumsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2f6b5833fcfe976cda2cb4145fe356d226c3eb63 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CKoraDrumsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CKoraDrumsVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLakeYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLakeYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7fcb9836984e2322bdcb31417b392a050857ba1e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLakeYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLakeYonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLampLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLampLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9631081abc859bd27fc13dad6a4fd348fd90a733 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLampLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLampLeavesBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLaundryHangingOverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLaundryHangingOverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9c6644d01ceff34917af4869849fb5bd1ed2ae45 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLaundryHangingOverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLaundryHangingOverHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f166ddafecc5ef4ea4c5d7587b37b95195de9ca9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLeaves1BVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves3BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves3BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c21b16c43565d7c376319f96a4c35cfb67a6fe10 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLeaves3BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLeaves3BVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLowLevelShotAlongHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLowLevelShotAlongHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fb33ce1ba440385d351d692ea1205b705ac2224c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLowLevelShotAlongHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLowLevelShotAlongHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7917d396449a31695c0b4651f874278faa8bcf0c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLungshanTempleS1Videvo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b9cd514dbabcb40e727444a6255a4f7af6f32831 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CLungshanTempleS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CLungshanTempleS2Videvo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CManMoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CManMoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..45a841a7c91ba2c2a2a53d9fa55bb22ae78f4ff5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CManMoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CManMoTempleVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CManStandinginProduceTruckVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CManStandinginProduceTruckVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0af9ae3e28ec093482f9fa47a35fe4dcf48f6eb3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CManStandinginProduceTruckVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CManStandinginProduceTruckVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CManWalkingThroughBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CManWalkingThroughBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..04f0ccf9b5ae76b114e135f190d2ca8c36c415a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CManWalkingThroughBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CManWalkingThroughBangkokVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d7a7e49d8772cdb746b15f38e487fd8d1f2faf98 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMaplesS1YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..396a955649fa9dfcf673a49bf6feba8a4f5def01 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMaplesS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMaplesS2YonseiUniversity_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b9106593ab7f830ee396e2e7ec4ccc80ab22e4a7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMirabellParkS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2abe1237e16c6925e6fa1a7157e51f9896577925 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMirabellParkS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMirabellParkS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMobileHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMobileHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b21ff901bae47c536171f3a967685c958abed331 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMobileHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMobileHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanCeramicsShopVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanCeramicsShopVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5ab83b8e48108bc09a56e76ad1217b61ea029d93 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanCeramicsShopVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMoroccanCeramicsShopVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanSlippersVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanSlippersVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d3a218d0ec8b5532b28c8878cf7272e3ddb10296 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMoroccanSlippersVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMoroccanSlippersVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMuralPaintingVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMuralPaintingVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3dd03f7d4078f72cb09f462cfc3e82115194982d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMuralPaintingVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMuralPaintingVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f09a440a0c5633a05876716a5b519151617e90b2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMyanmarS4Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS6Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS6Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0c91570c455c0ef361dd350e7d8106bd4686ebbc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMyanmarS6Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMyanmarS6Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CMyeongDongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CMyeongDongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..862fd4f90a90d3a17dcf2bf7c7ee9dd1c95fcd94 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CMyeongDongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CMyeongDongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CNewYorkStreetDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CNewYorkStreetDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1828b6077f9ab597ab8c4265194915293a648d1c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CNewYorkStreetDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CNewYorkStreetDareful_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/COrangeBuntingoverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/COrangeBuntingoverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..26d6b69467b84315f962d5fe6c5dd2c269188185 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/COrangeBuntingoverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : COrangeBuntingoverHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPaintingTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPaintingTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..70fe36406f2e3cde39b5ffdda06ab4427b17bde1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPaintingTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPaintingTiltingBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CParkViolinMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CParkViolinMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..910bbdf52d9705fa2f48ee3798addd651864be4c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CParkViolinMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CParkViolinMCLJCV_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPedestriansSeoulatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPedestriansSeoulatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c6dbd48356e11229598ba2258c38a37a3d8bfb98 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPedestriansSeoulatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPedestriansSeoulatDawnVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPeopleWalkingS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPeopleWalkingS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4899f1a599bc5d51349222cb54a03630f6dc9f36 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPeopleWalkingS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPeopleWalkingS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPersonRunningOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPersonRunningOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..85db2d806063c5b45d326f88fadca2a1697b05de --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPersonRunningOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPersonRunningOutsideVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPillowsTransBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPillowsTransBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..675020bb394bf3973c306b29482c3997a27756cb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPillowsTransBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPillowsTransBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPlasmaFreeBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPlasmaFreeBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c381cfb0c627eb8a583c62315c7e0720869ead92 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPlasmaFreeBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPlasmaFreeBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CPresentsChristmasTreeDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CPresentsChristmasTreeDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2214f43646c43a1dc16f47780161d37fdaae1d29 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CPresentsChristmasTreeDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CPresentsChristmasTreeDareful_960x544_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CReadySetGoS2TampereUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CReadySetGoS2TampereUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1735d9390573cd2d83309d0658b8d9233b8abe50 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CReadySetGoS2TampereUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CReadySetGoS2TampereUniversity_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CResidentialBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CResidentialBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2d12782bdf20698fcf7057ed92c5055418ea6b2e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CResidentialBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CResidentialBuildingSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CRollerCoaster2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CRollerCoaster2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fb860c860478ce72fdba2bf38fad30de056f5645 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CRollerCoaster2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CRollerCoaster2Netflix_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CRunnersSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CRunnersSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f0070642c646f58a38af27a19584551d4e5cfabe --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CRunnersSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CRunnersSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..de1704e69c8d0f075cc254a7d2079f8f00a6b84d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CRuralSetupIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8b3ea21858a7d0eb0b64fa0315264f6c83b19ca9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CRuralSetupS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CRuralSetupS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CScarfSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CScarfSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..29ad24f32e39700646b11859f53d0ea6376f27be --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CScarfSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CScarfSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSeasideWalkIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSeasideWalkIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ac831502007ea76a79444fcf36f82d5ea38a50fc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSeasideWalkIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSeasideWalkIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSeekingMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSeekingMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..160fc97466d49ec8f2224a8a72f7313b2712261c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSeekingMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSeekingMCLV_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSeoulCanalatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSeoulCanalatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fbf7d5a854fd6de01ca84440d96322fc4887606f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSeoulCanalatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSeoulCanalatDawnVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CShoppingCentreVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CShoppingCentreVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..06c53e4a06f1d125fdf1235124f8e740b4b26ec2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CShoppingCentreVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CShoppingCentreVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSignboardBoatLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSignboardBoatLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0c627ba0a7a8621f0147ef9df1aef14755d262f1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSignboardBoatLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSignboardBoatLIVENetFlix_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSkyscraperBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSkyscraperBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..88add97790f10bd4930b1b1b71f43c68a034439b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSkyscraperBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSkyscraperBangkokVidevo_960x544_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeClearBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeClearBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a515a586f306f2c0f4b91deac3888e995b85eff9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeClearBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSmokeClearBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeS45Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeS45Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..54348ed9b6c0149b284c46a105f8506a244f5255 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSmokeS45Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSmokeS45Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSparklerBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSparklerBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..397627056d1021c75878a299baae55a2a8fdb2bb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSparklerBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSparklerBVIHFR_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSquareAndTimelapseHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareAndTimelapseHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..55ed87e16634b6e1b07dfd10484b8cac881a4049 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareAndTimelapseHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSquareAndTimelapseHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..24c874a7c286fbd73bd3e1a71ebcef9950b1fbeb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSquareS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4de47423bdc2cac565f5a6b701e1b1c4dbcd409e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CSquareS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CSquareS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetArtVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetArtVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6ae52d4aa0b30a8b996e0ab279a6e9b9c8c9243e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetArtVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetArtVidevo_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3a3dc56abe42b779e9eeb8b95cd8dd6799eff6d3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetDancerS1IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fd7fd2b5633339a7238d00c31ba83fed2ea331a6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetDancerS2IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9c2b5fb9835a94a1875cdbbffd3dfb1f64e21486 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetDancerS3IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..42a05e72d515245e20029a0681d23d39be81d47d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetDancerS4IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dacc3f0859ab6bf62c7e79387d9a7ca3dafaad3a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetDancerS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetDancerS5IRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..781932d7d0bf4c290b56269a54688d3920a10f54 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetsOfIndiaS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fc3e29d59e4ebdae046b066d45aa13324cdc2c9c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetsOfIndiaS2Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57f6748fde581d5f8a7042659284d92be362291e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CStreetsOfIndiaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CStreetsOfIndiaS3Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f80fcc8ef689c9146876db91ca09023a9230200a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaiChiHongKongS1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5771138bd7fcb1eb7dc91e96e2bff4dea32aad61 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaiChiHongKongS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaiChiHongKongS2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftops8Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftops8Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c249131861f7f978236a7c711a2aba291368ddd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftops8Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaipeiCityRooftops8Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..94bf641bf3dfadc16d77e1f6815a75734af5b275 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaipeiCityRooftopsS1Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..257fa0332342ab2a8ec1593890ea56da8673fdc6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaipeiCityRooftopsS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaipeiCityRooftopsS2Videvo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTaksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTaksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..998c8df2e1066ebbf4bdb43ab0c3d91edb9bcc38 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTaksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTaksinBridgeVidevo_960x544_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTallBuildingsSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTallBuildingsSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1289ec9de56c6738cecc4b9a2cd1bf8db781919a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTallBuildingsSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTallBuildingsSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTennisMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTennisMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..584c9746bd0e552c6d12a808fc5a5a4570b4e930 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTennisMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTennisMCLV_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CToddlerFountain2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CToddlerFountain2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..caf703a77c7d418d806ab4871f1959d0c017e665 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CToddlerFountain2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CToddlerFountain2Netflix_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTouristsSatOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTouristsSatOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3d218f4ab4ee98be6855cace432f11806a6fed0d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTouristsSatOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTouristsSatOutsideVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CToyCalendarHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CToyCalendarHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..793aada1c329e87388f5256ae8102ce3b942ba7f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CToyCalendarHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CToyCalendarHarmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingDownHongKongSideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingDownHongKongSideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cf55033c5ec09f5f599222de7b7ece773ceb7335 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingDownHongKongSideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrackingDownHongKongSideVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastRestaurantVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastRestaurantVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e04de21c22546b3d67881846b86e6f811c4196b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastRestaurantVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrackingPastRestaurantVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastStallHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastStallHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c35730b1b75c72ff8db7562356702da996ba31dc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrackingPastStallHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrackingPastStallHongKongVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTraditionalIndonesianKecakVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTraditionalIndonesianKecakVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fb057d752c1a5b7671012a88c6b464c59e9fad84 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTraditionalIndonesianKecakVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTraditionalIndonesianKecakVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficFlowSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficFlowSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57f76aa148b54441b7c04cffd104f19cac27cb1a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficFlowSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrafficFlowSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficandBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficandBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6a594c2bb93d1b277c699027c194c8f3fd670619 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficandBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrafficandBuildingSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficonTasksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficonTasksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9be1ee2796a4df025c65446661296f1b242c10f6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTrafficonTasksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTrafficonTasksinBridgeVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTreeWillsBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTreeWillsBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7a6aead6889f5783f1efc73dd6bcb3e33bdb7665 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTreeWillsBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTreeWillsBVITexture_960x544_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTruckIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTruckIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a014a4274e47d7b98441911674c26059145b8011 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTruckIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTruckIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CTunnelFlagS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CTunnelFlagS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c72cd2cfa50893441a4266d4fc7fb24ba7d3148b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CTunnelFlagS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CTunnelFlagS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CUnloadingVegetablesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CUnloadingVegetablesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b2bc6b28717577b665076ecc269f2f7ef9f036fd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CUnloadingVegetablesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CUnloadingVegetablesVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS1LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS1LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e9f5cae5dace3e7eb89c037b9fe5a647701c9a0f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS1LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVegetableMarketS1LIVENetFlix_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS2LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS2LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2af37bc5d6ad57997fc7b1c10bb3808dfb3b6a9c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS2LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVegetableMarketS2LIVENetFlix_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS3LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS3LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cc83cd0095cdf5b6962063759f0f2cd4275efc26 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS3LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVegetableMarketS3LIVENetFlix_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS4LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS4LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a633de2094cddedcee8fed40d6e972e753b558e5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVegetableMarketS4LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVegetableMarketS4LIVENetFlix_960x544_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a38895177aa0a14d9aa0f8ec097497ed9adf44b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVeniceS1Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c798c574b9b7432ab85d7dccddadd259e0e83a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVeniceS2Harmonics_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceSceneIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceSceneIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cb02c6206d7d55dfe9f61c093669ca25eb8a8fa9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CVeniceSceneIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CVeniceSceneIRIS_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownKhaoStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownKhaoStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..51ad0f7d25ef3fd8e2ef9b98afe26b3a56bbb47f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownKhaoStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWalkingDownKhaoStreetVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownNorthRodeoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownNorthRodeoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bd911c1ce98b2d7bce8fadd1913e19114a02254f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingDownNorthRodeoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWalkingDownNorthRodeoVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingThroughFootbridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingThroughFootbridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..680041d79b3034c45e6d67af3a6de3db22c84b1b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWalkingThroughFootbridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWalkingThroughFootbridgeVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWatPhoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWatPhoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8ffb17ec664856cd3424874ff43efde4961402d3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWatPhoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWatPhoTempleVidevo_960x544_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS65Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS65Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2d216013f176e723d7019affd0b27b001862d349 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS65Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWaterS65Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS81Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS81Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cc31bcad501e5d5f9db012e16468f1ece0d06e12 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWaterS81Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWaterS81Mitch_960x544_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWoodSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWoodSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d84a9efb4f346862d9515283e78314e8cf1a0a05 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWoodSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWoodSJTU_960x544_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/CWovenVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/CWovenVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0d0e5a7b63fb5638306705978559ea349f8b8d0a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/CWovenVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CWovenVidevo_960x544_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 960 +SourceHeight : 544 +FramesToBeEncoded : 64 +Level : 4 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAdvertisingMassagesBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAdvertisingMassagesBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..279fb16eeb4507f2fb05a3ff3c01ad6be47f62d0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAdvertisingMassagesBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAdvertisingMassagesBangkokVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d4aa5f1f197f5287e0399c09571cb8fe364f86ff --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAmericanFootballS2Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9a0f4e4e55fae7ead3b86a7f2848baab895ec4f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAmericanFootballS3Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..de0a972dd8a14df5ea5f9fb18c48efe05c77a079 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAmericanFootballS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAmericanFootballS4Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS11Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS11Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..eeeb49b8b62c80ebf010e4bd3e3d2675a77598c4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS11Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAnimalsS11Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d3361a8ca45cc31eae1fb8da7a98205fb9d1dc5a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DAnimalsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DAnimalsS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBangkokMarketVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBangkokMarketVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b53d0b19f40d49d3bf9c8601cd3816327e63abaf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBangkokMarketVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBangkokMarketVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..98fed945f7967c046bec5558cc606ee1e9058975 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBasketballGoalScoredS1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e767be91fded63092701512bd3e9192070ebd44c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballGoalScoredS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBasketballGoalScoredS2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..61f76e938abf6192958f15870e534fc8fdda9ebc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBasketballS1YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4a35ed757319fd40cac802c019c24903cccac3a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBasketballS2YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS3YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS3YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..09df784f06ba6c4d9076e820b3a83ff2b6d001d0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBasketballS3YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBasketballS3YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBoatsChaoPhrayaRiverVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBoatsChaoPhrayaRiverVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..136878c32a31ed0720914f32a4cb110a4db7569a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBoatsChaoPhrayaRiverVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBoatsChaoPhrayaRiverVidevo_480x272_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBobbleheadBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBobbleheadBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0a518ed747b40f5ee1788643905c80566d785287 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBobbleheadBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBobbleheadBVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBookcaseBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBookcaseBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..936fbdf19174a42148d299e1058e4dd0abaa595b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBookcaseBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBookcaseBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBoxingPracticeHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBoxingPracticeHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ea09d073ade245c8ac621566b796af80f8fb0fa1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBoxingPracticeHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBoxingPracticeHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBricksBushesStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksBushesStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..27f4b63b042829776fbaadfb034f58b56954f0ea --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksBushesStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBricksBushesStaticBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBricksLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6458a19d40bdd579b5fb80e6f31eec20ae320d5e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBricksLeavesBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBricksTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4cf196e2e33262234b447f035fb746a7db067178 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBricksTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBricksTiltingBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBubblesPitcherS1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBubblesPitcherS1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..89fe7cd34cd7d1eaf09035fa317ab14cd34514bf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBubblesPitcherS1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBubblesPitcherS1BVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57bae7d930934841236ba20e2d1b9463272fd4eb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBuildingRoofS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..538fa9810126004ffce68e320b435dca867905a5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBuildingRoofS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a584d54f212a913f3370fa51beec0fb8d5e42d71 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBuildingRoofS3IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d1c30fc5277f53c640b65637e595da2e7369b1d5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBuildingRoofS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBuildingRoofS4IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBuntingHangingAcrossHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBuntingHangingAcrossHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c3fdfc7a11a3ef04be3c280520a9fa2a2a49761 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBuntingHangingAcrossHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBuntingHangingAcrossHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DBusyHongKongStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DBusyHongKongStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f91c1b9a1d4c645b7f61dcd1da21870bbdc7e342 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DBusyHongKongStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DBusyHongKongStreetVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCalmingWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCalmingWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e6b8d9eb8eb7da95bc659c3aeab9da1ba7550f9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCalmingWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCalmingWaterBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCarpetPanAverageBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCarpetPanAverageBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c7f77339fb13903af6ea62df5f25652ee71dc338 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCarpetPanAverageBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCarpetPanAverageBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCatchBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCatchBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c45e1fa6bda8b0330b0098a42b80ec11208a0b14 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCatchBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCatchBVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCeramicsandSpicesMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCeramicsandSpicesMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..37f3bd74a0381f2d5fdee7f73194c6fa7f5db186 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCeramicsandSpicesMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCeramicsandSpicesMoroccoVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCharactersYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCharactersYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2b57d110a80f7dee83a800bb3c1144ef05863ed2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCharactersYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCharactersYonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasPresentsIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasPresentsIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..254c765485d31ea4f8756141f8a2dd7fd154f12a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasPresentsIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DChristmasPresentsIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasRoomDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasRoomDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c10039571bcdf81beb005f9e6c809e161fa59746 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DChristmasRoomDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DChristmasRoomDareful_480x272_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DChurchInsideMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DChurchInsideMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0e6b1946c5c43aac1672e71bac88a2cad8715c30 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DChurchInsideMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DChurchInsideMCLJCV_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..663b6a496ee8f9151ff911d49befc688e09df7e1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityScapesS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3b97ca64695149cc0ffb8a2ff7cf6088482b3835 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityScapesS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d7f9fe0e9f17b27f2b20db50ffd0b33091305614 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityScapesS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityScapesS3IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..091c277ddfc66afac6dc22e3e390db3cab0583f1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6b3a8d3ec0057c340b84cc5827a93c7e4e405089 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS3IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e2ee135ddff2be825c68e029ce4e538c9d0d85cc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS4IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..80e11efeae5cedac10f6fb8affd9a327ae5e17bd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS5IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS6IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS6IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f5470a9a88866c1e05d615ac9e41745194e410c7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS6IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS6IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS7IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS7IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c7f152f34ead75bb1f25a19deb345bc80a8dfd6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCityStreetS7IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCityStreetS7IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCloseUpBasketballSceneVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCloseUpBasketballSceneVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8affd753608e97d77abf1f680fd7f42825cc1595 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCloseUpBasketballSceneVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCloseUpBasketballSceneVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCloudsStaticBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCloudsStaticBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a2d8b0db7b71a7ccefd7cfbcf941f6ee68b33f56 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCloudsStaticBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCloudsStaticBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulDecorationWatPhoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulDecorationWatPhoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b2d04f803cd84d7063ff4a2a7f57bffa238141c0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulDecorationWatPhoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DColourfulDecorationWatPhoVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulKoreanLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulKoreanLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..63287d02f6b01f1715e55d232d2109a023629fb2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulKoreanLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DColourfulKoreanLanternsVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulPaperLanternsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulPaperLanternsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..60195807d50665c083f6dbe9b1df65ab0c242bd3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulPaperLanternsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DColourfulPaperLanternsVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulRugsMoroccoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulRugsMoroccoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ab381277f7898212e814b8fe3134bf8b22c22952 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DColourfulRugsMoroccoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DColourfulRugsMoroccoVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DConstructionS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DConstructionS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1a6ba2876e08877be59ca766b88d054c4c41507b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DConstructionS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DConstructionS2YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCostaRicaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCostaRicaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c6fbd861cc44e2e71f51c3b76a7f8c7c81bdbf54 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCostaRicaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCostaRicaS3Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ad11c50574c884bdc79549dc400b5f32921b6047 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCrosswalkHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1dbbdf4b58971c8470b6631fbeffeaaa152ae044 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCrosswalkHongKong2S1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..def4b347a6e0971f90b81e3b453a4be61e1c14c5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKong2S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCrosswalkHongKong2S2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6d038206ac166320ceb6e9a80abd6aca8d309dd7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCrosswalkHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCrosswalkHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCrowdRunMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCrowdRunMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..854eccc749ca447453f7462efcb8a61f978414a2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCrowdRunMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCrowdRunMCLV_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..37bbda8d3d08696186d5bd17d971874ea441a235 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCyclistS1BVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistVeniceBeachBoardwalkVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistVeniceBeachBoardwalkVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5d89e6ba561cfbc9ded244c8e4b1592f2c93073d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DCyclistVeniceBeachBoardwalkVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DCyclistVeniceBeachBoardwalkVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8d90168e5ada2b44cd23b3f73f8ed6d877a2809c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DDollsScene1YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e0b6b434dec8cba99e1ae1bfd17820b9e5c9db4e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DDollsScene2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DDollsScene2YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DDowntownHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DDowntownHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1f3ce661dc50539ccb88e5b7b0ca423d69626e47 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DDowntownHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DDowntownHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DDrivingPOVHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DDrivingPOVHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..05d6dcde4eb09379c49fdf68069b766f78310869 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DDrivingPOVHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DDrivingPOVHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DDropsOnWaterBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DDropsOnWaterBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3b4dbd970b52da3f42fbd47e0b92256ba9587a0f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DDropsOnWaterBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DDropsOnWaterBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DElFuenteMaskLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DElFuenteMaskLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..24d2cd42cc3b27e244ea58775f8932cbfd59280a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DElFuenteMaskLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DElFuenteMaskLIVENetFlix_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c035242caa92c3e8537b0c2e86ebcaf0066b196c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DEnteringHongKongStallS1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..53beb6a0d1f222f3c0ef00a5cccc3140aac36813 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DEnteringHongKongStallS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DEnteringHongKongStallS2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFerrisWheelTurningVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFerrisWheelTurningVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..80f56c89368d9b5e3f1aa6be3ba388ed93f28a9e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFerrisWheelTurningVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFerrisWheelTurningVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFireS18Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS18Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b4522e8fb37b6a37839ef0d57f51dfb295eec018 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS18Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFireS18Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFireS21Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS21Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9e46b2d1110a43d22e6d351d9a94d9ccf009fdc5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS21Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFireS21Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFireS71Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS71Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4a2a7254d0d8d3adb330fbeffd8ce6c6da4785e0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFireS71Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFireS71Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e3c096aee2f5f490c4964157ae032523e4ba2912 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFirewoodS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e5a0df60c6a60fd808d35a5a9f2e6b479c0c51f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFirewoodS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFirewoodS2IRIS_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFitnessIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFitnessIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..75ded72a54c20bfac986d950e431e215c1ebbc06 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFitnessIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFitnessIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFjordsS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFjordsS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..55e13b3ea6264601381007de283cfbe8585e7c1e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFjordsS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFjordsS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlagShootTUMSVT.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlagShootTUMSVT.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7aa51a1ee47292fc28807941fd221d46df1f9250 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlagShootTUMSVT.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlagShootTUMSVT_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..07ab109614d94b25696350f3b3899a51e05e4c25 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlowerChapelS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..390c1d84719cf7ca4f4cf60632c4199e0a59564d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlowerChapelS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlowerChapelS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingCountrysideDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingCountrysideDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5bbf73b497430e4b691ffe3a4e44fdbeb86721a8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingCountrysideDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlyingCountrysideDareful_480x272_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingMountainsDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingMountainsDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..156fca634decc43a2feb179e3e5b1246fb88a5ca --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingMountainsDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlyingMountainsDareful_480x272_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingThroughLAStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingThroughLAStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ab99ecbf1237618a66a8ccd9b05ed569cfe178ea --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFlyingThroughLAStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFlyingThroughLAStreetVidevo_480x272_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DFungusZoomBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DFungusZoomBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6ca6f040dce2ca1b9040d1632c03815463762575 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DFungusZoomBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DFungusZoomBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DGrassBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DGrassBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..311ebc42ae8019c29be96c3f0411e7c583853988 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DGrassBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DGrassBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DGrazTowerIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DGrazTowerIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f040840c4ee8afbbecb02642b776c10e3f71dba9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DGrazTowerIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DGrazTowerIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHamsterBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHamsterBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2ffccbafc2d56c34aa56f3f70b3cd089c10f39b4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHamsterBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHamsterBVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHarleyDavidsonIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHarleyDavidsonIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0da23ff98085cc67d40d7477d233e95356f70e0e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHarleyDavidsonIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHarleyDavidsonIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongIslandVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongIslandVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a0561b87361cee349c5bb1f1c112e336570c5f42 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongIslandVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongIslandVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..39f9f16d2ba28cdb1acf4d9875b6fe4c19331b6d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f8db252cb1a07dc70baa4123a8abb1cef45a9a29 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..292b0af979e548d0ff50fb6c09ed03d1763a5c17 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket3S1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..56e5bb15f619bea5840a750c251e3fc81f15e36c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket3S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket3S2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8358aa5d814d1aa76185e2be67b2ba1df3cee2b4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket4S1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..453d4a81e88eb9eda72888f0d77e86bb86d38f5f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongMarket4S2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongMarket4S2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b529774f28b4b7dac2ada5e041a9ceaaf50aa542 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5acd49bfc13c8d1de6649927bf2eae991ee7caab --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongS2Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ba1366bf2eb6d7468d0cd1d934b63946ba31bf69 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHongKongS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHongKongS3Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHorseDrawnCarriagesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseDrawnCarriagesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aec2fe063a8533ca803e16f2e0d666ca92e87306 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseDrawnCarriagesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHorseDrawnCarriagesVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ce910792b1de0ae053d497f87bbaf40e84910704 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHorseStaringS1Videvo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aac1136517476767856525fbde582273df25f6a1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DHorseStaringS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DHorseStaringS2Videvo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DJockeyHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DJockeyHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..91c64bbd9a74dfb3d90cba91965b38020372ae10 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DJockeyHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DJockeyHarmonics_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS1BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS1BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8d04c231b4f80fd505c8fd8fc331e8ca8ab4ba69 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS1BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DJoggersS1BVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS2BVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS2BVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e7b0fa886d3ac17d65f23d84c6b26e3b4a3c4727 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DJoggersS2BVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DJoggersS2BVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DKartingIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DKartingIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2c11cd5a5e9fcaf234b0917f44de8c0a472f024d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DKartingIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DKartingIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DKoraDrumsVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DKoraDrumsVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..37320cc6577f6b89e044c58b07a84689c600d9af --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DKoraDrumsVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DKoraDrumsVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLakeYonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLakeYonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..63c459725e4565b3ccfa33779aa1bf4137d1c72c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLakeYonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLakeYonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLampLeavesBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLampLeavesBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0df8771b4d9690acd0ede774f062346bdc38e759 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLampLeavesBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLampLeavesBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLaundryHangingOverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLaundryHangingOverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..143916612a9fb02e72672439aa6d08a15074d285 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLaundryHangingOverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLaundryHangingOverHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves1BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves1BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..161c0ce96f5351f6ef53910380e834b15c8a321b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves1BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLeaves1BVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves3BVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves3BVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..278a2236f58bdec2e5e22fe4724af1df3da80545 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLeaves3BVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLeaves3BVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLowLevelShotAlongHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLowLevelShotAlongHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9245af2bb29dc803c17db20390a7c5a970093925 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLowLevelShotAlongHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLowLevelShotAlongHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..89b1bf75c5c88ebf660a7180f275795d222ccd48 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLungshanTempleS1Videvo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cb6253016ed052e46c55af9de183ed0b0f32a357 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DLungshanTempleS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DLungshanTempleS2Videvo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DManMoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DManMoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..88db4dd6c65b4d0bfcab2ccd03e7a192fa36b665 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DManMoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DManMoTempleVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DManStandinginProduceTruckVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DManStandinginProduceTruckVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..22048849c2e3b2e7451783d707c203264ccdf167 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DManStandinginProduceTruckVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DManStandinginProduceTruckVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DManWalkingThroughBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DManWalkingThroughBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..370e368df8237acff74ba514cfe8d0ef419f3753 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DManWalkingThroughBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DManWalkingThroughBangkokVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS1YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS1YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..cc761b2b4133ced6d89272c19974a190aea6b16c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS1YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMaplesS1YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS2YonseiUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS2YonseiUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..651e1997e4b9129dae463c36f67422ad78bd84b5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMaplesS2YonseiUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMaplesS2YonseiUniversity_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..11aff1e2aae62b24aac1df5467c6077fcbfb16b1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMirabellParkS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c3f533e1ac4ac6a4b0cbb0ba668099f33d486e27 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMirabellParkS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMirabellParkS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMobileHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMobileHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..950b7963823cb998484e5fa37ff428b55a1e306a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMobileHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMobileHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanCeramicsShopVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanCeramicsShopVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6d0612fea101e45a603e6b231643e2bd578ea7ab --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanCeramicsShopVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMoroccanCeramicsShopVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanSlippersVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanSlippersVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1a78b44814b1ceaa6f3d9589a4f1ab70892791a0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMoroccanSlippersVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMoroccanSlippersVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMuralPaintingVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMuralPaintingVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8ef2cfd6b7f04f92719d3b65801689ec4c247123 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMuralPaintingVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMuralPaintingVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS4Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS4Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3ce3e2b756f53fbeff87c419242eb9728a68e3ad --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS4Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMyanmarS4Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS6Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS6Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..37401b04e8cadd7a37ec7f73e433bcf65134c6e1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMyanmarS6Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMyanmarS6Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DMyeongDongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DMyeongDongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..93df73bf17430c2b39f4cf7d06b45a5076072d49 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DMyeongDongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DMyeongDongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DNewYorkStreetDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DNewYorkStreetDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5b76ef1d296e12ccf0ba0945b7dd2f529cf2e43e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DNewYorkStreetDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DNewYorkStreetDareful_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DOrangeBuntingoverHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DOrangeBuntingoverHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b214d76277e679fa9ae58f007743ad2c0034dc01 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DOrangeBuntingoverHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DOrangeBuntingoverHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPaintingTiltingBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPaintingTiltingBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f08021cf433220476db401c31a8aa5e1366b9fe1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPaintingTiltingBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPaintingTiltingBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DParkViolinMCLJCV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DParkViolinMCLJCV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4da3183324b180eba7db3aefc4435da473c24da9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DParkViolinMCLJCV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DParkViolinMCLJCV_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPedestriansSeoulatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPedestriansSeoulatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..73c258e4b38d9913fd3f6e4a1a562d66386a2bfc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPedestriansSeoulatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPedestriansSeoulatDawnVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPeopleWalkingS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPeopleWalkingS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5525c9521255c59c41d7046accc9f702f137977d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPeopleWalkingS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPeopleWalkingS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPersonRunningOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPersonRunningOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1e0c96e77ea3d33978bb2dee3a870c6856e0a5b6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPersonRunningOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPersonRunningOutsideVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPillowsTransBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPillowsTransBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c969ad347f382a096b5b421685b1986d215cc1d0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPillowsTransBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPillowsTransBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPlasmaFreeBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPlasmaFreeBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8f7726081ae2a7e120c57a5ff617104fede1af85 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPlasmaFreeBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPlasmaFreeBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DPresentsChristmasTreeDareful.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DPresentsChristmasTreeDareful.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7451f9166a4dceb17a8a25fa2451b5f30e610f38 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DPresentsChristmasTreeDareful.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DPresentsChristmasTreeDareful_480x272_29fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 29 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DReadySetGoS2TampereUniversity.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DReadySetGoS2TampereUniversity.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f4d63ea5829458bbba11bbe9db41c99d58853188 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DReadySetGoS2TampereUniversity.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DReadySetGoS2TampereUniversity_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DResidentialBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DResidentialBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d245b13308ca43bcae07bb55e63d6612ff738ce6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DResidentialBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DResidentialBuildingSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DRollerCoaster2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DRollerCoaster2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ad8f7f26c1335a3123087af9a7b954b4138fb1a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DRollerCoaster2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DRollerCoaster2Netflix_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DRunnersSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DRunnersSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8cb266ece2f9f07cb0af4c3b6c7c4e61264d1156 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DRunnersSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DRunnersSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..414f156fcbd6a4bc321b6bab1fe85e37d749e9a6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DRuralSetupIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d166316208b16f7a3bf035c8bf44b533b1ee62aa --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DRuralSetupS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DRuralSetupS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DScarfSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DScarfSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9ac09b1799bc5e1085c32360f66fb00c72a4d80b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DScarfSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DScarfSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSeasideWalkIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSeasideWalkIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bafc8c7c556cf0f882e28653df932b9795f96e63 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSeasideWalkIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSeasideWalkIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSeekingMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSeekingMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..851eae90c8a8286f291f6b68d86960a5586741f0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSeekingMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSeekingMCLV_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSeoulCanalatDawnVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSeoulCanalatDawnVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c7190ac619f1a883b37a705b1fb0c6f0606680f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSeoulCanalatDawnVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSeoulCanalatDawnVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DShoppingCentreVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DShoppingCentreVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..25cc6dba9e9a0d3541b01bc90406af5de4a9fab3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DShoppingCentreVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DShoppingCentreVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSignboardBoatLIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSignboardBoatLIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bbec1a2a3a2042542a52799ec703108b4904a344 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSignboardBoatLIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSignboardBoatLIVENetFlix_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSkyscraperBangkokVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSkyscraperBangkokVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dc37d7fbeaf0a806db11d85d055a5cd3646ff514 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSkyscraperBangkokVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSkyscraperBangkokVidevo_480x272_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeClearBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeClearBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ec60e125663a3786c3b58aae1594bdb4ca707356 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeClearBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSmokeClearBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeS45Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeS45Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..055a0976574f081a8555d3841aee4f71a8754f5c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSmokeS45Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSmokeS45Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSparklerBVIHFR.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSparklerBVIHFR.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e84cc0b7acb084c83aea15e9313d2f04f3cc6a4a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSparklerBVIHFR.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSparklerBVIHFR_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSquareAndTimelapseHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareAndTimelapseHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3d17e749761d48e8ae6833f329b3271926bdc1cd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareAndTimelapseHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSquareAndTimelapseHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8f698823cb189ba3c77734efef4ca0d5e482d4ea --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSquareS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..99cab0da42c5e23d651fddb085c6979a3a7b2d38 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DSquareS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DSquareS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetArtVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetArtVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..87ece2219d441b9c19232fbe756e51542cc93e28 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetArtVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetArtVidevo_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS1IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS1IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3ae53cf88b3cdf095f68d0b8f1afc7067e739939 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS1IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetDancerS1IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS2IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS2IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bb9250726091fe49b1b78ad1aa637f29c6ac96c4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS2IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetDancerS2IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS3IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS3IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bf1198db995ac1dc4bfe4e791d546b8b2b113658 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS3IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetDancerS3IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS4IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS4IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..2edd9aa2a426a8af54326457b5e975ae82a6298e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS4IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetDancerS4IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS5IRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS5IRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d0ad1a248bd09e2f568d90353c1e7bebfcedd25a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetDancerS5IRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetDancerS5IRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..26bcd1987dfcfcb12c7b9137d90e53188a5a4fe5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetsOfIndiaS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d82445466271f6bacc84d1c870a1251289fd7e68 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetsOfIndiaS2Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS3Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS3Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..513bf9f4a62e46b223dc735c4ba637743a86bb4e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DStreetsOfIndiaS3Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DStreetsOfIndiaS3Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7c8268443790d5839e9780ce709b661147aa5ed3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaiChiHongKongS1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df8271f4c0c22e55f173c3d1c1c7dacf75913d30 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaiChiHongKongS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaiChiHongKongS2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftops8Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftops8Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a3455f4dfbf0b6a29756873aa3f51fc3804c0874 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftops8Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaipeiCityRooftops8Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS1Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS1Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..638268feec3837a7e9413c09895069047080b434 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS1Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaipeiCityRooftopsS1Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS2Videvo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS2Videvo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e6b841d79960e334ff47246ced8b4e434375a2c1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaipeiCityRooftopsS2Videvo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaipeiCityRooftopsS2Videvo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTaksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTaksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..22adb6ba7d8fb141fdc64cd99ad606cc5009372f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTaksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTaksinBridgeVidevo_480x272_23fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 23 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTallBuildingsSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTallBuildingsSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..047935ae2dcbbad9dc4f01c38f53ad63de1c2c34 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTallBuildingsSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTallBuildingsSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTennisMCLV.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTennisMCLV.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e4ac13aae98edcaea638d42c476b552ec06a6014 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTennisMCLV.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTennisMCLV_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DToddlerFountain2Netflix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DToddlerFountain2Netflix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4c54e5bebfa404f48404c68d82767a32007d5bd1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DToddlerFountain2Netflix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DToddlerFountain2Netflix_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTouristsSatOutsideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTouristsSatOutsideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..035cc6b84cf1c2d79f2a3dd67431752acc9968a8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTouristsSatOutsideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTouristsSatOutsideVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DToyCalendarHarmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DToyCalendarHarmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..717ba0aa4134011aebe3fce89afe047e699cb850 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DToyCalendarHarmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DToyCalendarHarmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingDownHongKongSideVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingDownHongKongSideVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9e395b81f34d93947dae318c425f6d668f03127d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingDownHongKongSideVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrackingDownHongKongSideVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastRestaurantVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastRestaurantVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..186919b18a07941fbba60398f2c3e9043f183686 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastRestaurantVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrackingPastRestaurantVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastStallHongKongVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastStallHongKongVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8e11bd4f4999b9b173a58aadd4d1704fc6b37397 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrackingPastStallHongKongVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrackingPastStallHongKongVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTraditionalIndonesianKecakVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTraditionalIndonesianKecakVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..10be49a6d53d2d7f8e66ed842e52388481a23c52 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTraditionalIndonesianKecakVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTraditionalIndonesianKecakVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficFlowSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficFlowSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e901c095d9eec922eeb960740364a0e5d685dacf --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficFlowSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrafficFlowSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficandBuildingSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficandBuildingSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3ad637a20cd9d4ee1f55b4d741a906c0008db1e7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficandBuildingSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrafficandBuildingSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficonTasksinBridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficonTasksinBridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..96528e5da85b6e3fa9ccc78f1794e565e7348e46 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTrafficonTasksinBridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTrafficonTasksinBridgeVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTreeWillsBVITexture.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTreeWillsBVITexture.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fefbe76446d1e4a22e508be6fd4582f97deb1c26 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTreeWillsBVITexture.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTreeWillsBVITexture_480x272_120fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTruckIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTruckIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3cb774c4c80c8e55279c2b6337a880442a5faf60 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTruckIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTruckIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DTunnelFlagS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DTunnelFlagS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dc997e63eeb43c9006728703991e797d290dda0d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DTunnelFlagS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DTunnelFlagS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DUnloadingVegetablesVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DUnloadingVegetablesVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5a6bd4c8ea36ee64da75bbfb7aaf93847adeaadc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DUnloadingVegetablesVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DUnloadingVegetablesVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS1LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS1LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ccd978ac651f80cf23fde701ec5d24f1889ab3bd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS1LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVegetableMarketS1LIVENetFlix_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS2LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS2LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3fefe6c5d78a6b27bb781ac70cbfe3940b907465 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS2LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVegetableMarketS2LIVENetFlix_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS3LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS3LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..421e4968b26866cec9d2f5e0c52a58a97297e82a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS3LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVegetableMarketS3LIVENetFlix_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS4LIVENetFlix.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS4LIVENetFlix.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c467d0cfad2b86e5c7e60f553a1208565d92166c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVegetableMarketS4LIVENetFlix.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVegetableMarketS4LIVENetFlix_480x272_30fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 30 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS1Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS1Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..69315bcf94eda00a8c6d0b988a91e5b2cec90b81 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS1Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVeniceS1Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS2Harmonics.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS2Harmonics.cfg new file mode 100644 index 0000000000000000000000000000000000000000..beeb88e5b9a849b5e4410d80f0c8ec8fcf883b37 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceS2Harmonics.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVeniceS2Harmonics_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceSceneIRIS.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceSceneIRIS.cfg new file mode 100644 index 0000000000000000000000000000000000000000..324f097683270d64ddfe237f0fa4d1b4c6a33c2f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DVeniceSceneIRIS.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DVeniceSceneIRIS_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownKhaoStreetVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownKhaoStreetVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bed7fb7ce99e7ca3900ecfbc36ad7868aea86fe0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownKhaoStreetVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWalkingDownKhaoStreetVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownNorthRodeoVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownNorthRodeoVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..12c01deabe92cd49d9f47bfd7fd620e1661ead8c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingDownNorthRodeoVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWalkingDownNorthRodeoVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingThroughFootbridgeVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingThroughFootbridgeVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aa618b27776bae8399b4a92a562d9474001d1fc6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWalkingThroughFootbridgeVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWalkingThroughFootbridgeVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWatPhoTempleVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWatPhoTempleVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d1f9df3d2d057dae86b4df900772aca00e04f5f8 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWatPhoTempleVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWatPhoTempleVidevo_480x272_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS65Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS65Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..56d281b174e40a389e869a9d785551ff554b5b83 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS65Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWaterS65Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS81Mitch.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS81Mitch.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c1a41a6c72168bc1bf75effc2384fa025c51ebf6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWaterS81Mitch.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWaterS81Mitch_480x272_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWoodSJTU.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWoodSJTU.cfg new file mode 100644 index 0000000000000000000000000000000000000000..76776070f2637b71968ed7c6b16e0af8883ee6ab --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWoodSJTU.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWoodSJTU_480x272_60fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/bvidvc/DWovenVidevo.cfg b/training/training_intra_prediction/cfgs_training/bvidvc/DWovenVidevo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f06e8aeb6b2bddda7660e58210b9e6472c83b45d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/bvidvc/DWovenVidevo.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : DWovenVidevo_480x272_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 480 +SourceHeight : 272 +FramesToBeEncoded : 64 +Level : 3 diff --git a/training/training_intra_prediction/cfgs_training/tvd/Bamboo.cfg b/training/training_intra_prediction/cfgs_training/tvd/Bamboo.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8f0058e3c345182658b8965d54b5346d50701a9b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/Bamboo.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : Bamboo_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BlackBird.cfg b/training/training_intra_prediction/cfgs_training/tvd/BlackBird.cfg new file mode 100644 index 0000000000000000000000000000000000000000..3b550fa3de21ea4ccdf6eef6a1990a2dbc5c84bc --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BlackBird.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BlackBird_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BoyDressing1.cfg b/training/training_intra_prediction/cfgs_training/tvd/BoyDressing1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c59010407af028f90862b871c35467a14b83018e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BoyDressing1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BoyDressing1_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BoyDressing2.cfg b/training/training_intra_prediction/cfgs_training/tvd/BoyDressing2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..aaca66ea01819bfbcf562a0f15beff44771354a4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BoyDressing2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BoyDressing2_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp1.cfg b/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..410cb329aa1a424574110c9da6b3e0419688f7f4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BoyMakingUp1_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp2.cfg b/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bd05a8bbef662a2ffe379b5029e4f3682bad6977 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BoyMakingUp2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BoyMakingUp2_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BoyWithCostume.cfg b/training/training_intra_prediction/cfgs_training/tvd/BoyWithCostume.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d6eeeebfc283622180ef3dc65ec059b11499fe7d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BoyWithCostume.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BoyWithCostume_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction1.cfg b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c63de03473f8b9f52d3732753b0677d04e9de03c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BuildingTouristAttraction1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction2.cfg b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ab11f9d93331e07c2ebbd3637b6feb7d35b76d2a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BuildingTouristAttraction2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction3.cfg b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6cf20f416d3b0ba9031b9bfd6438a04cdeac5523 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/BuildingTouristAttraction3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : BuildingTouristAttraction3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/CableCar.cfg b/training/training_intra_prediction/cfgs_training/tvd/CableCar.cfg new file mode 100644 index 0000000000000000000000000000000000000000..52bc711d31c15e5f4ec5c3696c96063265232ae3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/CableCar.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : CableCar_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCooking1.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a7edd2b19d93586b4c9973b05b39b3e2e36c5a1d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCooking1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCooking2.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1e448466672caef21f46053a15f5353571f441a3 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCooking2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCooking3.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b74452e93daa97e78f19446a4eb2a21ef9fbe9c6 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCooking3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCooking4.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking4.cfg new file mode 100644 index 0000000000000000000000000000000000000000..67c8f9c7fa2276bf643c44d9490a194efe196ef4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking4.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCooking4_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCooking5.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking5.cfg new file mode 100644 index 0000000000000000000000000000000000000000..79d2dfb55fcacfa0750f8007bdbadfebafcd5946 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCooking5.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCooking5_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp1.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1e27461e2275022793a87c6ad714eac1a1569c82 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCuttingUp1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp2.cfg b/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d9cc01cff9455a82cf5019b8300aa86be34fa275 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ChefCuttingUp2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ChefCuttingUp2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/DryRedPepper.cfg b/training/training_intra_prediction/cfgs_training/tvd/DryRedPepper.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4988fe53a62e570e3c8b10d4c010b01b07b248a2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/DryRedPepper.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : DryRedPepper_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/FallenLeaves.cfg b/training/training_intra_prediction/cfgs_training/tvd/FallenLeaves.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b711e3a775242112c8effa192311add205d32878 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/FallenLeaves.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : FallenLeaves_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/FallingLeaves.cfg b/training/training_intra_prediction/cfgs_training/tvd/FallingLeaves.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7ae0c7db62f1b91721c9e6ae02885791d318ce43 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/FallingLeaves.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : FallingLeaves_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/FilmMachine.cfg b/training/training_intra_prediction/cfgs_training/tvd/FilmMachine.cfg new file mode 100644 index 0000000000000000000000000000000000000000..02e48b49326faf7d376a7dbdc193e0cb47a128ec --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/FilmMachine.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : FilmMachine_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/FlowingWater.cfg b/training/training_intra_prediction/cfgs_training/tvd/FlowingWater.cfg new file mode 100644 index 0000000000000000000000000000000000000000..86bb639a47739352acbd342fdcc0650ea6aad144 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/FlowingWater.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : FlowingWater_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/Fountain.cfg b/training/training_intra_prediction/cfgs_training/tvd/Fountain.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a45dbf8f234d27a3abcdddef92efe270043bf73f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/Fountain.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : Fountain_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/FruitOnTree.cfg b/training/training_intra_prediction/cfgs_training/tvd/FruitOnTree.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c6e564911cdc4fe839e92cba2fb7310320b7b965 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/FruitOnTree.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : FruitOnTree_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlRunningOnGrass.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlRunningOnGrass.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5849393e00a7cc85492b16196f02d73e4f4f9a29 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlRunningOnGrass.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlRunningOnGrass_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlThrowingLeaves.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlThrowingLeaves.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ba5004d55d980de83b68228a2813bfa701d33676 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlThrowingLeaves.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlThrowingLeaves_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlWalkingOnStreet.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlWalkingOnStreet.cfg new file mode 100644 index 0000000000000000000000000000000000000000..84a5d45e4c0cbf145fa56ba1662175c54905f519 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlWalkingOnStreet.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlWalkingOnStreet_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlWatchingPhone.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlWatchingPhone.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5008ed9b740209ba3917a51dd53f673bd09ebe5f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlWatchingPhone.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlWatchingPhone_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet1.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..707d5d50d9cc720850b2d6c9a199d1f0bcfeebee --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlWithTeaSet1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet2.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..520ed9298267026fe6fd36454a88c584105d5375 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlWithTeaSet2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet3.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..10de8d0ef1b929d5c09ba8743652ef0e3aad7085 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlWithTeaSet3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlWithTeaSet3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass1.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..fa5d577bd670ef4e07bdee7db8b0c25bd459590e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlsOnGrass1_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass2.cfg b/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b85c50377fa868208fe94b362e1bc31c3722807e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GirlsOnGrass2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GirlsOnGrass2_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/GrassLand.cfg b/training/training_intra_prediction/cfgs_training/tvd/GrassLand.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1e8f6e44266eb14a77e8e634d49bd675fda57e3d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/GrassLand.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : GrassLand_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/HotPot.cfg b/training/training_intra_prediction/cfgs_training/tvd/HotPot.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dfe84df5e98e06b1f0562f05576c9b7291cf7c15 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/HotPot.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : HotPot_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/HotelClerks.cfg b/training/training_intra_prediction/cfgs_training/tvd/HotelClerks.cfg new file mode 100644 index 0000000000000000000000000000000000000000..18a5d039c986bd4d2fab52cf11631c229d91c89c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/HotelClerks.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : HotelClerks_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/LeavesOnTree.cfg b/training/training_intra_prediction/cfgs_training/tvd/LeavesOnTree.cfg new file mode 100644 index 0000000000000000000000000000000000000000..11022cc6d2a23b3dbd172a779bbdaf0fe9dc374d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/LeavesOnTree.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : LeavesOnTree_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/LyingDog.cfg b/training/training_intra_prediction/cfgs_training/tvd/LyingDog.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c559f236dc0fc7a4a61c1f24135f5c610574a5a2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/LyingDog.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : LyingDog_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/ManWithFilmMachine.cfg b/training/training_intra_prediction/cfgs_training/tvd/ManWithFilmMachine.cfg new file mode 100644 index 0000000000000000000000000000000000000000..66556d47d53b36de2dbd739d5e64035469085e22 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/ManWithFilmMachine.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : ManWithFilmMachine_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs1.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1172a5984eb3717acd472015639da83ae2677c4f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsAndStairs1_3840x2160_24fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 24 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs2.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a122525f1028084f0a9666bba8a043a16b620cd0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsAndStairs2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs3.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..924d5848597d686af886ba93dd973506d5692143 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsAndStairs3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs4.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs4.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f524fe182deb9ead08ee20846cf10ca97eb9cc8b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsAndStairs4.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsAndStairs4_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsView1.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsView1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c83752e95a93effe72df474c6fef2bb9ad01aed2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsView1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsView1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsView2.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsView2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d3328ee095b773293c8b945420e14b1c66299d2f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsView2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsView2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsView3.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsView3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1d470c05cc36e7eb5a96a0e9d5b6f282c50afbb1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsView3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsView3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MountainsView4.cfg b/training/training_intra_prediction/cfgs_training/tvd/MountainsView4.cfg new file mode 100644 index 0000000000000000000000000000000000000000..54e759f227192129e0e19b54745c5645e7c73169 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MountainsView4.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MountainsView4_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MovingBikes.cfg b/training/training_intra_prediction/cfgs_training/tvd/MovingBikes.cfg new file mode 100644 index 0000000000000000000000000000000000000000..390bbb62883f2be59b9f1dda02312ad57a47c4e4 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MovingBikes.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MovingBikes_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/MovingBikesAndPedestrian4.cfg b/training/training_intra_prediction/cfgs_training/tvd/MovingBikesAndPedestrian4.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e134c8e177f1e6bb5783f39d572ac5a8916a864f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/MovingBikesAndPedestrian4.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : MovingBikesAndPedestrian4_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/OilPainting1.cfg b/training/training_intra_prediction/cfgs_training/tvd/OilPainting1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..209e832db0e51394490fb9b36067594383b438b7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/OilPainting1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : OilPainting1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/OilPainting2.cfg b/training/training_intra_prediction/cfgs_training/tvd/OilPainting2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..99d15fdd8b2c99738d59b50110a6d97461e981a1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/OilPainting2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : OilPainting2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/PeopleNearDesk.cfg b/training/training_intra_prediction/cfgs_training/tvd/PeopleNearDesk.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e2e5cad5b16bfecb21b6ac750a0c18eb66533ae2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/PeopleNearDesk.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : PeopleNearDesk_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/PeopleOnGrass.cfg b/training/training_intra_prediction/cfgs_training/tvd/PeopleOnGrass.cfg new file mode 100644 index 0000000000000000000000000000000000000000..76251fda7c106395bda439b4bb927a47878b094b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/PeopleOnGrass.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : PeopleOnGrass_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/Plaque.cfg b/training/training_intra_prediction/cfgs_training/tvd/Plaque.cfg new file mode 100644 index 0000000000000000000000000000000000000000..61c3f1a13d23c2f38e637de221c3ee561b1ee1b7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/Plaque.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : Plaque_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/PressureCooker.cfg b/training/training_intra_prediction/cfgs_training/tvd/PressureCooker.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4b530f9f439da800abbd7f8b373fa1b7ff53e606 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/PressureCooker.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : PressureCooker_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RawDucks.cfg b/training/training_intra_prediction/cfgs_training/tvd/RawDucks.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ca0fc116380c012c9fb96fb7f579f1d0d3aa120c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RawDucks.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RawDucks_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RedBush.cfg b/training/training_intra_prediction/cfgs_training/tvd/RedBush.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6a11c31ac87e34f09103d2c6b6fa09289f669a9c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RedBush.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RedBush_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RedRibbonsWithLocks.cfg b/training/training_intra_prediction/cfgs_training/tvd/RedRibbonsWithLocks.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1ce353999800a8ccfb1ac613c612c791dae28195 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RedRibbonsWithLocks.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RedRibbonsWithLocks_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress1.cfg b/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..02578df5f537ea7162d8e62c1ac0a5687f1fee39 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RestaurantWaitress1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress2.cfg b/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..52b1a3490421dc2d602aab61afea00343ecb5853 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RestaurantWaitress2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RestaurantWaitress2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RiverAndTrees.cfg b/training/training_intra_prediction/cfgs_training/tvd/RiverAndTrees.cfg new file mode 100644 index 0000000000000000000000000000000000000000..846f9a80a5a60d5a660b60ae3dc7d4f38a47093a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RiverAndTrees.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RiverAndTrees_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoastedDuck.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoastedDuck.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1ed10c421ce967369b3e17ef17d3ea6ad5819b46 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoastedDuck.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoastedDuck_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction1.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..407736f020a556531d5c43bb6020368b1bfb73b2 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction2.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..62d0f7a75f2dfed2583dd92570c07208e68fc943 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction3.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c09cdda741ee6fb91cecff84705f934e28b5520b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction4.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction4.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9d8b9ac59b293e3ebdb8f58fbabd69061eff9a51 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction4.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction4_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction5.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction5.cfg new file mode 100644 index 0000000000000000000000000000000000000000..6edcd2f917ba6ee5b077090cecd66af76e560e3c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction5.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction5_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction6.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction6.cfg new file mode 100644 index 0000000000000000000000000000000000000000..dacfafda660cb656ee5b806fbe8ab51f9a41bb59 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction6.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction6_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction7.cfg b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction7.cfg new file mode 100644 index 0000000000000000000000000000000000000000..412bb94301fad600d22959ed86cb37464233bc2d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/RoomTouristAttraction7.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : RoomTouristAttraction7_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/StampCarving1.cfg b/training/training_intra_prediction/cfgs_training/tvd/StampCarving1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..232d6cbb130cda2f005d622c6bd95b65b457c243 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/StampCarving1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : StampCarving1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/StampCarving2.cfg b/training/training_intra_prediction/cfgs_training/tvd/StampCarving2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0870d475a95d9be86f09ce4c649e6753c4e0b56f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/StampCarving2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : StampCarving2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/StaticRocks.cfg b/training/training_intra_prediction/cfgs_training/tvd/StaticRocks.cfg new file mode 100644 index 0000000000000000000000000000000000000000..7e9b17912a92337d5658e6d9d732ef0531c7d88f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/StaticRocks.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : StaticRocks_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/StaticWaterAndBikes2.cfg b/training/training_intra_prediction/cfgs_training/tvd/StaticWaterAndBikes2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c633de35559448ca3f90afa6ba40e63e9901ea7f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/StaticWaterAndBikes2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : StaticWaterAndBikes2_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/SunAndTrees.cfg b/training/training_intra_prediction/cfgs_training/tvd/SunAndTrees.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ad4b626de0e7b5539087bc9c7b9252a4e4e66fb7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/SunAndTrees.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : SunAndTrees_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/SunriseMountainHuang.cfg b/training/training_intra_prediction/cfgs_training/tvd/SunriseMountainHuang.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1a38767d5db29ba8eb5e4e45db9b1dd151a2fa15 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/SunriseMountainHuang.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : SunriseMountainHuang_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang1.cfg b/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..081bb0b7c8de449dc5ce9ef132a757848906f3fb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : SunsetMountainHuang1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang2.cfg b/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..da348220ef25f690753609493d731d0776e11d1b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/SunsetMountainHuang2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : SunsetMountainHuang2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/TreeTrunkMoving.cfg b/training/training_intra_prediction/cfgs_training/tvd/TreeTrunkMoving.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4be34b670f084bef94e6f293263abfe84b23f780 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/TreeTrunkMoving.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : TreeTrunkMoving_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/TreesAndLeaves.cfg b/training/training_intra_prediction/cfgs_training/tvd/TreesAndLeaves.cfg new file mode 100644 index 0000000000000000000000000000000000000000..1b3518b52f7dc1d3da2f77f015877788c6b9e535 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/TreesAndLeaves.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : TreesAndLeaves_3840x2160_50fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains1.cfg b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a02876c2149c08188e1c614e16223097b086802e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : TreesOnMountains1_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains2.cfg b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..9920dfdcb6dd2f731ad1bf267f5fb836c3fe3fa1 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : TreesOnMountains2_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains3.cfg b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains3.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ea2e08ff0683a427016d37f7aa9a845229ffa32b --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/TreesOnMountains3.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : TreesOnMountains3_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass1.cfg b/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass1.cfg new file mode 100644 index 0000000000000000000000000000000000000000..f0b0d99f954bf7a2249e37572bc54b57b2f74264 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass1.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : WaterOnGrass1_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass2.cfg b/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass2.cfg new file mode 100644 index 0000000000000000000000000000000000000000..69b0e8784194e51526156f331e1e5ee1a5426d8a --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/WaterOnGrass2.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : WaterOnGrass2_3840x2160_50fps_8bit_420.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/tvd/Weave.cfg b/training/training_intra_prediction/cfgs_training/tvd/Weave.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bab1302988d17f800d2a82af00900a859d4830c5 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/tvd/Weave.cfg @@ -0,0 +1,11 @@ +#======== File I/O =============== +InputFile : Weave_3840x2160_25fps_10bit_420.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 25 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 65 +Level : 6 + diff --git a/training/training_intra_prediction/cfgs_training/uvg/Beauty_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/Beauty_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..e7c70c995ace7e6fe7ebc69f0a6fa95a463e183f --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Beauty_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Beauty_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Beauty_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/Beauty_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..92201d65f1ce83e074bd4739da5938abb1643b74 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Beauty_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Beauty_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..0639e1ebc38d4cc790bdbb1410f52236cf7f4ba0 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Bosphorus_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..91672002a86a42cd7a3320de3ad367e86016252d --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Bosphorus_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Bosphorus_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/CityAlley_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/CityAlley_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..a57569340a61fd07cfa464302df355801fa4ee73 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/CityAlley_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : CityAlley_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/FlowerFocus_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/FlowerFocus_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..98cd4eb275d9ff5ab1d5577b358205225a98b091 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/FlowerFocus_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : FlowerFocus_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/FlowerKids_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/FlowerKids_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..c8f75e9b7ada62d96e55f45f84c19795870686d7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/FlowerKids_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : FlowerKids_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/FlowerPan_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/FlowerPan_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..83d034977dcd59872dd09d772c8743299a916ccd --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/FlowerPan_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : FlowerPan_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8eb084a7de3202a3d59bcc0e7091a57da049e917 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : HoneyBee_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..b8160b23b13b4402fb821dd8e6a6a36acd42af8e --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/HoneyBee_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : HoneyBee_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Jockey_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/Jockey_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ab00641548495b013cbe5e8b708038813dba2c73 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Jockey_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Jockey_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Jockey_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/Jockey_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..4bf126b8d74163344b8763c46508aee06eeb5abb --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Jockey_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Jockey_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Lips_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/Lips_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5e4f2ba8ae0fc444888baa92988170a4c29269da --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Lips_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Lips_3840x2160_120fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/RaceNight_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/RaceNight_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..30889f60ef85d5303b9b9d3c033da6685c27f238 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/RaceNight_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : RaceNight_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..073e5cdebc33d8daa868ab6f7344cd4c7b452e07 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ReadySteadyGo_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bc773aa3952da406412de08cbff83e5f75724275 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/ReadySetGo_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ReadySetGo_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/RiverBank_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/RiverBank_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..8edee3080c074d66a5397329f4239d1f6ecb03d9 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/RiverBank_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : RiverBank_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..df123227003ec05aaa7c97900972c46328866971 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ShakeNDry_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 300 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..5434c9aa942fcdc3077de845a57e06f93022e24c --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/ShakeNDry_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : ShakeNDry_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 300 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/SunBath_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/SunBath_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..bd6224260738ad465d9ffd98cdf81e6ce1e2d973 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/SunBath_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : SunBath_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 300 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/Twilight_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/Twilight_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..57e7ace18e147fa56100919ce2ec1c423fa8d8fa --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/Twilight_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : Twilight_3840x2160_50fps_10bit.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 50 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/YachtRide_1920x1080.cfg b/training/training_intra_prediction/cfgs_training/uvg/YachtRide_1920x1080.cfg new file mode 100644 index 0000000000000000000000000000000000000000..ffbcade982e4d00aea1eba348d2d664eead14354 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/YachtRide_1920x1080.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : YachtRide_1920x1080_120fps_420_8bit_YUV.yuv +InputBitDepth : 8 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 1920 +SourceHeight : 1080 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/cfgs_training/uvg/YachtRide_3840x2160.cfg b/training/training_intra_prediction/cfgs_training/uvg/YachtRide_3840x2160.cfg new file mode 100644 index 0000000000000000000000000000000000000000..d5dd243a2e05d5d86b111af3f993b85e1817acf7 --- /dev/null +++ b/training/training_intra_prediction/cfgs_training/uvg/YachtRide_3840x2160.cfg @@ -0,0 +1,10 @@ +#======== File I/O =============== +InputFile : YachtRide_3840x2160_120fps_420_10bit_YUV.yuv +InputBitDepth : 10 +InputChromaFormat : 420 +FrameRate : 120 +FrameSkip : 0 +SourceWidth : 3840 +SourceHeight : 2160 +FramesToBeEncoded : 600 +Level : 6 diff --git a/training/training_intra_prediction/dispatching_paths_to_raw.py b/training/training_intra_prediction/dispatching_paths_to_raw.py new file mode 100644 index 0000000000000000000000000000000000000000..b30e13c7ce836082e25a6352ab6b000b84d945fc --- /dev/null +++ b/training/training_intra_prediction/dispatching_paths_to_raw.py @@ -0,0 +1,180 @@ +""" +The copyright in this software is being made available under the BSD +License, included below. This software may be subject to other third party +and contributor rights, including patent rights, and no such rights are +granted under this license. + +Copyright (c) 2010-2022, ITU/ISO/IEC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of the ITU/ISO/IEC nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. +""" + +import argparse +import os +import pickle +import random +import re + +def getting_specialized(input_in): + list_out = [] + for item in input_in.split(','): + if item: + list_out.append(item) + return tuple(list_out) + +def collecting_inout(psingle, list_grouping, params_inline): + for str_given_in in os.listdir(psingle): + item = os.path.join(psingle,str_given_in) + if os.path.isdir(item): + collecting_inout(item,list_grouping,params_inline) + else: + if item.endswith(params_inline): + list_grouping.append(item) + +def create_indef(line_in, list_in, list_out, file_0, file_1): + for item in list_in: + if re.search('(?<=' + item + ')\s*:', line_in) is not None: + file_0.write(line_in) + list_in.remove(item) + return + for item in list_out: + if re.search('(?<=' + item + ')\s*:', line_in) is not None: + file_1.write(line_in) + list_out.remove(item) + return + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Dispatches paths to raw data used to create the training sets via different jobs.') + parser.add_argument('nb_jobs', help='number of jobs', type=int) + parser.add_argument('--paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved', help='pairs of the path to a directory containing the configuration files of the video sequences and the path to the directory containing the video sequences, the pairs and the pair items being separated by commas', type=getting_specialized) + parser.add_argument('--tuple_paths_to_directories_rgbs', help='paths to the directories containing RGB images, separated by commas', type=getting_specialized) + args = parser.parse_args() + if args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved is None and args.tuple_paths_to_directories_rgbs is None: + raise ValueError('`args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved` is None and `args.tuple_paths_to_directories_rgbs` is None.') + descrip_all_1 = 'results/dispatching_paths_to_raw/' + descrip_all_2 = 'results/temporary/common/' + if not os.path.isdir(descrip_all_2): + os.makedirs(descrip_all_2) + store_for_next = [] + if args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved is not None: + if len(args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved) % 2 != 0: + raise ValueError('`len(args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved)` is not divisible by 2.') + for i in range(0, len(args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved), 2): + destin_0 = os.path.join(descrip_all_1,'configuration','description','dataset_video_{}'.format(i//2)) + os.makedirs(destin_0) + destin_1 = os.path.join(descrip_all_1,'configuration','extension','dataset_video_{}'.format(i//2)) + os.makedirs(destin_1) + list_grouping = [] + collecting_inout(args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved[i],list_grouping,'.cfg') + list_grouping.sort() + for pbast in list_grouping: + nm_data_on = None + nb_acc = None + with open(pbast, 'r') as file: + for line_0 in file: + if re.search('(?<=InputFile)\s*:', line_0) is not None: + nm_data_on = ''.join(line_0.split(':')[1].split()) + elif re.search('(?<=FramesToBeEncoded)\s*:', line_0) is not None: + nb_acc = int(line_0.split(':')[1]) + if nm_data_on is None: + raise RuntimeError('`nm_data_on` is None.') + if nb_acc is None: + raise RuntimeError('`nb_acc` is None.') + nb_pbfe_found = 0 + for (path_final_out, _, params_files_given) in os.walk(args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved[i + 1]): + for nmf in params_files_given: + if nmf == nm_data_on: + pbfe = os.path.join(path_final_out,nmf) + nb_pbfe_found += 1 + if nb_pbfe_found != 1: + print('The configuration file {} is associated to no YUV frame. Therefore, this YUV frame is ignored.'.format(nm_data_on)) + print('Maybe your TVD dataset is partial (less than 86 video sequences)? Maybe your UVG dataset is partial (less than 23 video sequences)?') + continue + del nb_pbfe_found + list_in = ['InputBitDepth','InputChromaFormat','SourceWidth','SourceHeight','FramesToBeEncoded'] + list_out = ['FrameRate','Level'] + with open(pbast, 'r') as file_2: + with open(os.path.join(destin_0, os.path.basename(pbast)), 'x') as file_0: + with open(os.path.join(destin_1, os.path.basename(pbast)), 'x') as file_1: + for line_in in file_2: + create_indef(line_in,list_in,list_out,file_0,file_1) + for nb_fixed in range(0, nb_acc, 8): + for data_ordered_0 in (False, True): + for data_ordered_1 in (False,): + store_for_next.append({'pbfe': pbfe,'pdetx': os.path.join(destin_0, os.path.basename(pbast)),'nb_fixed': nb_fixed,'pcetx': os.path.join(destin_1, os.path.basename(pbast)),'data_ordered_0': data_ordered_0,'data_ordered_1': data_ordered_1}) + del pbfe + if args.tuple_paths_to_directories_rgbs is not None: + list_grouping = [] + for psingle in args.tuple_paths_to_directories_rgbs: + list_temporary = [] + collecting_inout(psingle,list_temporary,('.JPEG', '.jpg', '.png')) + if len(list_temporary) > 1300000: + print('[INFO] For the dataset of RGB images in the directory at \"{}\", the number of collected RGB images is limited to 1300000.'.format(psingle)) + list_grouping += list_temporary[0:1300000] + else: + list_grouping += list_temporary + list_grouping.sort() + for i, jjj in enumerate(list_grouping): + for ii in (False, True): + if ii: + tg = 'ffon' + else: + tg = 'ffoff' + store_for_next.append({'prdef': jjj,'pbfe': os.path.join(descrip_all_2,'video_before_encoding_from_rgb_{0}_{1}.yuv'.format(i, tg)),'is_expanded': ii}) + if not len(store_for_next): + raise ValueError('No path to raw data is collected. Are you sure that `args.paths_to_directories_cfgs_paths_to_directories_yuvs_interleaved` or `args.tuple_paths_to_directories_rgbs` lead to non-empty directories?') + random.shuffle(store_for_next) + kkk = len(store_for_next) % args.nb_jobs + li_00 = 0 + li_01 = 0 + list_prev = [] + for i in range(args.nb_jobs): + if i < kkk: + temporary = (len(store_for_next)//args.nb_jobs) + 1 + else: + temporary = len(store_for_next)//args.nb_jobs + li_01 += temporary + list_prev.append(store_for_next[li_00:li_01]) + li_00 += temporary + path_to_dir_out = os.path.join(descrip_all_1,'list_dicts_characteristics_own') + if not os.path.isdir(path_to_dir_out): + os.makedirs(path_to_dir_out) + is_file_overwitten = False + for i in range(args.nb_jobs): + path_to_file_out = os.path.join(path_to_dir_out,'list_dicts_characteristics_own_{}.pkl'.format(i + 1)) + if os.path.isfile(path_to_file_out): + print('[INFO] The file at \"{}\" is overwritten.'.format(path_to_file_out)) + is_file_overwitten = True + os.remove(path_to_file_out) + with open(path_to_file_out, 'xb') as file: + pickle.dump(list_prev[i], file, protocol=2) + if is_file_overwitten: + print('[WARNING] The dispatching of paths to raw data was probably run two times in a row, without removing the files written at the first run to the directory at "{}".'.format(descrip_all_1)) + print('[WARNING] Please make sure that the same arguments were used for the two runs of the script "dispatching_paths_to_raw.py".') + print('[WARNING] If different arguments were used for the two runs of the script "dispatching_paths_to_raw.py", two different dispatching are mixed up.') + print('The dispatching of paths to raw data succeeded.') + + diff --git a/training/training_intra_prediction/generating_data_intra.py b/training/training_intra_prediction/generating_data_intra.py new file mode 100644 index 0000000000000000000000000000000000000000..53a71c404fae9e525c881318d4e1d96a9a87aa75 --- /dev/null +++ b/training/training_intra_prediction/generating_data_intra.py @@ -0,0 +1,630 @@ +""" +The copyright in this software is being made available under the BSD +License, included below. This software may be subject to other third party +and contributor rights, including patent rights, and no such rights are +granted under this license. + +Copyright (c) 2010-2022, ITU/ISO/IEC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of the ITU/ISO/IEC nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. +""" + +import argparse +try: + import itertools.izip as zip +except ImportError: + pass +import errno +import functools +import numpy +import os +import PIL.Image +import pickle +import random +import re +import subprocess +import sys +import tensorflow as tf + +# The three variables below define the used Visual Studio version. +VERSION_VS_MAJOR = 16 +VERSION_VS_MINOR_0 = 19 +VERSION_VS_MINOR_1 = 29 + +if sys.platform in ('win32', 'cygwin'): + PATH_TO_EXE_ENCODER_VTM_REGULAR = os.path.join('bin/','vs{}'.format(VERSION_VS_MAJOR),'msvc-{0}.{1}'.format(VERSION_VS_MINOR_0, VERSION_VS_MINOR_1),'x86_64','release','regular','EncoderApp.exe') + PATH_TO_EXE_DECODER_VTM_REGULAR = os.path.join('bin/','vs{}'.format(VERSION_VS_MAJOR),'msvc-{0}.{1}'.format(VERSION_VS_MINOR_0, VERSION_VS_MINOR_1),'x86_64','release','regular','DecoderApp.exe') + PATH_TO_EXE_ENCODER_VTM_NN = os.path.join('bin/','vs{}'.format(VERSION_VS_MAJOR),'msvc-{0}.{1}'.format(VERSION_VS_MINOR_0, VERSION_VS_MINOR_1),'x86_64','release','search','EncoderApp.exe') + PATH_TO_EXE_DECODER_VTM_NN = os.path.join('bin/','vs{}'.format(VERSION_VS_MAJOR),'msvc-{0}.{1}'.format(VERSION_VS_MINOR_0, VERSION_VS_MINOR_1),'x86_64','release','search','DecoderApp.exe') +else: + PATH_TO_EXE_ENCODER_VTM_REGULAR = 'bin/regular/EncoderAppStatic' + PATH_TO_EXE_DECODER_VTM_REGULAR = 'bin/regular/DecoderAppStatic' + PATH_TO_EXE_ENCODER_VTM_NN = 'bin/search/EncoderAppStatic' + PATH_TO_EXE_DECODER_VTM_NN = 'bin/search/DecoderAppStatic' + +DICT_DESC_FULL = {(4, 4): 8,(4, 8): 11,(4, 16): 22,(4, 32): 44,(8, 8): 16,(8, 16): 22,(16, 16): 64} + +def create_dconcurrently(value_in): + if sys.version_info[0] < 3: + try: + os.makedirs(value_in) + except OSError as err: + if err.errno != errno.EEXIST: + raise + else: + os.makedirs(value_in,exist_ok=True) + +def getting_specialized(input_in): + list_0 = input_in.split(',') + if len(list_0) != 2: + raise argparse.ArgumentTypeError('"{}" does not contain two strings separated by a comma.'.format(input_in)) + if not list_0[0]: + raise argparse.ArgumentTypeError('In "{}", the first string on the left side of the comma is empty.'.format(input_in)) + try: + if list_0[1]: + tuple_0 = (int(list_0[0]), list_0[1]) + else: + tuple_0 = (int(list_0[0]),) + except ValueError: + raise argparse.ArgumentTypeError('In "{}", either the string on the left side of the comma or the string on the right side of the comma cannot be converted into an integer.'.format(input_in)) + if tuple_0[0] < 0: + raise argparse.ArgumentTypeError('In "{}", the string on the left side of the comma is not a positive integer.'.format(input_in)) + else: + return tuple_0 + +def get_individual_saved(value_in): + if value_in > 8: + return value_in//2 + else: + return value_in + +def get_sizes_ind_saved(value_in): + if value_in <= 8: + return (value_in << 1) + 4 + else: + return value_in << 1 + +def getting_right_left(line_in, string_0, string_1): + sre_match = re.search('(?<={0})\s*[0-9]+\s*(?={1})'.format(string_0, string_1),line_in) + if sre_match is None: + raise RuntimeError('Error.') + return int(sre_match.group(0)) + +def getting_above_only(line_in, string_0, string_1): + sre_match = re.search('(?<={0})\s*-?[0-9]+\s*(?={1})'.format(string_0, string_1),line_in) + if sre_match is None: + raise RuntimeError('Error.') + return int(sre_match.group(0)) + +def extracting_partially(line_in, string_0, string_1, nbprsd): + pttrn = '(?<={})'.format(string_0) + for i in range(nbprsd): + pttrn += '\s*[0-9]+\s*' + if i < nbprsd - 1: + pttrn += '\|' + pttrn += '(?={})'.format(string_1) + sre_match = re.search(pttrn,line_in) + if sre_match is None: + raise RuntimeError('Error.') + return [int(item) for item in sre_match.group(0).split('|')] + +def getting_content(dim_a, dim_t, nbfr, data_type, in_form, path, nbsk): + if data_type == numpy.uint8: + nbbpc = 1 + elif data_type == numpy.uint16: + nbbpc = 2 + nbbpef = dim_a*dim_t*nbbpc + if in_form == '400': + nb_cs = 1 + elif in_form in ('420', '444'): + nb_cs = 3 + if in_form == '420': + factor_00 = 2 + factor_01 = 2 + else: + factor_00 = 1 + factor_01 = 1 + nbbpppf = (dim_a*dim_t)//(factor_00*factor_01) + nbbpef += 2*nbbpppf*nbbpc + cont_out = numpy.zeros((dim_a, dim_t, nb_cs, nbfr),dtype=data_type) + with open(path, 'rb') as file: + if nbsk > 0: + file.seek(nbsk*nbbpef) + for i in range(nbfr): + cont_out[:, :, 0, i] = numpy.reshape(numpy.fromfile(file,dtype=data_type,count=dim_a*dim_t),(dim_a, dim_t)) + if in_form in ('420', '444'): + for j in (1, 2): + cont_out[:, :, j, i] = numpy.repeat(numpy.repeat(numpy.reshape(numpy.fromfile(file,dtype=data_type,count=nbbpppf),(dim_a//factor_00, dim_t//factor_01)), factor_00, axis=0),factor_01,axis=1) + return cont_out + +def change_inpre_optionally(value_in,is_changed): + value_modf = value_in + if is_changed: + if value_in not in (0, 1): + value_modf = 68 - value_in + return value_modf + +class IndexerCtx(object): + def __init__(self, pair_height_width_after_tr, tpl_factors_used, is_changed_def): + self.pair_height_width_after_tr = pair_height_width_after_tr + self.tpl_factors_used = tpl_factors_used + self.is_changed_def = is_changed_def + +def find_indexer_matching(tuple_pairs_reference, pair_imposed): + if pair_imposed in tuple_pairs_reference: + return IndexerCtx(pair_imposed,(1, 1),False) + if (pair_imposed[1], pair_imposed[0]) in tuple_pairs_reference: + return IndexerCtx((pair_imposed[1], pair_imposed[0]),(1, 1),True) + if pair_imposed in ((8, 32), (32, 8)): + if (8, 16) in tuple_pairs_reference: + if pair_imposed == (8, 32): + tuple_factors_prop = (1, 2) + is_changed_def = False + else: + tuple_factors_prop = (2, 1) + is_changed_def = True + return IndexerCtx((8, 16),tuple_factors_prop,is_changed_def) + if (16, 8) in tuple_pairs_reference: + if pair_imposed == (8, 32): + tuple_factors_prop = (1, 2) + is_changed_def = True + else: + tuple_factors_prop = (2, 1) + is_changed_def = False + return IndexerCtx((16, 8),tuple_factors_prop,is_changed_def) + if pair_imposed in ((128, 128), (64, 64), (32, 32), (16, 32), (32, 16)): + if (16, 16) in tuple_pairs_reference: + return IndexerCtx((16, 16),(pair_imposed[0]//16, pair_imposed[1]//16),False) + return None + +def reduce_with_data_loss(array_input_optional, tuple_factors): + array_temporary = numpy.reshape(array_input_optional,(array_input_optional.shape[0],array_input_optional.shape[1]//tuple_factors[0],tuple_factors[0],array_input_optional.shape[2]//tuple_factors[1],tuple_factors[1],array_input_optional.shape[3])) + if array_input_optional.dtype == numpy.uint64: + array_intermediate_temporary = array_temporary + else: + array_intermediate_temporary = array_temporary.astype(numpy.uint64) + array_output = (numpy.sum(array_intermediate_temporary,axis=(2, 4))+(tuple_factors[0]*tuple_factors[1])//2)//(tuple_factors[0]*tuple_factors[1]) + if array_input_optional.dtype == numpy.uint64: + return array_output + else: + return array_output.astype(array_input_optional.dtype) + +class GeneratorDataPart(object): + def __enter__(self): + for itemm in self._dict_attributes.values(): + if os.path.isfile(itemm['path_to_tfrecord']): + print('[WARNING] The same training set (at the same training cycle) is being re-written to the same directory once more. If it is expected, please remove the existing files to regenerate the same training set.') + raise OSError('The file at \"{}\" already exists.'.format(itemm['path_to_tfrecord'])) + itemm['record_writer'] = tf.io.TFRecordWriter(itemm['path_to_tfrecord']) + + def __exit__(self,exception_type,exception_value,exception_traceback): + self._evaluate_ccs_imposed_unchanged() + for itemm in self._dict_attributes.values(): + itemm['record_writer'].close() + itemm['record_writer'] = None + + def __init__(self,dict_hwt,are_csts_mapgsym): + self._dict_attributes = {} + for pair_key_dict in dict_hwt: + self._dict_attributes[pair_key_dict] = {'ccs_imposed_unchanged': 0} + self._are_csts_mapgsym = are_csts_mapgsym + for pair_key_dict, itemm in self._dict_attributes.items(): + itemm['record_writer'] = None + itemm['ccs_recomputed'] = numpy.zeros((2, 7),dtype=numpy.int64) + itemm['nb_imposed_unchanged'] = dict_hwt[pair_key_dict] + + def _evaluate_ccs_imposed_unchanged(self): + for item in self._dict_attributes.values(): + item['ccs_imposed_unchanged'] = 0 + + def save_ccs_for_next(self,dict_in): + for pair_key_dict, item in dict_in.items(): + numpy.save(item,self._dict_attributes[pair_key_dict]['ccs_recomputed']) + + def set_paths_completely(self,dict_in): + for pair_key_dict, item in dict_in.items(): + self._dict_attributes[pair_key_dict]['path_to_tfrecord'] = item + + def run_generator_data_part(self,list_primary,dict_picked): + for dict_chr_own in list_primary: + if 'prdef' in dict_chr_own: + if dict_chr_own['prdef'].endswith('n02105855_2933.JPEG'): + continue + try: + image = PIL.Image.open(dict_chr_own['prdef']) + if image.mode != 'RGB': + raise ValueError('Error.') + data_given_uint8 = numpy.asarray(image) + if data_given_uint8.dtype != numpy.uint8: + raise TypeError('Error.') + if data_given_uint8.ndim != 3: + raise ValueError('Error.') + if data_given_uint8.shape[2] != 3: + raise ValueError('Error.') + data_given_float64 = data_given_uint8.astype(numpy.float64) + out_collected_0 = numpy.round(numpy.stack((0.299*data_given_float64[:, :, 0] + 0.587*data_given_float64[:, :, 1] + 0.114*data_given_float64[:, :, 2], 128. - (0.299/1.772)*data_given_float64[:, :, 0] - (0.587/1.772)*data_given_float64[:, :, 1] + (0.886/1.772)*data_given_float64[:, :, 2], 128. + (0.701/1.402)*data_given_float64[:, :, 0] - (0.587/1.402)*data_given_float64[:, :, 1] - (0.114/1.402)*data_given_float64[:, :, 2]),axis=2).clip(min=0., max=float((1 << 8) - 1))).astype(numpy.uint8) + except (TypeError, ValueError): + continue + if dict_chr_own['is_expanded']: + out_collected_1 = numpy.flip(out_collected_0,axis=1) + else: + out_collected_1 = out_collected_0 + out_collected_2 = 4*out_collected_1.astype(numpy.uint16) + dict_input = {'data_add_basic': out_collected_2[0:8*(out_collected_2.shape[0]//8), 0:8*(out_collected_2.shape[1]//8), :]} + else: + dict_input = dict_chr_own.copy() + if 'data_add_basic' in dict_input: + are_orgf_definitely = (False, False) + else: + are_orgf_definitely = (dict_input['data_ordered_0'], dict_input['data_ordered_1']) + if 'data_add_basic' in dict_input: + (height_video, width_video, nb_channels) = dict_input['data_add_basic'].shape + if dict_input['data_add_basic'].dtype == numpy.uint8: + input_bit_depth = 8 + elif dict_input['data_add_basic'].dtype == numpy.uint16: + input_bit_depth = 10 + if nb_channels == 1: + input_chroma_format = '400' + elif nb_channels == 3: + input_chroma_format = '420' + nb_frames = 1 + nb_fixed = 0 + pcetx = '' + else: + dict_desc = {} + with open(dict_input['pdetx'], 'r') as file: + for line_0 in file: + if line_0.isspace() or line_0.startswith('#'): + continue + dict_desc[line_0.split(':')[0].strip()] = int(line_0.split(':')[1]) + height_video = dict_desc['SourceHeight'] + width_video = dict_desc['SourceWidth'] + input_bit_depth = dict_desc['InputBitDepth'] + input_chroma_format = str(dict_desc['InputChromaFormat']) + nb_frames = 1 + del dict_desc + nb_fixed = dict_input['nb_fixed'] + pcetx = dict_input['pcetx'] + if os.path.isfile(dict_picked['path_to_bitstream']): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['path_to_bitstream'])) + if os.path.isfile(dict_picked['path_provided_0']): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['path_provided_0'])) + if os.path.isfile(dict_picked['path_provided_1']): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['path_provided_1'])) + if os.path.isfile(dict_picked['path_provided_2']): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['path_provided_2'])) + if os.path.isfile(dict_picked['tuple_reference_writing'][0]): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['tuple_reference_writing'][0])) + if os.path.isfile(dict_picked['tuple_reference_writing'][1]): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['tuple_reference_writing'][1])) + if os.path.isfile(dict_picked['tuple_reference_writing'][2]): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_picked['tuple_reference_writing'][2])) + if 'data_add_basic' in dict_input: + if os.path.isfile(dict_chr_own['pbfe']): + raise OSError('The file at \"{}\" already exists. This file is a temporary file. It is supposed to be automatically suppressed after the decoding completion. Did the VTM-11-NNVC encoder/decoder crash? Please remove this file manually.'.format(dict_chr_own['pbfe'])) + with open(dict_chr_own['pbfe'], 'xb') as file: + dict_input['data_add_basic'][:, :, 0].flatten().tofile(file) + if input_chroma_format == '420': + dict_input['data_add_basic'][::2, ::2, 1].flatten().tofile(file) + dict_input['data_add_basic'][::2, ::2, 2].flatten().tofile(file) + elif input_chroma_format == '444': + dict_input['data_add_basic'][:, :, 1].flatten().tofile(file) + dict_input['data_add_basic'][:, :, 2].flatten().tofile(file) + args_encoding = [dict_picked['path_to_exe_encoder'],'-c',dict_picked['path_to_cfg'],'-i',dict_chr_own['pbfe'],'-b',dict_picked['path_to_bitstream'],'-wdt',str(width_video),'-hgt',str(height_video),'--InputBitDepth={}'.format(input_bit_depth),'--OutputBitDepth={}'.format(input_bit_depth),'--InputChromaFormat={}'.format(input_chroma_format),'--SEIDecodedPictureHash=1','--ReconFile=','--FramesToBeEncoded={}'.format(nb_frames),'--FrameSkip={}'.format(nb_fixed),'--QP={}'.format(numpy.random.choice(dict_picked['qps_int']).item())] + if dict_picked['descr_stacked_up']: + args_encoding.append('--DescriptionPairHeightWidthPathToGraphOutput={}'.format(dict_picked['descr_stacked_up'])) + if pcetx: + args_encoding += ['-c', pcetx] + else: + args_encoding.append('--FrameRate=25') + if dict_picked['path_provided_0']: + args_encoding.append('--PathToQuadtreeRecords={}'.format(dict_picked['path_provided_0'])) + if self._are_csts_mapgsym: + args_encoding.append('--AreCostsWritten=1') + if are_orgf_definitely[0]: + args_encoding.append('--AreOriginalFv=1') + if are_orgf_definitely[1]: + args_encoding.append('--AreOriginalFh=1') + del are_orgf_definitely + args_decoding = [dict_picked['path_to_exe_decoder'],'-b',dict_picked['path_to_bitstream'],'-o',dict_picked['path_provided_2'],'--OutputBitDepth={}'.format(input_bit_depth)] + if dict_picked['descr_stacked_up']: + args_decoding.append('--DescriptionPairHeightWidthPathToGraphOutput={}'.format(dict_picked['descr_stacked_up'])) + if dict_picked['path_provided_1']: + args_decoding.append('--PathToQuadtreeRecords={}'.format(dict_picked['path_provided_1'])) + if self._are_csts_mapgsym: + args_decoding.append('--AreCostsWritten=1') + args_encoding.append('--PathToFileLOriginal={}'.format(dict_picked['tuple_reference_writing'][0])) + args_encoding.append('--PathToFileLReconstructed={}'.format(dict_picked['tuple_reference_writing'][1])) + args_decoding.append('--PathToFileLDecoded={}'.format(dict_picked['tuple_reference_writing'][2])) + subprocess.check_call(args_encoding,stdout=None,shell=False) + subprocess.check_call(args_decoding,stdout=None,shell=False) + del args_encoding + del args_decoding + if 'data_add_basic' in dict_input: + os.remove(dict_chr_own['pbfe']) + os.remove(dict_picked['path_to_bitstream']) + outs_intims = (numpy.squeeze(getting_content(height_video,width_video,1,numpy.uint16,input_chroma_format,dict_picked['tuple_reference_writing'][0],0),axis=3),numpy.squeeze(getting_content(height_video,width_video,1,numpy.uint16,input_chroma_format,dict_picked['tuple_reference_writing'][1],0),axis=3),numpy.squeeze(getting_content(height_video,width_video,1,numpy.uint16,input_chroma_format,dict_picked['tuple_reference_writing'][2],0),axis=3)) + os.remove(dict_picked['tuple_reference_writing'][0]) + os.remove(dict_picked['tuple_reference_writing'][1]) + os.remove(dict_picked['tuple_reference_writing'][2]) + os.remove(dict_picked['path_provided_2']) + ch_single_or_pair_given = numpy.concatenate((outs_intims[0][:, :, 0:1],outs_intims[2][:, :, 0:1]),axis=2) + del outs_intims + is_r0 = False + is_r1 = False + list_3 = [] + with open(dict_picked['path_provided_0'], 'r') as file_0, open(dict_picked['path_provided_1'], 'r') as file_1: + for line_0, line_1 in zip(file_0, file_1): + if not is_r0: + if line_0.find('GOP of index 0 - Frame of index 0 - Beginning') == -1 or line_1.find('GOP of index 0 - Frame of index 0 - Beginning') == -1: + raise RuntimeError('Error.') + is_r0 = True + continue + if line_0.find('GOP of index 0 - Frame of index 0 - End') != -1: + if line_1.find('GOP of index 0 - Frame of index 0 - End') == -1: + raise RuntimeError('Error.') + is_r1 = True + break + if line_0.isspace() and line_1.isspace(): + continue + if getting_right_left(line_0, 'channel index', ';') == 0: + list_0 = re.search('(?<=block size)\s*[0-9]+\s*x\s*[0-9]+\s*(?=;)', line_0).group(0).split('x') + list_1 = re.search('(?<=block position \()\s*[0-9]+\s*,\s*[0-9]+\s*(?=\)\s*;)', line_0).group(0).split(',') + list_2 = extracting_partially(line_0,'intra prediction SATDs regular',';',6) + try: + is_ok = True + dpnn = getting_right_left(line_0,'intra prediction SATD PNN',';') + except RuntimeError: + is_ok = False + pass + else: + list_2.append(dpnn) + dict_chr = {'base_without_extra': numpy.array([int(list_0[1]), int(list_0[0]), int(list_1[1]), int(list_1[0]), getting_right_left(line_0, 'intra prediction mode index', ';'), getting_right_left(line_0, 'depth of the TB relatively to its CB', ';'), getting_right_left(line_0, 'flag of splitting the CB into 4 PBs', ';')], dtype=numpy.uint32), 'mip_flag': getting_right_left(line_0, 'MIP flag', ';'), 'idb_measuring': numpy.array(extracting_partially(line_0, 'indices best modes SATDs regular', ';', 6), dtype=numpy.uint8), 'dist_selected': numpy.array(list_2, dtype=numpy.uint64), 'msk_chosen': numpy.array([getting_above_only(line_1, 'width mask above', ';'), getting_above_only(line_1, 'height mask left', ';')], dtype=numpy.int32)} + if is_ok: + dict_chr['extra_init'] = numpy.array([float(item) for item in re.search('(?<=measures of discrepancies PNN \()\s*\s*[0-9]+\.?[0-9]*\s*(e[+\-][0-9]+)?\s*\s*,\s*[+\-]?\s*[0-9]+\.?[0-9]*\s*(e[+\-][0-9]+)?\s*\s*(?=\);)', line_0).group(0).split(',')], dtype=numpy.float64) + if self._are_csts_mapgsym: + pttrn = '(?<=costs mapping)' + for i in range(14): + pttrn += '\s*[0-9]+\.?[0-9]*\s*(e[+\-][0-9]+)?\s*' + if i < 13: + pttrn += '\|' + pttrn += '(?=;)' + srematch = re.search(pttrn, line_0) + if srematch is None: + list_0 = [] + else: + list_0 = [float(item) for item in srematch.group(0).split('|')] + dict_chr['costs_found_finally'] = numpy.array(list_0, dtype=numpy.float64) + list_3.append(dict_chr) + if not is_r1: + raise RuntimeError('Error.') + del is_r0 + del is_r1 + list_0 = [] + for dict_chr in list_3: + chrc = dict_chr['base_without_extra'] + if find_indexer_matching(((4, 4),(4, 8),(4, 16),(4, 32),(8, 8),(8, 16),(16, 16)), (chrc[0].item(), chrc[1].item())) is not None: + if (chrc[0].item() <= 8 or chrc[1].item() <= 8) and chrc[0].item()*chrc[1].item() < 256: + tpllines = (min(chrc[0].item(),chrc[1].item()), min(chrc[0].item(),chrc[1].item())) + else: + tpllines = (get_individual_saved(chrc[0].item()), get_individual_saved(chrc[1].item())) + tplctx = (get_sizes_ind_saved(chrc[0].item()), get_sizes_ind_saved(chrc[1].item())) + if chrc[2].item() >= tpllines[0] and chrc[3].item() >= tpllines[1] and chrc[2].item() + tplctx[0] <= ch_single_or_pair_given.shape[0] and chrc[3].item() + tplctx[1] <= ch_single_or_pair_given.shape[1]: + list_0.append(dict_chr) + random.shuffle(list_0) + self._evaluate_ccs_imposed_unchanged() + for dict_chr in list_0: + if 'costs_found_finally' in dict_chr: + if dict_chr['costs_found_finally'].size != 0: + costs_found_finally = numpy.expand_dims(dict_chr['costs_found_finally'].astype(numpy.float32),axis=0) + else: + continue + else: + costs_found_finally = None + pair_key_dict = (dict_chr['base_without_extra'][0].item(), dict_chr['base_without_extra'][1].item()) + transfos = find_indexer_matching(((4, 4),(4, 8),(4, 16),(4, 32),(8, 8),(8, 16),(16, 16)),pair_key_dict) + if transfos.pair_height_width_after_tr in self._dict_attributes: + if self._dict_attributes[transfos.pair_height_width_after_tr]['ccs_imposed_unchanged'] < self._dict_attributes[transfos.pair_height_width_after_tr]['nb_imposed_unchanged']: + is_authorized = dict_chr['base_without_extra'][5].item() != 0 and not (dict_chr['base_without_extra'][6].item() != 0) + if 'extra_init' in dict_chr: + if is_authorized: + is_not_finalized = dict_chr['base_without_extra'][4].item() == 71 + else: + is_not_finalized = dict_chr['dist_selected'][-1].item() < 1.05*dict_chr['dist_selected'][4].item() + DICT_DESC_FULL[transfos.pair_height_width_after_tr] and dict_chr['extra_init'][0].item() > 0.6 and dict_chr['extra_init'][1].item() > 0.6 + else: + is_not_finalized = not is_authorized + if is_not_finalized: + if (pair_key_dict[0] <= 8 or pair_key_dict[1] <= 8) and pair_key_dict[0]*pair_key_dict[1] < 256: + lines_pairing = (min(pair_key_dict[0],pair_key_dict[1]), min(pair_key_dict[0],pair_key_dict[1])) + else: + lines_pairing = (get_individual_saved(pair_key_dict[0]), get_individual_saved(pair_key_dict[1])) + sizes_pairing = (get_sizes_ind_saved(pair_key_dict[0]), get_sizes_ind_saved(pair_key_dict[1])) + row_1sts = dict_chr['base_without_extra'][2:3] - lines_pairing[0] + col_1sts = dict_chr['base_without_extra'][3:4] - lines_pairing[1] + dict_transfos = {'tpl_wh_used': tuple(dict_chr['msk_chosen']),'tpl_factors_used': transfos.tpl_factors_used,'is_changed_def': transfos.is_changed_def} + if 'idb_measuring' in dict_chr and 'dist_selected' in dict_chr: + tuple_iind_unchanged = (numpy.expand_dims(dict_chr['idb_measuring'],axis=0),numpy.expand_dims(dict_chr['dist_selected'],axis=0)) + elif 'idb_measuring' not in dict_chr and 'dist_selected' not in dict_chr: + tuple_iind_unchanged = None + portsa_uint8or16 = numpy.zeros((row_1sts.size, lines_pairing[0], lines_pairing[1] + sizes_pairing[1], 1), dtype=ch_single_or_pair_given.dtype) + portsl_uint8or16 = numpy.zeros((row_1sts.size, sizes_pairing[0], lines_pairing[1], 1), dtype=ch_single_or_pair_given.dtype) + targs_uint8or16 = numpy.zeros((row_1sts.size, pair_key_dict[0], pair_key_dict[1], 1), dtype=ch_single_or_pair_given.dtype) + for i in range(row_1sts.size): + idxx = ch_single_or_pair_given.shape[2] - 1 + portsa_uint8or16[i] = ch_single_or_pair_given[row_1sts[i].item():row_1sts[i].item() + lines_pairing[0], col_1sts[i].item():col_1sts[i].item() + lines_pairing[1] + sizes_pairing[1], idxx:idxx + 1] + portsl_uint8or16[i] = ch_single_or_pair_given[row_1sts[i].item() + lines_pairing[0]:row_1sts[i].item() + lines_pairing[0] + sizes_pairing[0], col_1sts[i].item():col_1sts[i].item() + lines_pairing[1], idxx:idxx + 1] + targs_uint8or16[i] = ch_single_or_pair_given[row_1sts[i].item() + lines_pairing[0]:row_1sts[i].item() + lines_pairing[0] + pair_key_dict[0], col_1sts[i].item() + lines_pairing[1]:col_1sts[i].item() + lines_pairing[1] + pair_key_dict[1], 0:1] + if dict_transfos is None: + intermediate_a = portsa_uint8or16 + intermediate_l = portsl_uint8or16 + intermediate_t = targs_uint8or16 + tuple_mann = None + else: + tuple_portions_dwd = (reduce_with_data_loss(portsa_uint8or16,dict_transfos['tpl_factors_used']),reduce_with_data_loss(portsl_uint8or16,dict_transfos['tpl_factors_used'])) + if dict_transfos['is_changed_def']: + intermediate_a = numpy.concatenate((numpy.transpose(tuple_portions_dwd[0][:, :, 0:tuple_portions_dwd[1].shape[2], :],axes=(0, 2, 1, 3)),numpy.transpose(tuple_portions_dwd[1],axes=(0, 2, 1, 3))),axis=2) + intermediate_l = numpy.transpose(tuple_portions_dwd[0][:, :, tuple_portions_dwd[1].shape[2]:, :],axes=(0, 2, 1, 3)) + intermediate_t = numpy.transpose(reduce_with_data_loss(targs_uint8or16,dict_transfos['tpl_factors_used']),axes=(0, 2, 1, 3)) + tuple_mann = (dict_transfos['tpl_wh_used'][1]//dict_transfos['tpl_factors_used'][0], dict_transfos['tpl_wh_used'][0]//dict_transfos['tpl_factors_used'][1]) + else: + (intermediate_a,intermediate_l) = tuple_portions_dwd + intermediate_t = reduce_with_data_loss(targs_uint8or16,dict_transfos['tpl_factors_used']) + tuple_mann = (dict_transfos['tpl_wh_used'][0]//dict_transfos['tpl_factors_used'][1], dict_transfos['tpl_wh_used'][1]//dict_transfos['tpl_factors_used'][0]) + if costs_found_finally is None: + csts_mapgsym = None + else: + arrtempin = numpy.reshape(costs_found_finally,(costs_found_finally.shape[0], 2, 7)) + if dict_transfos['is_changed_def']: + arrtempinin = arrtempin.copy() + arrtempinin[..., 1:] = numpy.flip(arrtempin[..., 1:], axis=-1) + else: + arrtempinin = arrtempin + csts_mapgsym = numpy.reshape(arrtempinin,(costs_found_finally.shape[0], -1)) + if tuple_iind_unchanged is None: + tpl_indices_distmssym = None + else: + tpl_indices_distmssym = (numpy.reshape(numpy.array(list(map(functools.partial(change_inpre_optionally,is_changed=dict_transfos['is_changed_def']), tuple_iind_unchanged[0].flatten())),dtype=tuple_iind_unchanged[0].dtype),tuple_iind_unchanged[0].shape),tuple_iind_unchanged[1]) + if intermediate_a.dtype == numpy.uint8: + intermediate_aa = 4*intermediate_a.astype(numpy.uint16) + intermediate_ll = 4*intermediate_l.astype(numpy.uint16) + targs_fin = 4*intermediate_t.astype(numpy.uint16) + elif intermediate_a.dtype == numpy.uint16: + intermediate_aa = intermediate_a + intermediate_ll = intermediate_l + targs_fin = intermediate_t + width_mareg = max(0, -intermediate_aa.shape[2] + intermediate_ll.shape[2] + 2*targs_fin.shape[2] + tuple_mann[0]) + height_mareg = max(0, -intermediate_ll.shape[1] + 2*targs_fin.shape[1] + tuple_mann[1]) + above_substs = numpy.squeeze(intermediate_aa[:, intermediate_aa.shape[1] - 1, intermediate_ll.shape[2] - 1:intermediate_ll.shape[2] + 2*targs_fin.shape[2], :],axis=2) + left_substs = numpy.squeeze(intermediate_ll[:, 0:2*targs_fin.shape[1], intermediate_ll.shape[2] - 1, :],axis=2) + if width_mareg: + above_substs[..., above_substs.shape[-1] - width_mareg:] = numpy.expand_dims(above_substs[..., above_substs.shape[-1] - width_mareg - 1], axis=above_substs.ndim - 1) + if height_mareg: + left_substs[..., left_substs.shape[-1] - height_mareg:] = numpy.expand_dims(left_substs[..., left_substs.shape[-1] - height_mareg - 1], axis=left_substs.ndim - 1) + portsa_int16 = intermediate_aa.astype(numpy.int16) + portsl_int16 = intermediate_ll.astype(numpy.int16) + unnb_pixels = portsa_int16.shape[1]*(portsa_int16.shape[2] - tuple_mann[0]) + portsl_int16.shape[2]*(portsl_int16.shape[1] - tuple_mann[1]) + mctxts = ((numpy.sum(numpy.squeeze(portsa_int16[:, :, 0:portsa_int16.shape[2] - tuple_mann[0], :], axis=3), axis=(1, 2), dtype=numpy.int32) + numpy.sum(numpy.squeeze(portsl_int16[:, 0:portsl_int16.shape[1] - tuple_mann[1], :, :], axis=3), axis=(1, 2), dtype=numpy.int32) + unnb_pixels//2)//unnb_pixels).astype(numpy.int16) + portsa_int16 -= numpy.reshape(mctxts,(mctxts.size, 1, 1, 1)) + portsl_int16 -= numpy.reshape(mctxts,(mctxts.size, 1, 1, 1)) + portsa_int16[:, :, portsa_int16.shape[2] - tuple_mann[0]:, :] = 0 + portsl_int16[:, portsl_int16.shape[1] - tuple_mann[1]:, :, :] = 0 + for i in range(targs_fin.shape[0]): + if csts_mapgsym is None: + csts_mapg = None + else: + csts_mapg = csts_mapgsym[i] + if tpl_indices_distmssym is None: + tpl_indices_distms = None + else: + tpl_indices_distms = (tpl_indices_distmssym[0][i], tpl_indices_distmssym[1][i]) + feature = {'data_written_0': tf.train.Feature(bytes_list=tf.train.BytesList(value=[portsa_int16[i].tobytes()])), 'data_written_1': tf.train.Feature(bytes_list=tf.train.BytesList(value=[portsl_int16[i].tobytes()])), 'data_written_2': tf.train.Feature(bytes_list=tf.train.BytesList(value=[targs_fin[i].tobytes()])),'data_written_3': tf.train.Feature(bytes_list=tf.train.BytesList(value=[mctxts[i].tobytes()])),'data_written_4' : tf.train.Feature(bytes_list=tf.train.BytesList(value=[above_substs[i].tobytes()])),'data_written_5' : tf.train.Feature(bytes_list=tf.train.BytesList(value=[left_substs[i].tobytes()]))} + if csts_mapg is not None: + feature['data_written_6'] = tf.train.Feature(bytes_list=tf.train.BytesList(value=[csts_mapg.tobytes()])) + if tpl_indices_distms is not None: + feature['data_written_7'] = tf.train.Feature(bytes_list=tf.train.BytesList(value=[tpl_indices_distms[0].tobytes()])) + feature['data_written_8'] = tf.train.Feature(bytes_list=tf.train.BytesList(value=[(tpl_indices_distms[1].astype(numpy.int64)).tobytes()])) + self._dict_attributes[transfos.pair_height_width_after_tr]['record_writer'].write(tf.train.Example(features=tf.train.Features(feature=feature)).SerializeToString()) + if costs_found_finally is not None: + arrtempin = numpy.reshape(costs_found_finally, (costs_found_finally.shape[0], 2, 7)) + if transfos.is_changed_def: + arrtempinin = arrtempin.copy() + arrtempinin[..., 1:] = numpy.flip(arrtempin[..., 1:], axis=-1) + else: + arrtempinin = arrtempin + diffusers_temp = numpy.argmin(arrtempinin, axis=2) + for i in range(diffusers_temp.shape[0]): + for j in range(diffusers_temp.shape[1]): + self._dict_attributes[transfos.pair_height_width_after_tr]['ccs_recomputed'][j, diffusers_temp[i, j].item()] += 1 + self._dict_attributes[transfos.pair_height_width_after_tr]['ccs_imposed_unchanged'] += 1 + os.remove(dict_picked['path_provided_0']) + os.remove(dict_picked['path_provided_1']) + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Creates a training set.') + parser.add_argument('path_to_directory_sets_training', help='path to the directory containing the different training sets') + parser.add_argument('tuple_index_cycle_tag_sparsity', help='index of the training cycle and tag characterizing the sparsity constraints on the weights of the neural network', type=getting_specialized) + parser.add_argument('index_job', help='index of the job creating a portion of the training set', type=int) + parser.add_argument('--are_costs_parsed', help='if given, the costs are parsed', action='store_true', default=False) + args = parser.parse_args() + index_cycle = args.tuple_index_cycle_tag_sparsity[0] + if not index_cycle: + if len(args.tuple_index_cycle_tag_sparsity) != 1: + raise ValueError('`args.tuple_index_cycle_tag_sparsity[0]` is equal to 0 and `len(tuple_index_cycle_tag_sparsity)` is not equal to 1.') + tag_training_set = 'partitioning_{}_reconstruction_vtm'.format(index_cycle) + if args.are_costs_parsed: + tag_training_set += '_ttm' + tag_suffix_job = os.path.join(tag_training_set,'job_{}'.format(args.index_job)) + path_to_directory_temp = os.path.join('results/temporary/',tag_suffix_job) + create_dconcurrently(path_to_directory_temp) + if index_cycle: + path_to_exe_encoder = PATH_TO_EXE_ENCODER_VTM_NN + path_to_exe_decoder = PATH_TO_EXE_DECODER_VTM_NN + else: + path_to_exe_encoder = PATH_TO_EXE_ENCODER_VTM_REGULAR + path_to_exe_decoder = PATH_TO_EXE_DECODER_VTM_REGULAR + if index_cycle: + tag_sf = os.path.join('partitioning_{}_reconstruction_vtm'.format(index_cycle - 1),args.tuple_index_cycle_tag_sparsity[1],'float','graph_output.pb') + dfout = '' + for i, pair_hw in enumerate(((4, 4),(4, 8),(4, 16),(4, 32),(8, 8),(8, 16),(16, 16))): + dfout += '{0},{1},'.format(pair_hw[0], pair_hw[1]) + dfout += os.path.join('results/freezing_graph_pnn/','target_{0}_{1}'.format(pair_hw[0], pair_hw[1]),tag_sf) + if i != 6: + dfout += ';' + else: + dfout = '' + dict_picked = {'path_provided_2': os.path.join(path_to_directory_temp,'video_after_decoding.yuv'),'path_to_cfg': '../../cfg/encoder_intra_vtm.cfg','path_to_bitstream': os.path.join(path_to_directory_temp,'bitstream.bin'),'path_to_exe_encoder': path_to_exe_encoder,'path_to_exe_decoder': path_to_exe_decoder,'qps_int': numpy.array([8, 9, 10, 22, 27, 32, 37]),'descr_stacked_up': dfout,'path_provided_0': os.path.join(path_to_directory_temp, 'file_quad_encoder.txt'),'path_provided_1': os.path.join(path_to_directory_temp,'file_quad_decoder.txt'),'tuple_reference_writing': (os.path.join(path_to_directory_temp,'video_before_encoding_after_check.yuv'),os.path.join(path_to_directory_temp,'video_after_encoding_before_check.yuv'),os.path.join(path_to_directory_temp,'video_after_decoding_before_check.yuv'))} + dict_hwt = {} + dict_in = {} + if args.are_costs_parsed: + dict_supp = {} + else: + dict_supp = None + for pair_key in ((4, 4),(4, 8),(4, 16),(4, 32),(8, 8),(8, 16),(16, 16)): + if pair_key in ((4, 16), (16, 4), (4, 32), (32, 4), (16, 16)): + dict_hwt[pair_key] = 32768 + elif pair_key in ((8, 16), (16, 8)): + dict_hwt[pair_key] = 448 + else: + if index_cycle: + dict_hwt[pair_key] = 320 + else: + dict_hwt[pair_key] = 256 + path_location = os.path.join(args.path_to_directory_sets_training,'target_{0}_{1}'.format(pair_key[0], pair_key[1]),tag_suffix_job) + create_dconcurrently(path_location) + dict_in[pair_key] = os.path.join(path_location,'data.tfrecord') + if args.are_costs_parsed: + dict_supp[pair_key] = os.path.join(path_location,'ccs_tm_saved.npy') + with open(os.path.join('results/dispatching_paths_to_raw/list_dicts_characteristics_own','list_dicts_characteristics_own_{}.pkl'.format(args.index_job)), 'rb') as file: + list_primary = pickle.load(file) + generator_data_part = GeneratorDataPart(dict_hwt,dict_supp is not None) + generator_data_part.set_paths_completely(dict_in) + with generator_data_part: + generator_data_part.run_generator_data_part(list_primary,dict_picked) + if dict_supp is not None: + generator_data_part.save_ccs_for_next(dict_supp) + print('The generation of the portion of the training sets for the job of index {} succeeded.'.format(args.index_job)) + + diff --git a/training/training_intra_prediction/run_setups_vtm.sh b/training/training_intra_prediction/run_setups_vtm.sh new file mode 100644 index 0000000000000000000000000000000000000000..ce5a61fe835c56732aff45bb1174d6a20d24acce --- /dev/null +++ b/training/training_intra_prediction/run_setups_vtm.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +############ Parameters to be set ################################# + +# Path to the G++ executable. +PATH_TO_GPLUSPLUS="" + +# Path to the GCC executable. +PATH_TO_GCC="" + +################################################################### + +cd ../.. +mkdir build +cd build + +# Step 0: VTM-11-NNVC without Filter-Set, without the neural network-based intra prediction mode is built (for writing training data). +mkdir regular +cd regular +cmake3 ../../training/training_intra_prediction -DCMAKE_CXX_COMPILER=${PATH_TO_GPLUSPLUS} -DCMAKE_C_COMPILER=${PATH_TO_GCC} -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" +make -j 8 +cd .. + +# Step 1: VTM-11-NNVC without Filter-Set, with the neural network-based intra prediction mode in floating-point is built (for writing training data). +mkdir search +cd search +cmake3 ../../training/training_intra_prediction -DCMAKE_CXX_COMPILER=${PATH_TO_GPLUSPLUS} -DCMAKE_C_COMPILER=${PATH_TO_GCC} -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" -DUSE_SEARCH=1 +make -j 8 +cd .. + +# Step 2: VTM-11-NNVC without Filter-Set, with the neural network-based intra prediction mode in floating-point is built (for final rate-distortion tests). +mkdir tm_inf +cd tm_inf +cmake3 ../../training/training_intra_prediction -DCMAKE_CXX_COMPILER=${PATH_TO_GPLUSPLUS} -DCMAKE_C_COMPILER=${PATH_TO_GCC} -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" -DUSE_TM_INF=1 +make -j 8 +cd ../.. + + diff --git a/training/training_intra_prediction/training_nn_intra.py b/training/training_intra_prediction/training_nn_intra.py new file mode 100644 index 0000000000000000000000000000000000000000..83d7af5a0078dc23f24725aaf8b0dbd8da1b78c0 --- /dev/null +++ b/training/training_intra_prediction/training_nn_intra.py @@ -0,0 +1,393 @@ +""" +The copyright in this software is being made available under the BSD +License, included below. This software may be subject to other third party +and contributor rights, including patent rights, and no such rights are +granted under this license. + +Copyright (c) 2010-2022, ITU/ISO/IEC +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + Neither the name of the ITU/ISO/IEC nor the names of its contributors may + be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. +""" + +import argparse +import errno +import numpy +import onnx +import os +import re +import scipy +import shutil +import subprocess +import sys +import tensorflow as tf +import tensorflow_model_optimization +import tf2onnx +import time + +from tensorflow_model_optimization.python.core.sparsity.keras.pruning_wrapper import PruneLowMagnitude + +def create_apply_w_to_dense(nb_iters_training,frequency): + end_step = nb_iters_training - 600000 + def apply_w_to_dense(layer): + if isinstance(layer, tf.keras.layers.Dense): + if layer.trainable: + + # There is no sparsity constraint on the weights of the fully-connected layer + # returning the unscaled log-probability for each LFNST group index. + if layer.name == 'dense_tmf': + raise ValueError('Error.') + + # In the fully-connected layer returning the prediction of the current block + # and the fully-connected layer returning the unscaled log-probability for + # each of the 67 VVC intra prediction modes, the ratio of non-zero weights + # is 50% at the end of the training. + if layer.name in ('dense_p', 'dense_mmf'): + fs_done = 0.5 + else: + fs_done = 0.95 + return tensorflow_model_optimization.sparsity.keras.prune_low_magnitude(layer,pruning_schedule=tensorflow_model_optimization.sparsity.keras.PolynomialDecay(0.,fs_done,0,end_step,power=4,frequency=frequency)) + return layer + return apply_w_to_dense + +def getting_specialized(value_in): + list_in = value_in.split(',') + if not list_in[0] and not list_in[1]: + return () + try: + tuple_in = tuple(map(int, list_in)) + except ValueError: + raise argparse.ArgumentTypeError('{} does not contain two integers separated by a comma.'.format(value_in)) + if tuple_in[0] <= 0 or tuple_in[1] <= 0: + raise argparse.ArgumentTypeError('{} does not contain two strictly positive integers separated by a comma.'.format(value_in)) + else: + return tuple_in + +def get_individual_saved(value_in): + if value_in > 8: + return value_in//2 + else: + return value_in + +def get_extensions_saved(value_in): + if value_in <= 8: + return (value_in << 1)+4 + else: + return value_in << 1 + +def collecting_inout(psingle,list_grouping,params_inline): + for str_given_in in os.listdir(psingle): + item = os.path.join(psingle,str_given_in) + if os.path.isdir(item): + collecting_inout(item,list_grouping,params_inline) + else: + if item.endswith(params_inline): + list_grouping.append(item) + +def save_probs_training(path_in,path_storage): + list_grouping = [] + collecting_inout(path_in,list_grouping,'ccs_tm_saved.npy') + ccs_saved = numpy.zeros((2,7),dtype=numpy.int64) + for item in list_grouping: + ccs_saved += numpy.load(item) + ccs_saved[numpy.equal(ccs_saved, 0)] = 1 + numpy.save(path_storage,ccs_saved.astype(numpy.float64)/numpy.tile(numpy.expand_dims(numpy.sum(ccs_saved, axis=1),axis=1),(1, 7))) + +def parse_example_df(serialized_e,are_csts_mapgsym): + features = {'data_written_0': tf.io.FixedLenFeature([],tf.string),'data_written_1': tf.io.FixedLenFeature([],tf.string),'data_written_2': tf.io.FixedLenFeature([],tf.string),'data_written_3': tf.io.FixedLenFeature([],tf.string),'data_written_4': tf.io.FixedLenFeature([],tf.string),'data_written_5': tf.io.FixedLenFeature([],tf.string),'data_written_7': tf.io.FixedLenFeature([],tf.string),'data_written_8': tf.io.FixedLenFeature([],tf.string)} + if are_csts_mapgsym: + features['data_written_6'] = tf.io.FixedLenFeature([],tf.string) + dict_features = tf.io.parse_single_example(serialized_e,features) + dict_extra = {'ind_best':tf.io.decode_raw(dict_features['data_written_7'],tf.uint8),'dis_best':tf.io.decode_raw(dict_features['data_written_8'],tf.int64)} + if are_csts_mapgsym: + dict_extra['csts_mapg'] = tf.io.decode_raw(dict_features['data_written_6'],tf.float32) + return (tf.io.decode_raw(dict_features['data_written_0'],tf.int16),tf.io.decode_raw(dict_features['data_written_1'],tf.int16),tf.io.decode_raw(dict_features['data_written_2'],tf.uint16),tf.squeeze(tf.io.decode_raw(dict_features['data_written_3'],tf.int16)),tf.io.decode_raw(dict_features['data_written_4'],tf.uint16),tf.io.decode_raw(dict_features['data_written_5'],tf.uint16),dict_extra) + +def create_map_range_statically(batch_size,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,model): + @tf.function(input_signature=(tf.TensorSpec([batch_size, nb_lines_above*(nb_lines_left + size_ctx_width)],dtype=tf.int16),tf.TensorSpec([batch_size, size_ctx_height*nb_lines_left],dtype=tf.int16),tf.TensorSpec([],dtype=tf.bool))) + def map_range_statically(pa_flattened,pl_flattened,is_t_bool): + return model((tf.concat((tf.reshape(tf.transpose(tf.reshape(tf.cast(pa_flattened, tf.float32)/4.,(pa_flattened.shape[0],nb_lines_above,nb_lines_left+size_ctx_width,1)),perm=[0,2,1,3]),(pa_flattened.shape[0], nb_lines_above*(nb_lines_left+size_ctx_width))),tf.cast(pl_flattened, tf.float32)/4.),1),),training=is_t_bool) + return map_range_statically + +def glob_at_last(tensor_in,tensor_out): + return tf.reshape(tf.gather_nd(tf.reshape(tensor_in,(-1,tensor_in.shape[-1])), tf.concat((tf.expand_dims(tf.range(0,numpy.prod(tensor_out.shape).item(),dtype=tensor_out.dtype),1),tf.reshape(tensor_out,(numpy.prod(tensor_out.shape).item(),1))),1)),tensor_out.shape) + +def create_compute_component_tm_statically(batch_size,updown_single): + @tf.function(input_signature=(tf.TensorSpec([batch_size,2,7], dtype=tf.float32),tf.TensorSpec([batch_size,14],dtype=tf.float32))) + def compute_component_tm_statically(ulogs,trgts_prov): + intermediate_0=tf.reshape(trgts_prov,ulogs.shape) + intermediate_1=tf.argmin(intermediate_0,axis=2) + return tf.reduce_sum(tf.reduce_mean(glob_at_last(tf.tile(tf.expand_dims(updown_single,0),(ulogs.shape[0],1,1)),intermediate_1)*(tf.nn.sparse_softmax_cross_entropy_with_logits(labels=intermediate_1,logits=ulogs) + tf.reduce_sum(tf.nn.softmax(ulogs)*(intermediate_0/tf.tile(tf.reduce_min(intermediate_0,axis=2,keepdims=True),(1,1,intermediate_0.shape[2])) - 1.),axis=2)),axis=0)) + return compute_component_tm_statically + +def create_compute_components_mm_statically(batch_size,height_target,width_target,model): + @tf.function(input_signature=(tf.TensorSpec([batch_size, height_target, width_target,1],dtype=tf.float32),tf.TensorSpec([batch_size,height_target*width_target],dtype=tf.uint16),tf.TensorSpec([batch_size],dtype=tf.int16),tf.TensorSpec([batch_size,67],dtype=tf.float32),tf.TensorSpec([batch_size],dtype=tf.int32),tf.TensorSpec([67],dtype=tf.float32))) + def compute_components_mm_statically(pds,trgts_prov,ms_p,ulogs,trgts_alv,wghts_alv): + intermediate = tf.squeeze((4.*pds+tf.reshape(tf.cast(ms_p,tf.float32), tuple([ms_p.shape[0]]+(len(pds.shape)-1)*[1])))-tf.cast(tf.reshape(trgts_prov,pds.shape),tf.float32),axis=3) + if intermediate.dtype == tf.float64: + dtype_numpy = numpy.float64 + elif intermediate.dtype == tf.float32: + dtype_numpy = numpy.float32 + elif intermediate.dtype == tf.int64: + dtype_numpy = numpy.int64 + elif intermediate.dtype == tf.int32: + dtype_numpy = numpy.int32 + cumul = tf.zeros((), dtype=tf.float32) + for layer in model.layers: + if layer.trainable_weights: + cumul += tf.reduce_sum(tf.abs(layer.trainable_weights[0])) + return (tf.reduce_mean(tf.reduce_sum(tf.abs(tf.matmul(tf.matmul(tf.constant(numpy.tile(numpy.reshape(scipy.linalg.hadamard(intermediate.shape[-2],dtype=dtype_numpy),tuple([1]*(len(intermediate.shape) - 2) + [intermediate.shape[-2], intermediate.shape[-2]])),tuple(intermediate.shape[0:-2] + [1, 1]))),intermediate),tf.constant(numpy.tile(numpy.reshape(scipy.linalg.hadamard(intermediate.shape[-1],dtype=dtype_numpy),tuple([1]*(len(intermediate.shape) - 2) + [intermediate.shape[-1],intermediate.shape[-1]])),tuple(intermediate.shape[0:-2]+[1, 1]))))),axis=(len(intermediate.shape) - 2,len(intermediate.shape) - 1))),5.e-4*tf.reduce_mean(glob_at_last(tf.tile(tf.expand_dims(wghts_alv,0),(pds.shape[0],1)),trgts_alv)*tf.nn.sparse_softmax_cross_entropy_with_logits(labels=trgts_alv,logits=ulogs)),5.e-5*cumul) + return compute_components_mm_statically + +def create_compute_grads_tm_statically(batch_size,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,model,map_range_statically,compute_component_tm_statically): + @tf.function(input_signature=(tf.TensorSpec([batch_size, nb_lines_above*(nb_lines_left + size_ctx_width)], dtype=tf.int16),tf.TensorSpec([batch_size, size_ctx_height*nb_lines_left], dtype=tf.int16),tf.TensorSpec([batch_size, 14], dtype=tf.float32))) + def compute_grads_tm_statically(pa_flattened,pl_flattened,trgts_prov): + with tf.GradientTape() as tape: + comp_isolated = compute_component_tm_statically(map_range_statically(pa_flattened,pl_flattened,tf.constant(True))[2],trgts_prov) + return tape.gradient(comp_isolated,model.trainable_weights) + return compute_grads_tm_statically + +def create_compute_grads_mm_statically(batch_size,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,height_target,width_target,model,map_range_statically,compute_components_mm_statically): + @tf.function(input_signature=(tf.TensorSpec([batch_size, nb_lines_above*(nb_lines_left + size_ctx_width)], dtype=tf.int16),tf.TensorSpec([batch_size, size_ctx_height*nb_lines_left], dtype=tf.int16),tf.TensorSpec([batch_size, height_target*width_target], dtype=tf.uint16),tf.TensorSpec([batch_size], dtype=tf.int16),tf.TensorSpec([batch_size], dtype=tf.int32),tf.TensorSpec([67], dtype=tf.float32))) + def compute_grads_mm_statically(pa_flattened,pl_flattened,trgts_prov,ms_p,trgts_alv,wghts_alv): + with tf.GradientTape() as tape: + (pds,ulogs,_)=map_range_statically(pa_flattened,pl_flattened,tf.constant(True)) + comp_isolated=tf.reduce_sum(tf.stack(compute_components_mm_statically(pds,trgts_prov,ms_p,ulogs,trgts_alv,wghts_alv))) + return tape.gradient(comp_isolated,model.trainable_weights) + return compute_grads_mm_statically + +def update_mem_in(mem_in,reference_in,i_init): + mem_in[i_init, :] = 0 + for j_init in reference_in: + mem_in[i_init, j_init] += 1 + +def compute_derived_once(mem_in): + intermediate_0 = numpy.sum(mem_in, axis=0).astype(numpy.float32) + intermediate_1 = intermediate_0/numpy.sum(intermediate_0) + intermediate_1[intermediate_1 < 1.e-3] = 1.e-3 + return 1./intermediate_1 + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='Trains a neural network for intra prediction.') + parser.add_argument('path_to_directory_sets_training',help='path to the directory containing the different training sets') + parser.add_argument('tuple_height_width_target',help='height of the target patch and its width',type=getting_specialized) + parser.add_argument('tag_training_set',help='tag characterizing the current training set') + parser.add_argument('tag_sparsity',help='tag characterizing the sparsity constraints on the weights') + parser.add_argument('nb_files_expected_training',help='expected number of files \".tfrecord\" collected from the directory at `args.path_to_directory_sets_training`',type=int) + parser.add_argument('--is_training_resumed_from_last_checkpoint',help='is the training resumed from the last checkpoint?',action='store_true',default=False) + parser.add_argument('--nb_iters_snapshot',help='number of training iterations between two successive snapshots of the parameters of the neural network',type=int,default=400000,metavar='') + parser.add_argument('--is_last_cycle',help='is it the last training cycle? If true, the final graph is stored in the directory at \"../../models_intra_prediction\" for the final rate-distortion tests',action='store_true',default=False) + args = parser.parse_args() + is_tm_used = args.tag_training_set.endswith('_ttm') + if args.tag_sparsity == 'sparsity_0': + is_sparsity_applied = False + elif args.tag_sparsity == 'sparsity_1': + is_sparsity_applied = not is_tm_used + else: + raise ValueError('`args.tag_sparsity` is equal to neither \'sparsity_0\' nor \'sparsity_1\'.') + tag_shape_target = 'target_{0}_{1}'.format(args.tuple_height_width_target[0], args.tuple_height_width_target[1]) + path_to_directory_top_tfrecords_training = os.path.join(args.path_to_directory_sets_training,tag_shape_target,args.tag_training_set) + path_to_directory_saving = os.path.join('results/training_pnn/',tag_shape_target,args.tag_training_set,args.tag_sparsity) + sre_match = re.search('(?<={0})\s*[0-9]+\s*(?={1})'.format('partitioning_', '_reconstruction'),args.tag_training_set) + if sre_match is None: + raise RuntimeError('Error.') + index_cycle = int(sre_match.group(0)) + if sys.version_info[0] < 3: + try: + os.makedirs(path_to_directory_saving) + except OSError as err: + if err.errno != errno.EEXIST: + raise + else: + os.makedirs(path_to_directory_saving,exist_ok=True) + if args.is_training_resumed_from_last_checkpoint: + path_to_directory_loading = path_to_directory_saving + if is_tm_used: + path_to_pb_repres = os.path.join(path_to_directory_top_tfrecords_training,'pb_repres.npy') + if not os.path.isfile(path_to_pb_repres): + save_probs_training(path_to_directory_top_tfrecords_training,path_to_pb_repres) + else: + if is_sparsity_applied: + path_to_directory_loading = os.path.join('results/training_pnn/',tag_shape_target,args.tag_training_set,'sparsity_0') + else: + if index_cycle: + if is_tm_used: + path_to_pb_repres = os.path.join(path_to_directory_top_tfrecords_training,'pb_repres.npy') + if not os.path.isfile(path_to_pb_repres): + save_probs_training(path_to_directory_top_tfrecords_training,path_to_pb_repres) + string_0 = '_ttm' + else: + string_0 = '' + sre_match = re.search('(?<={0})[a-zA-Z0-9_]+(?={1})'.format('partitioning_{}_'.format(index_cycle), string_0), args.tag_training_set) + del string_0 + if sre_match is None: + raise RuntimeError('Error.') + path_to_directory_loading = os.path.join('results/training_pnn/',tag_shape_target,'partitioning_{0}_{1}'.format(index_cycle - 1, sre_match.group(0)),args.tag_sparsity) + else: + path_to_directory_loading = '' + if (args.tuple_height_width_target[0] <= 8 or args.tuple_height_width_target[1] <= 8) and args.tuple_height_width_target[0]*args.tuple_height_width_target[1] < 256: + nb_lines_above = min(args.tuple_height_width_target[0],args.tuple_height_width_target[1]) + nb_lines_left = nb_lines_above + else: + nb_lines_above = get_individual_saved(args.tuple_height_width_target[0]) + nb_lines_left = get_individual_saved(args.tuple_height_width_target[1]) + size_ctx_height = get_extensions_saved(args.tuple_height_width_target[0]) + size_ctx_width = get_extensions_saved(args.tuple_height_width_target[1]) + if args.tuple_height_width_target[0] <= 8 or args.tuple_height_width_target[1] <= 8: + nb_layers_tfc = 2 + else: + nb_layers_tfc = 3 + node_ip = tf.keras.Input(shape=(nb_lines_above*(nb_lines_left + size_ctx_width) + nb_lines_left*size_ctx_height,),name='node_flattened_contexts',dtype=tf.float32) + node_rp = node_ip + for i in range(nb_layers_tfc): + if i == 0: + stddev = 0.01 + else: + stddev = 1./numpy.sqrt(node_rp.shape[1]).item() + node_rp = tf.keras.layers.Dense(1216,activation=tf.keras.layers.LeakyReLU(alpha=0.1,name='leaky_relu'),kernel_initializer=tf.keras.initializers.RandomNormal(stddev=stddev),name='dense_{}'.format(i))(node_rp) + del stddev + del nb_layers_tfc + + # Names of the three layers of the fully-connected neural network returning the three outputs: + # 'dense_p': fully-connected layer returning the prediction of the current block + # 'dense_mmf': fully-connected layer returning the unscaled log-probability for each of the 67 VVC intra prediction modes + # 'dense_tmf': fully-connected layer returning the unscaled log-probability for each LFNST group index. + model = tf.keras.Model(inputs=node_ip,outputs=(tf.keras.layers.Reshape((args.tuple_height_width_target[0],args.tuple_height_width_target[1],1),name='reshape_p')(tf.keras.layers.Dense(args.tuple_height_width_target[0]*args.tuple_height_width_target[1],activation=None,kernel_initializer=tf.keras.initializers.RandomNormal(stddev=0.01),name='dense_p')(node_rp)),tf.keras.layers.Dense(67,activation=None,kernel_initializer=tf.keras.initializers.RandomNormal(stddev=2.e-3),name='dense_mmf')(node_rp),tf.keras.layers.Reshape((2, 7),name='reshape_tmf')(tf.keras.layers.Dense(14,activation=None,kernel_initializer=tf.keras.initializers.RandomNormal(stddev=3.e-3),name='dense_tmf')(node_rp))),name='prediction_neural_network') + if is_tm_used: + for layer in model.layers: + if layer.name != 'dense_tmf': + layer.trainable = False + else: + model.get_layer(name='dense_tmf').trainable = False + if is_tm_used: + nb_iters_training = 800000 + optimizer = tf.optimizers.Adam(learning_rate=tf.optimizers.schedules.PiecewiseConstantDecay([nb_iters_training - 400000,nb_iters_training - 200000,nb_iters_training - 100000], [2.e-4, 2.e-5, 2.e-6, 2.e-7])) + else: + if is_sparsity_applied: + nb_iters_training = 6400000 + optimizer = tf.optimizers.Adam(learning_rate=tf.optimizers.schedules.PiecewiseConstantDecay([nb_iters_training - 1800000,nb_iters_training - 400000,nb_iters_training - 200000,nb_iters_training - 100000], [1.e-4, 5.e-5, 5.e-6, 5.e-7, 5.e-8])) + else: + if index_cycle == 0: + nb_iters_training = 3200000 + optimizer = tf.optimizers.Adam(learning_rate=tf.optimizers.schedules.PiecewiseConstantDecay([nb_iters_training - 1800000,nb_iters_training - 400000,nb_iters_training - 200000,nb_iters_training - 100000], [1.e-4, 5.e-5, 5.e-6, 5.e-7, 5.e-8])) + else: + nb_iters_training = 800000 + optimizer = tf.optimizers.Adam(learning_rate=tf.optimizers.schedules.PiecewiseConstantDecay([nb_iters_training - 500000,nb_iters_training - 200000,nb_iters_training - 100000,nb_iters_training - 50000], [1.e-4, 5.e-5, 5.e-6, 5.e-7, 5.e-8])) + node_mem_ccs = tf.Variable(tf.zeros((200, 67), dtype=tf.uint64),trainable=False) + if is_sparsity_applied and args.is_training_resumed_from_last_checkpoint: + model = tf.keras.models.clone_model(model,clone_function=create_apply_w_to_dense(nb_iters_training,250)) + checkpoint = tf.train.Checkpoint(model=model,step=optimizer.iterations,mem_ccs_saved=node_mem_ccs) + if path_to_directory_loading: + path_to_latest_checkpoint = tf.train.latest_checkpoint(path_to_directory_loading) + checkpoint.restore(path_to_latest_checkpoint).assert_consumed() + print('Initializing the model from the file at {}.'.format(path_to_latest_checkpoint)) + else: + print('Initializing the model randomly.') + if not args.is_training_resumed_from_last_checkpoint: + if optimizer.iterations.numpy().item() == 0: + print('Iteration of the optimizer already at 0.') + else: + optimizer.iterations.assign(0) + print('Iteration of the optimizer reset to 0.') + if is_sparsity_applied and not args.is_training_resumed_from_last_checkpoint: + model = tf.keras.models.clone_model(model,clone_function=create_apply_w_to_dense(nb_iters_training,250)) + checkpoint.model = model + list_grouping = [] + collecting_inout(path_to_directory_top_tfrecords_training,list_grouping,'.tfrecord') + if len(list_grouping) != args.nb_files_expected_training: + raise OSError('{0} files have been collected whereas {1} files are expected.'.format(len(list_grouping), args.nb_files_expected_training)) + td_all=tf.data.Dataset.from_tensor_slices(list_grouping).shuffle(len(list_grouping),reshuffle_each_iteration=True).interleave(tf.data.TFRecordDataset,cycle_length=16,num_parallel_calls=tf.data.AUTOTUNE,deterministic=False).map(lambda serialized_e : parse_example_df(serialized_e,is_tm_used),num_parallel_calls=tf.data.AUTOTUNE,deterministic=False).shuffle(64*2048,reshuffle_each_iteration=True).repeat().batch(2048).prefetch(tf.data.AUTOTUNE) + del list_grouping + i_td_all = iter(td_all) + nb_iters_init = optimizer.iterations.numpy().item() + if nb_iters_init > nb_iters_training: + raise ValueError('`nb_iters_init` is not smaller than `nb_iters_training`.') + nb_iters_remaining = nb_iters_training - nb_iters_init + if not is_tm_used: + mem_ccs = node_mem_ccs.numpy() + map_range_statically = create_map_range_statically(2048,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,model) + if is_tm_used: + compute_component_tm_statically = create_compute_component_tm_statically(2048,tf.constant(1./numpy.load(path_to_pb_repres),dtype=tf.float32)) + compute_grads_tm_statically = create_compute_grads_tm_statically(2048,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,model,map_range_statically,compute_component_tm_statically) + else: + compute_components_mm_statically = create_compute_components_mm_statically(2048,args.tuple_height_width_target[0],args.tuple_height_width_target[1],model) + compute_grads_mm_statically = create_compute_grads_mm_statically(2048,nb_lines_above,nb_lines_left,size_ctx_height,size_ctx_width,args.tuple_height_width_target[0],args.tuple_height_width_target[1],model,map_range_statically,compute_components_mm_statically) + if is_sparsity_applied: + callback_ws = tensorflow_model_optimization.sparsity.keras.UpdatePruningStep() + callback_ws.set_model(model) + callback_ws.on_train_begin() + t_start = time.time() + for i in range(nb_iters_remaining): + (node_pa_flattened,node_pl_flattened,node_trgts_prov,node_ms_p,_,_,dict_nodes_extra) = next(i_td_all) + if is_tm_used: + optimizer.apply_gradients(zip(compute_grads_tm_statically(node_pa_flattened,node_pl_flattened,dict_nodes_extra['csts_mapg']), model.trainable_weights)) + else: + trgts_alv = dict_nodes_extra['ind_best'][:, 0].numpy().astype(numpy.int32) + update_mem_in(mem_ccs,trgts_alv,i % 200) + if i == 0 or i % 200 == 0: + wghts_alv = compute_derived_once(mem_ccs) + optimizer.apply_gradients(zip(compute_grads_mm_statically(node_pa_flattened,node_pl_flattened,node_trgts_prov,node_ms_p,tf.constant(trgts_alv),tf.constant(wghts_alv)),model.trainable_weights)) + if optimizer.iterations.numpy().item() % args.nb_iters_snapshot == 0 or optimizer.iterations.numpy().item() == nb_iters_training: + if not is_tm_used: + node_mem_ccs.assign(mem_ccs) + checkpoint.save(os.path.join(path_to_directory_saving, 'parameters')) + print('Learning rate at {0} training steps: {1}'.format(optimizer.iterations.numpy().item(), round(optimizer.lr(optimizer.iterations).numpy().item(), 8))) + if optimizer.iterations.numpy().item() % 1000 == 0: + if optimizer.iterations.numpy().item() != i + nb_iters_init + 1: + raise AssertionError('The optimizer iteration is not equal to `i` + `nb_iters_init` + 1.') + if is_sparsity_applied: + for layer in model.layers: + if isinstance(layer, PruneLowMagnitude): + tf.debugging.assert_equal(layer.pruning_step,optimizer.iterations,message='Error.') + if is_sparsity_applied: + callback_ws.on_epoch_end(-1) + model = tensorflow_model_optimization.sparsity.keras.strip_pruning(model) + checkpoint.model = model + checkpoint.save(os.path.join(path_to_directory_saving, 'parameters')) + t_stop = time.time() + nb_hours = int((t_stop - t_start)/3600) + nb_minutes = int((t_stop - t_start)/60) + print('\nThe training completed after {0} hours and {1} minutes.'.format(nb_hours, nb_minutes - 60*nb_hours)) + path_to_directory_frozen = os.path.join('results/freezing_graph_pnn/',tag_shape_target,args.tag_training_set,args.tag_sparsity,'float') + if sys.version_info[0] < 3: + try: + os.makedirs(path_to_directory_frozen) + except OSError as err: + if err.errno != errno.EEXIST: + raise + else: + os.makedirs(path_to_directory_frozen,exist_ok=True) + path_to_frozen_graph_onnx = os.path.join(path_to_directory_frozen,'graph_output.onnx') + path_to_frozen_graph_sadl = os.path.join(path_to_directory_frozen,'graph_output.pb') + onnx.save(tf2onnx.convert.from_keras(model, input_signature=(tf.TensorSpec([1, nb_lines_above*(nb_lines_left + size_ctx_width) + nb_lines_left*size_ctx_height], dtype=tf.float32),), opset=13)[0],path_to_frozen_graph_onnx) + subprocess.check_call([sys.executable, '../../sadl/converter/main.py', '--input_onnx={}'.format(path_to_frozen_graph_onnx), '--output={}'.format(path_to_frozen_graph_sadl)],shell=False) + if args.is_last_cycle: + path_to_directory_test = '../../models_intra_prediction/target_{0}_{1}/float'.format(args.tuple_height_width_target[0],args.tuple_height_width_target[1]) + if not os.path.isdir(path_to_directory_test): + os.makedirs(path_to_directory_test) + shutil.copy(path_to_frozen_graph_sadl,os.path.join(path_to_directory_test,'graph_output.pb')) + print('The writing of the neural network graph in SADL format succeeded.') + + diff --git a/training/training_intra_prediction/training_workflow.pdf b/training/training_intra_prediction/training_workflow.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ee251c25efa64d7e25693e3d2351ba94246cc7ef Binary files /dev/null and b/training/training_intra_prediction/training_workflow.pdf differ