Changeset 1190 in SHVCSoftware
- Timestamp:
- 8 Jul 2015, 03:47:31 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1180 r1190 1964 1964 , m_vpsNumRepFormats (1) 1965 1965 #endif 1966 #if VIEW_ID_RELATED_SIGNALING1967 #if O0109_VIEW_ID_LEN1968 1966 , m_viewIdLen (0) 1969 #else1970 , m_viewIdLenMinus1 (0)1971 #endif1972 #endif1973 1967 , m_vpsNonVuiExtLength (0) 1974 1968 #if P0297_VPS_POC_LSB_ALIGNED_FLAG … … 2056 2050 ::memset( m_vpsRepFormatIdx, 0, sizeof(m_vpsRepFormatIdx) ); 2057 2051 #endif 2058 #if VIEW_ID_RELATED_SIGNALING2059 2052 ::memset(m_viewIdVal, 0, sizeof(m_viewIdVal)); 2060 #endif2061 2053 2062 2054 for( Int i = 0; i < MAX_NUM_LAYER_IDS; i++ ) … … 3278 3270 } 3279 3271 3280 #if VIEW_ID_RELATED_SIGNALING3281 3272 Int TComVPS::getNumViews() 3282 3273 { … … 3293 3284 return numViews; 3294 3285 } 3286 3295 3287 Int TComVPS::getScalabilityId( Int layerIdInVps, ScalabilityType scalType ) 3296 3288 { 3297 3289 return getScalabilityMask( scalType ) ? getDimensionId( layerIdInVps, scalTypeToScalIdx( scalType ) ) : 0; 3298 } 3290 } 3291 3299 3292 Int TComVPS::scalTypeToScalIdx( ScalabilityType scalType ) 3300 3293 { … … 3310 3303 return scalIdx; 3311 3304 } 3312 #endif 3305 3313 3306 #if VPS_DPB_SIZE_TABLE 3314 3307 Int TComVPS::getLayerIdcForOls( Int olsIdx, Int layerId ) -
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.h
r1186 r1190 690 690 Int m_vpsRepFormatIdx[16]; 691 691 #endif 692 #if VIEW_ID_RELATED_SIGNALING693 #if O0109_VIEW_ID_LEN694 692 Int m_viewIdLen; 695 #else696 Int m_viewIdLenMinus1;697 #endif698 693 Int m_viewIdVal [MAX_LAYERS]; 699 #endif700 694 701 695 Int m_numberRefLayers[MAX_NUM_LAYER_IDS]; // number of direct and indirect reference layers of a coding layer … … 1082 1076 Void setVpsRepFormatIdx(Int idx, Int x) { m_vpsRepFormatIdx[idx] = x; } 1083 1077 #endif 1084 #if VIEW_ID_RELATED_SIGNALING 1085 #if O0109_VIEW_ID_LEN 1078 1086 1079 Void setViewIdLen( Int val ) { m_viewIdLen = val; } 1087 1080 Int getViewIdLen( ) { return m_viewIdLen; } 1088 #else1089 Void setViewIdLenMinus1( Int val ) { m_viewIdLenMinus1 = val; }1090 Int getViewIdLenMinus1( ) { return m_viewIdLenMinus1; }1091 #endif1092 1081 1093 1082 Void setViewIdVal( Int viewOrderIndex, Int val ) { m_viewIdVal[viewOrderIndex] = val; } … … 1099 1088 Int getNumViews(); 1100 1089 Int scalTypeToScalIdx( ScalabilityType scalType ); 1101 #endif 1090 1102 1091 #if VPS_DPB_SIZE_TABLE 1103 1092 Bool getSubLayerFlagInfoPresentFlag(Int olsIdx) { return m_subLayerFlagInfoPresentFlag[olsIdx]; } -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1189 r1190 63 63 #define ALIGNED_BUMPING 1 ///< JCTVC-P0192: Align bumping of pictures in an AU 64 64 #define FIX_ALIGN_BUMPING 1 65 #define O0109_VIEW_ID_LEN 1 ///< JCTVC-O0109: view_id_len_minus1 to view_id_len, and add constraint (1<<view_id_len) is greater than or equal to NumViews66 65 67 66 #define O0164_MULTI_LAYER_HRD 1 ///< JCTVC-O0164: Multi-layer HRD operation … … 106 105 #define MOTION_RESAMPLING_CONSTRAINT 1 ///< JCTVC-N0108: Allow maximum of one motion resampling process for direct reference layers, and use motion inter-layer prediction from the same layer as texture inter-layer prediction. 107 106 108 #define VIEW_ID_RELATED_SIGNALING 1 ///< Introduce syntax elements view_id and view_id_val109 107 #define AUXILIARY_PICTURES 1 ///< JCTVC-O0041: auxiliary picture layers 110 108 #define R0062_AUX_PSEUDO_MONOCHROME 1 ///> JCVVC-R0063: pseudo monochrome for auxiliary pictures -
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1189 r1190 2725 2725 } 2726 2726 2727 #if VIEW_ID_RELATED_SIGNALING2728 #if O0109_VIEW_ID_LEN2729 2727 READ_CODE( 4, uiCode, "view_id_len" ); vps->setViewIdLen( uiCode ); 2730 #else 2731 READ_CODE( 4, uiCode, "view_id_len_minus1" ); vps->setViewIdLenMinus1( uiCode ); 2732 #endif 2733 2734 #if O0109_VIEW_ID_LEN 2728 2735 2729 if ( vps->getViewIdLen() > 0 ) 2736 2730 { 2737 for( 2731 for( i = 0; i < vps->getNumViews(); i++ ) 2738 2732 { 2739 2733 READ_CODE( vps->getViewIdLen( ), uiCode, "view_id_val[i]" ); vps->setViewIdVal( i, uiCode ); 2740 2734 } 2741 2735 } 2742 #else2743 for( i = 0; i < vps->getNumViews(); i++ )2744 {2745 READ_CODE( vps->getViewIdLenMinus1( ) + 1, uiCode, "view_id_val[i]" ); vps->setViewIdVal( i, uiCode );2746 }2747 #endif2748 #endif // view id related signaling2749 2736 2750 2737 // For layer 0 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1189 r1190 2023 2023 } 2024 2024 2025 #if VIEW_ID_RELATED_SIGNALING 2026 // if ( pcVPS->getNumViews() > 1 ) 2027 // However, this is a bug in the text since, view_id_len_minus1 is needed to parse view_id_val. 2028 { 2029 #if O0109_VIEW_ID_LEN 2030 WRITE_CODE( vps->getViewIdLen( ), 4, "view_id_len" ); 2031 assert ( vps->getNumViews() >= (1<<vps->getViewIdLen()) ); 2032 #else 2033 WRITE_CODE( vps->getViewIdLenMinus1( ), 4, "view_id_len_minus1" ); 2034 #endif 2035 } 2036 2037 #if O0109_VIEW_ID_LEN 2025 WRITE_CODE( vps->getViewIdLen( ), 4, "view_id_len" ); 2026 assert ( vps->getNumViews() >= (1<<vps->getViewIdLen()) ); 2027 2038 2028 if ( vps->getViewIdLen() > 0 ) 2039 2029 { 2040 #endif 2041 for( i = 0; i < vps->getNumViews(); i++ ) 2042 { 2043 #if O0109_VIEW_ID_LEN 2044 WRITE_CODE( vps->getViewIdVal( i ), vps->getViewIdLen( ), "view_id_val[i]" ); 2045 #else 2046 WRITE_CODE( vps->getViewIdVal( i ), vps->getViewIdLenMinus1( ) + 1, "view_id_val[i]" ); 2047 #endif 2048 } 2049 #if O0109_VIEW_ID_LEN 2050 } 2051 #endif 2052 #endif // VIEW_ID_RELATED_SIGNALING 2030 for( i = 0; i < vps->getNumViews(); i++ ) 2031 { 2032 WRITE_CODE( vps->getViewIdVal( i ), vps->getViewIdLen( ), "view_id_val[i]" ); 2033 } 2034 } 2053 2035 2054 2036 for( Int layerCtr = 1; layerCtr < vps->getMaxLayers(); layerCtr++)
Note: See TracChangeset for help on using the changeset viewer.