aboutsummaryrefslogtreecommitdiff
path: root/Src/replicant/nsmp3dec/huffdec.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/huffdec.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/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