summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h')
-rw-r--r--ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h b/ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h
deleted file mode 100644
index 7284cec3c..000000000
--- a/ml/dlib/dlib/entropy_decoder/entropy_decoder_kernel_2.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// Copyright (C) 2004 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_ENTROPY_DECODER_KERNEl_2_
-#define DLIB_ENTROPY_DECODER_KERNEl_2_
-
-#include "../algs.h"
-#include "entropy_decoder_kernel_abstract.h"
-#include <iosfwd>
-#include "../uintn.h"
-
-namespace dlib
-{
-
- class entropy_decoder_kernel_2
- {
- /*!
- GENERAL NOTES
- this decoder is implemented using "range" coding
-
- INITIAL VALUE
- in == 0
- initial_low == 0x00000001 (slightly more than zero)
- initial_high == 0xffffffff (slightly less than one, 0.99999999976717)
- target == 0x00000000 (zero)
- low == initial_low
- high == initial_high
- r == 0
-
- CONVENTION
- if (in != 0)
- *in == get_stream()
- true == stream_is_set()
- streambuf == in->rdbuf()
- else
- false == stream_is_set()
-
-
- low == the low end of the range used for arithmetic encoding.
- this number is used as a 32bit fixed point real number.
- the point is fixed just before the first bit, so it is
- always in the range [0,1)
-
- low is also never allowed to be zero to avoid overflow
- in the calculation (high-low+1)/total.
-
- high == the high end of the range - 1 used for arithmetic encoding.
- this number is used as a 32bit fixed point real number.
- the point is fixed just before the first bit, so when we
- interpret high as a real number then it is always in the
- range [0,1)
-
- the range for arithmetic encoding is always
- [low,high + 0.9999999...) the 0.9999999... is why
- high == real upper range - 1
-
- target == 32 bits of the fraction produced from an arithmetic encoder.
- this number is used as a 32bit fixed point real number.
- the point is fixed just before the first bit, so it is
- always in the range [0,1)
-
- r == the value (high-low+1)/total from the last call to
- get_target() or 0 if get_target_called() should be false
-
- get_target_called() == (r != 0)
-
- !*/
-
- public:
-
- entropy_decoder_kernel_2 (
- );
-
- virtual ~entropy_decoder_kernel_2 (
- );
-
- void clear(
- );
-
- void set_stream (
- std::istream& in
- );
-
- bool stream_is_set (
- ) const;
-
- std::istream& get_stream (
- ) const;
-
- void decode (
- uint32 low_count,
- uint32 high_count
- );
-
- bool get_target_called (
- ) const;
-
- uint32 get_target (
- uint32 total
- );
-
- private:
-
- // restricted functions
- entropy_decoder_kernel_2(entropy_decoder_kernel_2&); // copy constructor
- entropy_decoder_kernel_2& operator=(entropy_decoder_kernel_2&); // assignment operator
-
- // data members
- const uint32 initial_low;
- const uint32 initial_high;
- std::istream* in;
- uint32 low;
- uint32 high;
- uint32 target;
- uint32 r;
- std::streambuf* streambuf;
-
- };
-
-
-}
-
-#ifdef NO_MAKEFILE
-#include "entropy_decoder_kernel_2.cpp"
-#endif
-
-#endif // DLIB_ENTROPY_DECODER_KERNEl_2_
-