Changeset 563 in 3DVCSoftware for branches/HTM-DEV-2.0-dev2-MediaTek/source/Lib
- Timestamp:
- 12 Aug 2013, 06:32:43 (11 years ago)
- Location:
- branches/HTM-DEV-2.0-dev2-MediaTek/source/Lib/TLibCommon
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-2.0-dev2-MediaTek/source/Lib/TLibCommon/TComPrediction.cpp
r553 r563 953 953 if ( yFrac == 0 ) 954 954 { 955 #if MTK_CLIPPING_ALIGN_IC_E0168 956 m_if.filterHorLuma( ref, refStride, dst, dstStride, width, height, xFrac, !bi || bICFlag 957 #else 955 958 m_if.filterHorLuma( ref, refStride, dst, dstStride, width, height, xFrac, !bi 959 #endif 956 960 #if H_3D_ARP 957 961 , filterType … … 961 965 else if ( xFrac == 0 ) 962 966 { 967 #if MTK_CLIPPING_ALIGN_IC_E0168 968 m_if.filterVerLuma( ref, refStride, dst, dstStride, width, height, yFrac, true, !bi || bICFlag 969 #else 963 970 m_if.filterVerLuma( ref, refStride, dst, dstStride, width, height, yFrac, true, !bi 971 #endif 964 972 #if H_3D_ARP 965 973 , filterType … … 980 988 #endif 981 989 ); 990 #if MTK_CLIPPING_ALIGN_IC_E0168 991 m_if.filterVerLuma(tmp + (halfFilterSize-1)*tmpStride, tmpStride, dst, dstStride, width, height, yFrac, false, !bi || bICFlag 992 #else 982 993 m_if.filterVerLuma(tmp + (halfFilterSize-1)*tmpStride, tmpStride, dst, dstStride, width, height, yFrac, false, !bi 994 #endif 983 995 #if H_3D_ARP 984 996 , filterType … … 1006 1018 for ( j = 0; j < width; j++ ) 1007 1019 { 1020 #if !MTK_CLIPPING_ALIGN_IC_E0168 1008 1021 if( bi ) 1009 1022 { … … 1012 1025 } 1013 1026 else 1027 #endif 1014 1028 dst[j] = Clip3( 0, ( 1 << g_bitDepthY ) - 1, ( ( a*dst[j] ) >> iShift ) + b ); 1015 1029 } 1016 1030 dst += dstStride; 1017 1031 } 1032 #if MTK_CLIPPING_ALIGN_IC_E0168 1033 if(bi) 1034 { 1035 Pel *dst2 = dstPic->getLumaAddr( partAddr ); 1036 Int shift = IF_INTERNAL_PREC - g_bitDepthY; 1037 for (i = 0; i < height; i++) 1038 { 1039 for (j = 0; j < width; j++) 1040 { 1041 Short val = dst2[j] << shift; 1042 dst2[j] = val - (Short)IF_INTERNAL_OFFS; 1043 } 1044 dst2 += dstStride; 1045 } 1046 } 1047 #endif 1018 1048 } 1019 1049 #endif … … 1066 1096 if ( yFrac == 0 ) 1067 1097 { 1098 #if MTK_CLIPPING_ALIGN_IC_E0168 1099 m_if.filterHorChroma(refCb, refStride, dstCb, dstStride, cxWidth, cxHeight, xFrac, !bi || bICFlag 1100 #else 1068 1101 m_if.filterHorChroma(refCb, refStride, dstCb, dstStride, cxWidth, cxHeight, xFrac, !bi 1102 #endif 1069 1103 #if H_3D_ARP 1070 1104 , filterType 1071 1105 #endif 1072 1106 ); 1107 #if MTK_CLIPPING_ALIGN_IC_E0168 1108 m_if.filterHorChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, xFrac, !bi || bICFlag 1109 #else 1073 1110 m_if.filterHorChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, xFrac, !bi 1111 #endif 1074 1112 #if H_3D_ARP 1075 1113 , filterType … … 1079 1117 else if ( xFrac == 0 ) 1080 1118 { 1119 #if MTK_CLIPPING_ALIGN_IC_E0168 1120 m_if.filterVerChroma(refCb, refStride, dstCb, dstStride, cxWidth, cxHeight, yFrac, true, !bi || bICFlag 1121 #else 1081 1122 m_if.filterVerChroma(refCb, refStride, dstCb, dstStride, cxWidth, cxHeight, yFrac, true, !bi 1123 #endif 1082 1124 #if H_3D_ARP 1083 1125 , filterType 1084 1126 #endif 1085 1127 ); 1128 #if MTK_CLIPPING_ALIGN_IC_E0168 1129 m_if.filterVerChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, yFrac, true, !bi || bICFlag 1130 #else 1086 1131 m_if.filterVerChroma(refCr, refStride, dstCr, dstStride, cxWidth, cxHeight, yFrac, true, !bi 1132 #endif 1087 1133 #if H_3D_ARP 1088 1134 , filterType … … 1097 1143 #endif 1098 1144 ); 1145 #if MTK_CLIPPING_ALIGN_IC_E0168 1146 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCb, dstStride, cxWidth, cxHeight , yFrac, false, !bi || bICFlag 1147 #else 1099 1148 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCb, dstStride, cxWidth, cxHeight , yFrac, false, !bi 1149 #endif 1100 1150 #if H_3D_ARP 1101 1151 , filterType … … 1108 1158 #endif 1109 1159 ); 1160 #if MTK_CLIPPING_ALIGN_IC_E0168 1161 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCr, dstStride, cxWidth, cxHeight , yFrac, false, !bi || bICFlag 1162 #else 1110 1163 m_if.filterVerChroma(extY + (halfFilterSize-1)*extStride, extStride, dstCr, dstStride, cxWidth, cxHeight , yFrac, false, !bi 1164 #endif 1111 1165 #if H_3D_ARP 1112 1166 , filterType … … 1130 1184 for ( j = 0; j < cxWidth; j++ ) 1131 1185 { 1186 #if !MTK_CLIPPING_ALIGN_IC_E0168 1132 1187 if( bi ) 1133 1188 { … … 1136 1191 } 1137 1192 else 1193 #endif 1138 1194 dstCb[j] = Clip3( 0, ( 1 << g_bitDepthC ) - 1, ( ( a*dstCb[j] ) >> iShift ) + b ); 1139 1195 } … … 1149 1205 for ( j = 0; j < cxWidth; j++ ) 1150 1206 { 1207 #if !MTK_CLIPPING_ALIGN_IC_E0168 1151 1208 if( bi ) 1152 1209 { … … 1155 1212 } 1156 1213 else 1214 #endif 1157 1215 dstCr[j] = Clip3( 0, ( 1 << g_bitDepthC ) - 1, ( ( a*dstCr[j] ) >> iShift ) + b ); 1158 1216 } 1159 1217 dstCr += dstStride; 1160 1218 } 1219 #if MTK_CLIPPING_ALIGN_IC_E0168 1220 if(bi) 1221 { 1222 Pel* dstCb2 = dstPic->getCbAddr( partAddr ); 1223 Pel* dstCr2 = dstPic->getCrAddr( partAddr ); 1224 Int shift = IF_INTERNAL_PREC - g_bitDepthC; 1225 for (i = 0; i < cxHeight; i++) 1226 { 1227 for (j = 0; j < cxWidth; j++) 1228 { 1229 Short val = dstCb2[j] << shift; 1230 dstCb2[j] = val - (Short)IF_INTERNAL_OFFS; 1231 1232 val = dstCr2[j] << shift; 1233 dstCr2[j] = val - (Short)IF_INTERNAL_OFFS; 1234 } 1235 dstCb2 += dstStride; 1236 dstCr2 += dstStride; 1237 } 1238 } 1239 #endif 1161 1240 } 1162 1241 #endif -
branches/HTM-DEV-2.0-dev2-MediaTek/source/Lib/TLibCommon/TypeDef.h
r559 r563 98 98 #define SHARP_ILLUCOMP_REFINE_E0046 1 99 99 #define MTK_FAST_TEXTURE_ENCODING_E0173 1 // Fast merge mode decision and early CU determination for texture component of dependent view, JCT3V-E0173 100 #define MTK_CLIPPING_ALIGN_IC_E0168 1 // To support simplify bi-prediction PU with identical motion checking, JCT3V-E0168 100 101 101 102 #if H_3D_NBDV
Note: See TracChangeset for help on using the changeset viewer.