public void ResetGenericStats(int template, ArithmeticDecoderStats previousStats) { int size = contextSize[template]; if (previousStats != null && previousStats.GetContextSize() == size) { if (genericRegionStats.GetContextSize() == size) { genericRegionStats.Overwrite(previousStats); } else { genericRegionStats = previousStats.Copy(); } } else { if (genericRegionStats.GetContextSize() == size) { genericRegionStats.Reset(); } else { genericRegionStats = new ArithmeticDecoderStats(1 << size); } } }
public void ResetIntStats(int symbolCodeLength) { iadhStats.Reset(); iadwStats.Reset(); iaexStats.Reset(); iaaiStats.Reset(); iadtStats.Reset(); iaitStats.Reset(); iafsStats.Reset(); iadsStats.Reset(); iardxStats.Reset(); iardyStats.Reset(); iardwStats.Reset(); iardhStats.Reset(); iariStats.Reset(); if (iaidStats.GetContextSize() == 1 << (symbolCodeLength + 1)) { iaidStats.Reset(); } else { iaidStats = new ArithmeticDecoderStats(1 << (symbolCodeLength + 1)); } }