Ticket #511: patch_for_ticket#511.patch

File patch_for_ticket#511.patch, 2.2 KB (added by suzukiyos, 12 years ago)

patch file to solve the issue

  • Lib/TLibCommon/TComSlice.cpp

     
    103103, m_puiSubstreamSizes             ( NULL )
    104104, m_cabacInitFlag                 ( false )
    105105, m_numEntryPointOffsets          ( 0 )
     106, m_bLMvdL1Zero                   ( false )
    106107#if !REFERENCE_PICTURE_DEFN
    107108, m_nalRefFlag                    ( 0 )
    108109#endif
     
    207208
    208209  m_uiTileCount          = 0;
    209210  m_cabacInitFlag        = false;
     211  m_bLMvdL1Zero          =  false;
    210212  m_numEntryPointOffsets = 0;
    211213  m_enableTMVPFlag = true;
    212214#if DEPENDENT_SLICES
  • Lib/TLibDecoder/TDecCAVLC.cpp

     
    12481248          }
    12491249        }
    12501250      }
     1251      READ_FLAG( uiCode, "mvd_l1_zero_flag" );
     1252      rpcSlice->setMvdL1ZeroFlag( (uiCode ? true : false) );
    12511253    } 
    12521254    else
    12531255    {
     
    12611263    sps = rpcSlice->getSPS();
    12621264  }
    12631265
    1264   if (rpcSlice->isInterB())
    1265   {
    1266     READ_FLAG( uiCode, "mvd_l1_zero_flag" );       rpcSlice->setMvdL1ZeroFlag( (uiCode ? true : false) );
    1267   }
    1268 
    12691266  rpcSlice->setCabacInitFlag( false ); // default
    12701267  if(pps->getCabacInitPresentFlag() && !rpcSlice->isIntra())
    12711268  {
  • Lib/TLibEncoder/TEncCavlc.cpp

     
    609609  WRITE_UVLC( pcSlice->getSliceType(),       "slice_type" );
    610610  Bool bDependentSlice = (!pcSlice->isNextSlice());
    611611  WRITE_FLAG( bDependentSlice ? 1 : 0, "dependent_slice_flag" );
    612  
     612
    613613#if DEPENDENT_SLICES
    614614  if( pcSlice->getPPS()->getDependentSlicesEnabledFlag() && bDependentSlice )
    615615    return;
     
    848848        }
    849849      }
    850850    }
     851    if (pcSlice->isInterB())
     852    {
     853      WRITE_FLAG( pcSlice->getMvdL1ZeroFlag() ? 1 : 0,   "mvd_l1_zero_flag");
     854    }
    851855  }
    852    
    853   if (pcSlice->isInterB())
    854   {
    855     WRITE_FLAG( pcSlice->getMvdL1ZeroFlag() ? 1 : 0,   "mvd_l1_zero_flag");
    856   }
    857856
    858857  if(!pcSlice->isIntra())
    859858  {