Changeset 1081 in 3DVCSoftware for branches/HTM-12.1-dev0/source/App
- Timestamp:
- 22 Oct 2014, 01:32:55 (10 years ago)
- Location:
- branches/HTM-12.1-dev0/source/App/TAppEncoder
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncCfg.cpp
r1079 r1081 72 72 #endif 73 73 , m_pchdQPFile() 74 , m_pColumnWidth()75 , m_pRowHeight()76 74 , m_scalingListFile() 77 75 { … … 139 137 #endif 140 138 free(m_pchdQPFile); 141 free(m_pColumnWidth);142 free(m_pRowHeight);143 139 free(m_scalingListFile); 144 140 #if H_MV … … 344 340 #endif 345 341 string cfg_dQPFile; 346 string cfg _ColumnWidth;347 string cfg _RowHeight;342 string cfgColumnWidth; 343 string cfgRowHeight; 348 344 string cfg_ScalingListFile; 349 345 string cfg_startOfCodedInterval; … … 420 416 ("OutputBitDepthC", m_outputBitDepthC, 0, "As per OutputBitDepth but for chroma component. (default:InternalBitDepthC)") 421 417 ("InternalBitDepthC", m_internalBitDepthC, 0, "As per InternalBitDepth but for chroma component. (default:IntrenalBitDepth)") 422 ("ConformanceMode", m_conformanceMode, 0, "Window conformance mode (0: no window, 1:automatic padding, 2:padding, 3:conformance") 418 ("ConformanceMode", m_conformanceWindowMode, 0, "Deprecated alias of ConformanceWindowMode") 419 ("ConformanceWindowMode", m_conformanceWindowMode, 0, "Window conformance mode (0: no window, 1:automatic padding, 2:padding, 3:conformance") 423 420 ("HorizontalPadding,-pdx",m_aiPad[0], 0, "Horizontal source padding for conformance window mode 2") 424 421 ("VerticalPadding,-pdy", m_aiPad[1], 0, "Vertical source padding for conformance window mode 2") 425 ("ConfLeft", m_confLeft, 0, "Left offset for window conformance mode 3") 426 ("ConfRight", m_confRight, 0, "Right offset for window conformance mode 3") 427 ("ConfTop", m_confTop, 0, "Top offset for window conformance mode 3") 428 ("ConfBottom", m_confBottom, 0, "Bottom offset for window conformance mode 3") 422 ("ConfLeft", m_confWinLeft, 0, "Deprecated alias of ConfWinLeft") 423 ("ConfRight", m_confWinRight, 0, "Deprecated alias of ConfWinRight") 424 ("ConfTop", m_confWinTop, 0, "Deprecated alias of ConfWinTop") 425 ("ConfBottom", m_confWinBottom, 0, "Deprecated alias of ConfWinBottom") 426 ("ConfWinLeft", m_confWinLeft, 0, "Left offset for window conformance mode 3") 427 ("ConfWinRight", m_confWinRight, 0, "Right offset for window conformance mode 3") 428 ("ConfWinTop", m_confWinTop, 0, "Top offset for window conformance mode 3") 429 ("ConfWinBottom", m_confWinBottom, 0, "Bottom offset for window conformance mode 3") 429 430 ("FrameRate,-fr", m_iFrameRate, 0, "Frame rate") 430 431 ("FrameSkip,-fs", m_FrameSkip, 0u, "Number of frames to skip at start of input YUV") … … 583 584 ("WeightedPredB,-wpB", m_useWeightedBiPred, false, "Use weighted (bidirectional) prediction in B slices") 584 585 ("Log2ParallelMergeLevel", m_log2ParallelMergeLevel, 2u, "Parallel merge estimation region") 585 ("UniformSpacingIdc", m_iUniformSpacingIdr, 0, "Indicates if the column and row boundaries are distributed uniformly") 586 ("NumTileColumnsMinus1", m_iNumColumnsMinus1, 0, "Number of columns in a picture minus 1") 587 ("ColumnWidthArray", cfg_ColumnWidth, string(""), "Array containing ColumnWidth values in units of LCU") 588 ("NumTileRowsMinus1", m_iNumRowsMinus1, 0, "Number of rows in a picture minus 1") 589 ("RowHeightArray", cfg_RowHeight, string(""), "Array containing RowHeight values in units of LCU") 586 587 //deprecated copies of renamed tile parameters 588 ("UniformSpacingIdc", m_tileUniformSpacingFlag, false, "deprecated alias of TileUniformSpacing") 589 ("ColumnWidthArray", cfgColumnWidth, string(""), "deprecated alias of TileColumnWidthArray") 590 ("RowHeightArray", cfgRowHeight, string(""), "deprecated alias of TileRowHeightArray") 591 592 ("TileUniformSpacing", m_tileUniformSpacingFlag, false, "Indicates that tile columns and rows are distributed uniformly") 593 ("NumTileColumnsMinus1", m_numTileColumnsMinus1, 0, "Number of tile columns in a picture minus 1") 594 ("NumTileRowsMinus1", m_numTileRowsMinus1, 0, "Number of rows in a picture minus 1") 595 ("TileColumnWidthArray", cfgColumnWidth, string(""), "Array containing tile column width values in units of LCU") 596 ("TileRowHeightArray", cfgRowHeight, string(""), "Array containing tile row height values in units of LCU") 590 597 ("LFCrossTileBoundaryFlag", m_bLFCrossTileBoundaryFlag, true, "1: cross-tile-boundary loop filtering. 0:non-cross-tile-boundary loop filtering") 591 598 ("WaveFrontSynchro", m_iWaveFrontSynchro, 0, "0: no synchro; 1 synchro with TR; 2 TRR etc") … … 669 676 ("ColourDescriptionPresent", m_colourDescriptionPresentFlag, false, "Signals whether colour_primaries, transfer_characteristics and matrix_coefficients are present") 670 677 ("ColourPrimaries", m_colourPrimaries, 2, "Indicates chromaticity coordinates of the source primaries") 671 ("TransferChara teristics",m_transferCharacteristics, 2, "Indicates the opto-electronic transfer characteristics of the source")678 ("TransferCharacteristics", m_transferCharacteristics, 2, "Indicates the opto-electronic transfer characteristics of the source") 672 679 ("MatrixCoefficients", m_matrixCoefficients, 2, "Describes the matrix coefficients used in deriving luma and chroma from RGB primaries") 673 680 ("ChromaLocInfoPresent", m_chromaLocInfoPresentFlag, false, "Signals whether chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present") … … 889 896 m_pchdQPFile = cfg_dQPFile.empty() ? NULL : strdup(cfg_dQPFile.c_str()); 890 897 891 Char* pColumnWidth = cfg_ColumnWidth.empty() ? NULL: strdup(cfg_ColumnWidth.c_str()); 892 Char* pRowHeight = cfg_RowHeight.empty() ? NULL : strdup(cfg_RowHeight.c_str()); 893 if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 ) 894 { 895 char *columnWidth; 898 Char* pColumnWidth = cfgColumnWidth.empty() ? NULL: strdup(cfgColumnWidth.c_str()); 899 Char* pRowHeight = cfgRowHeight.empty() ? NULL : strdup(cfgRowHeight.c_str()); 900 901 if( !m_tileUniformSpacingFlag && m_numTileColumnsMinus1 > 0 ) 902 { 903 char *str; 896 904 int i=0; 897 m_ pColumnWidth = new UInt[m_iNumColumnsMinus1];898 columnWidth= strtok(pColumnWidth, " ,-");899 while( columnWidth!=NULL)900 { 901 if( i >=m_iNumColumnsMinus1 )905 m_tileColumnWidth.resize( m_numTileColumnsMinus1 ); 906 str = strtok(pColumnWidth, " ,-"); 907 while(str!=NULL) 908 { 909 if( i >= m_numTileColumnsMinus1 ) 902 910 { 903 911 printf( "The number of columns whose width are defined is larger than the allowed number of columns.\n" ); 904 912 exit( EXIT_FAILURE ); 905 913 } 906 *( m_pColumnWidth + i ) = atoi( columnWidth);907 columnWidth= strtok(NULL, " ,-");914 m_tileColumnWidth[i] = atoi( str ); 915 str = strtok(NULL, " ,-"); 908 916 i++; 909 917 } 910 if( i <m_iNumColumnsMinus1 )918 if( i < m_numTileColumnsMinus1 ) 911 919 { 912 920 printf( "The width of some columns is not defined.\n" ); … … 916 924 else 917 925 { 918 m_ pColumnWidth = NULL;919 } 920 921 if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 )922 { 923 char * rowHeight;926 m_tileColumnWidth.clear(); 927 } 928 929 if( !m_tileUniformSpacingFlag && m_numTileRowsMinus1 > 0 ) 930 { 931 char *str; 924 932 int i=0; 925 m_ pRowHeight = new UInt[m_iNumRowsMinus1];926 rowHeight= strtok(pRowHeight, " ,-");927 while( rowHeight!=NULL)928 { 929 if( i>=m_ iNumRowsMinus1 )933 m_tileRowHeight.resize(m_numTileRowsMinus1); 934 str = strtok(pRowHeight, " ,-"); 935 while(str!=NULL) 936 { 937 if( i>=m_numTileRowsMinus1 ) 930 938 { 931 939 printf( "The number of rows whose height are defined is larger than the allowed number of rows.\n" ); 932 940 exit( EXIT_FAILURE ); 933 941 } 934 *( m_pRowHeight + i ) = atoi( rowHeight);935 rowHeight= strtok(NULL, " ,-");942 m_tileRowHeight[i] = atoi( str ); 943 str = strtok(NULL, " ,-"); 936 944 i++; 937 945 } 938 if( i <m_iNumRowsMinus1 )946 if( i < m_numTileRowsMinus1 ) 939 947 { 940 948 printf( "The height of some rows is not defined.\n" ); … … 944 952 else 945 953 { 946 m_ pRowHeight = NULL;954 m_tileRowHeight.clear(); 947 955 } 948 956 #if H_MV … … 960 968 961 969 // TODO:ChromaFmt assumes 4:2:0 below 962 switch (m_conformance Mode)970 switch (m_conformanceWindowMode) 963 971 { 964 972 case 0: 965 973 { 966 974 // no conformance or padding 967 m_conf Left = m_confRight = m_confTop = m_confBottom = 0;975 m_confWinLeft = m_confWinRight = m_confWinTop = m_confWinBottom = 0; 968 976 m_aiPad[1] = m_aiPad[0] = 0; 969 977 break; … … 975 983 if (m_iSourceWidth % minCuSize) 976 984 { 977 m_aiPad[0] = m_conf Right = ((m_iSourceWidth / minCuSize) + 1) * minCuSize - m_iSourceWidth;978 m_iSourceWidth += m_conf Right;985 m_aiPad[0] = m_confWinRight = ((m_iSourceWidth / minCuSize) + 1) * minCuSize - m_iSourceWidth; 986 m_iSourceWidth += m_confWinRight; 979 987 } 980 988 if (m_iSourceHeight % minCuSize) 981 989 { 982 m_aiPad[1] = m_conf Bottom = ((m_iSourceHeight / minCuSize) + 1) * minCuSize - m_iSourceHeight;983 m_iSourceHeight += m_conf Bottom;990 m_aiPad[1] = m_confWinBottom = ((m_iSourceHeight / minCuSize) + 1) * minCuSize - m_iSourceHeight; 991 m_iSourceHeight += m_confWinBottom; 984 992 if ( m_isField ) 985 993 { 986 m_iSourceHeightOrg += m_conf Bottom << 1;987 m_aiPad[1] = m_conf Bottom << 1;994 m_iSourceHeightOrg += m_confWinBottom << 1; 995 m_aiPad[1] = m_confWinBottom << 1; 988 996 } 989 997 } … … 1005 1013 m_iSourceWidth += m_aiPad[0]; 1006 1014 m_iSourceHeight += m_aiPad[1]; 1007 m_conf Right = m_aiPad[0];1008 m_conf Bottom = m_aiPad[1];1015 m_confWinRight = m_aiPad[0]; 1016 m_confWinBottom = m_aiPad[1]; 1009 1017 break; 1010 1018 } … … 1012 1020 { 1013 1021 // conformance 1014 if ((m_conf Left == 0) && (m_confRight == 0) && (m_confTop == 0) && (m_confBottom == 0))1022 if ((m_confWinLeft == 0) && (m_confWinRight == 0) && (m_confWinTop == 0) && (m_confWinBottom == 0)) 1015 1023 { 1016 1024 fprintf(stderr, "Warning: Conformance window enabled, but all conformance window parameters set to zero\n"); … … 1680 1688 } 1681 1689 1682 Bool tileFlag = (m_ iNumColumnsMinus1 > 0 || m_iNumRowsMinus1 > 0 );1690 Bool tileFlag = (m_numTileColumnsMinus1 > 0 || m_numTileRowsMinus1 > 0 ); 1683 1691 xConfirmPara( tileFlag && m_iWaveFrontSynchro, "Tile and Wavefront can not be applied together"); 1684 1692 … … 1690 1698 xConfirmPara( m_aiPad[1] % TComSPS::getWinUnitY(CHROMA_420) != 0, "Vertical padding must be an integer multiple of the specified chroma subsampling"); 1691 1699 1692 xConfirmPara( m_confLeft % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left conformance window offset must be an integer multiple of the specified chroma subsampling"); 1693 xConfirmPara( m_confRight % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right conformance window offset must be an integer multiple of the specified chroma subsampling"); 1694 xConfirmPara( m_confTop % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top conformance window offset must be an integer multiple of the specified chroma subsampling"); 1695 xConfirmPara( m_confBottom % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom conformance window offset must be an integer multiple of the specified chroma subsampling"); 1700 xConfirmPara( m_confWinLeft % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left conformance window offset must be an integer multiple of the specified chroma subsampling"); 1701 xConfirmPara( m_confWinRight % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right conformance window offset must be an integer multiple of the specified chroma subsampling"); 1702 xConfirmPara( m_confWinTop % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top conformance window offset must be an integer multiple of the specified chroma subsampling"); 1703 xConfirmPara( m_confWinBottom % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom conformance window offset must be an integer multiple of the specified chroma subsampling"); 1704 1705 xConfirmPara( m_defaultDisplayWindowFlag && !m_vuiParametersPresentFlag, "VUI needs to be enabled for default display window"); 1706 1707 if (m_defaultDisplayWindowFlag) 1708 { 1709 xConfirmPara( m_defDispWinLeftOffset % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left default display window offset must be an integer multiple of the specified chroma subsampling"); 1710 xConfirmPara( m_defDispWinRightOffset % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right default display window offset must be an integer multiple of the specified chroma subsampling"); 1711 xConfirmPara( m_defDispWinTopOffset % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top default display window offset must be an integer multiple of the specified chroma subsampling"); 1712 xConfirmPara( m_defDispWinBottomOffset % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom default display window offset must be an integer multiple of the specified chroma subsampling"); 1713 } 1696 1714 1697 1715 #if H_3D … … 2213 2231 Int widthInCU = (m_iSourceWidth % m_uiMaxCUWidth) ? m_iSourceWidth/m_uiMaxCUWidth + 1: m_iSourceWidth/m_uiMaxCUWidth; 2214 2232 Int heightInCU = (m_iSourceHeight % m_uiMaxCUHeight) ? m_iSourceHeight/m_uiMaxCUHeight + 1: m_iSourceHeight/m_uiMaxCUHeight; 2215 if(m_ iUniformSpacingIdr)2216 { 2217 maxTileWidth = m_uiMaxCUWidth*((widthInCU+m_ iNumColumnsMinus1)/(m_iNumColumnsMinus1+1));2218 maxTileHeight = m_uiMaxCUHeight*((heightInCU+m_ iNumRowsMinus1)/(m_iNumRowsMinus1+1));2233 if(m_tileUniformSpacingFlag) 2234 { 2235 maxTileWidth = m_uiMaxCUWidth*((widthInCU+m_numTileColumnsMinus1)/(m_numTileColumnsMinus1+1)); 2236 maxTileHeight = m_uiMaxCUHeight*((heightInCU+m_numTileRowsMinus1)/(m_numTileRowsMinus1+1)); 2219 2237 // if only the last tile-row is one treeblock higher than the others 2220 2238 // the maxTileHeight becomes smaller if the last row of treeblocks has lower height than the others 2221 if(!((heightInCU-1)%(m_ iNumRowsMinus1+1)))2239 if(!((heightInCU-1)%(m_numTileRowsMinus1+1))) 2222 2240 { 2223 2241 maxTileHeight = maxTileHeight - m_uiMaxCUHeight + (m_iSourceHeight % m_uiMaxCUHeight); … … 2225 2243 // if only the last tile-column is one treeblock wider than the others 2226 2244 // the maxTileWidth becomes smaller if the last column of treeblocks has lower width than the others 2227 if(!((widthInCU-1)%(m_ iNumColumnsMinus1+1)))2245 if(!((widthInCU-1)%(m_numTileColumnsMinus1+1))) 2228 2246 { 2229 2247 maxTileWidth = maxTileWidth - m_uiMaxCUWidth + (m_iSourceWidth % m_uiMaxCUWidth); … … 2232 2250 else // not uniform spacing 2233 2251 { 2234 if(m_ iNumColumnsMinus1<1)2252 if(m_numTileColumnsMinus1<1) 2235 2253 { 2236 2254 maxTileWidth = m_iSourceWidth; … … 2239 2257 { 2240 2258 Int accColumnWidth = 0; 2241 for(Int col=0; col<(m_ iNumColumnsMinus1); col++)2259 for(Int col=0; col<(m_numTileColumnsMinus1); col++) 2242 2260 { 2243 maxTileWidth = m_ pColumnWidth[col]>maxTileWidth ? m_pColumnWidth[col]:maxTileWidth;2244 accColumnWidth += m_ pColumnWidth[col];2261 maxTileWidth = m_tileColumnWidth[col]>maxTileWidth ? m_tileColumnWidth[col]:maxTileWidth; 2262 accColumnWidth += m_tileColumnWidth[col]; 2245 2263 } 2246 2264 maxTileWidth = (widthInCU-accColumnWidth)>maxTileWidth ? m_uiMaxCUWidth*(widthInCU-accColumnWidth):m_uiMaxCUWidth*maxTileWidth; 2247 2265 } 2248 if(m_ iNumRowsMinus1<1)2266 if(m_numTileRowsMinus1<1) 2249 2267 { 2250 2268 maxTileHeight = m_iSourceHeight; … … 2253 2271 { 2254 2272 Int accRowHeight = 0; 2255 for(Int row=0; row<(m_ iNumRowsMinus1); row++)2273 for(Int row=0; row<(m_numTileRowsMinus1); row++) 2256 2274 { 2257 maxTileHeight = m_ pRowHeight[row]>maxTileHeight ? m_pRowHeight[row]:maxTileHeight;2258 accRowHeight += m_ pRowHeight[row];2275 maxTileHeight = m_tileRowHeight[row]>maxTileHeight ? m_tileRowHeight[row]:maxTileHeight; 2276 accRowHeight += m_tileRowHeight[row]; 2259 2277 } 2260 2278 maxTileHeight = (heightInCU-accRowHeight)>maxTileHeight ? m_uiMaxCUHeight*(heightInCU-accRowHeight):m_uiMaxCUHeight*maxTileHeight; … … 2429 2447 xPrintParaVector( "SAO" , m_bUseSAO ); 2430 2448 #endif 2431 printf("Real Format : %dx%d %dHz\n", m_iSourceWidth - m_conf Left - m_confRight, m_iSourceHeight - m_confTop - m_confBottom, m_iFrameRate );2449 printf("Real Format : %dx%d %dHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, m_iFrameRate ); 2432 2450 printf("Internal Format : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate ); 2433 2451 if (m_isField) -
branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncCfg.h
r1076 r1081 43 43 #include "TLibEncoder/TEncCfg.h" 44 44 #include <sstream> 45 #include <vector> 45 46 #if H_3D 46 47 #include "TAppCommon/TAppComCamPara.h" … … 172 173 bool m_isTopFieldFirst; 173 174 174 Int m_conformance Mode;175 Int m_conf Left;176 Int m_conf Right;177 Int m_conf Top;178 Int m_conf Bottom;175 Int m_conformanceWindowMode; 176 Int m_confWinLeft; 177 Int m_confWinRight; 178 Int m_confWinTop; 179 Int m_confWinBottom; 179 180 Int m_framesToBeEncoded; ///< number of encoded frames 180 181 Int m_aiPad[2]; ///< number of padded pixels for width and height … … 324 325 Bool m_bLFCrossSliceBoundaryFlag; ///< 1: filter across slice boundaries 0: do not filter across slice boundaries 325 326 Bool m_bLFCrossTileBoundaryFlag; ///< 1: filter across tile boundaries 0: do not filter across tile boundaries 326 Int m_iUniformSpacingIdr; 327 Int m_iNumColumnsMinus1; 328 Char* m_pchColumnWidth; 329 Int m_iNumRowsMinus1; 330 Char* m_pchRowHeight; 331 UInt* m_pColumnWidth; 332 UInt* m_pRowHeight; 327 Bool m_tileUniformSpacingFlag; 328 Int m_numTileColumnsMinus1; 329 Int m_numTileRowsMinus1; 330 std::vector<Int> m_tileColumnWidth; 331 std::vector<Int> m_tileRowHeight; 333 332 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. 334 333 Int m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles). -
branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r1076 r1081 281 281 m_cTEncTop.setSourceWidth ( m_iSourceWidth ); 282 282 m_cTEncTop.setSourceHeight ( m_iSourceHeight ); 283 m_cTEncTop.setConformanceWindow ( m_conf Left, m_confRight, m_confTop, m_confBottom );283 m_cTEncTop.setConformanceWindow ( m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom ); 284 284 m_cTEncTop.setFramesToBeEncoded ( m_framesToBeEncoded ); 285 285 … … 489 489 } 490 490 #endif 491 m_cTEncTop.set UniformSpacingIdr ( m_iUniformSpacingIdr);492 m_cTEncTop.setNumColumnsMinus1 ( m_ iNumColumnsMinus1 );493 m_cTEncTop.setNumRowsMinus1 ( m_ iNumRowsMinus1 );494 if( m_iUniformSpacingIdr==0)495 { 496 m_cTEncTop.setColumnWidth ( m_ pColumnWidth );497 m_cTEncTop.setRowHeight ( m_ pRowHeight );491 m_cTEncTop.setTileUniformSpacingFlag ( m_tileUniformSpacingFlag ); 492 m_cTEncTop.setNumColumnsMinus1 ( m_numTileColumnsMinus1 ); 493 m_cTEncTop.setNumRowsMinus1 ( m_numTileRowsMinus1 ); 494 if(!m_tileUniformSpacingFlag) 495 { 496 m_cTEncTop.setColumnWidth ( m_tileColumnWidth ); 497 m_cTEncTop.setRowHeight ( m_tileRowHeight ); 498 498 } 499 499 m_cTEncTop.xCheckGSParameters(); 500 Int uiTilesCount = (m_ iNumRowsMinus1+1) * (m_iNumColumnsMinus1+1);500 Int uiTilesCount = (m_numTileRowsMinus1+1) * (m_numTileColumnsMinus1+1); 501 501 if(uiTilesCount == 1) 502 502 { … … 603 603 m_cTEncTop.setActiveParameterSetsSEIEnabled ( m_activeParameterSetsSEIEnabled ); 604 604 m_cTEncTop.setVuiParametersPresentFlag( m_vuiParametersPresentFlag ); 605 m_cTEncTop.setAspectRatioInfoPresentFlag( m_aspectRatioInfoPresentFlag); 605 606 m_cTEncTop.setAspectRatioIdc( m_aspectRatioIdc ); 606 607 m_cTEncTop.setSarWidth( m_sarWidth ); … … 1087 1088 if (m_pchReconFileList[layerId]) 1088 1089 { 1090 #if H_MV_ALIGN_HM_15 1091 m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom, m_isTopFieldFirst ); 1092 #else 1089 1093 m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confLeft, m_confRight, m_confTop, m_confBottom, m_isTopFieldFirst ); 1094 #endif 1090 1095 } 1091 1096 } … … 1104 1109 if (m_pchReconFile) 1105 1110 { 1106 m_cTVideoIOYuvReconFile.write( pcPicYuvRecTop, pcPicYuvRecBottom, m_conf Left, m_confRight, m_confTop, m_confBottom, m_isTopFieldFirst );1111 m_cTVideoIOYuvReconFile.write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom, m_isTopFieldFirst ); 1107 1112 } 1108 1113 … … 1140 1145 if (m_pchReconFileList[layerId]) 1141 1146 { 1147 #if H_MV_ALIGN_HM_15 1148 m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRec, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom ); 1149 #else 1142 1150 m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRec, m_confLeft, m_confRight, m_confTop, m_confBottom ); 1151 #endif 1143 1152 } 1144 1153 } … … 1156 1165 if (m_pchReconFile) 1157 1166 { 1158 m_cTVideoIOYuvReconFile.write( pcPicYuvRec, m_conf Left, m_confRight, m_confTop, m_confBottom );1167 m_cTVideoIOYuvReconFile.write( pcPicYuvRec, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom ); 1159 1168 } 1160 1169 … … 1612 1621 1613 1622 repFormat->setConformanceWindowVpsFlag( true ); 1623 #if H_MV_ALIGN_HM_15 1624 repFormat->setConfWinVpsLeftOffset ( m_confWinLeft / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1625 repFormat->setConfWinVpsRightOffset ( m_confWinRight / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1626 repFormat->setConfWinVpsTopOffset ( m_confWinTop / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1627 repFormat->setConfWinVpsBottomOffset ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1628 #else 1614 1629 repFormat->setConfWinVpsLeftOffset ( m_confLeft / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1615 1630 repFormat->setConfWinVpsRightOffset ( m_confRight / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) ); 1616 1631 repFormat->setConfWinVpsTopOffset ( m_confTop / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1617 1632 repFormat->setConfWinVpsBottomOffset ( m_confBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) ); 1618 1633 #endif 1619 1634 assert( vps.getRepFormat( 0 ) == NULL ); 1620 1635 vps.setRepFormat( 0 , repFormat );
Note: See TracChangeset for help on using the changeset viewer.