aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nsmp3dec/huffmanbitobj.h
diff options
context:
space:
mode:
authorJean-Francois Mauguit <jfmauguit@mac.com>2024-09-24 09:03:25 -0400
committerGitHub <noreply@github.com>2024-09-24 09:03:25 -0400
commitbab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/replicant/nsmp3dec/huffmanbitobj.h
parent4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff)
parent20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff)
downloadwinamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/replicant/nsmp3dec/huffmanbitobj.h')
-rw-r--r--Src/replicant/nsmp3dec/huffmanbitobj.h54
1 files changed, 54 insertions, 0 deletions
diff --git a/Src/replicant/nsmp3dec/huffmanbitobj.h b/Src/replicant/nsmp3dec/huffmanbitobj.h
new file mode 100644
index 00000000..21f624d1
--- /dev/null
+++ b/Src/replicant/nsmp3dec/huffmanbitobj.h
@@ -0,0 +1,54 @@
+/***************************************************************************\
+ *
+* MPEG Layer3-Audio Decoder
+* © 1997-2006 by Fraunhofer IIS
+ * All Rights Reserved
+ *
+ * filename: huffmanbitobj.h
+ * project : MPEG Decoder
+ * author : Martin Sieler
+ * date : 1997-12-29
+ * contents/description: HEADER - Huffman Bit Object
+ *
+ *
+\***************************************************************************/
+
+/*
+ * $Date: 2011/01/18 23:00:53 $
+ * $Id: huffmanbitobj.h,v 1.3 2011/01/18 23:00:53 audiodsp Exp $
+ */
+
+#ifndef __HUFFMANBITOBJ_H__
+#define __HUFFMANBITOBJ_H__
+
+/* ------------------------ includes --------------------------------------*/
+
+/*-------------------------- defines --------------------------------------*/
+
+class CBitStream;
+class CHuffmanTable;
+
+/*-------------------------------------------------------------------------*/
+
+//
+// Class holding one huffman value.
+//
+// This object reads and decodes one huffman value from a CBitStream
+// object. One huffman value represents either two (big value part) or four
+// spectral lines (count-one part).
+//
+
+class CHuffmanBitObj
+{
+public:
+ CHuffmanBitObj(const CHuffmanTable &HT);
+ virtual ~CHuffmanBitObj();
+
+ int ReadFrom(CBitStream &BS) const;
+
+private:
+ const CHuffmanTable& m_HuffmanTable;
+};
+
+/*-------------------------------------------------------------------------*/
+#endif