Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1776)

Unified Diff: mi_exe_stub/x86_encoder/range_encoder.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mi_exe_stub/x86_encoder/build.scons ('k') | mi_exe_stub/x86_encoder/range_encoder.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mi_exe_stub/x86_encoder/range_encoder.h
diff --git a/mi_exe_stub/x86_encoder/range_encoder.h b/mi_exe_stub/x86_encoder/range_encoder.h
deleted file mode 100644
index a4485b10ba84059d7ac1ef946e669e3df175eda7..0000000000000000000000000000000000000000
--- a/mi_exe_stub/x86_encoder/range_encoder.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-//
-// Derived from RangeCoder.h and RangeCoderBit.h in the LZMA SDK
-//
-// A description of how range encoding works can be found at
-// http://en.wikipedia.org/wiki/Range_encoding
-
-#ifndef OMAHA_MI_EXE_STUB_X86_ENCODER_RANGE_ENCODER_H_
-#define OMAHA_MI_EXE_STUB_X86_ENCODER_RANGE_ENCODER_H_
-
-#include <string>
-
-#include "base/basictypes.h"
-
-namespace omaha {
-
-const int kNumberOfBitsModelTotalBits = 11;
-const uint32 kBitModelTotal = 1 << kNumberOfBitsModelTotalBits;
-
-const int kNumTopBits = 24;
-const uint32 kTopValue = 1 << kNumTopBits;
-
-class RangeEncoder {
- public:
- // RangeEncoder does not take ownership. Lifetime must be managed by caller.
- explicit RangeEncoder(std::string* output);
- void Encode(uint32 start, uint32 size, uint32 total);
- void ShiftLow();
- void Flush();
-
- uint64 low() const { return low_; }
- void set_low(uint64 low) { low_ = low; }
- uint32 range() const { return range_; }
- void set_range(uint32 range) { range_ = range; }
-
- private:
- uint8 cache_;
- uint32 cache_size_;
-
- uint64 low_;
- uint32 range_;
-
- std::string* output_;
-
- DISALLOW_COPY_AND_ASSIGN(RangeEncoder);
-};
-
-template<int kNumberOfMoveBits>
-class RangeEncoderBit {
- public:
- RangeEncoderBit() : probability_(kBitModelTotal / 2) {
- }
-
- void Encode(uint32 symbol, RangeEncoder* encoder) {
- uint32 new_bound = (encoder->range() >> kNumberOfBitsModelTotalBits) *
- probability_;
- if (0 == symbol) {
- encoder->set_range(new_bound);
- probability_ += (kBitModelTotal - probability_) >> kNumberOfMoveBits;
- } else {
- encoder->set_low(encoder->low() + new_bound);
- encoder->set_range(encoder->range() - new_bound);
- probability_ -= probability_ >> kNumberOfMoveBits;
- }
- if (encoder->range() < kTopValue) {
- encoder->set_range(encoder->range() << 8);
- encoder->ShiftLow();
- }
- }
-
- private:
- uint32 probability_;
-
- DISALLOW_COPY_AND_ASSIGN(RangeEncoderBit);
-};
-
-} // namespace omaha
-
-#endif // OMAHA_MI_EXE_STUB_X86_ENCODER_RANGE_ENCODER_H_
« no previous file with comments | « mi_exe_stub/x86_encoder/build.scons ('k') | mi_exe_stub/x86_encoder/range_encoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698