aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nsmp3dec/huffdec.h
diff options
context:
space:
mode:
authorJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
committerJef <jef@targetspot.com>2024-09-24 08:54:57 -0400
commit20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/replicant/nsmp3dec/huffdec.h
parent537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff)
downloadwinamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz
Initial community commit
Diffstat (limited to 'Src/replicant/nsmp3dec/huffdec.h')
-rw-r--r--Src/replicant/nsmp3dec/huffdec.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/Src/replicant/nsmp3dec/huffdec.h b/Src/replicant/nsmp3dec/huffdec.h
new file mode 100644
index 00000000..069db7c0
--- /dev/null
+++ b/Src/replicant/nsmp3dec/huffdec.h
@@ -0,0 +1,57 @@
+/***************************************************************************\
+ *
+* MPEG Layer3-Audio Decoder
+* © 1997-2006 by Fraunhofer IIS
+ * All Rights Reserved
+ *
+ * filename: huffdec.h
+ * project : ISO/MPEG Decoder
+ * author : Martin Sieler
+ * date : 1998-05-26
+ * contents/description: main hufman decoding - HEADER
+ *
+ *
+\***************************************************************************/
+
+/*
+ * $Date: 2010/11/17 20:46:02 $
+ * $Id: huffdec.h,v 1.1 2010/11/17 20:46:02 audiodsp Exp $
+ */
+
+#ifndef __HUFFDEC_H__
+#define __HUFFDEC_H__
+
+/* ------------------------ includes --------------------------------------*/
+
+#include "mpeg.h"
+#include "huffmandecoder.h"
+
+/* ------------------------------------------------------------------------*/
+
+//
+// MPEG Layer-3 huffman decoding class.
+//
+// This class is derived from a CHuffmanDecoder object. In addition to
+// the CHuffmanDecoder object, this object calculates the number of
+// spectral lines in the big value area, the number of spectral lines in the
+// count-one area and the region boundaries within the big value area from
+// an MPEG Layer-3 bitstream sideinfo.
+//
+
+class CMp3Huffman : protected CHuffmanDecoder
+{
+public:
+ CMp3Huffman() {}
+ ~CMp3Huffman() {}
+
+ void Read
+ (
+ CBitStream &Bs, // where to read from
+ int *pISpectrum, // pointer to spectrum
+ MP3SI_GRCH &SiGrCh, // side info (granule/channel)
+ const MPEG_INFO &Info // mpeg info
+ );
+};
+
+/*-------------------------------------------------------------------------*/
+#endif