Changeset 875 in SHVCSoftware for branches/SHM-dev/source/App/TAppEncoder
- Timestamp:
- 28 Aug 2014, 01:40:54 (10 years ago)
- Location:
- branches/SHM-dev/source/App/TAppEncoder
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r874 r875 485 485 string* cfg_colourRemapSEIFile[MAX_LAYERS]; 486 486 #endif 487 Int* cfg_waveFrontSynchro[MAX_LAYERS]; 488 487 489 for(UInt layer = 0; layer < MAX_LAYERS; layer++) 488 490 { … … 523 525 #endif 524 526 cfg_numScaledRefLayerOffsets [layer] = &m_acLayerCfg[layer].m_numScaledRefLayerOffsets; 527 cfg_waveFrontSynchro[layer] = &m_acLayerCfg[layer].m_waveFrontSynchro; 525 528 for(Int i = 0; i < MAX_LAYERS; i++) 526 529 { … … 959 962 ("TileRowHeightArray", cfgRowHeight, string(""), "Array containing tile row height values in units of LCU") 960 963 ("LFCrossTileBoundaryFlag", m_bLFCrossTileBoundaryFlag, true, "1: cross-tile-boundary loop filtering. 0:non-cross-tile-boundary loop filtering") 964 #if SVC_EXTENSION 965 ("WaveFrontSynchro%d", cfg_waveFrontSynchro, 0, MAX_LAYERS, "0: no synchro; 1 synchro with TR; 2 TRR etc") 966 #else 961 967 ("WaveFrontSynchro", m_iWaveFrontSynchro, 0, "0: no synchro; 1 synchro with TR; 2 TRR etc") 968 #endif 962 969 ("ScalingList", m_useScalingListId, 0, "0: no scaling list, 1: default scaling lists, 2: scaling lists specified in ScalingListFile") 963 970 ("ScalingListFile", cfg_ScalingListFile, string(""), "Scaling list file name") … … 2458 2465 } 2459 2466 2467 #if !SVC_EXTENSION 2460 2468 Bool tileFlag = (m_numTileColumnsMinus1 > 0 || m_numTileRowsMinus1 > 0 ); 2461 2469 xConfirmPara( tileFlag && m_iWaveFrontSynchro, "Tile and Wavefront can not be applied together"); 2462 2470 2463 2471 //TODO:ChromaFmt assumes 4:2:0 below 2464 #if !SVC_EXTENSION2465 2472 xConfirmPara( m_iSourceWidth % TComSPS::getWinUnitX(CHROMA_420) != 0, "Picture width must be an integer multiple of the specified chroma subsampling"); 2466 2473 xConfirmPara( m_iSourceHeight % TComSPS::getWinUnitY(CHROMA_420) != 0, "Picture height must be an integer multiple of the specified chroma subsampling"); … … 3228 3235 Int m_uiMaxCUHeight = m_acLayerCfg[layer].m_uiMaxCUHeight; 3229 3236 #endif 3230 #endif 3237 3238 Bool tileFlag = (m_numTileColumnsMinus1 > 0 || m_numTileRowsMinus1 > 0 ); 3239 Int m_iWaveFrontSynchro = m_acLayerCfg[layer].m_waveFrontSynchro; 3240 xConfirmPara( tileFlag && m_iWaveFrontSynchro, "Tile and Wavefront can not be applied together"); 3241 #endif 3242 3231 3243 if(m_vuiParametersPresentFlag && m_bitstreamRestrictionFlag) 3232 3244 { … … 3305 3317 } 3306 3318 #endif 3319 #if !SVC_EXTENSION 3307 3320 xConfirmPara( m_iWaveFrontSynchro < 0, "WaveFrontSynchro cannot be negative" ); 3308 #if !SVC_EXTENSION3309 3321 xConfirmPara( m_iWaveFrontSubstreams <= 0, "WaveFrontSubstreams must be positive" ); 3310 3322 xConfirmPara( m_iWaveFrontSubstreams > 1 && !m_iWaveFrontSynchro, "Must have WaveFrontSynchro > 0 in order to have WaveFrontSubstreams > 1" ); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r874 r875 257 257 std::vector<Int> m_tileColumnWidth; 258 258 std::vector<Int> m_tileRowHeight; 259 #if !SVC_EXTENSION 259 260 Int m_iWaveFrontSynchro; //< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current. 260 #if !SVC_EXTENSION261 261 Int m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles). 262 262 #endif … … 497 497 #endif 498 498 Int getDecodingRefreshType() {return m_iDecodingRefreshType; } 499 Int getWaveFrontSynchro( ) { return m_iWaveFrontSynchro; }499 Int getWaveFrontSynchro(Int layerId) { return m_acLayerCfg[layerId].m_waveFrontSynchro; } 500 500 Void getDirFilename(string& filename, string& dir, const string path); 501 501 #if OUTPUT_LAYER_SETS_CONFIG -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp
r868 r875 333 333 } 334 334 #endif 335 printf("WaveFrontSynchro:%d WaveFrontSubstreams:%d", m_ cAppEncCfg->getWaveFrontSynchro(), m_iWaveFrontSubstreams);335 printf("WaveFrontSynchro:%d WaveFrontSubstreams:%d", m_waveFrontSynchro, m_iWaveFrontSubstreams); 336 336 #if LAYER_CTB 337 337 printf("PCM:%d ", (m_cAppEncCfg->getUsePCM() && (1<<m_cAppEncCfg->getPCMLog2MinSize()) <= m_uiMaxCUWidth)? 1 : 0); … … 464 464 #endif 465 465 466 467 m_iWaveFrontSubstreams = m_cAppEncCfg->getWaveFrontSynchro() ? (m_iSourceHeight + maxCUHeight - 1) / maxCUHeight : 1;466 m_iWaveFrontSubstreams = m_waveFrontSynchro ? (m_iSourceHeight + maxCUHeight - 1) / maxCUHeight : 1; 467 xConfirmPara( m_waveFrontSynchro < 0, "WaveFrontSynchro cannot be negative" ); 468 468 xConfirmPara( m_iWaveFrontSubstreams <= 0, "WaveFrontSubstreams must be positive" ); 469 xConfirmPara( m_iWaveFrontSubstreams > 1 && !m_ cAppEncCfg->getWaveFrontSynchro(), "Must have WaveFrontSynchro > 0 in order to have WaveFrontSubstreams > 1" );469 xConfirmPara( m_iWaveFrontSubstreams > 1 && !m_waveFrontSynchro, "Must have WaveFrontSynchro > 0 in order to have WaveFrontSubstreams > 1" ); 470 470 471 471 //chekc parameters -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r868 r875 81 81 82 82 Int m_maxTidIlRefPicsPlus1; 83 Int m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles). 83 Int m_waveFrontSynchro; ///< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current. 84 Int m_iWaveFrontSubstreams; ///< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles). 84 85 85 86 Int m_iQP; ///< QP value of key-picture (integer) … … 147 148 Int* m_colourRemapSEIPostLutTargetValue[3]; 148 149 #endif 150 149 151 public: 150 152 TAppEncLayerCfg(); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r874 r875 609 609 } 610 610 m_acTEncTop[layer].setLFCrossTileBoundaryFlag( m_bLFCrossTileBoundaryFlag ); 611 m_acTEncTop[layer].setWaveFrontSynchro ( m_ iWaveFrontSynchro );611 m_acTEncTop[layer].setWaveFrontSynchro ( m_acLayerCfg[layer].m_waveFrontSynchro ); 612 612 m_acTEncTop[layer].setWaveFrontSubstreams ( m_acLayerCfg[layer].m_iWaveFrontSubstreams ); 613 613 m_acTEncTop[layer].setTMVPModeId ( m_TMVPModeId );
Note: See TracChangeset for help on using the changeset viewer.