Changeset 1544 in SHVCSoftware for branches/SHM-dev/source/App
- Timestamp:
- 22 Mar 2016, 23:36:21 (9 years ago)
- Location:
- branches/SHM-dev/source/App/TAppEncoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1541 r1544 1167 1167 #endif 1168 1168 ("FrameSkip,-fs", m_FrameSkip, 0u, "Number of frames to skip at start of input YUV") 1169 ("TemporalSubsampleRatio,-ts", m_temporalSubsampleRatio, 1u, "Temporal sub-sample ratio when reading input YUV") 1169 1170 ("FramesToBeEncoded,f", m_framesToBeEncoded, 0, "Number of frames to be encoded (default=all)") 1170 1171 ("ClipInputVideoToRec709Range", m_bClipInputVideoToRec709Range, false, "If true then clip input video to the Rec. 709 Range on loading when InternalBitDepth is less than MSBExtendedBitDepth") … … 1759 1760 */ 1760 1761 1762 m_framesToBeEncoded = ( m_framesToBeEncoded + m_temporalSubsampleRatio - 1 ) / m_temporalSubsampleRatio; 1761 1763 m_adIntraLambdaModifier = cfg_adIntraLambdaModifier.values; 1762 1764 if(m_isField) … … 3376 3378 xConfirmPara( m_InputChromaFormatIDC >= NUM_CHROMA_FORMAT, "InputChromaFormatIDC must be either 400, 420, 422 or 444" ); 3377 3379 xConfirmPara( m_iFrameRate <= 0, "Frame rate must be more than 1" ); 3380 xConfirmPara( m_temporalSubsampleRatio < 1, "Temporal subsample rate must be no less than 1" ); 3378 3381 xConfirmPara( m_framesToBeEncoded <= 0, "Total Number Of Frames encoded must be more than 0" ); 3379 3382 xConfirmPara( m_iGOPSize < 1 , "GOP Size must be greater or equal to 1" ); … … 4296 4299 4297 4300 printf("Reconstruction File : %s\n", m_reconFileName.c_str() ); 4298 printf("Real Format : %dx%d % dHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, m_iFrameRate);4299 printf("Internal Format : %dx%d % dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate);4301 printf("Real Format : %dx%d %gHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, (Double)m_iFrameRate/m_temporalSubsampleRatio ); 4302 printf("Internal Format : %dx%d %gHz\n", m_iSourceWidth, m_iSourceHeight, (Double)m_iFrameRate/m_temporalSubsampleRatio ); 4300 4303 4301 4304 #if SVC_EXTENSION -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1538 r1544 152 152 Int m_iFrameRate; ///< source frame-rates (Hz) 153 153 #endif 154 UInt m_FrameSkip; ///< number of skipped frames from the beginning 154 UInt m_FrameSkip; ///< number of skipped frames from the beginning 155 UInt m_temporalSubsampleRatio; ///< temporal subsample ratio, 2 means code every two frames 155 156 #if !SVC_EXTENSION 156 157 Int m_iSourceWidth; ///< source width in pixel -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1538 r1544 563 563 m_cTEncTop.setFrameRate ( m_iFrameRate ); 564 564 m_cTEncTop.setFrameSkip ( m_FrameSkip ); 565 m_cTEncTop.setTemporalSubsampleRatio ( m_temporalSubsampleRatio ); 565 566 m_cTEncTop.setSourceWidth ( m_iSourceWidth ); 566 567 m_cTEncTop.setSourceHeight ( m_iSourceHeight ); … … 1730 1731 } 1731 1732 m_apcTEncTop[layer]->setNumPicRcvd( 0 ); 1733 1734 // temporally skip frames 1735 if( m_temporalSubsampleRatio > 1 ) 1736 { 1737 m_apcTVideoIOYuvInputFile[layer]->skipFrames(m_temporalSubsampleRatio-1, m_apcTEncTop[layer]->getSourceWidth() - m_apcTEncTop[layer]->getPad(0), m_apcTEncTop[layer]->getSourceHeight() - m_apcTEncTop[layer]->getPad(1), m_apcLayerCfg[layer]->m_InputChromaFormatIDC); 1738 } 1732 1739 } 1733 1740 … … 1971 1978 xWriteOutput(bitstreamFile, iNumEncoded, outputAccessUnits); 1972 1979 outputAccessUnits.clear(); 1980 } 1981 // temporally skip frames 1982 if( m_temporalSubsampleRatio > 1 ) 1983 { 1984 m_cTVideoIOYuvInputFile.skipFrames(m_temporalSubsampleRatio-1, m_iSourceWidth - m_aiPad[0], m_iSourceHeight - m_aiPad[1], m_InputChromaFormatIDC); 1973 1985 } 1974 1986 } … … 2280 2292 { 2281 2293 #if SVC_EXTENSION 2282 Double time = (Double) m_iFrameRcvd / m_apcLayerCfg[m_numLayers-1]->m_iFrameRate ;2294 Double time = (Double) m_iFrameRcvd / m_apcLayerCfg[m_numLayers-1]->m_iFrameRate * m_temporalSubsampleRatio; 2283 2295 #else 2284 Double time = (Double) m_iFrameRcvd / m_iFrameRate ;2296 Double time = (Double) m_iFrameRcvd / m_iFrameRate * m_temporalSubsampleRatio; 2285 2297 #endif 2286 2298 printf("Bytes written to file: %u (%.3f kbps)\n", m_totalBytes, 0.008 * m_totalBytes / time);
Note: See TracChangeset for help on using the changeset viewer.