Changeset 544 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibEncoder
- Timestamp:
- 11 Jan 2014, 01:46:01 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r542 r544 798 798 799 799 WRITE_FLAG( vps->getAvcBaseLayerFlag(), "avc_base_layer_flag" ); 800 #if O0109_MOVE_VPS_VUI_FLAG 801 #if !VPS_VUI 802 WRITE_FLAG( 0, "vps_vui_present_flag" ); 803 vps->setVpsVuiPresentFlag(false); 804 #else 805 WRITE_FLAG( 1, "vps_vui_present_flag" ); 806 vps->setVpsVuiPresentFlag(true); 807 #endif 808 if ( vps->getVpsVuiPresentFlag() ) 809 { 810 #if VPS_VUI_OFFSET 811 WRITE_CODE( vps->getVpsVuiOffset( ), 16, "vps_vui_offset" ); 812 #endif 813 WRITE_FLAG( vps->getSplittingFlag(), "splitting_flag" ); 814 } 815 #else 800 816 #if VPS_VUI_OFFSET 801 817 WRITE_CODE( vps->getVpsVuiOffset( ), 16, "vps_vui_offset" ); 802 818 #endif 803 819 WRITE_FLAG( vps->getSplittingFlag(), "splitting_flag" ); 820 #endif // O0109_MOVE_VPS_VUI_FLAG 804 821 805 822 for(i = 0; i < MAX_VPS_NUM_SCALABILITY_TYPES; i++) … … 847 864 // However, this is a bug in the text since, view_id_len_minus1 is needed to parse view_id_val. 848 865 { 866 #if O0109_VIEW_ID_LEN 867 WRITE_CODE( vps->getViewIdLen( ), 4, "view_id_len" ); 868 assert ( vps->getNumViews() >= (1<<vps->getViewIdLen()) ); 869 #else 849 870 WRITE_CODE( vps->getViewIdLenMinus1( ), 4, "view_id_len_minus1" ); 850 } 851 871 #endif 872 } 873 874 #if O0109_VIEW_ID_LEN 875 if ( vps->getViewIdLen() > 0 ) 876 { 877 #endif 852 878 for( i = 0; i < vps->getNumViews(); i++ ) 853 879 { 880 #if O0109_VIEW_ID_LEN 881 WRITE_CODE( vps->getViewIdVal( i ), vps->getViewIdLen( ), "view_id_val[i]" ); 882 #else 854 883 WRITE_CODE( vps->getViewIdVal( i ), vps->getViewIdLenMinus1( ) + 1, "view_id_val[i]" ); 855 } 856 #endif 884 #endif 885 } 886 #if O0109_VIEW_ID_LEN 887 } 888 #endif 889 #endif // VIEW_ID_RELATED_SIGNALING 890 857 891 #if VPS_EXTN_DIRECT_REF_LAYERS 858 892 for( Int layerCtr = 1; layerCtr <= vps->getMaxLayers() - 1; layerCtr++) … … 937 971 if( numOutputLayerSets > 1 ) 938 972 { 973 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 974 WRITE_CODE( vps->getDefaultOneTargetOutputLayerIdc(), 2, "default_one_target_output_layer_idc" ); 975 #else 939 976 WRITE_FLAG( vps->getDefaultOneTargetOutputLayerFlag(), "default_one_target_output_layer_flag" ); 977 #endif 940 978 } 941 979 … … 1078 1116 #endif 1079 1117 #endif 1118 1119 #if !O0109_O0199_FLAGS_TO_VUI 1080 1120 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 1081 1121 WRITE_FLAG(vps->getSingleLayerForNonIrapFlag(), "single_layer_for_non_irap_flag" ); … … 1084 1124 WRITE_FLAG(vps->getHigherLayerIrapSkipFlag(), "higher_layer_irap_skip_flag" ); 1085 1125 #endif 1086 1126 #endif 1127 1128 #if !O0109_MOVE_VPS_VUI_FLAG 1087 1129 #if !VPS_VUI 1088 1130 WRITE_FLAG( 0, "vps_vui_present_flag" ); … … 1103 1145 } 1104 1146 #endif 1147 #else 1148 if(vps->getVpsVuiPresentFlag()) // Should be conditioned on the value of vps_vui_present_flag 1149 { 1150 while ( m_pcBitIf->getNumberOfWrittenBits() % 8 != 0 ) 1151 { 1152 WRITE_FLAG(1, "vps_vui_alignment_bit_equal_to_one"); 1153 } 1154 #if VPS_VUI_OFFSET 1155 Int vpsVuiOffsetValeInBits = this->m_pcBitIf->getNumberOfWrittenBits() - m_vpsVuiCounter + 16; // 2 bytes for NUH 1156 assert( vpsVuiOffsetValeInBits % 8 == 0 ); 1157 vps->setVpsVuiOffset( vpsVuiOffsetValeInBits >> 3 ); 1158 #endif 1159 codeVPSVUI(vps); 1160 } 1161 #endif // 0109_MOVE_VPS_FLAG 1105 1162 } 1106 1163 #endif … … 1236 1293 } 1237 1294 } 1295 #endif 1296 1297 #if O0109_O0199_FLAGS_TO_VUI 1298 #if M0040_ADAPTIVE_RESOLUTION_CHANGE 1299 WRITE_FLAG(vps->getSingleLayerForNonIrapFlag(), "single_layer_for_non_irap_flag" ); 1300 #endif 1301 #if HIGHER_LAYER_IRAP_SKIP_FLAG 1302 WRITE_FLAG(vps->getHigherLayerIrapSkipFlag(), "higher_layer_irap_skip_flag" ); 1303 #endif 1238 1304 #endif 1239 1305 #if N0160_VUI_EXT_ILP_REF
Note: See TracChangeset for help on using the changeset viewer.