Ticket #180: fix180.patch
File fix180.patch, 5.3 KB (added by hao, 13 years ago) |
---|
-
source/Lib/TLibDecoder/TDecEntropy.cpp
1019 1019 decodeQP( pcCU, ((uiAbsPartIdx>>(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1))), 1020 1020 min(uiDepth,pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()) ); 1021 1021 pcCU->setdQPFlag(false); 1022 #if !FIX_TICKET180 1022 1023 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 1024 #endif 1023 1025 #else 1024 1026 decodeQP( pcCU, 0, 0 ); 1025 1027 pcCU->setdQPFlag(false); -
source/Lib/TLibDecoder/TDecCu.cpp
223 223 if( pcCU->getdQPFlag()) 224 224 { 225 225 pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP 226 #if !FIX_TICKET180 226 227 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 228 #endif 227 229 } 230 #if FIX_TICKET180 231 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 232 #endif 228 233 } 229 234 #endif 230 235 … … 295 300 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getSPS()->getUseDQP()) 296 301 { 297 302 pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP 303 #if FIX_TICKET180 304 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 305 #else 298 306 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 307 #endif 299 308 } 300 309 #endif 301 310 return; … … 310 319 311 320 if(pcCU->getIPCMFlag(uiAbsPartIdx)) 312 321 { 322 #if SUB_LCU_DQP && FIX_TICKET180 323 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getSPS()->getUseDQP()) 324 { 325 pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP 326 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 327 } 328 #endif 313 329 return; 314 330 } 315 331 } … … 330 346 if( pcCU->getdQPFlag()) 331 347 { 332 348 pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP 349 #if !FIX_TICKET180 333 350 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 351 #endif 334 352 } 353 #if FIX_TICKET180 354 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 355 #endif 335 356 } 336 357 #endif 337 358 } -
source/Lib/TLibEncoder/TEncEntropy.cpp
1013 1013 pcCU->setdQPFlag(false); 1014 1014 pcCU->setQPSubParts( pcCU->getQP( uiAbsPartIdx ), ((uiAbsPartIdx>>(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1)))<<(8-(pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()<<1))), 1015 1015 min(uiDepth,pcCU->getSlice()->getPPS()->getMaxCuDQPDepth()) ); // set QP to default QP 1016 #if !FIX_TICKET180 1016 1017 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 1018 #endif 1017 1019 #else 1018 1020 encodeQP( pcCU, 0 ); 1019 1021 pcCU->setdQPFlag(false); -
source/Lib/TLibEncoder/TEncCu.cpp
952 952 #if SUB_LCU_DQP 953 953 if( (g_uiMaxCUWidth>>uiDepth) == pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getSPS()->getUseDQP()) 954 954 { 955 #if FIX_TICKET180 956 uiAbsPartIdx -= uiQNumParts * 4; 957 #endif 955 958 if( pcCU->getdQPFlag()) 956 959 { 960 #if !FIX_TICKET180 957 961 uiAbsPartIdx -= uiQNumParts * 4; 962 #endif 958 963 pcCU->setQPSubParts( pcCU->getRefQP( uiAbsPartIdx ), uiAbsPartIdx, uiDepth ); // set QP to default QP 964 #if !FIX_TICKET180 959 965 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 966 #endif 960 967 } 968 #if FIX_TICKET180 969 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 970 #endif 961 971 } 962 972 #endif 963 973 return; … … 1002 1012 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getSPS()->getUseDQP()) 1003 1013 { 1004 1014 pcCU->setQPSubParts( pcCU->getRefQP( uiAbsPartIdx ), uiAbsPartIdx, uiDepth ); // set QP to default QP 1015 #if FIX_TICKET180 1016 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 1017 #else 1005 1018 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 1019 #endif 1006 1020 } 1007 1021 #endif 1008 1022 return; … … 1018 1032 1019 1033 if(pcCU->getIPCMFlag(uiAbsPartIdx)) 1020 1034 { 1035 #if SUB_LCU_DQP && FIX_TICKET180 1036 if( (g_uiMaxCUWidth>>uiDepth) >= pcCU->getSlice()->getPPS()->getMinCuDQPSize() && pcCU->getSlice()->getSPS()->getUseDQP()) 1037 { 1038 pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP 1039 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 1040 } 1041 #endif 1021 1042 return; 1022 1043 } 1023 1044 } … … 1035 1056 if( pcCU->getdQPFlag()) 1036 1057 { 1037 1058 pcCU->setQPSubParts( pcCU->getRefQP( uiAbsPartIdx ), uiAbsPartIdx, uiDepth ); // set QP to default QP 1059 #if !FIX_TICKET180 1038 1060 pcCU->setLastCodedQP( pcCU->getRefQP( uiAbsPartIdx )); 1061 #endif 1039 1062 } 1063 #if FIX_TICKET180 1064 pcCU->setLastCodedQP( pcCU->getQP( uiAbsPartIdx )); 1065 #endif 1040 1066 } 1041 1067 #endif 1042 1068 }