Ticket #456: fix_ticket456.patch
File fix_ticket456.patch, 3.6 KB (added by chihming.fu, 11 years ago) |
---|
-
Lib/TLibCommon/TypeDef.h
40 40 41 41 //! \ingroup TLibCommon 42 42 //! \{ 43 44 43 45 #define FAST_DECISION_FOR_MRG_RD_COST 1 ////< H0178: Fast Decision for Merge 2Nx2N RDCost 44 46 45 47 #define REMOVE_DIV_OPERATION 1 ///< H0238: Simplified intra horizontal and vertical filtering -
Lib/TLibDecoder/TDecCAVLC.cpp
1671 1671 pcRPS->setNumberOfPictures(offset); 1672 1672 } 1673 1673 } 1674 if(sps->getUseSAO() || sps->getUseALF() || sps->getScalingListFlag() || sps->getUseDF())1675 {1676 //!!!KS: order is different in WD5!1677 if (sps->getUseALF())1678 {1679 READ_FLAG(uiCode, "slice_adaptive_loop_filter_flag");1680 rpcSlice->setAlfEnabledFlag((Bool)uiCode);1681 }1682 1674 if (sps->getUseSAO()) 1683 1675 { 1684 1676 #if SAO_UNIT_INTERLEAVING … … 1698 1690 } 1699 1691 #endif 1700 1692 } 1693 #if SAO_UNIT_INTERLEAVING 1694 if( (sps->getUseSAO()&& !rpcSlice->getSaoInterleavingFlag() ) || sps->getUseALF() || sps->getScalingListFlag() || sps->getUseDF()) 1695 #else 1696 if( sps->getUseSAO() || sps->getUseALF() || sps->getScalingListFlag() || sps->getUseDF()) 1697 #endif 1698 { 1701 1699 READ_UVLC ( uiCode, "aps_id" ); rpcSlice->setAPSId(uiCode); 1702 1700 } 1703 1701 if (!rpcSlice->isIntra()) … … 1929 1927 #if PARAMSET_VLC_CLEANUP 1930 1928 if (!bEntropySlice) 1931 1929 { 1930 if (sps->getUseALF()) 1931 { 1932 READ_FLAG(uiCode, "slice_adaptive_loop_filter_flag"); 1933 rpcSlice->setAlfEnabledFlag((Bool)uiCode); 1934 } 1935 1932 1936 if(sps->getUseALF() && rpcSlice->getAlfEnabledFlag()) 1933 1937 { 1934 1938 UInt uiNumLCUsInWidth = sps->getWidth() / g_uiMaxCUWidth; -
Lib/TLibEncoder/TEncCavlc.cpp
608 608 } 609 609 } 610 610 } 611 if(pcSlice->getSPS()->getUseSAO() || pcSlice->getSPS()->getUseALF()|| pcSlice->getSPS()->getScalingListFlag() || pcSlice->getSPS()->getUseDF())612 {613 if (pcSlice->getSPS()->getUseALF())614 {615 #if !LCU_SYNTAX_ALF616 if (pcSlice->getAlfEnabledFlag())617 {618 assert (pcSlice->getAPS()->getAlfEnabled());619 }620 #endif621 WRITE_FLAG( pcSlice->getAlfEnabledFlag(), "ALF on/off flag in slice header" );622 }623 611 if (pcSlice->getSPS()->getUseSAO()) 624 612 { 625 613 #if SAO_UNIT_INTERLEAVING … … 635 623 } 636 624 #endif 637 625 } 626 #if SAO_UNIT_INTERLEAVING 627 if((pcSlice->getSPS()->getUseSAO() && !pcSlice->getSaoInterleavingFlag() ) || pcSlice->getSPS()->getUseALF()|| pcSlice->getSPS()->getScalingListFlag() || pcSlice->getSPS()->getUseDF()) 628 #else 629 if(pcSlice->getSPS()->getUseSAO() || pcSlice->getSPS()->getUseALF()|| pcSlice->getSPS()->getScalingListFlag() || pcSlice->getSPS()->getUseDF()) 630 #endif 631 { 638 632 WRITE_UVLC( pcSlice->getAPS()->getAPSID(), "aps_id"); 639 633 } 640 634 … … 770 764 assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS_SIGNALED); 771 765 assert(MRG_MAX_NUM_CANDS_SIGNALED<=MRG_MAX_NUM_CANDS); 772 766 WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "maxNumMergeCand"); 767 768 if (!bEntropySlice) 769 { 770 if (pcSlice->getSPS()->getUseALF()) 771 { 772 WRITE_FLAG( pcSlice->getAlfEnabledFlag(), "slice_adaptive_loop_filter_flag" ); 773 } 774 } 775 776 773 777 } 774 778 775 779