summaryrefslogtreecommitdiff
path: root/src/libmusepack/musepack/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmusepack/musepack/internal.h')
-rw-r--r--src/libmusepack/musepack/internal.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libmusepack/musepack/internal.h b/src/libmusepack/musepack/internal.h
new file mode 100644
index 000000000..fce533434
--- /dev/null
+++ b/src/libmusepack/musepack/internal.h
@@ -0,0 +1,27 @@
+/// \file musepack_internal.h
+/// Definitions and structures used only internally by the libmusepack.
+
+#ifndef _musepack_internal_h
+#define _musepack_internal_h
+
+enum {
+ MPC_DECODER_SYNTH_DELAY = 481
+};
+
+/// Big/little endian 32 bit byte swapping routine.
+static inline
+mpc_uint32_t swap32(mpc_uint32_t val) {
+ const unsigned char* src = (const unsigned char*)&val;
+ return
+ (mpc_uint32_t)src[0] |
+ ((mpc_uint32_t)src[1] << 8) | ((mpc_uint32_t)src[2] << 16) | ((mpc_uint32_t)src[3] << 24);
+}
+
+/// Searches for a ID3v2-tag and reads the length (in bytes) of it.
+/// \param reader supplying raw stream data
+/// \return size of tag, in bytes
+/// \return -1 on errors of any kind
+mpc_int32_t JumpID3v2(mpc_reader* fp);
+
+#endif // _musepack_internal_h
+