From ebe04304d5f5dc897acebda3defe1de00caa7b59 Mon Sep 17 00:00:00 2001 From: Daniel Collin Date: Sun, 30 Nov 2025 20:04:29 +0100 Subject: [PATCH] Replace BASS with minimp3+kissfft for audio decoding This removes the proprietary BASS library and replaces it with: - minimp3: Header-only MP3 decoder (public domain) - kissfft: Small FFT library (BSD license) Benefits: - No more proprietary dependencies - Enables universal macOS builds (BASS lacked arm64 support) - Simpler distribution (no DLLs/dylibs to bundle) Changes: - Remove external/bass/ directory and all binaries - Add external/minimp3/ and external/kissfft/ - Simplify CMakeLists.txt (remove USE_MINIMP3 option) - Update MusicDecode.c to use only minimp3+kissfft - Remove BASS_Init from Editor.c - Update release workflow (no bass.dll copy) - Update README (remove libbass installation steps) Closes #157 --- .github/workflows/release.yml | 1 - CMakeLists.txt | 32 +- README.md | 12 +- external/bass/bass.h | 1051 ---------------- external/bass/linux/libbass.so | Bin 267320 -> 0 bytes external/bass/mac/libbass.dylib | Bin 527004 -> 0 bytes external/bass/win32/bass.dll | Bin 111772 -> 0 bytes external/bass/win32/bass.lib | Bin 24974 -> 0 bytes external/bass/win64/bass.dll | Bin 265728 -> 0 bytes external/bass/win64/bass.lib | Bin 23466 -> 0 bytes external/kissfft/_kiss_fft_guts.h | 167 +++ external/kissfft/kiss_fft.c | 424 +++++++ external/kissfft/kiss_fft.h | 160 +++ external/kissfft/kiss_fft_log.h | 36 + external/minimp3/minimp3.h | 1865 +++++++++++++++++++++++++++++ external/minimp3/minimp3_ex.h | 1397 +++++++++++++++++++++ src/Editor.c | 15 +- src/MusicDecode.c | 306 ++--- 18 files changed, 4226 insertions(+), 1240 deletions(-) delete mode 100755 external/bass/bass.h delete mode 100755 external/bass/linux/libbass.so delete mode 100755 external/bass/mac/libbass.dylib delete mode 100644 external/bass/win32/bass.dll delete mode 100755 external/bass/win32/bass.lib delete mode 100644 external/bass/win64/bass.dll delete mode 100644 external/bass/win64/bass.lib create mode 100644 external/kissfft/_kiss_fft_guts.h create mode 100644 external/kissfft/kiss_fft.c create mode 100644 external/kissfft/kiss_fft.h create mode 100644 external/kissfft/kiss_fft_log.h create mode 100644 external/minimp3/minimp3.h create mode 100644 external/minimp3/minimp3_ex.h diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e9b481a3..ba249265 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -49,7 +49,6 @@ jobs: run: | New-Item -ItemType Directory -Force -Path package Copy-Item build/Release/RocketEditor.exe package/ - Copy-Item external/bass/win64/bass.dll package/ Compress-Archive -Path package/* -DestinationPath RocketEditor-Windows.zip - name: Upload artifact diff --git a/CMakeLists.txt b/CMakeLists.txt index 37b2d81b..cc039e35 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ set(VERSION_PATCH "0") set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}) + if (APPLE) add_definitions(-DMACOSX -DEMGUI_MACOSX) add_compile_options(-Wall -Wno-format-security -Wno-deprecated-declarations) @@ -71,19 +72,16 @@ set(RKT_PROJECT_INCLUDES ${RKT_PROJECT_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/ext set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} rkt_tinycthread) ############################################################################## -# BASS -set(RKT_PROJECT_INCLUDES ${RKT_PROJECT_INCLUDES} ${CMAKE_SOURCE_DIR}/external/bass) -if (APPLE) - set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/mac/libbass.dylib) -elseif (UNIX) - set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/linux/libbass.so) -elseif (MSVC) - if(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/win64/bass.lib) - else() - set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} ${CMAKE_SOURCE_DIR}/external/bass/win32/bass.lib) - endif() -endif () +# AUDIO DECODING (minimp3+kissfft) + +# kissfft library +add_library(rkt_kissfft ${CMAKE_SOURCE_DIR}/external/kissfft/kiss_fft.c) +target_include_directories(rkt_kissfft PUBLIC ${CMAKE_SOURCE_DIR}/external/kissfft) +set(RKT_PROJECT_LIBS ${RKT_PROJECT_LIBS} rkt_kissfft) + +# minimp3 is header-only +set(RKT_PROJECT_INCLUDES ${RKT_PROJECT_INCLUDES} ${CMAKE_SOURCE_DIR}/external/minimp3) +set(RKT_PROJECT_INCLUDES ${RKT_PROJECT_INCLUDES} ${CMAKE_SOURCE_DIR}/external/kissfft) ############################################################################## # EMGUI @@ -185,10 +183,6 @@ if (APPLE) set_source_files_properties(${RKT_RESOURCES_DATA} PROPERTIES MACOSX_PACKAGE_LOCATION Resources) - set(OSX_LIB_FILES ${CMAKE_SOURCE_DIR}/external/bass/mac/libbass.dylib) - set_source_files_properties(${OSX_LIB_FILES} PROPERTIES MACOSX_PACKAGE_LOCATION MacOS) - set(RKT_PROJECT_SRCS ${RKT_PROJECT_SRCS} ${OSX_LIB_FILES}) - set(RKT_PROJECT_SRCS ${GUI_TYPE} ${RKT_PROJECT_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/data/macosx/appnib.xib) find_library(COCOA_FRAMEWORK Cocoa) @@ -250,10 +244,6 @@ if (APPLE) COMMENT "Compiling appnib.xib") endif () -# move the bass dll close to the executable -if (MSVC) - add_custom_command(TARGET ${RKT_EXE_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/external/bass/win32/bass.dll" $) -endif () ############################################################################## diff --git a/README.md b/README.md index 21c6961d..6ef0f4fe 100644 --- a/README.md +++ b/README.md @@ -103,20 +103,10 @@ cd rocket tundra2 linux-gcc-release ``` -(optional) Install `libbass.so` from the repo folder: - -``` -sudo cp external/bass/linux/libbass.so /usr/local/lib/ -sudo chmod a+rx /usr/local/lib/libbass.so -sudo ldconfig -``` - - - Start rocket: ``` -LD_LIBRARY_PATH=external/bass/linux/ ./t2-output/linux-gcc-release-default/editor +./t2-output/linux-gcc-release-default/editor ``` Start the basic example: diff --git a/external/bass/bass.h b/external/bass/bass.h deleted file mode 100755 index a5d37005..00000000 --- a/external/bass/bass.h +++ /dev/null @@ -1,1051 +0,0 @@ -/* - BASS 2.4 C/C++ header file - Copyright (c) 1999-2016 Un4seen Developments Ltd. - - See the BASS.CHM file for more detailed documentation -*/ - -#ifndef BASS_H -#define BASS_H - -#ifdef _WIN32 -#include -typedef unsigned __int64 QWORD; -#else -#include -#define WINAPI -#define CALLBACK -typedef uint8_t BYTE; -typedef uint16_t WORD; -typedef uint32_t DWORD; -typedef uint64_t QWORD; -#ifndef __OBJC__ -typedef int BOOL; -#endif -#ifndef TRUE -#define TRUE 1 -#define FALSE 0 -#endif -#define LOBYTE(a) (BYTE)(a) -#define HIBYTE(a) (BYTE)((a)>>8) -#define LOWORD(a) (WORD)(a) -#define HIWORD(a) (WORD)((a)>>16) -#define MAKEWORD(a,b) (WORD)(((a)&0xff)|((b)<<8)) -#define MAKELONG(a,b) (DWORD)(((a)&0xffff)|((b)<<16)) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define BASSVERSION 0x204 // API version -#define BASSVERSIONTEXT "2.4" - -#ifndef BASSDEF -#define BASSDEF(f) WINAPI f -#else -#define NOBASSOVERLOADS -#endif - -typedef DWORD HMUSIC; // MOD music handle -typedef DWORD HSAMPLE; // sample handle -typedef DWORD HCHANNEL; // playing sample's channel handle -typedef DWORD HSTREAM; // sample stream handle -typedef DWORD HRECORD; // recording handle -typedef DWORD HSYNC; // synchronizer handle -typedef DWORD HDSP; // DSP handle -typedef DWORD HFX; // DX8 effect handle -typedef DWORD HPLUGIN; // Plugin handle - -// Error codes returned by BASS_ErrorGetCode -#define BASS_OK 0 // all is OK -#define BASS_ERROR_MEM 1 // memory error -#define BASS_ERROR_FILEOPEN 2 // can't open the file -#define BASS_ERROR_DRIVER 3 // can't find a free/valid driver -#define BASS_ERROR_BUFLOST 4 // the sample buffer was lost -#define BASS_ERROR_HANDLE 5 // invalid handle -#define BASS_ERROR_FORMAT 6 // unsupported sample format -#define BASS_ERROR_POSITION 7 // invalid position -#define BASS_ERROR_INIT 8 // BASS_Init has not been successfully called -#define BASS_ERROR_START 9 // BASS_Start has not been successfully called -#define BASS_ERROR_SSL 10 // SSL/HTTPS support isn't available -#define BASS_ERROR_ALREADY 14 // already initialized/paused/whatever -#define BASS_ERROR_NOCHAN 18 // can't get a free channel -#define BASS_ERROR_ILLTYPE 19 // an illegal type was specified -#define BASS_ERROR_ILLPARAM 20 // an illegal parameter was specified -#define BASS_ERROR_NO3D 21 // no 3D support -#define BASS_ERROR_NOEAX 22 // no EAX support -#define BASS_ERROR_DEVICE 23 // illegal device number -#define BASS_ERROR_NOPLAY 24 // not playing -#define BASS_ERROR_FREQ 25 // illegal sample rate -#define BASS_ERROR_NOTFILE 27 // the stream is not a file stream -#define BASS_ERROR_NOHW 29 // no hardware voices available -#define BASS_ERROR_EMPTY 31 // the MOD music has no sequence data -#define BASS_ERROR_NONET 32 // no internet connection could be opened -#define BASS_ERROR_CREATE 33 // couldn't create the file -#define BASS_ERROR_NOFX 34 // effects are not available -#define BASS_ERROR_NOTAVAIL 37 // requested data is not available -#define BASS_ERROR_DECODE 38 // the channel is/isn't a "decoding channel" -#define BASS_ERROR_DX 39 // a sufficient DirectX version is not installed -#define BASS_ERROR_TIMEOUT 40 // connection timedout -#define BASS_ERROR_FILEFORM 41 // unsupported file format -#define BASS_ERROR_SPEAKER 42 // unavailable speaker -#define BASS_ERROR_VERSION 43 // invalid BASS version (used by add-ons) -#define BASS_ERROR_CODEC 44 // codec is not available/supported -#define BASS_ERROR_ENDED 45 // the channel/file has ended -#define BASS_ERROR_BUSY 46 // the device is busy -#define BASS_ERROR_UNKNOWN -1 // some other mystery problem - -// BASS_SetConfig options -#define BASS_CONFIG_BUFFER 0 -#define BASS_CONFIG_UPDATEPERIOD 1 -#define BASS_CONFIG_GVOL_SAMPLE 4 -#define BASS_CONFIG_GVOL_STREAM 5 -#define BASS_CONFIG_GVOL_MUSIC 6 -#define BASS_CONFIG_CURVE_VOL 7 -#define BASS_CONFIG_CURVE_PAN 8 -#define BASS_CONFIG_FLOATDSP 9 -#define BASS_CONFIG_3DALGORITHM 10 -#define BASS_CONFIG_NET_TIMEOUT 11 -#define BASS_CONFIG_NET_BUFFER 12 -#define BASS_CONFIG_PAUSE_NOPLAY 13 -#define BASS_CONFIG_NET_PREBUF 15 -#define BASS_CONFIG_NET_PASSIVE 18 -#define BASS_CONFIG_REC_BUFFER 19 -#define BASS_CONFIG_NET_PLAYLIST 21 -#define BASS_CONFIG_MUSIC_VIRTUAL 22 -#define BASS_CONFIG_VERIFY 23 -#define BASS_CONFIG_UPDATETHREADS 24 -#define BASS_CONFIG_DEV_BUFFER 27 -#define BASS_CONFIG_VISTA_TRUEPOS 30 -#define BASS_CONFIG_IOS_MIXAUDIO 34 -#define BASS_CONFIG_DEV_DEFAULT 36 -#define BASS_CONFIG_NET_READTIMEOUT 37 -#define BASS_CONFIG_VISTA_SPEAKERS 38 -#define BASS_CONFIG_IOS_SPEAKER 39 -#define BASS_CONFIG_MF_DISABLE 40 -#define BASS_CONFIG_HANDLES 41 -#define BASS_CONFIG_UNICODE 42 -#define BASS_CONFIG_SRC 43 -#define BASS_CONFIG_SRC_SAMPLE 44 -#define BASS_CONFIG_ASYNCFILE_BUFFER 45 -#define BASS_CONFIG_OGG_PRESCAN 47 -#define BASS_CONFIG_MF_VIDEO 48 -#define BASS_CONFIG_AIRPLAY 49 -#define BASS_CONFIG_DEV_NONSTOP 50 -#define BASS_CONFIG_IOS_NOCATEGORY 51 -#define BASS_CONFIG_VERIFY_NET 52 -#define BASS_CONFIG_DEV_PERIOD 53 -#define BASS_CONFIG_FLOAT 54 -#define BASS_CONFIG_NET_SEEK 56 - -// BASS_SetConfigPtr options -#define BASS_CONFIG_NET_AGENT 16 -#define BASS_CONFIG_NET_PROXY 17 -#define BASS_CONFIG_IOS_NOTIFY 46 - -// BASS_Init flags -#define BASS_DEVICE_8BITS 1 // 8 bit -#define BASS_DEVICE_MONO 2 // mono -#define BASS_DEVICE_3D 4 // enable 3D functionality -#define BASS_DEVICE_16BITS 8 // limit output to 16 bit -#define BASS_DEVICE_LATENCY 0x100 // calculate device latency (BASS_INFO struct) -#define BASS_DEVICE_CPSPEAKERS 0x400 // detect speakers via Windows control panel -#define BASS_DEVICE_SPEAKERS 0x800 // force enabling of speaker assignment -#define BASS_DEVICE_NOSPEAKER 0x1000 // ignore speaker arrangement -#define BASS_DEVICE_DMIX 0x2000 // use ALSA "dmix" plugin -#define BASS_DEVICE_FREQ 0x4000 // set device sample rate -#define BASS_DEVICE_STEREO 0x8000 // limit output to stereo - -// DirectSound interfaces (for use with BASS_GetDSoundObject) -#define BASS_OBJECT_DS 1 // IDirectSound -#define BASS_OBJECT_DS3DL 2 // IDirectSound3DListener - -// Device info structure -typedef struct { -#if defined(_WIN32_WCE) || (WINAPI_FAMILY && WINAPI_FAMILY!=WINAPI_FAMILY_DESKTOP_APP) - const wchar_t *name; // description - const wchar_t *driver; // driver -#else - const char *name; // description - const char *driver; // driver -#endif - DWORD flags; -} BASS_DEVICEINFO; - -// BASS_DEVICEINFO flags -#define BASS_DEVICE_ENABLED 1 -#define BASS_DEVICE_DEFAULT 2 -#define BASS_DEVICE_INIT 4 - -#define BASS_DEVICE_TYPE_MASK 0xff000000 -#define BASS_DEVICE_TYPE_NETWORK 0x01000000 -#define BASS_DEVICE_TYPE_SPEAKERS 0x02000000 -#define BASS_DEVICE_TYPE_LINE 0x03000000 -#define BASS_DEVICE_TYPE_HEADPHONES 0x04000000 -#define BASS_DEVICE_TYPE_MICROPHONE 0x05000000 -#define BASS_DEVICE_TYPE_HEADSET 0x06000000 -#define BASS_DEVICE_TYPE_HANDSET 0x07000000 -#define BASS_DEVICE_TYPE_DIGITAL 0x08000000 -#define BASS_DEVICE_TYPE_SPDIF 0x09000000 -#define BASS_DEVICE_TYPE_HDMI 0x0a000000 -#define BASS_DEVICE_TYPE_DISPLAYPORT 0x40000000 - -// BASS_GetDeviceInfo flags -#define BASS_DEVICES_AIRPLAY 0x1000000 - -typedef struct { - DWORD flags; // device capabilities (DSCAPS_xxx flags) - DWORD hwsize; // size of total device hardware memory - DWORD hwfree; // size of free device hardware memory - DWORD freesam; // number of free sample slots in the hardware - DWORD free3d; // number of free 3D sample slots in the hardware - DWORD minrate; // min sample rate supported by the hardware - DWORD maxrate; // max sample rate supported by the hardware - BOOL eax; // device supports EAX? (always FALSE if BASS_DEVICE_3D was not used) - DWORD minbuf; // recommended minimum buffer length in ms (requires BASS_DEVICE_LATENCY) - DWORD dsver; // DirectSound version - DWORD latency; // delay (in ms) before start of playback (requires BASS_DEVICE_LATENCY) - DWORD initflags; // BASS_Init "flags" parameter - DWORD speakers; // number of speakers available - DWORD freq; // current output rate -} BASS_INFO; - -// BASS_INFO flags (from DSOUND.H) -#define DSCAPS_CONTINUOUSRATE 0x00000010 // supports all sample rates between min/maxrate -#define DSCAPS_EMULDRIVER 0x00000020 // device does NOT have hardware DirectSound support -#define DSCAPS_CERTIFIED 0x00000040 // device driver has been certified by Microsoft -#define DSCAPS_SECONDARYMONO 0x00000100 // mono -#define DSCAPS_SECONDARYSTEREO 0x00000200 // stereo -#define DSCAPS_SECONDARY8BIT 0x00000400 // 8 bit -#define DSCAPS_SECONDARY16BIT 0x00000800 // 16 bit - -// Recording device info structure -typedef struct { - DWORD flags; // device capabilities (DSCCAPS_xxx flags) - DWORD formats; // supported standard formats (WAVE_FORMAT_xxx flags) - DWORD inputs; // number of inputs - BOOL singlein; // TRUE = only 1 input can be set at a time - DWORD freq; // current input rate -} BASS_RECORDINFO; - -// BASS_RECORDINFO flags (from DSOUND.H) -#define DSCCAPS_EMULDRIVER DSCAPS_EMULDRIVER // device does NOT have hardware DirectSound recording support -#define DSCCAPS_CERTIFIED DSCAPS_CERTIFIED // device driver has been certified by Microsoft - -// defines for formats field of BASS_RECORDINFO (from MMSYSTEM.H) -#ifndef WAVE_FORMAT_1M08 -#define WAVE_FORMAT_1M08 0x00000001 /* 11.025 kHz, Mono, 8-bit */ -#define WAVE_FORMAT_1S08 0x00000002 /* 11.025 kHz, Stereo, 8-bit */ -#define WAVE_FORMAT_1M16 0x00000004 /* 11.025 kHz, Mono, 16-bit */ -#define WAVE_FORMAT_1S16 0x00000008 /* 11.025 kHz, Stereo, 16-bit */ -#define WAVE_FORMAT_2M08 0x00000010 /* 22.05 kHz, Mono, 8-bit */ -#define WAVE_FORMAT_2S08 0x00000020 /* 22.05 kHz, Stereo, 8-bit */ -#define WAVE_FORMAT_2M16 0x00000040 /* 22.05 kHz, Mono, 16-bit */ -#define WAVE_FORMAT_2S16 0x00000080 /* 22.05 kHz, Stereo, 16-bit */ -#define WAVE_FORMAT_4M08 0x00000100 /* 44.1 kHz, Mono, 8-bit */ -#define WAVE_FORMAT_4S08 0x00000200 /* 44.1 kHz, Stereo, 8-bit */ -#define WAVE_FORMAT_4M16 0x00000400 /* 44.1 kHz, Mono, 16-bit */ -#define WAVE_FORMAT_4S16 0x00000800 /* 44.1 kHz, Stereo, 16-bit */ -#endif - -// Sample info structure -typedef struct { - DWORD freq; // default playback rate - float volume; // default volume (0-1) - float pan; // default pan (-1=left, 0=middle, 1=right) - DWORD flags; // BASS_SAMPLE_xxx flags - DWORD length; // length (in bytes) - DWORD max; // maximum simultaneous playbacks - DWORD origres; // original resolution bits - DWORD chans; // number of channels - DWORD mingap; // minimum gap (ms) between creating channels - DWORD mode3d; // BASS_3DMODE_xxx mode - float mindist; // minimum distance - float maxdist; // maximum distance - DWORD iangle; // angle of inside projection cone - DWORD oangle; // angle of outside projection cone - float outvol; // delta-volume outside the projection cone - DWORD vam; // voice allocation/management flags (BASS_VAM_xxx) - DWORD priority; // priority (0=lowest, 0xffffffff=highest) -} BASS_SAMPLE; - -#define BASS_SAMPLE_8BITS 1 // 8 bit -#define BASS_SAMPLE_FLOAT 256 // 32 bit floating-point -#define BASS_SAMPLE_MONO 2 // mono -#define BASS_SAMPLE_LOOP 4 // looped -#define BASS_SAMPLE_3D 8 // 3D functionality -#define BASS_SAMPLE_SOFTWARE 16 // not using hardware mixing -#define BASS_SAMPLE_MUTEMAX 32 // mute at max distance (3D only) -#define BASS_SAMPLE_VAM 64 // DX7 voice allocation & management -#define BASS_SAMPLE_FX 128 // old implementation of DX8 effects -#define BASS_SAMPLE_OVER_VOL 0x10000 // override lowest volume -#define BASS_SAMPLE_OVER_POS 0x20000 // override longest playing -#define BASS_SAMPLE_OVER_DIST 0x30000 // override furthest from listener (3D only) - -#define BASS_STREAM_PRESCAN 0x20000 // enable pin-point seeking/length (MP3/MP2/MP1) -#define BASS_MP3_SETPOS BASS_STREAM_PRESCAN -#define BASS_STREAM_AUTOFREE 0x40000 // automatically free the stream when it stop/ends -#define BASS_STREAM_RESTRATE 0x80000 // restrict the download rate of internet file streams -#define BASS_STREAM_BLOCK 0x100000 // download/play internet file stream in small blocks -#define BASS_STREAM_DECODE 0x200000 // don't play the stream, only decode (BASS_ChannelGetData) -#define BASS_STREAM_STATUS 0x800000 // give server status info (HTTP/ICY tags) in DOWNLOADPROC - -#define BASS_MUSIC_FLOAT BASS_SAMPLE_FLOAT -#define BASS_MUSIC_MONO BASS_SAMPLE_MONO -#define BASS_MUSIC_LOOP BASS_SAMPLE_LOOP -#define BASS_MUSIC_3D BASS_SAMPLE_3D -#define BASS_MUSIC_FX BASS_SAMPLE_FX -#define BASS_MUSIC_AUTOFREE BASS_STREAM_AUTOFREE -#define BASS_MUSIC_DECODE BASS_STREAM_DECODE -#define BASS_MUSIC_PRESCAN BASS_STREAM_PRESCAN // calculate playback length -#define BASS_MUSIC_CALCLEN BASS_MUSIC_PRESCAN -#define BASS_MUSIC_RAMP 0x200 // normal ramping -#define BASS_MUSIC_RAMPS 0x400 // sensitive ramping -#define BASS_MUSIC_SURROUND 0x800 // surround sound -#define BASS_MUSIC_SURROUND2 0x1000 // surround sound (mode 2) -#define BASS_MUSIC_FT2PAN 0x2000 // apply FastTracker 2 panning to XM files -#define BASS_MUSIC_FT2MOD 0x2000 // play .MOD as FastTracker 2 does -#define BASS_MUSIC_PT1MOD 0x4000 // play .MOD as ProTracker 1 does -#define BASS_MUSIC_NONINTER 0x10000 // non-interpolated sample mixing -#define BASS_MUSIC_SINCINTER 0x800000 // sinc interpolated sample mixing -#define BASS_MUSIC_POSRESET 0x8000 // stop all notes when moving position -#define BASS_MUSIC_POSRESETEX 0x400000 // stop all notes and reset bmp/etc when moving position -#define BASS_MUSIC_STOPBACK 0x80000 // stop the music on a backwards jump effect -#define BASS_MUSIC_NOSAMPLE 0x100000 // don't load the samples - -// Speaker assignment flags -#define BASS_SPEAKER_FRONT 0x1000000 // front speakers -#define BASS_SPEAKER_REAR 0x2000000 // rear/side speakers -#define BASS_SPEAKER_CENLFE 0x3000000 // center & LFE speakers (5.1) -#define BASS_SPEAKER_REAR2 0x4000000 // rear center speakers (7.1) -#define BASS_SPEAKER_N(n) ((n)<<24) // n'th pair of speakers (max 15) -#define BASS_SPEAKER_LEFT 0x10000000 // modifier: left -#define BASS_SPEAKER_RIGHT 0x20000000 // modifier: right -#define BASS_SPEAKER_FRONTLEFT BASS_SPEAKER_FRONT|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_FRONTRIGHT BASS_SPEAKER_FRONT|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_REARLEFT BASS_SPEAKER_REAR|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_REARRIGHT BASS_SPEAKER_REAR|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_CENTER BASS_SPEAKER_CENLFE|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_LFE BASS_SPEAKER_CENLFE|BASS_SPEAKER_RIGHT -#define BASS_SPEAKER_REAR2LEFT BASS_SPEAKER_REAR2|BASS_SPEAKER_LEFT -#define BASS_SPEAKER_REAR2RIGHT BASS_SPEAKER_REAR2|BASS_SPEAKER_RIGHT - -#define BASS_ASYNCFILE 0x40000000 -#define BASS_UNICODE 0x80000000 - -#define BASS_RECORD_PAUSE 0x8000 // start recording paused -#define BASS_RECORD_ECHOCANCEL 0x2000 -#define BASS_RECORD_AGC 0x4000 - -// DX7 voice allocation & management flags -#define BASS_VAM_HARDWARE 1 -#define BASS_VAM_SOFTWARE 2 -#define BASS_VAM_TERM_TIME 4 -#define BASS_VAM_TERM_DIST 8 -#define BASS_VAM_TERM_PRIO 16 - -// Channel info structure -typedef struct { - DWORD freq; // default playback rate - DWORD chans; // channels - DWORD flags; // BASS_SAMPLE/STREAM/MUSIC/SPEAKER flags - DWORD ctype; // type of channel - DWORD origres; // original resolution - HPLUGIN plugin; // plugin - HSAMPLE sample; // sample - const char *filename; // filename -} BASS_CHANNELINFO; - -// BASS_CHANNELINFO types -#define BASS_CTYPE_SAMPLE 1 -#define BASS_CTYPE_RECORD 2 -#define BASS_CTYPE_STREAM 0x10000 -#define BASS_CTYPE_STREAM_OGG 0x10002 -#define BASS_CTYPE_STREAM_MP1 0x10003 -#define BASS_CTYPE_STREAM_MP2 0x10004 -#define BASS_CTYPE_STREAM_MP3 0x10005 -#define BASS_CTYPE_STREAM_AIFF 0x10006 -#define BASS_CTYPE_STREAM_CA 0x10007 -#define BASS_CTYPE_STREAM_MF 0x10008 -#define BASS_CTYPE_STREAM_WAV 0x40000 // WAVE flag, LOWORD=codec -#define BASS_CTYPE_STREAM_WAV_PCM 0x50001 -#define BASS_CTYPE_STREAM_WAV_FLOAT 0x50003 -#define BASS_CTYPE_MUSIC_MOD 0x20000 -#define BASS_CTYPE_MUSIC_MTM 0x20001 -#define BASS_CTYPE_MUSIC_S3M 0x20002 -#define BASS_CTYPE_MUSIC_XM 0x20003 -#define BASS_CTYPE_MUSIC_IT 0x20004 -#define BASS_CTYPE_MUSIC_MO3 0x00100 // MO3 flag - -typedef struct { - DWORD ctype; // channel type -#if defined(_WIN32_WCE) || (WINAPI_FAMILY && WINAPI_FAMILY!=WINAPI_FAMILY_DESKTOP_APP) - const wchar_t *name; // format description - const wchar_t *exts; // file extension filter (*.ext1;*.ext2;etc...) -#else - const char *name; // format description - const char *exts; // file extension filter (*.ext1;*.ext2;etc...) -#endif -} BASS_PLUGINFORM; - -typedef struct { - DWORD version; // version (same form as BASS_GetVersion) - DWORD formatc; // number of formats - const BASS_PLUGINFORM *formats; // the array of formats -} BASS_PLUGININFO; - -// 3D vector (for 3D positions/velocities/orientations) -typedef struct BASS_3DVECTOR { -#ifdef __cplusplus - BASS_3DVECTOR() {}; - BASS_3DVECTOR(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}; -#endif - float x; // +=right, -=left - float y; // +=up, -=down - float z; // +=front, -=behind -} BASS_3DVECTOR; - -// 3D channel modes -#define BASS_3DMODE_NORMAL 0 // normal 3D processing -#define BASS_3DMODE_RELATIVE 1 // position is relative to the listener -#define BASS_3DMODE_OFF 2 // no 3D processing - -// software 3D mixing algorithms (used with BASS_CONFIG_3DALGORITHM) -#define BASS_3DALG_DEFAULT 0 -#define BASS_3DALG_OFF 1 -#define BASS_3DALG_FULL 2 -#define BASS_3DALG_LIGHT 3 - -// EAX environments, use with BASS_SetEAXParameters -enum -{ - EAX_ENVIRONMENT_GENERIC, - EAX_ENVIRONMENT_PADDEDCELL, - EAX_ENVIRONMENT_ROOM, - EAX_ENVIRONMENT_BATHROOM, - EAX_ENVIRONMENT_LIVINGROOM, - EAX_ENVIRONMENT_STONEROOM, - EAX_ENVIRONMENT_AUDITORIUM, - EAX_ENVIRONMENT_CONCERTHALL, - EAX_ENVIRONMENT_CAVE, - EAX_ENVIRONMENT_ARENA, - EAX_ENVIRONMENT_HANGAR, - EAX_ENVIRONMENT_CARPETEDHALLWAY, - EAX_ENVIRONMENT_HALLWAY, - EAX_ENVIRONMENT_STONECORRIDOR, - EAX_ENVIRONMENT_ALLEY, - EAX_ENVIRONMENT_FOREST, - EAX_ENVIRONMENT_CITY, - EAX_ENVIRONMENT_MOUNTAINS, - EAX_ENVIRONMENT_QUARRY, - EAX_ENVIRONMENT_PLAIN, - EAX_ENVIRONMENT_PARKINGLOT, - EAX_ENVIRONMENT_SEWERPIPE, - EAX_ENVIRONMENT_UNDERWATER, - EAX_ENVIRONMENT_DRUGGED, - EAX_ENVIRONMENT_DIZZY, - EAX_ENVIRONMENT_PSYCHOTIC, - - EAX_ENVIRONMENT_COUNT // total number of environments -}; - -// EAX presets, usage: BASS_SetEAXParameters(EAX_PRESET_xxx) -#define EAX_PRESET_GENERIC EAX_ENVIRONMENT_GENERIC,0.5F,1.493F,0.5F -#define EAX_PRESET_PADDEDCELL EAX_ENVIRONMENT_PADDEDCELL,0.25F,0.1F,0.0F -#define EAX_PRESET_ROOM EAX_ENVIRONMENT_ROOM,0.417F,0.4F,0.666F -#define EAX_PRESET_BATHROOM EAX_ENVIRONMENT_BATHROOM,0.653F,1.499F,0.166F -#define EAX_PRESET_LIVINGROOM EAX_ENVIRONMENT_LIVINGROOM,0.208F,0.478F,0.0F -#define EAX_PRESET_STONEROOM EAX_ENVIRONMENT_STONEROOM,0.5F,2.309F,0.888F -#define EAX_PRESET_AUDITORIUM EAX_ENVIRONMENT_AUDITORIUM,0.403F,4.279F,0.5F -#define EAX_PRESET_CONCERTHALL EAX_ENVIRONMENT_CONCERTHALL,0.5F,3.961F,0.5F -#define EAX_PRESET_CAVE EAX_ENVIRONMENT_CAVE,0.5F,2.886F,1.304F -#define EAX_PRESET_ARENA EAX_ENVIRONMENT_ARENA,0.361F,7.284F,0.332F -#define EAX_PRESET_HANGAR EAX_ENVIRONMENT_HANGAR,0.5F,10.0F,0.3F -#define EAX_PRESET_CARPETEDHALLWAY EAX_ENVIRONMENT_CARPETEDHALLWAY,0.153F,0.259F,2.0F -#define EAX_PRESET_HALLWAY EAX_ENVIRONMENT_HALLWAY,0.361F,1.493F,0.0F -#define EAX_PRESET_STONECORRIDOR EAX_ENVIRONMENT_STONECORRIDOR,0.444F,2.697F,0.638F -#define EAX_PRESET_ALLEY EAX_ENVIRONMENT_ALLEY,0.25F,1.752F,0.776F -#define EAX_PRESET_FOREST EAX_ENVIRONMENT_FOREST,0.111F,3.145F,0.472F -#define EAX_PRESET_CITY EAX_ENVIRONMENT_CITY,0.111F,2.767F,0.224F -#define EAX_PRESET_MOUNTAINS EAX_ENVIRONMENT_MOUNTAINS,0.194F,7.841F,0.472F -#define EAX_PRESET_QUARRY EAX_ENVIRONMENT_QUARRY,1.0F,1.499F,0.5F -#define EAX_PRESET_PLAIN EAX_ENVIRONMENT_PLAIN,0.097F,2.767F,0.224F -#define EAX_PRESET_PARKINGLOT EAX_ENVIRONMENT_PARKINGLOT,0.208F,1.652F,1.5F -#define EAX_PRESET_SEWERPIPE EAX_ENVIRONMENT_SEWERPIPE,0.652F,2.886F,0.25F -#define EAX_PRESET_UNDERWATER EAX_ENVIRONMENT_UNDERWATER,1.0F,1.499F,0.0F -#define EAX_PRESET_DRUGGED EAX_ENVIRONMENT_DRUGGED,0.875F,8.392F,1.388F -#define EAX_PRESET_DIZZY EAX_ENVIRONMENT_DIZZY,0.139F,17.234F,0.666F -#define EAX_PRESET_PSYCHOTIC EAX_ENVIRONMENT_PSYCHOTIC,0.486F,7.563F,0.806F - -typedef DWORD (CALLBACK STREAMPROC)(HSTREAM handle, void *buffer, DWORD length, void *user); -/* User stream callback function. NOTE: A stream function should obviously be as quick -as possible, other streams (and MOD musics) can't be mixed until it's finished. -handle : The stream that needs writing -buffer : Buffer to write the samples in -length : Number of bytes to write -user : The 'user' parameter value given when calling BASS_StreamCreate -RETURN : Number of bytes written. Set the BASS_STREAMPROC_END flag to end - the stream. */ - -#define BASS_STREAMPROC_END 0x80000000 // end of user stream flag - -// special STREAMPROCs -#define STREAMPROC_DUMMY (STREAMPROC*)0 // "dummy" stream -#define STREAMPROC_PUSH (STREAMPROC*)-1 // push stream - -// BASS_StreamCreateFileUser file systems -#define STREAMFILE_NOBUFFER 0 -#define STREAMFILE_BUFFER 1 -#define STREAMFILE_BUFFERPUSH 2 - -// User file stream callback functions -typedef void (CALLBACK FILECLOSEPROC)(void *user); -typedef QWORD (CALLBACK FILELENPROC)(void *user); -typedef DWORD (CALLBACK FILEREADPROC)(void *buffer, DWORD length, void *user); -typedef BOOL (CALLBACK FILESEEKPROC)(QWORD offset, void *user); - -typedef struct { - FILECLOSEPROC *close; - FILELENPROC *length; - FILEREADPROC *read; - FILESEEKPROC *seek; -} BASS_FILEPROCS; - -// BASS_StreamPutFileData options -#define BASS_FILEDATA_END 0 // end & close the file - -// BASS_StreamGetFilePosition modes -#define BASS_FILEPOS_CURRENT 0 -#define BASS_FILEPOS_DECODE BASS_FILEPOS_CURRENT -#define BASS_FILEPOS_DOWNLOAD 1 -#define BASS_FILEPOS_END 2 -#define BASS_FILEPOS_START 3 -#define BASS_FILEPOS_CONNECTED 4 -#define BASS_FILEPOS_BUFFER 5 -#define BASS_FILEPOS_SOCKET 6 -#define BASS_FILEPOS_ASYNCBUF 7 -#define BASS_FILEPOS_SIZE 8 - -typedef void (CALLBACK DOWNLOADPROC)(const void *buffer, DWORD length, void *user); -/* Internet stream download callback function. -buffer : Buffer containing the downloaded data... NULL=end of download -length : Number of bytes in the buffer -user : The 'user' parameter value given when calling BASS_StreamCreateURL */ - -// BASS_ChannelSetSync types -#define BASS_SYNC_POS 0 -#define BASS_SYNC_END 2 -#define BASS_SYNC_META 4 -#define BASS_SYNC_SLIDE 5 -#define BASS_SYNC_STALL 6 -#define BASS_SYNC_DOWNLOAD 7 -#define BASS_SYNC_FREE 8 -#define BASS_SYNC_SETPOS 11 -#define BASS_SYNC_MUSICPOS 10 -#define BASS_SYNC_MUSICINST 1 -#define BASS_SYNC_MUSICFX 3 -#define BASS_SYNC_OGG_CHANGE 12 -#define BASS_SYNC_MIXTIME 0x40000000 // flag: sync at mixtime, else at playtime -#define BASS_SYNC_ONETIME 0x80000000 // flag: sync only once, else continuously - -typedef void (CALLBACK SYNCPROC)(HSYNC handle, DWORD channel, DWORD data, void *user); -/* Sync callback function. NOTE: a sync callback function should be very -quick as other syncs can't be processed until it has finished. If the sync -is a "mixtime" sync, then other streams and MOD musics can't be mixed until -it's finished either. -handle : The sync that has occured -channel: Channel that the sync occured in -data : Additional data associated with the sync's occurance -user : The 'user' parameter given when calling BASS_ChannelSetSync */ - -typedef void (CALLBACK DSPPROC)(HDSP handle, DWORD channel, void *buffer, DWORD length, void *user); -/* DSP callback function. NOTE: A DSP function should obviously be as quick as -possible... other DSP functions, streams and MOD musics can not be processed -until it's finished. -handle : The DSP handle -channel: Channel that the DSP is being applied to -buffer : Buffer to apply the DSP to -length : Number of bytes in the buffer -user : The 'user' parameter given when calling BASS_ChannelSetDSP */ - -typedef BOOL (CALLBACK RECORDPROC)(HRECORD handle, const void *buffer, DWORD length, void *user); -/* Recording callback function. -handle : The recording handle -buffer : Buffer containing the recorded sample data -length : Number of bytes -user : The 'user' parameter value given when calling BASS_RecordStart -RETURN : TRUE = continue recording, FALSE = stop */ - -// BASS_ChannelIsActive return values -#define BASS_ACTIVE_STOPPED 0 -#define BASS_ACTIVE_PLAYING 1 -#define BASS_ACTIVE_STALLED 2 -#define BASS_ACTIVE_PAUSED 3 - -// Channel attributes -#define BASS_ATTRIB_FREQ 1 -#define BASS_ATTRIB_VOL 2 -#define BASS_ATTRIB_PAN 3 -#define BASS_ATTRIB_EAXMIX 4 -#define BASS_ATTRIB_NOBUFFER 5 -#define BASS_ATTRIB_VBR 6 -#define BASS_ATTRIB_CPU 7 -#define BASS_ATTRIB_SRC 8 -#define BASS_ATTRIB_NET_RESUME 9 -#define BASS_ATTRIB_SCANINFO 10 -#define BASS_ATTRIB_NORAMP 11 -#define BASS_ATTRIB_BITRATE 12 -#define BASS_ATTRIB_MUSIC_AMPLIFY 0x100 -#define BASS_ATTRIB_MUSIC_PANSEP 0x101 -#define BASS_ATTRIB_MUSIC_PSCALER 0x102 -#define BASS_ATTRIB_MUSIC_BPM 0x103 -#define BASS_ATTRIB_MUSIC_SPEED 0x104 -#define BASS_ATTRIB_MUSIC_VOL_GLOBAL 0x105 -#define BASS_ATTRIB_MUSIC_ACTIVE 0x106 -#define BASS_ATTRIB_MUSIC_VOL_CHAN 0x200 // + channel # -#define BASS_ATTRIB_MUSIC_VOL_INST 0x300 // + instrument # - -// BASS_ChannelGetData flags -#define BASS_DATA_AVAILABLE 0 // query how much data is buffered -#define BASS_DATA_FIXED 0x20000000 // flag: return 8.24 fixed-point data -#define BASS_DATA_FLOAT 0x40000000 // flag: return floating-point sample data -#define BASS_DATA_FFT256 0x80000000 // 256 sample FFT -#define BASS_DATA_FFT512 0x80000001 // 512 FFT -#define BASS_DATA_FFT1024 0x80000002 // 1024 FFT -#define BASS_DATA_FFT2048 0x80000003 // 2048 FFT -#define BASS_DATA_FFT4096 0x80000004 // 4096 FFT -#define BASS_DATA_FFT8192 0x80000005 // 8192 FFT -#define BASS_DATA_FFT16384 0x80000006 // 16384 FFT -#define BASS_DATA_FFT32768 0x80000007 // 32768 FFT -#define BASS_DATA_FFT_INDIVIDUAL 0x10 // FFT flag: FFT for each channel, else all combined -#define BASS_DATA_FFT_NOWINDOW 0x20 // FFT flag: no Hanning window -#define BASS_DATA_FFT_REMOVEDC 0x40 // FFT flag: pre-remove DC bias -#define BASS_DATA_FFT_COMPLEX 0x80 // FFT flag: return complex data - -// BASS_ChannelGetLevelEx flags -#define BASS_LEVEL_MONO 1 -#define BASS_LEVEL_STEREO 2 -#define BASS_LEVEL_RMS 4 - -// BASS_ChannelGetTags types : what's returned -#define BASS_TAG_ID3 0 // ID3v1 tags : TAG_ID3 structure -#define BASS_TAG_ID3V2 1 // ID3v2 tags : variable length block -#define BASS_TAG_OGG 2 // OGG comments : series of null-terminated UTF-8 strings -#define BASS_TAG_HTTP 3 // HTTP headers : series of null-terminated ANSI strings -#define BASS_TAG_ICY 4 // ICY headers : series of null-terminated ANSI strings -#define BASS_TAG_META 5 // ICY metadata : ANSI string -#define BASS_TAG_APE 6 // APE tags : series of null-terminated UTF-8 strings -#define BASS_TAG_MP4 7 // MP4/iTunes metadata : series of null-terminated UTF-8 strings -#define BASS_TAG_WMA 8 // WMA tags : series of null-terminated UTF-8 strings -#define BASS_TAG_VENDOR 9 // OGG encoder : UTF-8 string -#define BASS_TAG_LYRICS3 10 // Lyric3v2 tag : ASCII string -#define BASS_TAG_CA_CODEC 11 // CoreAudio codec info : TAG_CA_CODEC structure -#define BASS_TAG_MF 13 // Media Foundation tags : series of null-terminated UTF-8 strings -#define BASS_TAG_WAVEFORMAT 14 // WAVE format : WAVEFORMATEEX structure -#define BASS_TAG_RIFF_INFO 0x100 // RIFF "INFO" tags : series of null-terminated ANSI strings -#define BASS_TAG_RIFF_BEXT 0x101 // RIFF/BWF "bext" tags : TAG_BEXT structure -#define BASS_TAG_RIFF_CART 0x102 // RIFF/BWF "cart" tags : TAG_CART structure -#define BASS_TAG_RIFF_DISP 0x103 // RIFF "DISP" text tag : ANSI string -#define BASS_TAG_APE_BINARY 0x1000 // + index #, binary APE tag : TAG_APE_BINARY structure -#define BASS_TAG_MUSIC_NAME 0x10000 // MOD music name : ANSI string -#define BASS_TAG_MUSIC_MESSAGE 0x10001 // MOD message : ANSI string -#define BASS_TAG_MUSIC_ORDERS 0x10002 // MOD order list : BYTE array of pattern numbers -#define BASS_TAG_MUSIC_AUTH 0x10003 // MOD author : UTF-8 string -#define BASS_TAG_MUSIC_INST 0x10100 // + instrument #, MOD instrument name : ANSI string -#define BASS_TAG_MUSIC_SAMPLE 0x10300 // + sample #, MOD sample name : ANSI string - -// ID3v1 tag structure -typedef struct { - char id[3]; - char title[30]; - char artist[30]; - char album[30]; - char year[4]; - char comment[30]; - BYTE genre; -} TAG_ID3; - -// Binary APE tag structure -typedef struct { - const char *key; - const void *data; - DWORD length; -} TAG_APE_BINARY; - -// BWF "bext" tag structure -#ifdef _MSC_VER -#pragma warning(push) -#pragma warning(disable:4200) -#endif -#pragma pack(push,1) -typedef struct { - char Description[256]; // description - char Originator[32]; // name of the originator - char OriginatorReference[32]; // reference of the originator - char OriginationDate[10]; // date of creation (yyyy-mm-dd) - char OriginationTime[8]; // time of creation (hh-mm-ss) - QWORD TimeReference; // first sample count since midnight (little-endian) - WORD Version; // BWF version (little-endian) - BYTE UMID[64]; // SMPTE UMID - BYTE Reserved[190]; -#if defined(__GNUC__) && __GNUC__<3 - char CodingHistory[0]; // history -#elif 1 // change to 0 if compiler fails the following line - char CodingHistory[]; // history -#else - char CodingHistory[1]; // history -#endif -} TAG_BEXT; -#pragma pack(pop) - -// BWF "cart" tag structures -typedef struct -{ - DWORD dwUsage; // FOURCC timer usage ID - DWORD dwValue; // timer value in samples from head -} TAG_CART_TIMER; - -typedef struct -{ - char Version[4]; // version of the data structure - char Title[64]; // title of cart audio sequence - char Artist[64]; // artist or creator name - char CutID[64]; // cut number identification - char ClientID[64]; // client identification - char Category[64]; // category ID, PSA, NEWS, etc - char Classification[64]; // classification or auxiliary key - char OutCue[64]; // out cue text - char StartDate[10]; // yyyy-mm-dd - char StartTime[8]; // hh:mm:ss - char EndDate[10]; // yyyy-mm-dd - char EndTime[8]; // hh:mm:ss - char ProducerAppID[64]; // name of vendor or application - char ProducerAppVersion[64]; // version of producer application - char UserDef[64]; // user defined text - DWORD dwLevelReference; // sample value for 0 dB reference - TAG_CART_TIMER PostTimer[8]; // 8 time markers after head - char Reserved[276]; - char URL[1024]; // uniform resource locator -#if defined(__GNUC__) && __GNUC__<3 - char TagText[0]; // free form text for scripts or tags -#elif 1 // change to 0 if compiler fails the following line - char TagText[]; // free form text for scripts or tags -#else - char TagText[1]; // free form text for scripts or tags -#endif -} TAG_CART; -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -// CoreAudio codec info structure -typedef struct { - DWORD ftype; // file format - DWORD atype; // audio format - const char *name; // description -} TAG_CA_CODEC; - -#ifndef _WAVEFORMATEX_ -#define _WAVEFORMATEX_ -#pragma pack(push,1) -typedef struct tWAVEFORMATEX -{ - WORD wFormatTag; - WORD nChannels; - DWORD nSamplesPerSec; - DWORD nAvgBytesPerSec; - WORD nBlockAlign; - WORD wBitsPerSample; - WORD cbSize; -} WAVEFORMATEX, *PWAVEFORMATEX, *LPWAVEFORMATEX; -typedef const WAVEFORMATEX *LPCWAVEFORMATEX; -#pragma pack(pop) -#endif - -// BASS_ChannelGetLength/GetPosition/SetPosition modes -#define BASS_POS_BYTE 0 // byte position -#define BASS_POS_MUSIC_ORDER 1 // order.row position, MAKELONG(order,row) -#define BASS_POS_OGG 3 // OGG bitstream number -#define BASS_POS_INEXACT 0x8000000 // flag: allow seeking to inexact position -#define BASS_POS_DECODE 0x10000000 // flag: get the decoding (not playing) position -#define BASS_POS_DECODETO 0x20000000 // flag: decode to the position instead of seeking -#define BASS_POS_SCAN 0x40000000 // flag: scan to the position - -// BASS_RecordSetInput flags -#define BASS_INPUT_OFF 0x10000 -#define BASS_INPUT_ON 0x20000 - -#define BASS_INPUT_TYPE_MASK 0xff000000 -#define BASS_INPUT_TYPE_UNDEF 0x00000000 -#define BASS_INPUT_TYPE_DIGITAL 0x01000000 -#define BASS_INPUT_TYPE_LINE 0x02000000 -#define BASS_INPUT_TYPE_MIC 0x03000000 -#define BASS_INPUT_TYPE_SYNTH 0x04000000 -#define BASS_INPUT_TYPE_CD 0x05000000 -#define BASS_INPUT_TYPE_PHONE 0x06000000 -#define BASS_INPUT_TYPE_SPEAKER 0x07000000 -#define BASS_INPUT_TYPE_WAVE 0x08000000 -#define BASS_INPUT_TYPE_AUX 0x09000000 -#define BASS_INPUT_TYPE_ANALOG 0x0a000000 - -// DX8 effect types, use with BASS_ChannelSetFX -enum -{ - BASS_FX_DX8_CHORUS, - BASS_FX_DX8_COMPRESSOR, - BASS_FX_DX8_DISTORTION, - BASS_FX_DX8_ECHO, - BASS_FX_DX8_FLANGER, - BASS_FX_DX8_GARGLE, - BASS_FX_DX8_I3DL2REVERB, - BASS_FX_DX8_PARAMEQ, - BASS_FX_DX8_REVERB -}; - -typedef struct { - float fWetDryMix; - float fDepth; - float fFeedback; - float fFrequency; - DWORD lWaveform; // 0=triangle, 1=sine - float fDelay; - DWORD lPhase; // BASS_DX8_PHASE_xxx -} BASS_DX8_CHORUS; - -typedef struct { - float fGain; - float fAttack; - float fRelease; - float fThreshold; - float fRatio; - float fPredelay; -} BASS_DX8_COMPRESSOR; - -typedef struct { - float fGain; - float fEdge; - float fPostEQCenterFrequency; - float fPostEQBandwidth; - float fPreLowpassCutoff; -} BASS_DX8_DISTORTION; - -typedef struct { - float fWetDryMix; - float fFeedback; - float fLeftDelay; - float fRightDelay; - BOOL lPanDelay; -} BASS_DX8_ECHO; - -typedef struct { - float fWetDryMix; - float fDepth; - float fFeedback; - float fFrequency; - DWORD lWaveform; // 0=triangle, 1=sine - float fDelay; - DWORD lPhase; // BASS_DX8_PHASE_xxx -} BASS_DX8_FLANGER; - -typedef struct { - DWORD dwRateHz; // Rate of modulation in hz - DWORD dwWaveShape; // 0=triangle, 1=square -} BASS_DX8_GARGLE; - -typedef struct { - int lRoom; // [-10000, 0] default: -1000 mB - int lRoomHF; // [-10000, 0] default: 0 mB - float flRoomRolloffFactor; // [0.0, 10.0] default: 0.0 - float flDecayTime; // [0.1, 20.0] default: 1.49s - float flDecayHFRatio; // [0.1, 2.0] default: 0.83 - int lReflections; // [-10000, 1000] default: -2602 mB - float flReflectionsDelay; // [0.0, 0.3] default: 0.007 s - int lReverb; // [-10000, 2000] default: 200 mB - float flReverbDelay; // [0.0, 0.1] default: 0.011 s - float flDiffusion; // [0.0, 100.0] default: 100.0 % - float flDensity; // [0.0, 100.0] default: 100.0 % - float flHFReference; // [20.0, 20000.0] default: 5000.0 Hz -} BASS_DX8_I3DL2REVERB; - -typedef struct { - float fCenter; - float fBandwidth; - float fGain; -} BASS_DX8_PARAMEQ; - -typedef struct { - float fInGain; // [-96.0,0.0] default: 0.0 dB - float fReverbMix; // [-96.0,0.0] default: 0.0 db - float fReverbTime; // [0.001,3000.0] default: 1000.0 ms - float fHighFreqRTRatio; // [0.001,0.999] default: 0.001 -} BASS_DX8_REVERB; - -#define BASS_DX8_PHASE_NEG_180 0 -#define BASS_DX8_PHASE_NEG_90 1 -#define BASS_DX8_PHASE_ZERO 2 -#define BASS_DX8_PHASE_90 3 -#define BASS_DX8_PHASE_180 4 - -typedef void (CALLBACK IOSNOTIFYPROC)(DWORD status); -/* iOS notification callback function. -status : The notification (BASS_IOSNOTIFY_xxx) */ - -#define BASS_IOSNOTIFY_INTERRUPT 1 // interruption started -#define BASS_IOSNOTIFY_INTERRUPT_END 2 // interruption ended - -BOOL BASSDEF(BASS_SetConfig)(DWORD option, DWORD value); -DWORD BASSDEF(BASS_GetConfig)(DWORD option); -BOOL BASSDEF(BASS_SetConfigPtr)(DWORD option, const void *value); -void *BASSDEF(BASS_GetConfigPtr)(DWORD option); -DWORD BASSDEF(BASS_GetVersion)(); -int BASSDEF(BASS_ErrorGetCode)(); -BOOL BASSDEF(BASS_GetDeviceInfo)(DWORD device, BASS_DEVICEINFO *info); -#if defined(_WIN32) && !defined(_WIN32_WCE) && !(WINAPI_FAMILY && WINAPI_FAMILY!=WINAPI_FAMILY_DESKTOP_APP) -BOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, HWND win, const GUID *dsguid); -#else -BOOL BASSDEF(BASS_Init)(int device, DWORD freq, DWORD flags, void *win, void *dsguid); -#endif -BOOL BASSDEF(BASS_SetDevice)(DWORD device); -DWORD BASSDEF(BASS_GetDevice)(); -BOOL BASSDEF(BASS_Free)(); -#if defined(_WIN32) && !defined(_WIN32_WCE) && !(WINAPI_FAMILY && WINAPI_FAMILY!=WINAPI_FAMILY_DESKTOP_APP) -void *BASSDEF(BASS_GetDSoundObject)(DWORD object); -#endif -BOOL BASSDEF(BASS_GetInfo)(BASS_INFO *info); -BOOL BASSDEF(BASS_Update)(DWORD length); -float BASSDEF(BASS_GetCPU)(); -BOOL BASSDEF(BASS_Start)(); -BOOL BASSDEF(BASS_Stop)(); -BOOL BASSDEF(BASS_Pause)(); -BOOL BASSDEF(BASS_SetVolume)(float volume); -float BASSDEF(BASS_GetVolume)(); - -HPLUGIN BASSDEF(BASS_PluginLoad)(const char *file, DWORD flags); -BOOL BASSDEF(BASS_PluginFree)(HPLUGIN handle); -const BASS_PLUGININFO *BASSDEF(BASS_PluginGetInfo)(HPLUGIN handle); - -BOOL BASSDEF(BASS_Set3DFactors)(float distf, float rollf, float doppf); -BOOL BASSDEF(BASS_Get3DFactors)(float *distf, float *rollf, float *doppf); -BOOL BASSDEF(BASS_Set3DPosition)(const BASS_3DVECTOR *pos, const BASS_3DVECTOR *vel, const BASS_3DVECTOR *front, const BASS_3DVECTOR *top); -BOOL BASSDEF(BASS_Get3DPosition)(BASS_3DVECTOR *pos, BASS_3DVECTOR *vel, BASS_3DVECTOR *front, BASS_3DVECTOR *top); -void BASSDEF(BASS_Apply3D)(); -#if defined(_WIN32) && !defined(_WIN32_WCE) && !(WINAPI_FAMILY && WINAPI_FAMILY!=WINAPI_FAMILY_DESKTOP_APP) -BOOL BASSDEF(BASS_SetEAXParameters)(int env, float vol, float decay, float damp); -BOOL BASSDEF(BASS_GetEAXParameters)(DWORD *env, float *vol, float *decay, float *damp); -#endif - -HMUSIC BASSDEF(BASS_MusicLoad)(BOOL mem, const void *file, QWORD offset, DWORD length, DWORD flags, DWORD freq); -BOOL BASSDEF(BASS_MusicFree)(HMUSIC handle); - -HSAMPLE BASSDEF(BASS_SampleLoad)(BOOL mem, const void *file, QWORD offset, DWORD length, DWORD max, DWORD flags); -HSAMPLE BASSDEF(BASS_SampleCreate)(DWORD length, DWORD freq, DWORD chans, DWORD max, DWORD flags); -BOOL BASSDEF(BASS_SampleFree)(HSAMPLE handle); -BOOL BASSDEF(BASS_SampleSetData)(HSAMPLE handle, const void *buffer); -BOOL BASSDEF(BASS_SampleGetData)(HSAMPLE handle, void *buffer); -BOOL BASSDEF(BASS_SampleGetInfo)(HSAMPLE handle, BASS_SAMPLE *info); -BOOL BASSDEF(BASS_SampleSetInfo)(HSAMPLE handle, const BASS_SAMPLE *info); -HCHANNEL BASSDEF(BASS_SampleGetChannel)(HSAMPLE handle, BOOL onlynew); -DWORD BASSDEF(BASS_SampleGetChannels)(HSAMPLE handle, HCHANNEL *channels); -BOOL BASSDEF(BASS_SampleStop)(HSAMPLE handle); - -HSTREAM BASSDEF(BASS_StreamCreate)(DWORD freq, DWORD chans, DWORD flags, STREAMPROC *proc, void *user); -HSTREAM BASSDEF(BASS_StreamCreateFile)(BOOL mem, const void *file, QWORD offset, QWORD length, DWORD flags); -HSTREAM BASSDEF(BASS_StreamCreateURL)(const char *url, DWORD offset, DWORD flags, DOWNLOADPROC *proc, void *user); -HSTREAM BASSDEF(BASS_StreamCreateFileUser)(DWORD system, DWORD flags, const BASS_FILEPROCS *proc, void *user); -BOOL BASSDEF(BASS_StreamFree)(HSTREAM handle); -QWORD BASSDEF(BASS_StreamGetFilePosition)(HSTREAM handle, DWORD mode); -DWORD BASSDEF(BASS_StreamPutData)(HSTREAM handle, const void *buffer, DWORD length); -DWORD BASSDEF(BASS_StreamPutFileData)(HSTREAM handle, const void *buffer, DWORD length); - -BOOL BASSDEF(BASS_RecordGetDeviceInfo)(DWORD device, BASS_DEVICEINFO *info); -BOOL BASSDEF(BASS_RecordInit)(int device); -BOOL BASSDEF(BASS_RecordSetDevice)(DWORD device); -DWORD BASSDEF(BASS_RecordGetDevice)(); -BOOL BASSDEF(BASS_RecordFree)(); -BOOL BASSDEF(BASS_RecordGetInfo)(BASS_RECORDINFO *info); -const char *BASSDEF(BASS_RecordGetInputName)(int input); -BOOL BASSDEF(BASS_RecordSetInput)(int input, DWORD flags, float volume); -DWORD BASSDEF(BASS_RecordGetInput)(int input, float *volume); -HRECORD BASSDEF(BASS_RecordStart)(DWORD freq, DWORD chans, DWORD flags, RECORDPROC *proc, void *user); - -double BASSDEF(BASS_ChannelBytes2Seconds)(DWORD handle, QWORD pos); -QWORD BASSDEF(BASS_ChannelSeconds2Bytes)(DWORD handle, double pos); -DWORD BASSDEF(BASS_ChannelGetDevice)(DWORD handle); -BOOL BASSDEF(BASS_ChannelSetDevice)(DWORD handle, DWORD device); -DWORD BASSDEF(BASS_ChannelIsActive)(DWORD handle); -BOOL BASSDEF(BASS_ChannelGetInfo)(DWORD handle, BASS_CHANNELINFO *info); -const char *BASSDEF(BASS_ChannelGetTags)(DWORD handle, DWORD tags); -DWORD BASSDEF(BASS_ChannelFlags)(DWORD handle, DWORD flags, DWORD mask); -BOOL BASSDEF(BASS_ChannelUpdate)(DWORD handle, DWORD length); -BOOL BASSDEF(BASS_ChannelLock)(DWORD handle, BOOL lock); -BOOL BASSDEF(BASS_ChannelPlay)(DWORD handle, BOOL restart); -BOOL BASSDEF(BASS_ChannelStop)(DWORD handle); -BOOL BASSDEF(BASS_ChannelPause)(DWORD handle); -BOOL BASSDEF(BASS_ChannelSetAttribute)(DWORD handle, DWORD attrib, float value); -BOOL BASSDEF(BASS_ChannelGetAttribute)(DWORD handle, DWORD attrib, float *value); -BOOL BASSDEF(BASS_ChannelSlideAttribute)(DWORD handle, DWORD attrib, float value, DWORD time); -BOOL BASSDEF(BASS_ChannelIsSliding)(DWORD handle, DWORD attrib); -BOOL BASSDEF(BASS_ChannelSetAttributeEx)(DWORD handle, DWORD attrib, void *value, DWORD size); -DWORD BASSDEF(BASS_ChannelGetAttributeEx)(DWORD handle, DWORD attrib, void *value, DWORD size); -BOOL BASSDEF(BASS_ChannelSet3DAttributes)(DWORD handle, int mode, float min, float max, int iangle, int oangle, float outvol); -BOOL BASSDEF(BASS_ChannelGet3DAttributes)(DWORD handle, DWORD *mode, float *min, float *max, DWORD *iangle, DWORD *oangle, float *outvol); -BOOL BASSDEF(BASS_ChannelSet3DPosition)(DWORD handle, const BASS_3DVECTOR *pos, const BASS_3DVECTOR *orient, const BASS_3DVECTOR *vel); -BOOL BASSDEF(BASS_ChannelGet3DPosition)(DWORD handle, BASS_3DVECTOR *pos, BASS_3DVECTOR *orient, BASS_3DVECTOR *vel); -QWORD BASSDEF(BASS_ChannelGetLength)(DWORD handle, DWORD mode); -BOOL BASSDEF(BASS_ChannelSetPosition)(DWORD handle, QWORD pos, DWORD mode); -QWORD BASSDEF(BASS_ChannelGetPosition)(DWORD handle, DWORD mode); -DWORD BASSDEF(BASS_ChannelGetLevel)(DWORD handle); -BOOL BASSDEF(BASS_ChannelGetLevelEx)(DWORD handle, float *levels, float length, DWORD flags); -DWORD BASSDEF(BASS_ChannelGetData)(DWORD handle, void *buffer, DWORD length); -HSYNC BASSDEF(BASS_ChannelSetSync)(DWORD handle, DWORD type, QWORD param, SYNCPROC *proc, void *user); -BOOL BASSDEF(BASS_ChannelRemoveSync)(DWORD handle, HSYNC sync); -HDSP BASSDEF(BASS_ChannelSetDSP)(DWORD handle, DSPPROC *proc, void *user, int priority); -BOOL BASSDEF(BASS_ChannelRemoveDSP)(DWORD handle, HDSP dsp); -BOOL BASSDEF(BASS_ChannelSetLink)(DWORD handle, DWORD chan); -BOOL BASSDEF(BASS_ChannelRemoveLink)(DWORD handle, DWORD chan); -HFX BASSDEF(BASS_ChannelSetFX)(DWORD handle, DWORD type, int priority); -BOOL BASSDEF(BASS_ChannelRemoveFX)(DWORD handle, HFX fx); - -BOOL BASSDEF(BASS_FXSetParameters)(HFX handle, const void *params); -BOOL BASSDEF(BASS_FXGetParameters)(HFX handle, void *params); -BOOL BASSDEF(BASS_FXReset)(HFX handle); -BOOL BASSDEF(BASS_FXSetPriority)(HFX handle, int priority); - -#ifdef __cplusplus -} - -#if defined(_WIN32) && !defined(NOBASSOVERLOADS) -static inline HPLUGIN BASS_PluginLoad(const WCHAR *file, DWORD flags) -{ - return BASS_PluginLoad((const char*)file, flags|BASS_UNICODE); -} - -static inline HMUSIC BASS_MusicLoad(BOOL mem, const WCHAR *file, QWORD offset, DWORD length, DWORD flags, DWORD freq) -{ - return BASS_MusicLoad(mem, (const void*)file, offset, length, flags|BASS_UNICODE, freq); -} - -static inline HSAMPLE BASS_SampleLoad(BOOL mem, const WCHAR *file, QWORD offset, DWORD length, DWORD max, DWORD flags) -{ - return BASS_SampleLoad(mem, (const void*)file, offset, length, max, flags|BASS_UNICODE); -} - -static inline HSTREAM BASS_StreamCreateFile(BOOL mem, const WCHAR *file, QWORD offset, QWORD length, DWORD flags) -{ - return BASS_StreamCreateFile(mem, (const void*)file, offset, length, flags|BASS_UNICODE); -} - -static inline HSTREAM BASS_StreamCreateURL(const WCHAR *url, DWORD offset, DWORD flags, DOWNLOADPROC *proc, void *user) -{ - return BASS_StreamCreateURL((const char*)url, offset, flags|BASS_UNICODE, proc, user); -} - -static inline BOOL BASS_SetConfigPtr(DWORD option, const WCHAR *value) -{ - return BASS_SetConfigPtr(option|BASS_UNICODE, (const void*)value); -} -#endif -#endif - -#endif diff --git a/external/bass/linux/libbass.so b/external/bass/linux/libbass.so deleted file mode 100755 index 1c915a6cdea1c568f8ba73a5187e5b8b1fb8ca96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267320 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

iPse~BUry3rWsk9kovx-_ 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%0D3wgbHL{xiQmI=1| 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 `JTv}yvkMj)&I1rXxi~OkC3T&o=#SlBb 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Ä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%0DFlOsc591Oit~a(c9I8Aj4jAv(!9> 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 B*|Puu diff --git a/external/bass/win32/bass.dll b/external/bass/win32/bass.dll deleted file mode 100644 index 87cd83148de898c69c801a6c5b269d9c904497c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111772 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%0D`Dj;RZFPZC?8hkG%P1JTU=%^@^Kh%G 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 diff --git a/external/bass/win32/bass.lib b/external/bass/win32/bass.lib deleted file mode 100755 index 4f5403de041c0f841a3a6f3bfa93d5c604b342c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24974 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 SeJQ>TDC6uP{?B%6`+oszZFW%r diff --git a/external/bass/win64/bass.dll b/external/bass/win64/bass.dll deleted file mode 100644 index 825b68e2556e944e53c69f1ea70544471461817a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 265728 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 diff --git a/external/kissfft/_kiss_fft_guts.h b/external/kissfft/_kiss_fft_guts.h new file mode 100644 index 00000000..4bd8d1c1 --- /dev/null +++ b/external/kissfft/_kiss_fft_guts.h @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2003-2010, Mark Borgerding. All rights reserved. + * This file is part of KISS FFT - https://github.com/mborgerding/kissfft + * + * SPDX-License-Identifier: BSD-3-Clause + * See COPYING file for more information. + */ + +/* kiss_fft.h + defines kiss_fft_scalar as either short or a float type + and defines + typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ + +#ifndef _kiss_fft_guts_h +#define _kiss_fft_guts_h + +#include "kiss_fft.h" +#include "kiss_fft_log.h" +#include + +#define MAXFACTORS 32 +/* e.g. an fft of length 128 has 4 factors + as far as kissfft is concerned + 4*4*4*2 + */ + +struct kiss_fft_state{ + int nfft; + int inverse; + int factors[2*MAXFACTORS]; + kiss_fft_cpx twiddles[1]; +}; + +/* + Explanation of macros dealing with complex math: + + C_MUL(m,a,b) : m = a*b + C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise + C_SUB( res, a,b) : res = a - b + C_SUBFROM( res , a) : res -= a + C_ADDTO( res , a) : res += a + * */ +#ifdef FIXED_POINT +#include +#if (FIXED_POINT==32) +# define FRACBITS 31 +# define SAMPPROD int64_t +#define SAMP_MAX INT32_MAX +#define SAMP_MIN INT32_MIN +#else +# define FRACBITS 15 +# define SAMPPROD int32_t +#define SAMP_MAX INT16_MAX +#define SAMP_MIN INT16_MIN +#endif + +#if defined(CHECK_OVERFLOW) +# define CHECK_OVERFLOW_OP(a,op,b) \ + if ( (SAMPPROD)(a) op (SAMPPROD)(b) > SAMP_MAX || (SAMPPROD)(a) op (SAMPPROD)(b) < SAMP_MIN ) { \ + KISS_FFT_WARNING("overflow (%d " #op" %d) = %ld", (a),(b),(SAMPPROD)(a) op (SAMPPROD)(b)); } +#endif + + +# define smul(a,b) ( (SAMPPROD)(a)*(b) ) +# define sround( x ) (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS ) + +# define S_MUL(a,b) sround( smul(a,b) ) + +# define C_MUL(m,a,b) \ + do{ (m).r = sround( smul((a).r,(b).r) - smul((a).i,(b).i) ); \ + (m).i = sround( smul((a).r,(b).i) + smul((a).i,(b).r) ); }while(0) + +# define DIVSCALAR(x,k) \ + (x) = sround( smul( x, SAMP_MAX/k ) ) + +# define C_FIXDIV(c,div) \ + do { DIVSCALAR( (c).r , div); \ + DIVSCALAR( (c).i , div); }while (0) + +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r = sround( smul( (c).r , s ) ) ;\ + (c).i = sround( smul( (c).i , s ) ) ; }while(0) + +#else /* not FIXED_POINT*/ + +# define S_MUL(a,b) ( (a)*(b) ) +#define C_MUL(m,a,b) \ + do{ (m).r = (a).r*(b).r - (a).i*(b).i;\ + (m).i = (a).r*(b).i + (a).i*(b).r; }while(0) +# define C_FIXDIV(c,div) /* NOOP */ +# define C_MULBYSCALAR( c, s ) \ + do{ (c).r *= (s);\ + (c).i *= (s); }while(0) +#endif + +#ifndef CHECK_OVERFLOW_OP +# define CHECK_OVERFLOW_OP(a,op,b) /* noop */ +#endif + +#define C_ADD( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,+,(b).r)\ + CHECK_OVERFLOW_OP((a).i,+,(b).i)\ + (res).r=(a).r+(b).r; (res).i=(a).i+(b).i; \ + }while(0) +#define C_SUB( res, a,b)\ + do { \ + CHECK_OVERFLOW_OP((a).r,-,(b).r)\ + CHECK_OVERFLOW_OP((a).i,-,(b).i)\ + (res).r=(a).r-(b).r; (res).i=(a).i-(b).i; \ + }while(0) +#define C_ADDTO( res , a)\ + do { \ + CHECK_OVERFLOW_OP((res).r,+,(a).r)\ + CHECK_OVERFLOW_OP((res).i,+,(a).i)\ + (res).r += (a).r; (res).i += (a).i;\ + }while(0) + +#define C_SUBFROM( res , a)\ + do {\ + CHECK_OVERFLOW_OP((res).r,-,(a).r)\ + CHECK_OVERFLOW_OP((res).i,-,(a).i)\ + (res).r -= (a).r; (res).i -= (a).i; \ + }while(0) + + +#ifdef FIXED_POINT +# define KISS_FFT_COS(phase) floor(.5+SAMP_MAX * cos (phase)) +# define KISS_FFT_SIN(phase) floor(.5+SAMP_MAX * sin (phase)) +# define HALF_OF(x) ((x)>>1) +#elif defined(USE_SIMD) +# define KISS_FFT_COS(phase) _mm_set1_ps( cos(phase) ) +# define KISS_FFT_SIN(phase) _mm_set1_ps( sin(phase) ) +# define HALF_OF(x) ((x)*_mm_set1_ps(.5)) +#else +# define KISS_FFT_COS(phase) (kiss_fft_scalar) cos(phase) +# define KISS_FFT_SIN(phase) (kiss_fft_scalar) sin(phase) +# define HALF_OF(x) ((x)*((kiss_fft_scalar).5)) +#endif + +#define kf_cexp(x,phase) \ + do{ \ + (x)->r = KISS_FFT_COS(phase);\ + (x)->i = KISS_FFT_SIN(phase);\ + }while(0) + + +/* a debugging function */ +#define pcpx(c)\ + KISS_FFT_DEBUG("%g + %gi\n",(double)((c)->r),(double)((c)->i)) + + +#ifdef KISS_FFT_USE_ALLOCA +// define this to allow use of alloca instead of malloc for temporary buffers +// Temporary buffers are used in two case: +// 1. FFT sizes that have "bad" factors. i.e. not 2,3 and 5 +// 2. "in-place" FFTs. Notice the quotes, since kissfft does not really do an in-place transform. +#include +#define KISS_FFT_TMP_ALLOC(nbytes) alloca(nbytes) +#define KISS_FFT_TMP_FREE(ptr) +#else +#define KISS_FFT_TMP_ALLOC(nbytes) KISS_FFT_MALLOC(nbytes) +#define KISS_FFT_TMP_FREE(ptr) KISS_FFT_FREE(ptr) +#endif + +#endif /* _kiss_fft_guts_h */ + diff --git a/external/kissfft/kiss_fft.c b/external/kissfft/kiss_fft.c new file mode 100644 index 00000000..aba63e06 --- /dev/null +++ b/external/kissfft/kiss_fft.c @@ -0,0 +1,424 @@ +/* + * Copyright (c) 2003-2010, Mark Borgerding. All rights reserved. + * This file is part of KISS FFT - https://github.com/mborgerding/kissfft + * + * SPDX-License-Identifier: BSD-3-Clause + * See COPYING file for more information. + */ + +#include +#include "_kiss_fft_guts.h" +/* The guts header contains all the multiplication and addition macros that are defined for + fixed or floating point complex numbers. It also delares the kf_ internal functions. + */ + +static void kf_bfly2( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx * Fout2; + kiss_fft_cpx * tw1 = st->twiddles; + kiss_fft_cpx t; + Fout2 = Fout + m; + do{ + C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2); + + C_MUL (t, *Fout2 , *tw1); + tw1 += fstride; + C_SUB( *Fout2 , *Fout , t ); + C_ADDTO( *Fout , t ); + ++Fout2; + ++Fout; + }while (--m); +} + +static void kf_bfly4( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + const size_t m + ) +{ + kiss_fft_cpx *tw1,*tw2,*tw3; + kiss_fft_cpx scratch[6]; + size_t k=m; + const size_t m2=2*m; + const size_t m3=3*m; + + + tw3 = tw2 = tw1 = st->twiddles; + + do { + C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4); + + C_MUL(scratch[0],Fout[m] , *tw1 ); + C_MUL(scratch[1],Fout[m2] , *tw2 ); + C_MUL(scratch[2],Fout[m3] , *tw3 ); + + C_SUB( scratch[5] , *Fout, scratch[1] ); + C_ADDTO(*Fout, scratch[1]); + C_ADD( scratch[3] , scratch[0] , scratch[2] ); + C_SUB( scratch[4] , scratch[0] , scratch[2] ); + C_SUB( Fout[m2], *Fout, scratch[3] ); + tw1 += fstride; + tw2 += fstride*2; + tw3 += fstride*3; + C_ADDTO( *Fout , scratch[3] ); + + if(st->inverse) { + Fout[m].r = scratch[5].r - scratch[4].i; + Fout[m].i = scratch[5].i + scratch[4].r; + Fout[m3].r = scratch[5].r + scratch[4].i; + Fout[m3].i = scratch[5].i - scratch[4].r; + }else{ + Fout[m].r = scratch[5].r + scratch[4].i; + Fout[m].i = scratch[5].i - scratch[4].r; + Fout[m3].r = scratch[5].r - scratch[4].i; + Fout[m3].i = scratch[5].i + scratch[4].r; + } + ++Fout; + }while(--k); +} + +static void kf_bfly3( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + size_t m + ) +{ + size_t k=m; + const size_t m2 = 2*m; + kiss_fft_cpx *tw1,*tw2; + kiss_fft_cpx scratch[5]; + kiss_fft_cpx epi3; + epi3 = st->twiddles[fstride*m]; + + tw1=tw2=st->twiddles; + + do{ + C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3); + + C_MUL(scratch[1],Fout[m] , *tw1); + C_MUL(scratch[2],Fout[m2] , *tw2); + + C_ADD(scratch[3],scratch[1],scratch[2]); + C_SUB(scratch[0],scratch[1],scratch[2]); + tw1 += fstride; + tw2 += fstride*2; + + Fout[m].r = Fout->r - HALF_OF(scratch[3].r); + Fout[m].i = Fout->i - HALF_OF(scratch[3].i); + + C_MULBYSCALAR( scratch[0] , epi3.i ); + + C_ADDTO(*Fout,scratch[3]); + + Fout[m2].r = Fout[m].r + scratch[0].i; + Fout[m2].i = Fout[m].i - scratch[0].r; + + Fout[m].r -= scratch[0].i; + Fout[m].i += scratch[0].r; + + ++Fout; + }while(--k); +} + +static void kf_bfly5( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m + ) +{ + kiss_fft_cpx *Fout0,*Fout1,*Fout2,*Fout3,*Fout4; + int u; + kiss_fft_cpx scratch[13]; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx *tw; + kiss_fft_cpx ya,yb; + ya = twiddles[fstride*m]; + yb = twiddles[fstride*2*m]; + + Fout0=Fout; + Fout1=Fout0+m; + Fout2=Fout0+2*m; + Fout3=Fout0+3*m; + Fout4=Fout0+4*m; + + tw=st->twiddles; + for ( u=0; ur += scratch[7].r + scratch[8].r; + Fout0->i += scratch[7].i + scratch[8].i; + + scratch[5].r = scratch[0].r + S_MUL(scratch[7].r,ya.r) + S_MUL(scratch[8].r,yb.r); + scratch[5].i = scratch[0].i + S_MUL(scratch[7].i,ya.r) + S_MUL(scratch[8].i,yb.r); + + scratch[6].r = S_MUL(scratch[10].i,ya.i) + S_MUL(scratch[9].i,yb.i); + scratch[6].i = -S_MUL(scratch[10].r,ya.i) - S_MUL(scratch[9].r,yb.i); + + C_SUB(*Fout1,scratch[5],scratch[6]); + C_ADD(*Fout4,scratch[5],scratch[6]); + + scratch[11].r = scratch[0].r + S_MUL(scratch[7].r,yb.r) + S_MUL(scratch[8].r,ya.r); + scratch[11].i = scratch[0].i + S_MUL(scratch[7].i,yb.r) + S_MUL(scratch[8].i,ya.r); + scratch[12].r = - S_MUL(scratch[10].i,yb.i) + S_MUL(scratch[9].i,ya.i); + scratch[12].i = S_MUL(scratch[10].r,yb.i) - S_MUL(scratch[9].r,ya.i); + + C_ADD(*Fout2,scratch[11],scratch[12]); + C_SUB(*Fout3,scratch[11],scratch[12]); + + ++Fout0;++Fout1;++Fout2;++Fout3;++Fout4; + } +} + +/* perform the butterfly for one stage of a mixed radix FFT */ +static void kf_bfly_generic( + kiss_fft_cpx * Fout, + const size_t fstride, + const kiss_fft_cfg st, + int m, + int p + ) +{ + int u,k,q1,q; + kiss_fft_cpx * twiddles = st->twiddles; + kiss_fft_cpx t; + int Norig = st->nfft; + + kiss_fft_cpx * scratch = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx)*p); + if (scratch == NULL){ + KISS_FFT_ERROR("Memory allocation failed."); + return; + } + + for ( u=0; u=Norig) twidx-=Norig; + C_MUL(t,scratch[q] , twiddles[twidx] ); + C_ADDTO( Fout[ k ] ,t); + } + k += m; + } + } + KISS_FFT_TMP_FREE(scratch); +} + +static +void kf_work( + kiss_fft_cpx * Fout, + const kiss_fft_cpx * f, + const size_t fstride, + int in_stride, + int * factors, + const kiss_fft_cfg st + ) +{ + kiss_fft_cpx * Fout_beg=Fout; + const int p=*factors++; /* the radix */ + const int m=*factors++; /* stage's fft length/p */ + const kiss_fft_cpx * Fout_end = Fout + p*m; + +#ifdef _OPENMP + // use openmp extensions at the + // top-level (not recursive) + if (fstride==1 && p<=5 && m!=1) + { + int k; + + // execute the p different work units in different threads +# pragma omp parallel for + for (k=0;k floor_sqrt) + p = n; /* no more factors, skip to end */ + } + n /= p; + *facbuf++ = p; + *facbuf++ = n; + } while (n > 1); +} + +/* + * + * User-callable function to allocate all necessary storage space for the fft. + * + * The return value is a contiguous block of memory, allocated with malloc. As such, + * It can be freed with free(), rather than a kiss_fft-specific function. + * */ +kiss_fft_cfg kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem ) +{ + KISS_FFT_ALIGN_CHECK(mem) + + kiss_fft_cfg st=NULL; + // check for overflow condition {memneeded > SIZE_MAX}. + if (nfft >= (SIZE_MAX - 2*sizeof(struct kiss_fft_state))/sizeof(kiss_fft_cpx)) + return NULL; + + size_t memneeded = KISS_FFT_ALIGN_SIZE_UP(sizeof(struct kiss_fft_state) + + sizeof(kiss_fft_cpx)*(nfft-1)); /* twiddle factors*/ + + if ( lenmem==NULL ) { + st = ( kiss_fft_cfg)KISS_FFT_MALLOC( memneeded ); + }else{ + if (mem != NULL && *lenmem >= memneeded) + st = (kiss_fft_cfg)mem; + *lenmem = memneeded; + } + if (st) { + int i; + st->nfft=nfft; + st->inverse = inverse_fft; + + for (i=0;iinverse) + phase *= -1; + kf_cexp(st->twiddles+i, phase ); + } + + kf_factor(nfft,st->factors); + } + return st; +} + + +void kiss_fft_stride(kiss_fft_cfg st,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int in_stride) +{ + if (fin == fout) { + //NOTE: this is not really an in-place FFT algorithm. + //It just performs an out-of-place FFT into a temp buffer + if (fout == NULL){ + KISS_FFT_ERROR("fout buffer NULL."); + return; + } + + kiss_fft_cpx * tmpbuf = (kiss_fft_cpx*)KISS_FFT_TMP_ALLOC( sizeof(kiss_fft_cpx)*st->nfft); + if (tmpbuf == NULL){ + KISS_FFT_ERROR("Memory allocation error."); + return; + } + + + + kf_work(tmpbuf,fin,1,in_stride, st->factors,st); + memcpy(fout,tmpbuf,sizeof(kiss_fft_cpx)*st->nfft); + KISS_FFT_TMP_FREE(tmpbuf); + }else{ + kf_work( fout, fin, 1,in_stride, st->factors,st ); + } +} + +void kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout) +{ + kiss_fft_stride(cfg,fin,fout,1); +} + + +void kiss_fft_cleanup(void) +{ + // nothing needed any more +} + +int kiss_fft_next_fast_size(int n) +{ + while(1) { + int m=n; + while ( (m%2) == 0 ) m/=2; + while ( (m%3) == 0 ) m/=3; + while ( (m%5) == 0 ) m/=5; + if (m<=1) + break; /* n is completely factorable by twos, threes, and fives */ + n++; + } + return n; +} diff --git a/external/kissfft/kiss_fft.h b/external/kissfft/kiss_fft.h new file mode 100644 index 00000000..dce1034a --- /dev/null +++ b/external/kissfft/kiss_fft.h @@ -0,0 +1,160 @@ +/* + * Copyright (c) 2003-2010, Mark Borgerding. All rights reserved. + * This file is part of KISS FFT - https://github.com/mborgerding/kissfft + * + * SPDX-License-Identifier: BSD-3-Clause + * See COPYING file for more information. + */ + +#ifndef KISS_FFT_H +#define KISS_FFT_H + +#include +#include +#include +#include + +// Define KISS_FFT_SHARED macro to properly export symbols +#ifdef KISS_FFT_SHARED +# ifdef _WIN32 +# ifdef KISS_FFT_BUILD +# define KISS_FFT_API __declspec(dllexport) +# else +# define KISS_FFT_API __declspec(dllimport) +# endif +# else +# define KISS_FFT_API __attribute__ ((visibility ("default"))) +# endif +#else +# define KISS_FFT_API +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* + ATTENTION! + If you would like a : + -- a utility that will handle the caching of fft objects + -- real-only (no imaginary time component ) FFT + -- a multi-dimensional FFT + -- a command-line utility to perform ffts + -- a command-line utility to perform fast-convolution filtering + + Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c + in the tools/ directory. +*/ + +/* User may override KISS_FFT_MALLOC and/or KISS_FFT_FREE. */ +#ifdef USE_SIMD +# include +# define kiss_fft_scalar __m128 +# ifndef KISS_FFT_MALLOC +# define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes,16) +# define KISS_FFT_ALIGN_CHECK(ptr) +# define KISS_FFT_ALIGN_SIZE_UP(size) ((size + 15UL) & ~0xFUL) +# endif +# ifndef KISS_FFT_FREE +# define KISS_FFT_FREE _mm_free +# endif +#else +# define KISS_FFT_ALIGN_CHECK(ptr) +# define KISS_FFT_ALIGN_SIZE_UP(size) (size) +# ifndef KISS_FFT_MALLOC +# define KISS_FFT_MALLOC malloc +# endif +# ifndef KISS_FFT_FREE +# define KISS_FFT_FREE free +# endif +#endif + + +#ifdef FIXED_POINT +#include +# if (FIXED_POINT == 32) +# define kiss_fft_scalar int32_t +# else +# define kiss_fft_scalar int16_t +# endif +#else +# ifndef kiss_fft_scalar +/* default is float */ +# define kiss_fft_scalar float +# endif +#endif + +typedef struct { + kiss_fft_scalar r; + kiss_fft_scalar i; +}kiss_fft_cpx; + +typedef struct kiss_fft_state* kiss_fft_cfg; + +/* + * kiss_fft_alloc + * + * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. + * + * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); + * + * The return value from fft_alloc is a cfg buffer used internally + * by the fft routine or NULL. + * + * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using malloc. + * The returned value should be free()d when done to avoid memory leaks. + * + * The state can be placed in a user supplied buffer 'mem': + * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, + * then the function places the cfg in mem and the size used in *lenmem + * and returns mem. + * + * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), + * then the function returns NULL and places the minimum cfg + * buffer size in *lenmem. + * */ + +kiss_fft_cfg KISS_FFT_API kiss_fft_alloc(int nfft,int inverse_fft,void * mem,size_t * lenmem); + +/* + * kiss_fft(cfg,in_out_buf) + * + * Perform an FFT on a complex input buffer. + * for a forward FFT, + * fin should be f[0] , f[1] , ... ,f[nfft-1] + * fout will be F[0] , F[1] , ... ,F[nfft-1] + * Note that each element is complex and can be accessed like + f[k].r and f[k].i + * */ +void KISS_FFT_API kiss_fft(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout); + +/* + A more generic version of the above function. It reads its input from every Nth sample. + * */ +void KISS_FFT_API kiss_fft_stride(kiss_fft_cfg cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout,int fin_stride); + +/* If kiss_fft_alloc allocated a buffer, it is one contiguous + buffer and can be simply free()d when no longer needed*/ +#define kiss_fft_free KISS_FFT_FREE + +/* + Cleans up some memory that gets managed internally. Not necessary to call, but it might clean up + your compiler output to call this before you exit. +*/ +void KISS_FFT_API kiss_fft_cleanup(void); + + +/* + * Returns the smallest integer k, such that k>=n and k has only "fast" factors (2,3,5) + */ +int KISS_FFT_API kiss_fft_next_fast_size(int n); + +/* for real ffts, we need an even size */ +#define kiss_fftr_next_fast_size_real(n) \ + (kiss_fft_next_fast_size( ((n)+1)>>1)<<1) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/external/kissfft/kiss_fft_log.h b/external/kissfft/kiss_fft_log.h new file mode 100644 index 00000000..5012474f --- /dev/null +++ b/external/kissfft/kiss_fft_log.h @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2003-2010, Mark Borgerding. All rights reserved. + * This file is part of KISS FFT - https://github.com/mborgerding/kissfft + * + * SPDX-License-Identifier: BSD-3-Clause + * See COPYING file for more information. + */ + +#ifndef kiss_fft_log_h +#define kiss_fft_log_h + +#define ERROR 1 +#define WARNING 2 +#define INFO 3 +#define DEBUG 4 + +#define STRINGIFY(x) #x +#define TOSTRING(x) STRINGIFY(x) + +#if defined(NDEBUG) +# define KISS_FFT_LOG_MSG(severity, ...) ((void)0) +#else +# define KISS_FFT_LOG_MSG(severity, ...) \ + fprintf(stderr, "[" #severity "] " __FILE__ ":" TOSTRING(__LINE__) " "); \ + fprintf(stderr, __VA_ARGS__); \ + fprintf(stderr, "\n") +#endif + +#define KISS_FFT_ERROR(...) KISS_FFT_LOG_MSG(ERROR, __VA_ARGS__) +#define KISS_FFT_WARNING(...) KISS_FFT_LOG_MSG(WARNING, __VA_ARGS__) +#define KISS_FFT_INFO(...) KISS_FFT_LOG_MSG(INFO, __VA_ARGS__) +#define KISS_FFT_DEBUG(...) KISS_FFT_LOG_MSG(DEBUG, __VA_ARGS__) + + + +#endif /* kiss_fft_log_h */ diff --git a/external/minimp3/minimp3.h b/external/minimp3/minimp3.h new file mode 100644 index 00000000..3220ae1a --- /dev/null +++ b/external/minimp3/minimp3.h @@ -0,0 +1,1865 @@ +#ifndef MINIMP3_H +#define MINIMP3_H +/* + https://github.com/lieff/minimp3 + To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. + This software is distributed without any warranty. + See . +*/ +#include + +#define MINIMP3_MAX_SAMPLES_PER_FRAME (1152*2) + +typedef struct +{ + int frame_bytes, frame_offset, channels, hz, layer, bitrate_kbps; +} mp3dec_frame_info_t; + +typedef struct +{ + float mdct_overlap[2][9*32], qmf_state[15*2*32]; + int reserv, free_format_bytes; + unsigned char header[4], reserv_buf[511]; +} mp3dec_t; + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +void mp3dec_init(mp3dec_t *dec); +#ifndef MINIMP3_FLOAT_OUTPUT +typedef int16_t mp3d_sample_t; +#else /* MINIMP3_FLOAT_OUTPUT */ +typedef float mp3d_sample_t; +void mp3dec_f32_to_s16(const float *in, int16_t *out, int num_samples); +#endif /* MINIMP3_FLOAT_OUTPUT */ +int mp3dec_decode_frame(mp3dec_t *dec, const uint8_t *mp3, int mp3_bytes, mp3d_sample_t *pcm, mp3dec_frame_info_t *info); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* MINIMP3_H */ +#if defined(MINIMP3_IMPLEMENTATION) && !defined(_MINIMP3_IMPLEMENTATION_GUARD) +#define _MINIMP3_IMPLEMENTATION_GUARD + +#include +#include + +#define MAX_FREE_FORMAT_FRAME_SIZE 2304 /* more than ISO spec's */ +#ifndef MAX_FRAME_SYNC_MATCHES +#define MAX_FRAME_SYNC_MATCHES 10 +#endif /* MAX_FRAME_SYNC_MATCHES */ + +#define MAX_L3_FRAME_PAYLOAD_BYTES MAX_FREE_FORMAT_FRAME_SIZE /* MUST be >= 320000/8/32000*1152 = 1440 */ + +#define MAX_BITRESERVOIR_BYTES 511 +#define SHORT_BLOCK_TYPE 2 +#define STOP_BLOCK_TYPE 3 +#define MODE_MONO 3 +#define MODE_JOINT_STEREO 1 +#define HDR_SIZE 4 +#define HDR_IS_MONO(h) (((h[3]) & 0xC0) == 0xC0) +#define HDR_IS_MS_STEREO(h) (((h[3]) & 0xE0) == 0x60) +#define HDR_IS_FREE_FORMAT(h) (((h[2]) & 0xF0) == 0) +#define HDR_IS_CRC(h) (!((h[1]) & 1)) +#define HDR_TEST_PADDING(h) ((h[2]) & 0x2) +#define HDR_TEST_MPEG1(h) ((h[1]) & 0x8) +#define HDR_TEST_NOT_MPEG25(h) ((h[1]) & 0x10) +#define HDR_TEST_I_STEREO(h) ((h[3]) & 0x10) +#define HDR_TEST_MS_STEREO(h) ((h[3]) & 0x20) +#define HDR_GET_STEREO_MODE(h) (((h[3]) >> 6) & 3) +#define HDR_GET_STEREO_MODE_EXT(h) (((h[3]) >> 4) & 3) +#define HDR_GET_LAYER(h) (((h[1]) >> 1) & 3) +#define HDR_GET_BITRATE(h) ((h[2]) >> 4) +#define HDR_GET_SAMPLE_RATE(h) (((h[2]) >> 2) & 3) +#define HDR_GET_MY_SAMPLE_RATE(h) (HDR_GET_SAMPLE_RATE(h) + (((h[1] >> 3) & 1) + ((h[1] >> 4) & 1))*3) +#define HDR_IS_FRAME_576(h) ((h[1] & 14) == 2) +#define HDR_IS_LAYER_1(h) ((h[1] & 6) == 6) + +#define BITS_DEQUANTIZER_OUT -1 +#define MAX_SCF (255 + BITS_DEQUANTIZER_OUT*4 - 210) +#define MAX_SCFI ((MAX_SCF + 3) & ~3) + +#define MINIMP3_MIN(a, b) ((a) > (b) ? (b) : (a)) +#define MINIMP3_MAX(a, b) ((a) < (b) ? (b) : (a)) + +#if !defined(MINIMP3_NO_SIMD) + +#if !defined(MINIMP3_ONLY_SIMD) && (defined(_M_X64) || defined(__x86_64__) || defined(__aarch64__) || defined(_M_ARM64)) +/* x64 always have SSE2, arm64 always have neon, no need for generic code */ +#define MINIMP3_ONLY_SIMD +#endif /* SIMD checks... */ + +#if (defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))) || ((defined(__i386__) || defined(__x86_64__)) && defined(__SSE2__)) +#if defined(_MSC_VER) +#include +#endif /* defined(_MSC_VER) */ +#include +#define HAVE_SSE 1 +#define HAVE_SIMD 1 +#define VSTORE _mm_storeu_ps +#define VLD _mm_loadu_ps +#define VSET _mm_set1_ps +#define VADD _mm_add_ps +#define VSUB _mm_sub_ps +#define VMUL _mm_mul_ps +#define VMAC(a, x, y) _mm_add_ps(a, _mm_mul_ps(x, y)) +#define VMSB(a, x, y) _mm_sub_ps(a, _mm_mul_ps(x, y)) +#define VMUL_S(x, s) _mm_mul_ps(x, _mm_set1_ps(s)) +#define VREV(x) _mm_shuffle_ps(x, x, _MM_SHUFFLE(0, 1, 2, 3)) +typedef __m128 f4; +#if defined(_MSC_VER) || defined(MINIMP3_ONLY_SIMD) +#define minimp3_cpuid __cpuid +#else /* defined(_MSC_VER) || defined(MINIMP3_ONLY_SIMD) */ +static __inline__ __attribute__((always_inline)) void minimp3_cpuid(int CPUInfo[], const int InfoType) +{ +#if defined(__PIC__) + __asm__ __volatile__( +#if defined(__x86_64__) + "push %%rbx\n" + "cpuid\n" + "xchgl %%ebx, %1\n" + "pop %%rbx\n" +#else /* defined(__x86_64__) */ + "xchgl %%ebx, %1\n" + "cpuid\n" + "xchgl %%ebx, %1\n" +#endif /* defined(__x86_64__) */ + : "=a" (CPUInfo[0]), "=r" (CPUInfo[1]), "=c" (CPUInfo[2]), "=d" (CPUInfo[3]) + : "a" (InfoType)); +#else /* defined(__PIC__) */ + __asm__ __volatile__( + "cpuid" + : "=a" (CPUInfo[0]), "=b" (CPUInfo[1]), "=c" (CPUInfo[2]), "=d" (CPUInfo[3]) + : "a" (InfoType)); +#endif /* defined(__PIC__)*/ +} +#endif /* defined(_MSC_VER) || defined(MINIMP3_ONLY_SIMD) */ +static int have_simd(void) +{ +#ifdef MINIMP3_ONLY_SIMD + return 1; +#else /* MINIMP3_ONLY_SIMD */ + static int g_have_simd; + int CPUInfo[4]; +#ifdef MINIMP3_TEST + static int g_counter; + if (g_counter++ > 100) + return 0; +#endif /* MINIMP3_TEST */ + if (g_have_simd) + goto end; + minimp3_cpuid(CPUInfo, 0); + g_have_simd = 1; + if (CPUInfo[0] > 0) + { + minimp3_cpuid(CPUInfo, 1); + g_have_simd = (CPUInfo[3] & (1 << 26)) + 1; /* SSE2 */ + } +end: + return g_have_simd - 1; +#endif /* MINIMP3_ONLY_SIMD */ +} +#elif defined(__ARM_NEON) || defined(__aarch64__) || defined(_M_ARM64) +#include +#define HAVE_SSE 0 +#define HAVE_SIMD 1 +#define VSTORE vst1q_f32 +#define VLD vld1q_f32 +#define VSET vmovq_n_f32 +#define VADD vaddq_f32 +#define VSUB vsubq_f32 +#define VMUL vmulq_f32 +#define VMAC(a, x, y) vmlaq_f32(a, x, y) +#define VMSB(a, x, y) vmlsq_f32(a, x, y) +#define VMUL_S(x, s) vmulq_f32(x, vmovq_n_f32(s)) +#define VREV(x) vcombine_f32(vget_high_f32(vrev64q_f32(x)), vget_low_f32(vrev64q_f32(x))) +typedef float32x4_t f4; +static int have_simd() +{ /* TODO: detect neon for !MINIMP3_ONLY_SIMD */ + return 1; +} +#else /* SIMD checks... */ +#define HAVE_SSE 0 +#define HAVE_SIMD 0 +#ifdef MINIMP3_ONLY_SIMD +#error MINIMP3_ONLY_SIMD used, but SSE/NEON not enabled +#endif /* MINIMP3_ONLY_SIMD */ +#endif /* SIMD checks... */ +#else /* !defined(MINIMP3_NO_SIMD) */ +#define HAVE_SIMD 0 +#endif /* !defined(MINIMP3_NO_SIMD) */ + +#if defined(__ARM_ARCH) && (__ARM_ARCH >= 6) && !defined(__aarch64__) && !defined(_M_ARM64) +#define HAVE_ARMV6 1 +static __inline__ __attribute__((always_inline)) int32_t minimp3_clip_int16_arm(int32_t a) +{ + int32_t x = 0; + __asm__ ("ssat %0, #16, %1" : "=r"(x) : "r"(a)); + return x; +} +#else +#define HAVE_ARMV6 0 +#endif + +typedef struct +{ + const uint8_t *buf; + int pos, limit; +} bs_t; + +typedef struct +{ + float scf[3*64]; + uint8_t total_bands, stereo_bands, bitalloc[64], scfcod[64]; +} L12_scale_info; + +typedef struct +{ + uint8_t tab_offset, code_tab_width, band_count; +} L12_subband_alloc_t; + +typedef struct +{ + const uint8_t *sfbtab; + uint16_t part_23_length, big_values, scalefac_compress; + uint8_t global_gain, block_type, mixed_block_flag, n_long_sfb, n_short_sfb; + uint8_t table_select[3], region_count[3], subblock_gain[3]; + uint8_t preflag, scalefac_scale, count1_table, scfsi; +} L3_gr_info_t; + +typedef struct +{ + bs_t bs; + uint8_t maindata[MAX_BITRESERVOIR_BYTES + MAX_L3_FRAME_PAYLOAD_BYTES]; + L3_gr_info_t gr_info[4]; + float grbuf[2][576], scf[40], syn[18 + 15][2*32]; + uint8_t ist_pos[2][39]; +} mp3dec_scratch_t; + +static void bs_init(bs_t *bs, const uint8_t *data, int bytes) +{ + bs->buf = data; + bs->pos = 0; + bs->limit = bytes*8; +} + +static uint32_t get_bits(bs_t *bs, int n) +{ + uint32_t next, cache = 0, s = bs->pos & 7; + int shl = n + s; + const uint8_t *p = bs->buf + (bs->pos >> 3); + if ((bs->pos += n) > bs->limit) + return 0; + next = *p++ & (255 >> s); + while ((shl -= 8) > 0) + { + cache |= next << shl; + next = *p++; + } + return cache | (next >> -shl); +} + +static int hdr_valid(const uint8_t *h) +{ + return h[0] == 0xff && + ((h[1] & 0xF0) == 0xf0 || (h[1] & 0xFE) == 0xe2) && + (HDR_GET_LAYER(h) != 0) && + (HDR_GET_BITRATE(h) != 15) && + (HDR_GET_SAMPLE_RATE(h) != 3); +} + +static int hdr_compare(const uint8_t *h1, const uint8_t *h2) +{ + return hdr_valid(h2) && + ((h1[1] ^ h2[1]) & 0xFE) == 0 && + ((h1[2] ^ h2[2]) & 0x0C) == 0 && + !(HDR_IS_FREE_FORMAT(h1) ^ HDR_IS_FREE_FORMAT(h2)); +} + +static unsigned hdr_bitrate_kbps(const uint8_t *h) +{ + static const uint8_t halfrate[2][3][15] = { + { { 0,4,8,12,16,20,24,28,32,40,48,56,64,72,80 }, { 0,4,8,12,16,20,24,28,32,40,48,56,64,72,80 }, { 0,16,24,28,32,40,48,56,64,72,80,88,96,112,128 } }, + { { 0,16,20,24,28,32,40,48,56,64,80,96,112,128,160 }, { 0,16,24,28,32,40,48,56,64,80,96,112,128,160,192 }, { 0,16,32,48,64,80,96,112,128,144,160,176,192,208,224 } }, + }; + return 2*halfrate[!!HDR_TEST_MPEG1(h)][HDR_GET_LAYER(h) - 1][HDR_GET_BITRATE(h)]; +} + +static unsigned hdr_sample_rate_hz(const uint8_t *h) +{ + static const unsigned g_hz[3] = { 44100, 48000, 32000 }; + return g_hz[HDR_GET_SAMPLE_RATE(h)] >> (int)!HDR_TEST_MPEG1(h) >> (int)!HDR_TEST_NOT_MPEG25(h); +} + +static unsigned hdr_frame_samples(const uint8_t *h) +{ + return HDR_IS_LAYER_1(h) ? 384 : (1152 >> (int)HDR_IS_FRAME_576(h)); +} + +static int hdr_frame_bytes(const uint8_t *h, int free_format_size) +{ + int frame_bytes = hdr_frame_samples(h)*hdr_bitrate_kbps(h)*125/hdr_sample_rate_hz(h); + if (HDR_IS_LAYER_1(h)) + { + frame_bytes &= ~3; /* slot align */ + } + return frame_bytes ? frame_bytes : free_format_size; +} + +static int hdr_padding(const uint8_t *h) +{ + return HDR_TEST_PADDING(h) ? (HDR_IS_LAYER_1(h) ? 4 : 1) : 0; +} + +#ifndef MINIMP3_ONLY_MP3 +static const L12_subband_alloc_t *L12_subband_alloc_table(const uint8_t *hdr, L12_scale_info *sci) +{ + const L12_subband_alloc_t *alloc; + int mode = HDR_GET_STEREO_MODE(hdr); + int nbands, stereo_bands = (mode == MODE_MONO) ? 0 : (mode == MODE_JOINT_STEREO) ? (HDR_GET_STEREO_MODE_EXT(hdr) << 2) + 4 : 32; + + if (HDR_IS_LAYER_1(hdr)) + { + static const L12_subband_alloc_t g_alloc_L1[] = { { 76, 4, 32 } }; + alloc = g_alloc_L1; + nbands = 32; + } else if (!HDR_TEST_MPEG1(hdr)) + { + static const L12_subband_alloc_t g_alloc_L2M2[] = { { 60, 4, 4 }, { 44, 3, 7 }, { 44, 2, 19 } }; + alloc = g_alloc_L2M2; + nbands = 30; + } else + { + static const L12_subband_alloc_t g_alloc_L2M1[] = { { 0, 4, 3 }, { 16, 4, 8 }, { 32, 3, 12 }, { 40, 2, 7 } }; + int sample_rate_idx = HDR_GET_SAMPLE_RATE(hdr); + unsigned kbps = hdr_bitrate_kbps(hdr) >> (int)(mode != MODE_MONO); + if (!kbps) /* free-format */ + { + kbps = 192; + } + + alloc = g_alloc_L2M1; + nbands = 27; + if (kbps < 56) + { + static const L12_subband_alloc_t g_alloc_L2M1_lowrate[] = { { 44, 4, 2 }, { 44, 3, 10 } }; + alloc = g_alloc_L2M1_lowrate; + nbands = sample_rate_idx == 2 ? 12 : 8; + } else if (kbps >= 96 && sample_rate_idx != 1) + { + nbands = 30; + } + } + + sci->total_bands = (uint8_t)nbands; + sci->stereo_bands = (uint8_t)MINIMP3_MIN(stereo_bands, nbands); + + return alloc; +} + +static void L12_read_scalefactors(bs_t *bs, uint8_t *pba, uint8_t *scfcod, int bands, float *scf) +{ + static const float g_deq_L12[18*3] = { +#define DQ(x) 9.53674316e-07f/x, 7.56931807e-07f/x, 6.00777173e-07f/x + DQ(3),DQ(7),DQ(15),DQ(31),DQ(63),DQ(127),DQ(255),DQ(511),DQ(1023),DQ(2047),DQ(4095),DQ(8191),DQ(16383),DQ(32767),DQ(65535),DQ(3),DQ(5),DQ(9) + }; + int i, m; + for (i = 0; i < bands; i++) + { + float s = 0; + int ba = *pba++; + int mask = ba ? 4 + ((19 >> scfcod[i]) & 3) : 0; + for (m = 4; m; m >>= 1) + { + if (mask & m) + { + int b = get_bits(bs, 6); + s = g_deq_L12[ba*3 - 6 + b % 3]*(1 << 21 >> b/3); + } + *scf++ = s; + } + } +} + +static void L12_read_scale_info(const uint8_t *hdr, bs_t *bs, L12_scale_info *sci) +{ + static const uint8_t g_bitalloc_code_tab[] = { + 0,17, 3, 4, 5,6,7, 8,9,10,11,12,13,14,15,16, + 0,17,18, 3,19,4,5, 6,7, 8, 9,10,11,12,13,16, + 0,17,18, 3,19,4,5,16, + 0,17,18,16, + 0,17,18,19, 4,5,6, 7,8, 9,10,11,12,13,14,15, + 0,17,18, 3,19,4,5, 6,7, 8, 9,10,11,12,13,14, + 0, 2, 3, 4, 5,6,7, 8,9,10,11,12,13,14,15,16 + }; + const L12_subband_alloc_t *subband_alloc = L12_subband_alloc_table(hdr, sci); + + int i, k = 0, ba_bits = 0; + const uint8_t *ba_code_tab = g_bitalloc_code_tab; + + for (i = 0; i < sci->total_bands; i++) + { + uint8_t ba; + if (i == k) + { + k += subband_alloc->band_count; + ba_bits = subband_alloc->code_tab_width; + ba_code_tab = g_bitalloc_code_tab + subband_alloc->tab_offset; + subband_alloc++; + } + ba = ba_code_tab[get_bits(bs, ba_bits)]; + sci->bitalloc[2*i] = ba; + if (i < sci->stereo_bands) + { + ba = ba_code_tab[get_bits(bs, ba_bits)]; + } + sci->bitalloc[2*i + 1] = sci->stereo_bands ? ba : 0; + } + + for (i = 0; i < 2*sci->total_bands; i++) + { + sci->scfcod[i] = sci->bitalloc[i] ? HDR_IS_LAYER_1(hdr) ? 2 : get_bits(bs, 2) : 6; + } + + L12_read_scalefactors(bs, sci->bitalloc, sci->scfcod, sci->total_bands*2, sci->scf); + + for (i = sci->stereo_bands; i < sci->total_bands; i++) + { + sci->bitalloc[2*i + 1] = 0; + } +} + +static int L12_dequantize_granule(float *grbuf, bs_t *bs, L12_scale_info *sci, int group_size) +{ + int i, j, k, choff = 576; + for (j = 0; j < 4; j++) + { + float *dst = grbuf + group_size*j; + for (i = 0; i < 2*sci->total_bands; i++) + { + int ba = sci->bitalloc[i]; + if (ba != 0) + { + if (ba < 17) + { + int half = (1 << (ba - 1)) - 1; + for (k = 0; k < group_size; k++) + { + dst[k] = (float)((int)get_bits(bs, ba) - half); + } + } else + { + unsigned mod = (2 << (ba - 17)) + 1; /* 3, 5, 9 */ + unsigned code = get_bits(bs, mod + 2 - (mod >> 3)); /* 5, 7, 10 */ + for (k = 0; k < group_size; k++, code /= mod) + { + dst[k] = (float)((int)(code % mod - mod/2)); + } + } + } + dst += choff; + choff = 18 - choff; + } + } + return group_size*4; +} + +static void L12_apply_scf_384(L12_scale_info *sci, const float *scf, float *dst) +{ + int i, k; + memcpy(dst + 576 + sci->stereo_bands*18, dst + sci->stereo_bands*18, (sci->total_bands - sci->stereo_bands)*18*sizeof(float)); + for (i = 0; i < sci->total_bands; i++, dst += 18, scf += 6) + { + for (k = 0; k < 12; k++) + { + dst[k + 0] *= scf[0]; + dst[k + 576] *= scf[3]; + } + } +} +#endif /* MINIMP3_ONLY_MP3 */ + +static int L3_read_side_info(bs_t *bs, L3_gr_info_t *gr, const uint8_t *hdr) +{ + static const uint8_t g_scf_long[8][23] = { + { 6,6,6,6,6,6,8,10,12,14,16,20,24,28,32,38,46,52,60,68,58,54,0 }, + { 12,12,12,12,12,12,16,20,24,28,32,40,48,56,64,76,90,2,2,2,2,2,0 }, + { 6,6,6,6,6,6,8,10,12,14,16,20,24,28,32,38,46,52,60,68,58,54,0 }, + { 6,6,6,6,6,6,8,10,12,14,16,18,22,26,32,38,46,54,62,70,76,36,0 }, + { 6,6,6,6,6,6,8,10,12,14,16,20,24,28,32,38,46,52,60,68,58,54,0 }, + { 4,4,4,4,4,4,6,6,8,8,10,12,16,20,24,28,34,42,50,54,76,158,0 }, + { 4,4,4,4,4,4,6,6,6,8,10,12,16,18,22,28,34,40,46,54,54,192,0 }, + { 4,4,4,4,4,4,6,6,8,10,12,16,20,24,30,38,46,56,68,84,102,26,0 } + }; + static const uint8_t g_scf_short[8][40] = { + { 4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18,0 }, + { 8,8,8,8,8,8,8,8,8,12,12,12,16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26,0 }, + { 4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18,0 }, + { 4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12,0 }, + { 4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18,0 }, + { 4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,22,22,22,30,30,30,56,56,56,0 }, + { 4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66,0 }, + { 4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,42,12,12,12,0 } + }; + static const uint8_t g_scf_mixed[8][40] = { + { 6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18,0 }, + { 12,12,12,4,4,4,8,8,8,12,12,12,16,16,16,20,20,20,24,24,24,28,28,28,36,36,36,2,2,2,2,2,2,2,2,2,26,26,26,0 }, + { 6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,14,14,14,18,18,18,26,26,26,32,32,32,42,42,42,18,18,18,0 }, + { 6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,32,32,32,44,44,44,12,12,12,0 }, + { 6,6,6,6,6,6,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,24,24,24,30,30,30,40,40,40,18,18,18,0 }, + { 4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,8,8,10,10,10,12,12,12,14,14,14,18,18,18,22,22,22,30,30,30,56,56,56,0 }, + { 4,4,4,4,4,4,6,6,4,4,4,6,6,6,6,6,6,10,10,10,12,12,12,14,14,14,16,16,16,20,20,20,26,26,26,66,66,66,0 }, + { 4,4,4,4,4,4,6,6,4,4,4,6,6,6,8,8,8,12,12,12,16,16,16,20,20,20,26,26,26,34,34,34,42,42,42,12,12,12,0 } + }; + + unsigned tables, scfsi = 0; + int main_data_begin, part_23_sum = 0; + int sr_idx = HDR_GET_MY_SAMPLE_RATE(hdr); sr_idx -= (sr_idx != 0); + int gr_count = HDR_IS_MONO(hdr) ? 1 : 2; + + if (HDR_TEST_MPEG1(hdr)) + { + gr_count *= 2; + main_data_begin = get_bits(bs, 9); + scfsi = get_bits(bs, 7 + gr_count); + } else + { + main_data_begin = get_bits(bs, 8 + gr_count) >> gr_count; + } + + do + { + if (HDR_IS_MONO(hdr)) + { + scfsi <<= 4; + } + gr->part_23_length = (uint16_t)get_bits(bs, 12); + part_23_sum += gr->part_23_length; + gr->big_values = (uint16_t)get_bits(bs, 9); + if (gr->big_values > 288) + { + return -1; + } + gr->global_gain = (uint8_t)get_bits(bs, 8); + gr->scalefac_compress = (uint16_t)get_bits(bs, HDR_TEST_MPEG1(hdr) ? 4 : 9); + gr->sfbtab = g_scf_long[sr_idx]; + gr->n_long_sfb = 22; + gr->n_short_sfb = 0; + if (get_bits(bs, 1)) + { + gr->block_type = (uint8_t)get_bits(bs, 2); + if (!gr->block_type) + { + return -1; + } + gr->mixed_block_flag = (uint8_t)get_bits(bs, 1); + gr->region_count[0] = 7; + gr->region_count[1] = 255; + if (gr->block_type == SHORT_BLOCK_TYPE) + { + scfsi &= 0x0F0F; + if (!gr->mixed_block_flag) + { + gr->region_count[0] = 8; + gr->sfbtab = g_scf_short[sr_idx]; + gr->n_long_sfb = 0; + gr->n_short_sfb = 39; + } else + { + gr->sfbtab = g_scf_mixed[sr_idx]; + gr->n_long_sfb = HDR_TEST_MPEG1(hdr) ? 8 : 6; + gr->n_short_sfb = 30; + } + } + tables = get_bits(bs, 10); + tables <<= 5; + gr->subblock_gain[0] = (uint8_t)get_bits(bs, 3); + gr->subblock_gain[1] = (uint8_t)get_bits(bs, 3); + gr->subblock_gain[2] = (uint8_t)get_bits(bs, 3); + } else + { + gr->block_type = 0; + gr->mixed_block_flag = 0; + tables = get_bits(bs, 15); + gr->region_count[0] = (uint8_t)get_bits(bs, 4); + gr->region_count[1] = (uint8_t)get_bits(bs, 3); + gr->region_count[2] = 255; + } + gr->table_select[0] = (uint8_t)(tables >> 10); + gr->table_select[1] = (uint8_t)((tables >> 5) & 31); + gr->table_select[2] = (uint8_t)((tables) & 31); + gr->preflag = HDR_TEST_MPEG1(hdr) ? get_bits(bs, 1) : (gr->scalefac_compress >= 500); + gr->scalefac_scale = (uint8_t)get_bits(bs, 1); + gr->count1_table = (uint8_t)get_bits(bs, 1); + gr->scfsi = (uint8_t)((scfsi >> 12) & 15); + scfsi <<= 4; + gr++; + } while(--gr_count); + + if (part_23_sum + bs->pos > bs->limit + main_data_begin*8) + { + return -1; + } + + return main_data_begin; +} + +static void L3_read_scalefactors(uint8_t *scf, uint8_t *ist_pos, const uint8_t *scf_size, const uint8_t *scf_count, bs_t *bitbuf, int scfsi) +{ + int i, k; + for (i = 0; i < 4 && scf_count[i]; i++, scfsi *= 2) + { + int cnt = scf_count[i]; + if (scfsi & 8) + { + memcpy(scf, ist_pos, cnt); + } else + { + int bits = scf_size[i]; + if (!bits) + { + memset(scf, 0, cnt); + memset(ist_pos, 0, cnt); + } else + { + int max_scf = (scfsi < 0) ? (1 << bits) - 1 : -1; + for (k = 0; k < cnt; k++) + { + int s = get_bits(bitbuf, bits); + ist_pos[k] = (s == max_scf ? -1 : s); + scf[k] = s; + } + } + } + ist_pos += cnt; + scf += cnt; + } + scf[0] = scf[1] = scf[2] = 0; +} + +static float L3_ldexp_q2(float y, int exp_q2) +{ + static const float g_expfrac[4] = { 9.31322575e-10f,7.83145814e-10f,6.58544508e-10f,5.53767716e-10f }; + int e; + do + { + e = MINIMP3_MIN(30*4, exp_q2); + y *= g_expfrac[e & 3]*(1 << 30 >> (e >> 2)); + } while ((exp_q2 -= e) > 0); + return y; +} + +static void L3_decode_scalefactors(const uint8_t *hdr, uint8_t *ist_pos, bs_t *bs, const L3_gr_info_t *gr, float *scf, int ch) +{ + static const uint8_t g_scf_partitions[3][28] = { + { 6,5,5, 5,6,5,5,5,6,5, 7,3,11,10,0,0, 7, 7, 7,0, 6, 6,6,3, 8, 8,5,0 }, + { 8,9,6,12,6,9,9,9,6,9,12,6,15,18,0,0, 6,15,12,0, 6,12,9,6, 6,18,9,0 }, + { 9,9,6,12,9,9,9,9,9,9,12,6,18,18,0,0,12,12,12,0,12, 9,9,6,15,12,9,0 } + }; + const uint8_t *scf_partition = g_scf_partitions[!!gr->n_short_sfb + !gr->n_long_sfb]; + uint8_t scf_size[4], iscf[40]; + int i, scf_shift = gr->scalefac_scale + 1, gain_exp, scfsi = gr->scfsi; + float gain; + + if (HDR_TEST_MPEG1(hdr)) + { + static const uint8_t g_scfc_decode[16] = { 0,1,2,3, 12,5,6,7, 9,10,11,13, 14,15,18,19 }; + int part = g_scfc_decode[gr->scalefac_compress]; + scf_size[1] = scf_size[0] = (uint8_t)(part >> 2); + scf_size[3] = scf_size[2] = (uint8_t)(part & 3); + } else + { + static const uint8_t g_mod[6*4] = { 5,5,4,4,5,5,4,1,4,3,1,1,5,6,6,1,4,4,4,1,4,3,1,1 }; + int k, modprod, sfc, ist = HDR_TEST_I_STEREO(hdr) && ch; + sfc = gr->scalefac_compress >> ist; + for (k = ist*3*4; sfc >= 0; sfc -= modprod, k += 4) + { + for (modprod = 1, i = 3; i >= 0; i--) + { + scf_size[i] = (uint8_t)(sfc / modprod % g_mod[k + i]); + modprod *= g_mod[k + i]; + } + } + scf_partition += k; + scfsi = -16; + } + L3_read_scalefactors(iscf, ist_pos, scf_size, scf_partition, bs, scfsi); + + if (gr->n_short_sfb) + { + int sh = 3 - scf_shift; + for (i = 0; i < gr->n_short_sfb; i += 3) + { + iscf[gr->n_long_sfb + i + 0] += gr->subblock_gain[0] << sh; + iscf[gr->n_long_sfb + i + 1] += gr->subblock_gain[1] << sh; + iscf[gr->n_long_sfb + i + 2] += gr->subblock_gain[2] << sh; + } + } else if (gr->preflag) + { + static const uint8_t g_preamp[10] = { 1,1,1,1,2,2,3,3,3,2 }; + for (i = 0; i < 10; i++) + { + iscf[11 + i] += g_preamp[i]; + } + } + + gain_exp = gr->global_gain + BITS_DEQUANTIZER_OUT*4 - 210 - (HDR_IS_MS_STEREO(hdr) ? 2 : 0); + gain = L3_ldexp_q2(1 << (MAX_SCFI/4), MAX_SCFI - gain_exp); + for (i = 0; i < (int)(gr->n_long_sfb + gr->n_short_sfb); i++) + { + scf[i] = L3_ldexp_q2(gain, iscf[i] << scf_shift); + } +} + +static const float g_pow43[129 + 16] = { + 0,-1,-2.519842f,-4.326749f,-6.349604f,-8.549880f,-10.902724f,-13.390518f,-16.000000f,-18.720754f,-21.544347f,-24.463781f,-27.473142f,-30.567351f,-33.741992f,-36.993181f, + 0,1,2.519842f,4.326749f,6.349604f,8.549880f,10.902724f,13.390518f,16.000000f,18.720754f,21.544347f,24.463781f,27.473142f,30.567351f,33.741992f,36.993181f,40.317474f,43.711787f,47.173345f,50.699631f,54.288352f,57.937408f,61.644865f,65.408941f,69.227979f,73.100443f,77.024898f,81.000000f,85.024491f,89.097188f,93.216975f,97.382800f,101.593667f,105.848633f,110.146801f,114.487321f,118.869381f,123.292209f,127.755065f,132.257246f,136.798076f,141.376907f,145.993119f,150.646117f,155.335327f,160.060199f,164.820202f,169.614826f,174.443577f,179.305980f,184.201575f,189.129918f,194.090580f,199.083145f,204.107210f,209.162385f,214.248292f,219.364564f,224.510845f,229.686789f,234.892058f,240.126328f,245.389280f,250.680604f,256.000000f,261.347174f,266.721841f,272.123723f,277.552547f,283.008049f,288.489971f,293.998060f,299.532071f,305.091761f,310.676898f,316.287249f,321.922592f,327.582707f,333.267377f,338.976394f,344.709550f,350.466646f,356.247482f,362.051866f,367.879608f,373.730522f,379.604427f,385.501143f,391.420496f,397.362314f,403.326427f,409.312672f,415.320884f,421.350905f,427.402579f,433.475750f,439.570269f,445.685987f,451.822757f,457.980436f,464.158883f,470.357960f,476.577530f,482.817459f,489.077615f,495.357868f,501.658090f,507.978156f,514.317941f,520.677324f,527.056184f,533.454404f,539.871867f,546.308458f,552.764065f,559.238575f,565.731879f,572.243870f,578.774440f,585.323483f,591.890898f,598.476581f,605.080431f,611.702349f,618.342238f,625.000000f,631.675540f,638.368763f,645.079578f +}; + +static float L3_pow_43(int x) +{ + float frac; + int sign, mult = 256; + + if (x < 129) + { + return g_pow43[16 + x]; + } + + if (x < 1024) + { + mult = 16; + x <<= 3; + } + + sign = 2*x & 64; + frac = (float)((x & 63) - sign) / ((x & ~63) + sign); + return g_pow43[16 + ((x + sign) >> 6)]*(1.f + frac*((4.f/3) + frac*(2.f/9)))*mult; +} + +static void L3_huffman(float *dst, bs_t *bs, const L3_gr_info_t *gr_info, const float *scf, int layer3gr_limit) +{ + static const int16_t tabs[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 785,785,785,785,784,784,784,784,513,513,513,513,513,513,513,513,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256, + -255,1313,1298,1282,785,785,785,785,784,784,784,784,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,290,288, + -255,1313,1298,1282,769,769,769,769,529,529,529,529,529,529,529,529,528,528,528,528,528,528,528,528,512,512,512,512,512,512,512,512,290,288, + -253,-318,-351,-367,785,785,785,785,784,784,784,784,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,819,818,547,547,275,275,275,275,561,560,515,546,289,274,288,258, + -254,-287,1329,1299,1314,1312,1057,1057,1042,1042,1026,1026,784,784,784,784,529,529,529,529,529,529,529,529,769,769,769,769,768,768,768,768,563,560,306,306,291,259, + -252,-413,-477,-542,1298,-575,1041,1041,784,784,784,784,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,-383,-399,1107,1092,1106,1061,849,849,789,789,1104,1091,773,773,1076,1075,341,340,325,309,834,804,577,577,532,532,516,516,832,818,803,816,561,561,531,531,515,546,289,289,288,258, + -252,-429,-493,-559,1057,1057,1042,1042,529,529,529,529,529,529,529,529,784,784,784,784,769,769,769,769,512,512,512,512,512,512,512,512,-382,1077,-415,1106,1061,1104,849,849,789,789,1091,1076,1029,1075,834,834,597,581,340,340,339,324,804,833,532,532,832,772,818,803,817,787,816,771,290,290,290,290,288,258, + -253,-349,-414,-447,-463,1329,1299,-479,1314,1312,1057,1057,1042,1042,1026,1026,785,785,785,785,784,784,784,784,769,769,769,769,768,768,768,768,-319,851,821,-335,836,850,805,849,341,340,325,336,533,533,579,579,564,564,773,832,578,548,563,516,321,276,306,291,304,259, + -251,-572,-733,-830,-863,-879,1041,1041,784,784,784,784,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,-511,-527,-543,1396,1351,1381,1366,1395,1335,1380,-559,1334,1138,1138,1063,1063,1350,1392,1031,1031,1062,1062,1364,1363,1120,1120,1333,1348,881,881,881,881,375,374,359,373,343,358,341,325,791,791,1123,1122,-703,1105,1045,-719,865,865,790,790,774,774,1104,1029,338,293,323,308,-799,-815,833,788,772,818,803,816,322,292,307,320,561,531,515,546,289,274,288,258, + -251,-525,-605,-685,-765,-831,-846,1298,1057,1057,1312,1282,785,785,785,785,784,784,784,784,769,769,769,769,512,512,512,512,512,512,512,512,1399,1398,1383,1367,1382,1396,1351,-511,1381,1366,1139,1139,1079,1079,1124,1124,1364,1349,1363,1333,882,882,882,882,807,807,807,807,1094,1094,1136,1136,373,341,535,535,881,775,867,822,774,-591,324,338,-671,849,550,550,866,864,609,609,293,336,534,534,789,835,773,-751,834,804,308,307,833,788,832,772,562,562,547,547,305,275,560,515,290,290, + -252,-397,-477,-557,-622,-653,-719,-735,-750,1329,1299,1314,1057,1057,1042,1042,1312,1282,1024,1024,785,785,785,785,784,784,784,784,769,769,769,769,-383,1127,1141,1111,1126,1140,1095,1110,869,869,883,883,1079,1109,882,882,375,374,807,868,838,881,791,-463,867,822,368,263,852,837,836,-543,610,610,550,550,352,336,534,534,865,774,851,821,850,805,593,533,579,564,773,832,578,578,548,548,577,577,307,276,306,291,516,560,259,259, + -250,-2107,-2507,-2764,-2909,-2974,-3007,-3023,1041,1041,1040,1040,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,-767,-1052,-1213,-1277,-1358,-1405,-1469,-1535,-1550,-1582,-1614,-1647,-1662,-1694,-1726,-1759,-1774,-1807,-1822,-1854,-1886,1565,-1919,-1935,-1951,-1967,1731,1730,1580,1717,-1983,1729,1564,-1999,1548,-2015,-2031,1715,1595,-2047,1714,-2063,1610,-2079,1609,-2095,1323,1323,1457,1457,1307,1307,1712,1547,1641,1700,1699,1594,1685,1625,1442,1442,1322,1322,-780,-973,-910,1279,1278,1277,1262,1276,1261,1275,1215,1260,1229,-959,974,974,989,989,-943,735,478,478,495,463,506,414,-1039,1003,958,1017,927,942,987,957,431,476,1272,1167,1228,-1183,1256,-1199,895,895,941,941,1242,1227,1212,1135,1014,1014,490,489,503,487,910,1013,985,925,863,894,970,955,1012,847,-1343,831,755,755,984,909,428,366,754,559,-1391,752,486,457,924,997,698,698,983,893,740,740,908,877,739,739,667,667,953,938,497,287,271,271,683,606,590,712,726,574,302,302,738,736,481,286,526,725,605,711,636,724,696,651,589,681,666,710,364,467,573,695,466,466,301,465,379,379,709,604,665,679,316,316,634,633,436,436,464,269,424,394,452,332,438,363,347,408,393,448,331,422,362,407,392,421,346,406,391,376,375,359,1441,1306,-2367,1290,-2383,1337,-2399,-2415,1426,1321,-2431,1411,1336,-2447,-2463,-2479,1169,1169,1049,1049,1424,1289,1412,1352,1319,-2495,1154,1154,1064,1064,1153,1153,416,390,360,404,403,389,344,374,373,343,358,372,327,357,342,311,356,326,1395,1394,1137,1137,1047,1047,1365,1392,1287,1379,1334,1364,1349,1378,1318,1363,792,792,792,792,1152,1152,1032,1032,1121,1121,1046,1046,1120,1120,1030,1030,-2895,1106,1061,1104,849,849,789,789,1091,1076,1029,1090,1060,1075,833,833,309,324,532,532,832,772,818,803,561,561,531,560,515,546,289,274,288,258, + -250,-1179,-1579,-1836,-1996,-2124,-2253,-2333,-2413,-2477,-2542,-2574,-2607,-2622,-2655,1314,1313,1298,1312,1282,785,785,785,785,1040,1040,1025,1025,768,768,768,768,-766,-798,-830,-862,-895,-911,-927,-943,-959,-975,-991,-1007,-1023,-1039,-1055,-1070,1724,1647,-1103,-1119,1631,1767,1662,1738,1708,1723,-1135,1780,1615,1779,1599,1677,1646,1778,1583,-1151,1777,1567,1737,1692,1765,1722,1707,1630,1751,1661,1764,1614,1736,1676,1763,1750,1645,1598,1721,1691,1762,1706,1582,1761,1566,-1167,1749,1629,767,766,751,765,494,494,735,764,719,749,734,763,447,447,748,718,477,506,431,491,446,476,461,505,415,430,475,445,504,399,460,489,414,503,383,474,429,459,502,502,746,752,488,398,501,473,413,472,486,271,480,270,-1439,-1455,1357,-1471,-1487,-1503,1341,1325,-1519,1489,1463,1403,1309,-1535,1372,1448,1418,1476,1356,1462,1387,-1551,1475,1340,1447,1402,1386,-1567,1068,1068,1474,1461,455,380,468,440,395,425,410,454,364,467,466,464,453,269,409,448,268,432,1371,1473,1432,1417,1308,1460,1355,1446,1459,1431,1083,1083,1401,1416,1458,1445,1067,1067,1370,1457,1051,1051,1291,1430,1385,1444,1354,1415,1400,1443,1082,1082,1173,1113,1186,1066,1185,1050,-1967,1158,1128,1172,1097,1171,1081,-1983,1157,1112,416,266,375,400,1170,1142,1127,1065,793,793,1169,1033,1156,1096,1141,1111,1155,1080,1126,1140,898,898,808,808,897,897,792,792,1095,1152,1032,1125,1110,1139,1079,1124,882,807,838,881,853,791,-2319,867,368,263,822,852,837,866,806,865,-2399,851,352,262,534,534,821,836,594,594,549,549,593,593,533,533,848,773,579,579,564,578,548,563,276,276,577,576,306,291,516,560,305,305,275,259, + -251,-892,-2058,-2620,-2828,-2957,-3023,-3039,1041,1041,1040,1040,769,769,769,769,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,-511,-527,-543,-559,1530,-575,-591,1528,1527,1407,1526,1391,1023,1023,1023,1023,1525,1375,1268,1268,1103,1103,1087,1087,1039,1039,1523,-604,815,815,815,815,510,495,509,479,508,463,507,447,431,505,415,399,-734,-782,1262,-815,1259,1244,-831,1258,1228,-847,-863,1196,-879,1253,987,987,748,-767,493,493,462,477,414,414,686,669,478,446,461,445,474,429,487,458,412,471,1266,1264,1009,1009,799,799,-1019,-1276,-1452,-1581,-1677,-1757,-1821,-1886,-1933,-1997,1257,1257,1483,1468,1512,1422,1497,1406,1467,1496,1421,1510,1134,1134,1225,1225,1466,1451,1374,1405,1252,1252,1358,1480,1164,1164,1251,1251,1238,1238,1389,1465,-1407,1054,1101,-1423,1207,-1439,830,830,1248,1038,1237,1117,1223,1148,1236,1208,411,426,395,410,379,269,1193,1222,1132,1235,1221,1116,976,976,1192,1162,1177,1220,1131,1191,963,963,-1647,961,780,-1663,558,558,994,993,437,408,393,407,829,978,813,797,947,-1743,721,721,377,392,844,950,828,890,706,706,812,859,796,960,948,843,934,874,571,571,-1919,690,555,689,421,346,539,539,944,779,918,873,932,842,903,888,570,570,931,917,674,674,-2575,1562,-2591,1609,-2607,1654,1322,1322,1441,1441,1696,1546,1683,1593,1669,1624,1426,1426,1321,1321,1639,1680,1425,1425,1305,1305,1545,1668,1608,1623,1667,1592,1638,1666,1320,1320,1652,1607,1409,1409,1304,1304,1288,1288,1664,1637,1395,1395,1335,1335,1622,1636,1394,1394,1319,1319,1606,1621,1392,1392,1137,1137,1137,1137,345,390,360,375,404,373,1047,-2751,-2767,-2783,1062,1121,1046,-2799,1077,-2815,1106,1061,789,789,1105,1104,263,355,310,340,325,354,352,262,339,324,1091,1076,1029,1090,1060,1075,833,833,788,788,1088,1028,818,818,803,803,561,561,531,531,816,771,546,546,289,274,288,258, + -253,-317,-381,-446,-478,-509,1279,1279,-811,-1179,-1451,-1756,-1900,-2028,-2189,-2253,-2333,-2414,-2445,-2511,-2526,1313,1298,-2559,1041,1041,1040,1040,1025,1025,1024,1024,1022,1007,1021,991,1020,975,1019,959,687,687,1018,1017,671,671,655,655,1016,1015,639,639,758,758,623,623,757,607,756,591,755,575,754,559,543,543,1009,783,-575,-621,-685,-749,496,-590,750,749,734,748,974,989,1003,958,988,973,1002,942,987,957,972,1001,926,986,941,971,956,1000,910,985,925,999,894,970,-1071,-1087,-1102,1390,-1135,1436,1509,1451,1374,-1151,1405,1358,1480,1420,-1167,1507,1494,1389,1342,1465,1435,1450,1326,1505,1310,1493,1373,1479,1404,1492,1464,1419,428,443,472,397,736,526,464,464,486,457,442,471,484,482,1357,1449,1434,1478,1388,1491,1341,1490,1325,1489,1463,1403,1309,1477,1372,1448,1418,1433,1476,1356,1462,1387,-1439,1475,1340,1447,1402,1474,1324,1461,1371,1473,269,448,1432,1417,1308,1460,-1711,1459,-1727,1441,1099,1099,1446,1386,1431,1401,-1743,1289,1083,1083,1160,1160,1458,1445,1067,1067,1370,1457,1307,1430,1129,1129,1098,1098,268,432,267,416,266,400,-1887,1144,1187,1082,1173,1113,1186,1066,1050,1158,1128,1143,1172,1097,1171,1081,420,391,1157,1112,1170,1142,1127,1065,1169,1049,1156,1096,1141,1111,1155,1080,1126,1154,1064,1153,1140,1095,1048,-2159,1125,1110,1137,-2175,823,823,1139,1138,807,807,384,264,368,263,868,838,853,791,867,822,852,837,866,806,865,790,-2319,851,821,836,352,262,850,805,849,-2399,533,533,835,820,336,261,578,548,563,577,532,532,832,772,562,562,547,547,305,275,560,515,290,290,288,258 }; + static const uint8_t tab32[] = { 130,162,193,209,44,28,76,140,9,9,9,9,9,9,9,9,190,254,222,238,126,94,157,157,109,61,173,205 }; + static const uint8_t tab33[] = { 252,236,220,204,188,172,156,140,124,108,92,76,60,44,28,12 }; + static const int16_t tabindex[2*16] = { 0,32,64,98,0,132,180,218,292,364,426,538,648,746,0,1126,1460,1460,1460,1460,1460,1460,1460,1460,1842,1842,1842,1842,1842,1842,1842,1842 }; + static const uint8_t g_linbits[] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,6,8,10,13,4,5,6,7,8,9,11,13 }; + +#define PEEK_BITS(n) (bs_cache >> (32 - n)) +#define FLUSH_BITS(n) { bs_cache <<= (n); bs_sh += (n); } +#define CHECK_BITS while (bs_sh >= 0) { bs_cache |= (uint32_t)*bs_next_ptr++ << bs_sh; bs_sh -= 8; } +#define BSPOS ((bs_next_ptr - bs->buf)*8 - 24 + bs_sh) + + float one = 0.0f; + int ireg = 0, big_val_cnt = gr_info->big_values; + const uint8_t *sfb = gr_info->sfbtab; + const uint8_t *bs_next_ptr = bs->buf + bs->pos/8; + uint32_t bs_cache = (((bs_next_ptr[0]*256u + bs_next_ptr[1])*256u + bs_next_ptr[2])*256u + bs_next_ptr[3]) << (bs->pos & 7); + int pairs_to_decode, np, bs_sh = (bs->pos & 7) - 8; + bs_next_ptr += 4; + + while (big_val_cnt > 0) + { + int tab_num = gr_info->table_select[ireg]; + int sfb_cnt = gr_info->region_count[ireg++]; + const int16_t *codebook = tabs + tabindex[tab_num]; + int linbits = g_linbits[tab_num]; + if (linbits) + { + do + { + np = *sfb++ / 2; + pairs_to_decode = MINIMP3_MIN(big_val_cnt, np); + one = *scf++; + do + { + int j, w = 5; + int leaf = codebook[PEEK_BITS(w)]; + while (leaf < 0) + { + FLUSH_BITS(w); + w = leaf & 7; + leaf = codebook[PEEK_BITS(w) - (leaf >> 3)]; + } + FLUSH_BITS(leaf >> 8); + + for (j = 0; j < 2; j++, dst++, leaf >>= 4) + { + int lsb = leaf & 0x0F; + if (lsb == 15) + { + lsb += PEEK_BITS(linbits); + FLUSH_BITS(linbits); + CHECK_BITS; + *dst = one*L3_pow_43(lsb)*((int32_t)bs_cache < 0 ? -1: 1); + } else + { + *dst = g_pow43[16 + lsb - 16*(bs_cache >> 31)]*one; + } + FLUSH_BITS(lsb ? 1 : 0); + } + CHECK_BITS; + } while (--pairs_to_decode); + } while ((big_val_cnt -= np) > 0 && --sfb_cnt >= 0); + } else + { + do + { + np = *sfb++ / 2; + pairs_to_decode = MINIMP3_MIN(big_val_cnt, np); + one = *scf++; + do + { + int j, w = 5; + int leaf = codebook[PEEK_BITS(w)]; + while (leaf < 0) + { + FLUSH_BITS(w); + w = leaf & 7; + leaf = codebook[PEEK_BITS(w) - (leaf >> 3)]; + } + FLUSH_BITS(leaf >> 8); + + for (j = 0; j < 2; j++, dst++, leaf >>= 4) + { + int lsb = leaf & 0x0F; + *dst = g_pow43[16 + lsb - 16*(bs_cache >> 31)]*one; + FLUSH_BITS(lsb ? 1 : 0); + } + CHECK_BITS; + } while (--pairs_to_decode); + } while ((big_val_cnt -= np) > 0 && --sfb_cnt >= 0); + } + } + + for (np = 1 - big_val_cnt;; dst += 4) + { + const uint8_t *codebook_count1 = (gr_info->count1_table) ? tab33 : tab32; + int leaf = codebook_count1[PEEK_BITS(4)]; + if (!(leaf & 8)) + { + leaf = codebook_count1[(leaf >> 3) + (bs_cache << 4 >> (32 - (leaf & 3)))]; + } + FLUSH_BITS(leaf & 7); + if (BSPOS > layer3gr_limit) + { + break; + } +#define RELOAD_SCALEFACTOR if (!--np) { np = *sfb++/2; if (!np) break; one = *scf++; } +#define DEQ_COUNT1(s) if (leaf & (128 >> s)) { dst[s] = ((int32_t)bs_cache < 0) ? -one : one; FLUSH_BITS(1) } + RELOAD_SCALEFACTOR; + DEQ_COUNT1(0); + DEQ_COUNT1(1); + RELOAD_SCALEFACTOR; + DEQ_COUNT1(2); + DEQ_COUNT1(3); + CHECK_BITS; + } + + bs->pos = layer3gr_limit; +} + +static void L3_midside_stereo(float *left, int n) +{ + int i = 0; + float *right = left + 576; +#if HAVE_SIMD + if (have_simd()) + { + for (; i < n - 3; i += 4) + { + f4 vl = VLD(left + i); + f4 vr = VLD(right + i); + VSTORE(left + i, VADD(vl, vr)); + VSTORE(right + i, VSUB(vl, vr)); + } +#ifdef __GNUC__ + /* Workaround for spurious -Waggressive-loop-optimizations warning from gcc. + * For more info see: https://github.com/lieff/minimp3/issues/88 + */ + if (__builtin_constant_p(n % 4 == 0) && n % 4 == 0) + return; +#endif + } +#endif /* HAVE_SIMD */ + for (; i < n; i++) + { + float a = left[i]; + float b = right[i]; + left[i] = a + b; + right[i] = a - b; + } +} + +static void L3_intensity_stereo_band(float *left, int n, float kl, float kr) +{ + int i; + for (i = 0; i < n; i++) + { + left[i + 576] = left[i]*kr; + left[i] = left[i]*kl; + } +} + +static void L3_stereo_top_band(const float *right, const uint8_t *sfb, int nbands, int max_band[3]) +{ + int i, k; + + max_band[0] = max_band[1] = max_band[2] = -1; + + for (i = 0; i < nbands; i++) + { + for (k = 0; k < sfb[i]; k += 2) + { + if (right[k] != 0 || right[k + 1] != 0) + { + max_band[i % 3] = i; + break; + } + } + right += sfb[i]; + } +} + +static void L3_stereo_process(float *left, const uint8_t *ist_pos, const uint8_t *sfb, const uint8_t *hdr, int max_band[3], int mpeg2_sh) +{ + static const float g_pan[7*2] = { 0,1,0.21132487f,0.78867513f,0.36602540f,0.63397460f,0.5f,0.5f,0.63397460f,0.36602540f,0.78867513f,0.21132487f,1,0 }; + unsigned i, max_pos = HDR_TEST_MPEG1(hdr) ? 7 : 64; + + for (i = 0; sfb[i]; i++) + { + unsigned ipos = ist_pos[i]; + if ((int)i > max_band[i % 3] && ipos < max_pos) + { + float kl, kr, s = HDR_TEST_MS_STEREO(hdr) ? 1.41421356f : 1; + if (HDR_TEST_MPEG1(hdr)) + { + kl = g_pan[2*ipos]; + kr = g_pan[2*ipos + 1]; + } else + { + kl = 1; + kr = L3_ldexp_q2(1, (ipos + 1) >> 1 << mpeg2_sh); + if (ipos & 1) + { + kl = kr; + kr = 1; + } + } + L3_intensity_stereo_band(left, sfb[i], kl*s, kr*s); + } else if (HDR_TEST_MS_STEREO(hdr)) + { + L3_midside_stereo(left, sfb[i]); + } + left += sfb[i]; + } +} + +static void L3_intensity_stereo(float *left, uint8_t *ist_pos, const L3_gr_info_t *gr, const uint8_t *hdr) +{ + int max_band[3], n_sfb = gr->n_long_sfb + gr->n_short_sfb; + int i, max_blocks = gr->n_short_sfb ? 3 : 1; + + L3_stereo_top_band(left + 576, gr->sfbtab, n_sfb, max_band); + if (gr->n_long_sfb) + { + max_band[0] = max_band[1] = max_band[2] = MINIMP3_MAX(MINIMP3_MAX(max_band[0], max_band[1]), max_band[2]); + } + for (i = 0; i < max_blocks; i++) + { + int default_pos = HDR_TEST_MPEG1(hdr) ? 3 : 0; + int itop = n_sfb - max_blocks + i; + int prev = itop - max_blocks; + ist_pos[itop] = max_band[i] >= prev ? default_pos : ist_pos[prev]; + } + L3_stereo_process(left, ist_pos, gr->sfbtab, hdr, max_band, gr[1].scalefac_compress & 1); +} + +static void L3_reorder(float *grbuf, float *scratch, const uint8_t *sfb) +{ + int i, len; + float *src = grbuf, *dst = scratch; + + for (;0 != (len = *sfb); sfb += 3, src += 2*len) + { + for (i = 0; i < len; i++, src++) + { + *dst++ = src[0*len]; + *dst++ = src[1*len]; + *dst++ = src[2*len]; + } + } + memcpy(grbuf, scratch, (dst - scratch)*sizeof(float)); +} + +static void L3_antialias(float *grbuf, int nbands) +{ + static const float g_aa[2][8] = { + {0.85749293f,0.88174200f,0.94962865f,0.98331459f,0.99551782f,0.99916056f,0.99989920f,0.99999316f}, + {0.51449576f,0.47173197f,0.31337745f,0.18191320f,0.09457419f,0.04096558f,0.01419856f,0.00369997f} + }; + + for (; nbands > 0; nbands--, grbuf += 18) + { + int i = 0; +#if HAVE_SIMD + if (have_simd()) for (; i < 8; i += 4) + { + f4 vu = VLD(grbuf + 18 + i); + f4 vd = VLD(grbuf + 14 - i); + f4 vc0 = VLD(g_aa[0] + i); + f4 vc1 = VLD(g_aa[1] + i); + vd = VREV(vd); + VSTORE(grbuf + 18 + i, VSUB(VMUL(vu, vc0), VMUL(vd, vc1))); + vd = VADD(VMUL(vu, vc1), VMUL(vd, vc0)); + VSTORE(grbuf + 14 - i, VREV(vd)); + } +#endif /* HAVE_SIMD */ +#ifndef MINIMP3_ONLY_SIMD + for(; i < 8; i++) + { + float u = grbuf[18 + i]; + float d = grbuf[17 - i]; + grbuf[18 + i] = u*g_aa[0][i] - d*g_aa[1][i]; + grbuf[17 - i] = u*g_aa[1][i] + d*g_aa[0][i]; + } +#endif /* MINIMP3_ONLY_SIMD */ + } +} + +static void L3_dct3_9(float *y) +{ + float s0, s1, s2, s3, s4, s5, s6, s7, s8, t0, t2, t4; + + s0 = y[0]; s2 = y[2]; s4 = y[4]; s6 = y[6]; s8 = y[8]; + t0 = s0 + s6*0.5f; + s0 -= s6; + t4 = (s4 + s2)*0.93969262f; + t2 = (s8 + s2)*0.76604444f; + s6 = (s4 - s8)*0.17364818f; + s4 += s8 - s2; + + s2 = s0 - s4*0.5f; + y[4] = s4 + s0; + s8 = t0 - t2 + s6; + s0 = t0 - t4 + t2; + s4 = t0 + t4 - s6; + + s1 = y[1]; s3 = y[3]; s5 = y[5]; s7 = y[7]; + + s3 *= 0.86602540f; + t0 = (s5 + s1)*0.98480775f; + t4 = (s5 - s7)*0.34202014f; + t2 = (s1 + s7)*0.64278761f; + s1 = (s1 - s5 - s7)*0.86602540f; + + s5 = t0 - s3 - t2; + s7 = t4 - s3 - t0; + s3 = t4 + s3 - t2; + + y[0] = s4 - s7; + y[1] = s2 + s1; + y[2] = s0 - s3; + y[3] = s8 + s5; + y[5] = s8 - s5; + y[6] = s0 + s3; + y[7] = s2 - s1; + y[8] = s4 + s7; +} + +static void L3_imdct36(float *grbuf, float *overlap, const float *window, int nbands) +{ + int i, j; + static const float g_twid9[18] = { + 0.73727734f,0.79335334f,0.84339145f,0.88701083f,0.92387953f,0.95371695f,0.97629601f,0.99144486f,0.99904822f,0.67559021f,0.60876143f,0.53729961f,0.46174861f,0.38268343f,0.30070580f,0.21643961f,0.13052619f,0.04361938f + }; + + for (j = 0; j < nbands; j++, grbuf += 18, overlap += 9) + { + float co[9], si[9]; + co[0] = -grbuf[0]; + si[0] = grbuf[17]; + for (i = 0; i < 4; i++) + { + si[8 - 2*i] = grbuf[4*i + 1] - grbuf[4*i + 2]; + co[1 + 2*i] = grbuf[4*i + 1] + grbuf[4*i + 2]; + si[7 - 2*i] = grbuf[4*i + 4] - grbuf[4*i + 3]; + co[2 + 2*i] = -(grbuf[4*i + 3] + grbuf[4*i + 4]); + } + L3_dct3_9(co); + L3_dct3_9(si); + + si[1] = -si[1]; + si[3] = -si[3]; + si[5] = -si[5]; + si[7] = -si[7]; + + i = 0; + +#if HAVE_SIMD + if (have_simd()) for (; i < 8; i += 4) + { + f4 vovl = VLD(overlap + i); + f4 vc = VLD(co + i); + f4 vs = VLD(si + i); + f4 vr0 = VLD(g_twid9 + i); + f4 vr1 = VLD(g_twid9 + 9 + i); + f4 vw0 = VLD(window + i); + f4 vw1 = VLD(window + 9 + i); + f4 vsum = VADD(VMUL(vc, vr1), VMUL(vs, vr0)); + VSTORE(overlap + i, VSUB(VMUL(vc, vr0), VMUL(vs, vr1))); + VSTORE(grbuf + i, VSUB(VMUL(vovl, vw0), VMUL(vsum, vw1))); + vsum = VADD(VMUL(vovl, vw1), VMUL(vsum, vw0)); + VSTORE(grbuf + 14 - i, VREV(vsum)); + } +#endif /* HAVE_SIMD */ + for (; i < 9; i++) + { + float ovl = overlap[i]; + float sum = co[i]*g_twid9[9 + i] + si[i]*g_twid9[0 + i]; + overlap[i] = co[i]*g_twid9[0 + i] - si[i]*g_twid9[9 + i]; + grbuf[i] = ovl*window[0 + i] - sum*window[9 + i]; + grbuf[17 - i] = ovl*window[9 + i] + sum*window[0 + i]; + } + } +} + +static void L3_idct3(float x0, float x1, float x2, float *dst) +{ + float m1 = x1*0.86602540f; + float a1 = x0 - x2*0.5f; + dst[1] = x0 + x2; + dst[0] = a1 + m1; + dst[2] = a1 - m1; +} + +static void L3_imdct12(float *x, float *dst, float *overlap) +{ + static const float g_twid3[6] = { 0.79335334f,0.92387953f,0.99144486f, 0.60876143f,0.38268343f,0.13052619f }; + float co[3], si[3]; + int i; + + L3_idct3(-x[0], x[6] + x[3], x[12] + x[9], co); + L3_idct3(x[15], x[12] - x[9], x[6] - x[3], si); + si[1] = -si[1]; + + for (i = 0; i < 3; i++) + { + float ovl = overlap[i]; + float sum = co[i]*g_twid3[3 + i] + si[i]*g_twid3[0 + i]; + overlap[i] = co[i]*g_twid3[0 + i] - si[i]*g_twid3[3 + i]; + dst[i] = ovl*g_twid3[2 - i] - sum*g_twid3[5 - i]; + dst[5 - i] = ovl*g_twid3[5 - i] + sum*g_twid3[2 - i]; + } +} + +static void L3_imdct_short(float *grbuf, float *overlap, int nbands) +{ + for (;nbands > 0; nbands--, overlap += 9, grbuf += 18) + { + float tmp[18]; + memcpy(tmp, grbuf, sizeof(tmp)); + memcpy(grbuf, overlap, 6*sizeof(float)); + L3_imdct12(tmp, grbuf + 6, overlap + 6); + L3_imdct12(tmp + 1, grbuf + 12, overlap + 6); + L3_imdct12(tmp + 2, overlap, overlap + 6); + } +} + +static void L3_change_sign(float *grbuf) +{ + int b, i; + for (b = 0, grbuf += 18; b < 32; b += 2, grbuf += 36) + for (i = 1; i < 18; i += 2) + grbuf[i] = -grbuf[i]; +} + +static void L3_imdct_gr(float *grbuf, float *overlap, unsigned block_type, unsigned n_long_bands) +{ + static const float g_mdct_window[2][18] = { + { 0.99904822f,0.99144486f,0.97629601f,0.95371695f,0.92387953f,0.88701083f,0.84339145f,0.79335334f,0.73727734f,0.04361938f,0.13052619f,0.21643961f,0.30070580f,0.38268343f,0.46174861f,0.53729961f,0.60876143f,0.67559021f }, + { 1,1,1,1,1,1,0.99144486f,0.92387953f,0.79335334f,0,0,0,0,0,0,0.13052619f,0.38268343f,0.60876143f } + }; + if (n_long_bands) + { + L3_imdct36(grbuf, overlap, g_mdct_window[0], n_long_bands); + grbuf += 18*n_long_bands; + overlap += 9*n_long_bands; + } + if (block_type == SHORT_BLOCK_TYPE) + L3_imdct_short(grbuf, overlap, 32 - n_long_bands); + else + L3_imdct36(grbuf, overlap, g_mdct_window[block_type == STOP_BLOCK_TYPE], 32 - n_long_bands); +} + +static void L3_save_reservoir(mp3dec_t *h, mp3dec_scratch_t *s) +{ + int pos = (s->bs.pos + 7)/8u; + int remains = s->bs.limit/8u - pos; + if (remains > MAX_BITRESERVOIR_BYTES) + { + pos += remains - MAX_BITRESERVOIR_BYTES; + remains = MAX_BITRESERVOIR_BYTES; + } + if (remains > 0) + { + memmove(h->reserv_buf, s->maindata + pos, remains); + } + h->reserv = remains; +} + +static int L3_restore_reservoir(mp3dec_t *h, bs_t *bs, mp3dec_scratch_t *s, int main_data_begin) +{ + int frame_bytes = (bs->limit - bs->pos)/8; + int bytes_have = MINIMP3_MIN(h->reserv, main_data_begin); + memcpy(s->maindata, h->reserv_buf + MINIMP3_MAX(0, h->reserv - main_data_begin), MINIMP3_MIN(h->reserv, main_data_begin)); + memcpy(s->maindata + bytes_have, bs->buf + bs->pos/8, frame_bytes); + bs_init(&s->bs, s->maindata, bytes_have + frame_bytes); + return h->reserv >= main_data_begin; +} + +static void L3_decode(mp3dec_t *h, mp3dec_scratch_t *s, L3_gr_info_t *gr_info, int nch) +{ + int ch; + + for (ch = 0; ch < nch; ch++) + { + int layer3gr_limit = s->bs.pos + gr_info[ch].part_23_length; + L3_decode_scalefactors(h->header, s->ist_pos[ch], &s->bs, gr_info + ch, s->scf, ch); + L3_huffman(s->grbuf[ch], &s->bs, gr_info + ch, s->scf, layer3gr_limit); + } + + if (HDR_TEST_I_STEREO(h->header)) + { + L3_intensity_stereo(s->grbuf[0], s->ist_pos[1], gr_info, h->header); + } else if (HDR_IS_MS_STEREO(h->header)) + { + L3_midside_stereo(s->grbuf[0], 576); + } + + for (ch = 0; ch < nch; ch++, gr_info++) + { + int aa_bands = 31; + int n_long_bands = (gr_info->mixed_block_flag ? 2 : 0) << (int)(HDR_GET_MY_SAMPLE_RATE(h->header) == 2); + + if (gr_info->n_short_sfb) + { + aa_bands = n_long_bands - 1; + L3_reorder(s->grbuf[ch] + n_long_bands*18, s->syn[0], gr_info->sfbtab + gr_info->n_long_sfb); + } + + L3_antialias(s->grbuf[ch], aa_bands); + L3_imdct_gr(s->grbuf[ch], h->mdct_overlap[ch], gr_info->block_type, n_long_bands); + L3_change_sign(s->grbuf[ch]); + } +} + +static void mp3d_DCT_II(float *grbuf, int n) +{ + static const float g_sec[24] = { + 10.19000816f,0.50060302f,0.50241929f,3.40760851f,0.50547093f,0.52249861f,2.05778098f,0.51544732f,0.56694406f,1.48416460f,0.53104258f,0.64682180f,1.16943991f,0.55310392f,0.78815460f,0.97256821f,0.58293498f,1.06067765f,0.83934963f,0.62250412f,1.72244716f,0.74453628f,0.67480832f,5.10114861f + }; + int i, k = 0; +#if HAVE_SIMD + if (have_simd()) for (; k < n; k += 4) + { + f4 t[4][8], *x; + float *y = grbuf + k; + + for (x = t[0], i = 0; i < 8; i++, x++) + { + f4 x0 = VLD(&y[i*18]); + f4 x1 = VLD(&y[(15 - i)*18]); + f4 x2 = VLD(&y[(16 + i)*18]); + f4 x3 = VLD(&y[(31 - i)*18]); + f4 t0 = VADD(x0, x3); + f4 t1 = VADD(x1, x2); + f4 t2 = VMUL_S(VSUB(x1, x2), g_sec[3*i + 0]); + f4 t3 = VMUL_S(VSUB(x0, x3), g_sec[3*i + 1]); + x[0] = VADD(t0, t1); + x[8] = VMUL_S(VSUB(t0, t1), g_sec[3*i + 2]); + x[16] = VADD(t3, t2); + x[24] = VMUL_S(VSUB(t3, t2), g_sec[3*i + 2]); + } + for (x = t[0], i = 0; i < 4; i++, x += 8) + { + f4 x0 = x[0], x1 = x[1], x2 = x[2], x3 = x[3], x4 = x[4], x5 = x[5], x6 = x[6], x7 = x[7], xt; + xt = VSUB(x0, x7); x0 = VADD(x0, x7); + x7 = VSUB(x1, x6); x1 = VADD(x1, x6); + x6 = VSUB(x2, x5); x2 = VADD(x2, x5); + x5 = VSUB(x3, x4); x3 = VADD(x3, x4); + x4 = VSUB(x0, x3); x0 = VADD(x0, x3); + x3 = VSUB(x1, x2); x1 = VADD(x1, x2); + x[0] = VADD(x0, x1); + x[4] = VMUL_S(VSUB(x0, x1), 0.70710677f); + x5 = VADD(x5, x6); + x6 = VMUL_S(VADD(x6, x7), 0.70710677f); + x7 = VADD(x7, xt); + x3 = VMUL_S(VADD(x3, x4), 0.70710677f); + x5 = VSUB(x5, VMUL_S(x7, 0.198912367f)); /* rotate by PI/8 */ + x7 = VADD(x7, VMUL_S(x5, 0.382683432f)); + x5 = VSUB(x5, VMUL_S(x7, 0.198912367f)); + x0 = VSUB(xt, x6); xt = VADD(xt, x6); + x[1] = VMUL_S(VADD(xt, x7), 0.50979561f); + x[2] = VMUL_S(VADD(x4, x3), 0.54119611f); + x[3] = VMUL_S(VSUB(x0, x5), 0.60134488f); + x[5] = VMUL_S(VADD(x0, x5), 0.89997619f); + x[6] = VMUL_S(VSUB(x4, x3), 1.30656302f); + x[7] = VMUL_S(VSUB(xt, x7), 2.56291556f); + } + + if (k > n - 3) + { +#if HAVE_SSE +#define VSAVE2(i, v) _mm_storel_pi((__m64 *)(void*)&y[i*18], v) +#else /* HAVE_SSE */ +#define VSAVE2(i, v) vst1_f32((float32_t *)&y[i*18], vget_low_f32(v)) +#endif /* HAVE_SSE */ + for (i = 0; i < 7; i++, y += 4*18) + { + f4 s = VADD(t[3][i], t[3][i + 1]); + VSAVE2(0, t[0][i]); + VSAVE2(1, VADD(t[2][i], s)); + VSAVE2(2, VADD(t[1][i], t[1][i + 1])); + VSAVE2(3, VADD(t[2][1 + i], s)); + } + VSAVE2(0, t[0][7]); + VSAVE2(1, VADD(t[2][7], t[3][7])); + VSAVE2(2, t[1][7]); + VSAVE2(3, t[3][7]); + } else + { +#define VSAVE4(i, v) VSTORE(&y[i*18], v) + for (i = 0; i < 7; i++, y += 4*18) + { + f4 s = VADD(t[3][i], t[3][i + 1]); + VSAVE4(0, t[0][i]); + VSAVE4(1, VADD(t[2][i], s)); + VSAVE4(2, VADD(t[1][i], t[1][i + 1])); + VSAVE4(3, VADD(t[2][1 + i], s)); + } + VSAVE4(0, t[0][7]); + VSAVE4(1, VADD(t[2][7], t[3][7])); + VSAVE4(2, t[1][7]); + VSAVE4(3, t[3][7]); + } + } else +#endif /* HAVE_SIMD */ +#ifdef MINIMP3_ONLY_SIMD + {} /* for HAVE_SIMD=1, MINIMP3_ONLY_SIMD=1 case we do not need non-intrinsic "else" branch */ +#else /* MINIMP3_ONLY_SIMD */ + for (; k < n; k++) + { + float t[4][8], *x, *y = grbuf + k; + + for (x = t[0], i = 0; i < 8; i++, x++) + { + float x0 = y[i*18]; + float x1 = y[(15 - i)*18]; + float x2 = y[(16 + i)*18]; + float x3 = y[(31 - i)*18]; + float t0 = x0 + x3; + float t1 = x1 + x2; + float t2 = (x1 - x2)*g_sec[3*i + 0]; + float t3 = (x0 - x3)*g_sec[3*i + 1]; + x[0] = t0 + t1; + x[8] = (t0 - t1)*g_sec[3*i + 2]; + x[16] = t3 + t2; + x[24] = (t3 - t2)*g_sec[3*i + 2]; + } + for (x = t[0], i = 0; i < 4; i++, x += 8) + { + float x0 = x[0], x1 = x[1], x2 = x[2], x3 = x[3], x4 = x[4], x5 = x[5], x6 = x[6], x7 = x[7], xt; + xt = x0 - x7; x0 += x7; + x7 = x1 - x6; x1 += x6; + x6 = x2 - x5; x2 += x5; + x5 = x3 - x4; x3 += x4; + x4 = x0 - x3; x0 += x3; + x3 = x1 - x2; x1 += x2; + x[0] = x0 + x1; + x[4] = (x0 - x1)*0.70710677f; + x5 = x5 + x6; + x6 = (x6 + x7)*0.70710677f; + x7 = x7 + xt; + x3 = (x3 + x4)*0.70710677f; + x5 -= x7*0.198912367f; /* rotate by PI/8 */ + x7 += x5*0.382683432f; + x5 -= x7*0.198912367f; + x0 = xt - x6; xt += x6; + x[1] = (xt + x7)*0.50979561f; + x[2] = (x4 + x3)*0.54119611f; + x[3] = (x0 - x5)*0.60134488f; + x[5] = (x0 + x5)*0.89997619f; + x[6] = (x4 - x3)*1.30656302f; + x[7] = (xt - x7)*2.56291556f; + + } + for (i = 0; i < 7; i++, y += 4*18) + { + y[0*18] = t[0][i]; + y[1*18] = t[2][i] + t[3][i] + t[3][i + 1]; + y[2*18] = t[1][i] + t[1][i + 1]; + y[3*18] = t[2][i + 1] + t[3][i] + t[3][i + 1]; + } + y[0*18] = t[0][7]; + y[1*18] = t[2][7] + t[3][7]; + y[2*18] = t[1][7]; + y[3*18] = t[3][7]; + } +#endif /* MINIMP3_ONLY_SIMD */ +} + +#ifndef MINIMP3_FLOAT_OUTPUT +static int16_t mp3d_scale_pcm(float sample) +{ +#if HAVE_ARMV6 + int32_t s32 = (int32_t)(sample + .5f); + s32 -= (s32 < 0); + int16_t s = (int16_t)minimp3_clip_int16_arm(s32); +#else + if (sample >= 32766.5) return (int16_t) 32767; + if (sample <= -32767.5) return (int16_t)-32768; + int16_t s = (int16_t)(sample + .5f); + s -= (s < 0); /* away from zero, to be compliant */ +#endif + return s; +} +#else /* MINIMP3_FLOAT_OUTPUT */ +static float mp3d_scale_pcm(float sample) +{ + return sample*(1.f/32768.f); +} +#endif /* MINIMP3_FLOAT_OUTPUT */ + +static void mp3d_synth_pair(mp3d_sample_t *pcm, int nch, const float *z) +{ + float a; + a = (z[14*64] - z[ 0]) * 29; + a += (z[ 1*64] + z[13*64]) * 213; + a += (z[12*64] - z[ 2*64]) * 459; + a += (z[ 3*64] + z[11*64]) * 2037; + a += (z[10*64] - z[ 4*64]) * 5153; + a += (z[ 5*64] + z[ 9*64]) * 6574; + a += (z[ 8*64] - z[ 6*64]) * 37489; + a += z[ 7*64] * 75038; + pcm[0] = mp3d_scale_pcm(a); + + z += 2; + a = z[14*64] * 104; + a += z[12*64] * 1567; + a += z[10*64] * 9727; + a += z[ 8*64] * 64019; + a += z[ 6*64] * -9975; + a += z[ 4*64] * -45; + a += z[ 2*64] * 146; + a += z[ 0*64] * -5; + pcm[16*nch] = mp3d_scale_pcm(a); +} + +static void mp3d_synth(float *xl, mp3d_sample_t *dstl, int nch, float *lins) +{ + int i; + float *xr = xl + 576*(nch - 1); + mp3d_sample_t *dstr = dstl + (nch - 1); + + static const float g_win[] = { + -1,26,-31,208,218,401,-519,2063,2000,4788,-5517,7134,5959,35640,-39336,74992, + -1,24,-35,202,222,347,-581,2080,1952,4425,-5879,7640,5288,33791,-41176,74856, + -1,21,-38,196,225,294,-645,2087,1893,4063,-6237,8092,4561,31947,-43006,74630, + -1,19,-41,190,227,244,-711,2085,1822,3705,-6589,8492,3776,30112,-44821,74313, + -1,17,-45,183,228,197,-779,2075,1739,3351,-6935,8840,2935,28289,-46617,73908, + -1,16,-49,176,228,153,-848,2057,1644,3004,-7271,9139,2037,26482,-48390,73415, + -2,14,-53,169,227,111,-919,2032,1535,2663,-7597,9389,1082,24694,-50137,72835, + -2,13,-58,161,224,72,-991,2001,1414,2330,-7910,9592,70,22929,-51853,72169, + -2,11,-63,154,221,36,-1064,1962,1280,2006,-8209,9750,-998,21189,-53534,71420, + -2,10,-68,147,215,2,-1137,1919,1131,1692,-8491,9863,-2122,19478,-55178,70590, + -3,9,-73,139,208,-29,-1210,1870,970,1388,-8755,9935,-3300,17799,-56778,69679, + -3,8,-79,132,200,-57,-1283,1817,794,1095,-8998,9966,-4533,16155,-58333,68692, + -4,7,-85,125,189,-83,-1356,1759,605,814,-9219,9959,-5818,14548,-59838,67629, + -4,7,-91,117,177,-106,-1428,1698,402,545,-9416,9916,-7154,12980,-61289,66494, + -5,6,-97,111,163,-127,-1498,1634,185,288,-9585,9838,-8540,11455,-62684,65290 + }; + float *zlin = lins + 15*64; + const float *w = g_win; + + zlin[4*15] = xl[18*16]; + zlin[4*15 + 1] = xr[18*16]; + zlin[4*15 + 2] = xl[0]; + zlin[4*15 + 3] = xr[0]; + + zlin[4*31] = xl[1 + 18*16]; + zlin[4*31 + 1] = xr[1 + 18*16]; + zlin[4*31 + 2] = xl[1]; + zlin[4*31 + 3] = xr[1]; + + mp3d_synth_pair(dstr, nch, lins + 4*15 + 1); + mp3d_synth_pair(dstr + 32*nch, nch, lins + 4*15 + 64 + 1); + mp3d_synth_pair(dstl, nch, lins + 4*15); + mp3d_synth_pair(dstl + 32*nch, nch, lins + 4*15 + 64); + +#if HAVE_SIMD + if (have_simd()) for (i = 14; i >= 0; i--) + { +#define VLOAD(k) f4 w0 = VSET(*w++); f4 w1 = VSET(*w++); f4 vz = VLD(&zlin[4*i - 64*k]); f4 vy = VLD(&zlin[4*i - 64*(15 - k)]); +#define V0(k) { VLOAD(k) b = VADD(VMUL(vz, w1), VMUL(vy, w0)) ; a = VSUB(VMUL(vz, w0), VMUL(vy, w1)); } +#define V1(k) { VLOAD(k) b = VADD(b, VADD(VMUL(vz, w1), VMUL(vy, w0))); a = VADD(a, VSUB(VMUL(vz, w0), VMUL(vy, w1))); } +#define V2(k) { VLOAD(k) b = VADD(b, VADD(VMUL(vz, w1), VMUL(vy, w0))); a = VADD(a, VSUB(VMUL(vy, w1), VMUL(vz, w0))); } + f4 a, b; + zlin[4*i] = xl[18*(31 - i)]; + zlin[4*i + 1] = xr[18*(31 - i)]; + zlin[4*i + 2] = xl[1 + 18*(31 - i)]; + zlin[4*i + 3] = xr[1 + 18*(31 - i)]; + zlin[4*i + 64] = xl[1 + 18*(1 + i)]; + zlin[4*i + 64 + 1] = xr[1 + 18*(1 + i)]; + zlin[4*i - 64 + 2] = xl[18*(1 + i)]; + zlin[4*i - 64 + 3] = xr[18*(1 + i)]; + + V0(0) V2(1) V1(2) V2(3) V1(4) V2(5) V1(6) V2(7) + + { +#ifndef MINIMP3_FLOAT_OUTPUT +#if HAVE_SSE + static const f4 g_max = { 32767.0f, 32767.0f, 32767.0f, 32767.0f }; + static const f4 g_min = { -32768.0f, -32768.0f, -32768.0f, -32768.0f }; + __m128i pcm8 = _mm_packs_epi32(_mm_cvtps_epi32(_mm_max_ps(_mm_min_ps(a, g_max), g_min)), + _mm_cvtps_epi32(_mm_max_ps(_mm_min_ps(b, g_max), g_min))); + dstr[(15 - i)*nch] = _mm_extract_epi16(pcm8, 1); + dstr[(17 + i)*nch] = _mm_extract_epi16(pcm8, 5); + dstl[(15 - i)*nch] = _mm_extract_epi16(pcm8, 0); + dstl[(17 + i)*nch] = _mm_extract_epi16(pcm8, 4); + dstr[(47 - i)*nch] = _mm_extract_epi16(pcm8, 3); + dstr[(49 + i)*nch] = _mm_extract_epi16(pcm8, 7); + dstl[(47 - i)*nch] = _mm_extract_epi16(pcm8, 2); + dstl[(49 + i)*nch] = _mm_extract_epi16(pcm8, 6); +#else /* HAVE_SSE */ + int16x4_t pcma, pcmb; + a = VADD(a, VSET(0.5f)); + b = VADD(b, VSET(0.5f)); + pcma = vqmovn_s32(vqaddq_s32(vcvtq_s32_f32(a), vreinterpretq_s32_u32(vcltq_f32(a, VSET(0))))); + pcmb = vqmovn_s32(vqaddq_s32(vcvtq_s32_f32(b), vreinterpretq_s32_u32(vcltq_f32(b, VSET(0))))); + vst1_lane_s16(dstr + (15 - i)*nch, pcma, 1); + vst1_lane_s16(dstr + (17 + i)*nch, pcmb, 1); + vst1_lane_s16(dstl + (15 - i)*nch, pcma, 0); + vst1_lane_s16(dstl + (17 + i)*nch, pcmb, 0); + vst1_lane_s16(dstr + (47 - i)*nch, pcma, 3); + vst1_lane_s16(dstr + (49 + i)*nch, pcmb, 3); + vst1_lane_s16(dstl + (47 - i)*nch, pcma, 2); + vst1_lane_s16(dstl + (49 + i)*nch, pcmb, 2); +#endif /* HAVE_SSE */ + +#else /* MINIMP3_FLOAT_OUTPUT */ + + static const f4 g_scale = { 1.0f/32768.0f, 1.0f/32768.0f, 1.0f/32768.0f, 1.0f/32768.0f }; + a = VMUL(a, g_scale); + b = VMUL(b, g_scale); +#if HAVE_SSE + _mm_store_ss(dstr + (15 - i)*nch, _mm_shuffle_ps(a, a, _MM_SHUFFLE(1, 1, 1, 1))); + _mm_store_ss(dstr + (17 + i)*nch, _mm_shuffle_ps(b, b, _MM_SHUFFLE(1, 1, 1, 1))); + _mm_store_ss(dstl + (15 - i)*nch, _mm_shuffle_ps(a, a, _MM_SHUFFLE(0, 0, 0, 0))); + _mm_store_ss(dstl + (17 + i)*nch, _mm_shuffle_ps(b, b, _MM_SHUFFLE(0, 0, 0, 0))); + _mm_store_ss(dstr + (47 - i)*nch, _mm_shuffle_ps(a, a, _MM_SHUFFLE(3, 3, 3, 3))); + _mm_store_ss(dstr + (49 + i)*nch, _mm_shuffle_ps(b, b, _MM_SHUFFLE(3, 3, 3, 3))); + _mm_store_ss(dstl + (47 - i)*nch, _mm_shuffle_ps(a, a, _MM_SHUFFLE(2, 2, 2, 2))); + _mm_store_ss(dstl + (49 + i)*nch, _mm_shuffle_ps(b, b, _MM_SHUFFLE(2, 2, 2, 2))); +#else /* HAVE_SSE */ + vst1q_lane_f32(dstr + (15 - i)*nch, a, 1); + vst1q_lane_f32(dstr + (17 + i)*nch, b, 1); + vst1q_lane_f32(dstl + (15 - i)*nch, a, 0); + vst1q_lane_f32(dstl + (17 + i)*nch, b, 0); + vst1q_lane_f32(dstr + (47 - i)*nch, a, 3); + vst1q_lane_f32(dstr + (49 + i)*nch, b, 3); + vst1q_lane_f32(dstl + (47 - i)*nch, a, 2); + vst1q_lane_f32(dstl + (49 + i)*nch, b, 2); +#endif /* HAVE_SSE */ +#endif /* MINIMP3_FLOAT_OUTPUT */ + } + } else +#endif /* HAVE_SIMD */ +#ifdef MINIMP3_ONLY_SIMD + {} /* for HAVE_SIMD=1, MINIMP3_ONLY_SIMD=1 case we do not need non-intrinsic "else" branch */ +#else /* MINIMP3_ONLY_SIMD */ + for (i = 14; i >= 0; i--) + { +#define LOAD(k) float w0 = *w++; float w1 = *w++; float *vz = &zlin[4*i - k*64]; float *vy = &zlin[4*i - (15 - k)*64]; +#define S0(k) { int j; LOAD(k); for (j = 0; j < 4; j++) b[j] = vz[j]*w1 + vy[j]*w0, a[j] = vz[j]*w0 - vy[j]*w1; } +#define S1(k) { int j; LOAD(k); for (j = 0; j < 4; j++) b[j] += vz[j]*w1 + vy[j]*w0, a[j] += vz[j]*w0 - vy[j]*w1; } +#define S2(k) { int j; LOAD(k); for (j = 0; j < 4; j++) b[j] += vz[j]*w1 + vy[j]*w0, a[j] += vy[j]*w1 - vz[j]*w0; } + float a[4], b[4]; + + zlin[4*i] = xl[18*(31 - i)]; + zlin[4*i + 1] = xr[18*(31 - i)]; + zlin[4*i + 2] = xl[1 + 18*(31 - i)]; + zlin[4*i + 3] = xr[1 + 18*(31 - i)]; + zlin[4*(i + 16)] = xl[1 + 18*(1 + i)]; + zlin[4*(i + 16) + 1] = xr[1 + 18*(1 + i)]; + zlin[4*(i - 16) + 2] = xl[18*(1 + i)]; + zlin[4*(i - 16) + 3] = xr[18*(1 + i)]; + + S0(0) S2(1) S1(2) S2(3) S1(4) S2(5) S1(6) S2(7) + + dstr[(15 - i)*nch] = mp3d_scale_pcm(a[1]); + dstr[(17 + i)*nch] = mp3d_scale_pcm(b[1]); + dstl[(15 - i)*nch] = mp3d_scale_pcm(a[0]); + dstl[(17 + i)*nch] = mp3d_scale_pcm(b[0]); + dstr[(47 - i)*nch] = mp3d_scale_pcm(a[3]); + dstr[(49 + i)*nch] = mp3d_scale_pcm(b[3]); + dstl[(47 - i)*nch] = mp3d_scale_pcm(a[2]); + dstl[(49 + i)*nch] = mp3d_scale_pcm(b[2]); + } +#endif /* MINIMP3_ONLY_SIMD */ +} + +static void mp3d_synth_granule(float *qmf_state, float *grbuf, int nbands, int nch, mp3d_sample_t *pcm, float *lins) +{ + int i; + for (i = 0; i < nch; i++) + { + mp3d_DCT_II(grbuf + 576*i, nbands); + } + + memcpy(lins, qmf_state, sizeof(float)*15*64); + + for (i = 0; i < nbands; i += 2) + { + mp3d_synth(grbuf + i, pcm + 32*nch*i, nch, lins + i*64); + } +#ifndef MINIMP3_NONSTANDARD_BUT_LOGICAL + if (nch == 1) + { + for (i = 0; i < 15*64; i += 2) + { + qmf_state[i] = lins[nbands*64 + i]; + } + } else +#endif /* MINIMP3_NONSTANDARD_BUT_LOGICAL */ + { + memcpy(qmf_state, lins + nbands*64, sizeof(float)*15*64); + } +} + +static int mp3d_match_frame(const uint8_t *hdr, int mp3_bytes, int frame_bytes) +{ + int i, nmatch; + for (i = 0, nmatch = 0; nmatch < MAX_FRAME_SYNC_MATCHES; nmatch++) + { + i += hdr_frame_bytes(hdr + i, frame_bytes) + hdr_padding(hdr + i); + if (i + HDR_SIZE > mp3_bytes) + return nmatch > 0; + if (!hdr_compare(hdr, hdr + i)) + return 0; + } + return 1; +} + +static int mp3d_find_frame(const uint8_t *mp3, int mp3_bytes, int *free_format_bytes, int *ptr_frame_bytes) +{ + int i, k; + for (i = 0; i < mp3_bytes - HDR_SIZE; i++, mp3++) + { + if (hdr_valid(mp3)) + { + int frame_bytes = hdr_frame_bytes(mp3, *free_format_bytes); + int frame_and_padding = frame_bytes + hdr_padding(mp3); + + for (k = HDR_SIZE; !frame_bytes && k < MAX_FREE_FORMAT_FRAME_SIZE && i + 2*k < mp3_bytes - HDR_SIZE; k++) + { + if (hdr_compare(mp3, mp3 + k)) + { + int fb = k - hdr_padding(mp3); + int nextfb = fb + hdr_padding(mp3 + k); + if (i + k + nextfb + HDR_SIZE > mp3_bytes || !hdr_compare(mp3, mp3 + k + nextfb)) + continue; + frame_and_padding = k; + frame_bytes = fb; + *free_format_bytes = fb; + } + } + if ((frame_bytes && i + frame_and_padding <= mp3_bytes && + mp3d_match_frame(mp3, mp3_bytes - i, frame_bytes)) || + (!i && frame_and_padding == mp3_bytes)) + { + *ptr_frame_bytes = frame_and_padding; + return i; + } + *free_format_bytes = 0; + } + } + *ptr_frame_bytes = 0; + return mp3_bytes; +} + +void mp3dec_init(mp3dec_t *dec) +{ + dec->header[0] = 0; +} + +int mp3dec_decode_frame(mp3dec_t *dec, const uint8_t *mp3, int mp3_bytes, mp3d_sample_t *pcm, mp3dec_frame_info_t *info) +{ + int i = 0, igr, frame_size = 0, success = 1; + const uint8_t *hdr; + bs_t bs_frame[1]; + mp3dec_scratch_t scratch; + + if (mp3_bytes > 4 && dec->header[0] == 0xff && hdr_compare(dec->header, mp3)) + { + frame_size = hdr_frame_bytes(mp3, dec->free_format_bytes) + hdr_padding(mp3); + if (frame_size != mp3_bytes && (frame_size + HDR_SIZE > mp3_bytes || !hdr_compare(mp3, mp3 + frame_size))) + { + frame_size = 0; + } + } + if (!frame_size) + { + memset(dec, 0, sizeof(mp3dec_t)); + i = mp3d_find_frame(mp3, mp3_bytes, &dec->free_format_bytes, &frame_size); + if (!frame_size || i + frame_size > mp3_bytes) + { + info->frame_bytes = i; + return 0; + } + } + + hdr = mp3 + i; + memcpy(dec->header, hdr, HDR_SIZE); + info->frame_bytes = i + frame_size; + info->frame_offset = i; + info->channels = HDR_IS_MONO(hdr) ? 1 : 2; + info->hz = hdr_sample_rate_hz(hdr); + info->layer = 4 - HDR_GET_LAYER(hdr); + info->bitrate_kbps = hdr_bitrate_kbps(hdr); + + if (!pcm) + { + return hdr_frame_samples(hdr); + } + + bs_init(bs_frame, hdr + HDR_SIZE, frame_size - HDR_SIZE); + if (HDR_IS_CRC(hdr)) + { + get_bits(bs_frame, 16); + } + + if (info->layer == 3) + { + int main_data_begin = L3_read_side_info(bs_frame, scratch.gr_info, hdr); + if (main_data_begin < 0 || bs_frame->pos > bs_frame->limit) + { + mp3dec_init(dec); + return 0; + } + success = L3_restore_reservoir(dec, bs_frame, &scratch, main_data_begin); + if (success) + { + for (igr = 0; igr < (HDR_TEST_MPEG1(hdr) ? 2 : 1); igr++, pcm += 576*info->channels) + { + memset(scratch.grbuf[0], 0, 576*2*sizeof(float)); + L3_decode(dec, &scratch, scratch.gr_info + igr*info->channels, info->channels); + mp3d_synth_granule(dec->qmf_state, scratch.grbuf[0], 18, info->channels, pcm, scratch.syn[0]); + } + } + L3_save_reservoir(dec, &scratch); + } else + { +#ifdef MINIMP3_ONLY_MP3 + return 0; +#else /* MINIMP3_ONLY_MP3 */ + L12_scale_info sci[1]; + L12_read_scale_info(hdr, bs_frame, sci); + + memset(scratch.grbuf[0], 0, 576*2*sizeof(float)); + for (i = 0, igr = 0; igr < 3; igr++) + { + if (12 == (i += L12_dequantize_granule(scratch.grbuf[0] + i, bs_frame, sci, info->layer | 1))) + { + i = 0; + L12_apply_scf_384(sci, sci->scf + igr, scratch.grbuf[0]); + mp3d_synth_granule(dec->qmf_state, scratch.grbuf[0], 12, info->channels, pcm, scratch.syn[0]); + memset(scratch.grbuf[0], 0, 576*2*sizeof(float)); + pcm += 384*info->channels; + } + if (bs_frame->pos > bs_frame->limit) + { + mp3dec_init(dec); + return 0; + } + } +#endif /* MINIMP3_ONLY_MP3 */ + } + return success*hdr_frame_samples(dec->header); +} + +#ifdef MINIMP3_FLOAT_OUTPUT +void mp3dec_f32_to_s16(const float *in, int16_t *out, int num_samples) +{ + int i = 0; +#if HAVE_SIMD + int aligned_count = num_samples & ~7; + for(; i < aligned_count; i += 8) + { + static const f4 g_scale = { 32768.0f, 32768.0f, 32768.0f, 32768.0f }; + f4 a = VMUL(VLD(&in[i ]), g_scale); + f4 b = VMUL(VLD(&in[i+4]), g_scale); +#if HAVE_SSE + static const f4 g_max = { 32767.0f, 32767.0f, 32767.0f, 32767.0f }; + static const f4 g_min = { -32768.0f, -32768.0f, -32768.0f, -32768.0f }; + __m128i pcm8 = _mm_packs_epi32(_mm_cvtps_epi32(_mm_max_ps(_mm_min_ps(a, g_max), g_min)), + _mm_cvtps_epi32(_mm_max_ps(_mm_min_ps(b, g_max), g_min))); + out[i ] = _mm_extract_epi16(pcm8, 0); + out[i+1] = _mm_extract_epi16(pcm8, 1); + out[i+2] = _mm_extract_epi16(pcm8, 2); + out[i+3] = _mm_extract_epi16(pcm8, 3); + out[i+4] = _mm_extract_epi16(pcm8, 4); + out[i+5] = _mm_extract_epi16(pcm8, 5); + out[i+6] = _mm_extract_epi16(pcm8, 6); + out[i+7] = _mm_extract_epi16(pcm8, 7); +#else /* HAVE_SSE */ + int16x4_t pcma, pcmb; + a = VADD(a, VSET(0.5f)); + b = VADD(b, VSET(0.5f)); + pcma = vqmovn_s32(vqaddq_s32(vcvtq_s32_f32(a), vreinterpretq_s32_u32(vcltq_f32(a, VSET(0))))); + pcmb = vqmovn_s32(vqaddq_s32(vcvtq_s32_f32(b), vreinterpretq_s32_u32(vcltq_f32(b, VSET(0))))); + vst1_lane_s16(out+i , pcma, 0); + vst1_lane_s16(out+i+1, pcma, 1); + vst1_lane_s16(out+i+2, pcma, 2); + vst1_lane_s16(out+i+3, pcma, 3); + vst1_lane_s16(out+i+4, pcmb, 0); + vst1_lane_s16(out+i+5, pcmb, 1); + vst1_lane_s16(out+i+6, pcmb, 2); + vst1_lane_s16(out+i+7, pcmb, 3); +#endif /* HAVE_SSE */ + } +#endif /* HAVE_SIMD */ + for(; i < num_samples; i++) + { + float sample = in[i] * 32768.0f; + if (sample >= 32766.5) + out[i] = (int16_t) 32767; + else if (sample <= -32767.5) + out[i] = (int16_t)-32768; + else + { + int16_t s = (int16_t)(sample + .5f); + s -= (s < 0); /* away from zero, to be compliant */ + out[i] = s; + } + } +} +#endif /* MINIMP3_FLOAT_OUTPUT */ +#endif /* MINIMP3_IMPLEMENTATION && !_MINIMP3_IMPLEMENTATION_GUARD */ diff --git a/external/minimp3/minimp3_ex.h b/external/minimp3/minimp3_ex.h new file mode 100644 index 00000000..2871705d --- /dev/null +++ b/external/minimp3/minimp3_ex.h @@ -0,0 +1,1397 @@ +#ifndef MINIMP3_EXT_H +#define MINIMP3_EXT_H +/* + https://github.com/lieff/minimp3 + To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. + This software is distributed without any warranty. + See . +*/ +#include +#include "minimp3.h" + +/* flags for mp3dec_ex_open_* functions */ +#define MP3D_SEEK_TO_BYTE 0 /* mp3dec_ex_seek seeks to byte in stream */ +#define MP3D_SEEK_TO_SAMPLE 1 /* mp3dec_ex_seek precisely seeks to sample using index (created during duration calculation scan or when mp3dec_ex_seek called) */ +#define MP3D_DO_NOT_SCAN 2 /* do not scan whole stream for duration if vbrtag not found, mp3dec_ex_t::samples will be filled only if mp3dec_ex_t::vbr_tag_found == 1 */ +#ifdef MINIMP3_ALLOW_MONO_STEREO_TRANSITION +#define MP3D_ALLOW_MONO_STEREO_TRANSITION 4 +#define MP3D_FLAGS_MASK 7 +#else +#define MP3D_FLAGS_MASK 3 +#endif + +/* compile-time config */ +#define MINIMP3_PREDECODE_FRAMES 2 /* frames to pre-decode and skip after seek (to fill internal structures) */ +/*#define MINIMP3_SEEK_IDX_LINEAR_SEARCH*/ /* define to use linear index search instead of binary search on seek */ +#define MINIMP3_IO_SIZE (128*1024) /* io buffer size for streaming functions, must be greater than MINIMP3_BUF_SIZE */ +#define MINIMP3_BUF_SIZE (16*1024) /* buffer which can hold minimum 10 consecutive mp3 frames (~16KB) worst case */ +/*#define MINIMP3_SCAN_LIMIT (256*1024)*/ /* how many bytes will be scanned to search first valid mp3 frame, to prevent stall on large non-mp3 files */ +#define MINIMP3_ENABLE_RING 0 /* WIP enable hardware magic ring buffer if available, to make less input buffer memmove(s) in callback IO mode */ + +/* return error codes */ +#define MP3D_E_PARAM -1 +#define MP3D_E_MEMORY -2 +#define MP3D_E_IOERROR -3 +#define MP3D_E_USER -4 /* can be used to stop processing from callbacks without indicating specific error */ +#define MP3D_E_DECODE -5 /* decode error which can't be safely skipped, such as sample rate, layer and channels change */ + +typedef struct +{ + mp3d_sample_t *buffer; + size_t samples; /* channels included, byte size = samples*sizeof(mp3d_sample_t) */ + int channels, hz, layer, avg_bitrate_kbps; +} mp3dec_file_info_t; + +typedef struct +{ + const uint8_t *buffer; + size_t size; +} mp3dec_map_info_t; + +typedef struct +{ + uint64_t sample; + uint64_t offset; +} mp3dec_frame_t; + +typedef struct +{ + mp3dec_frame_t *frames; + size_t num_frames, capacity; +} mp3dec_index_t; + +typedef size_t (*MP3D_READ_CB)(void *buf, size_t size, void *user_data); +typedef int (*MP3D_SEEK_CB)(uint64_t position, void *user_data); + +typedef struct +{ + MP3D_READ_CB read; + void *read_data; + MP3D_SEEK_CB seek; + void *seek_data; +} mp3dec_io_t; + +typedef struct +{ + mp3dec_t mp3d; + mp3dec_map_info_t file; + mp3dec_io_t *io; + mp3dec_index_t index; + uint64_t offset, samples, detected_samples, cur_sample, start_offset, end_offset; + mp3dec_frame_info_t info; + mp3d_sample_t buffer[MINIMP3_MAX_SAMPLES_PER_FRAME]; + size_t input_consumed, input_filled; + int is_file, flags, vbr_tag_found, indexes_built; + int free_format_bytes; + int buffer_samples, buffer_consumed, to_skip, start_delay; + int last_error; +} mp3dec_ex_t; + +typedef int (*MP3D_ITERATE_CB)(void *user_data, const uint8_t *frame, int frame_size, int free_format_bytes, size_t buf_size, uint64_t offset, mp3dec_frame_info_t *info); +typedef int (*MP3D_PROGRESS_CB)(void *user_data, size_t file_size, uint64_t offset, mp3dec_frame_info_t *info); + +#ifdef __cplusplus +extern "C" { +#endif + +/* detect mp3/mpa format */ +int mp3dec_detect_buf(const uint8_t *buf, size_t buf_size); +int mp3dec_detect_cb(mp3dec_io_t *io, uint8_t *buf, size_t buf_size); +/* decode whole buffer block */ +int mp3dec_load_buf(mp3dec_t *dec, const uint8_t *buf, size_t buf_size, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data); +int mp3dec_load_cb(mp3dec_t *dec, mp3dec_io_t *io, uint8_t *buf, size_t buf_size, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data); +/* iterate through frames */ +int mp3dec_iterate_buf(const uint8_t *buf, size_t buf_size, MP3D_ITERATE_CB callback, void *user_data); +int mp3dec_iterate_cb(mp3dec_io_t *io, uint8_t *buf, size_t buf_size, MP3D_ITERATE_CB callback, void *user_data); +/* streaming decoder with seeking capability */ +int mp3dec_ex_open_buf(mp3dec_ex_t *dec, const uint8_t *buf, size_t buf_size, int flags); +int mp3dec_ex_open_cb(mp3dec_ex_t *dec, mp3dec_io_t *io, int flags); +void mp3dec_ex_close(mp3dec_ex_t *dec); +int mp3dec_ex_seek(mp3dec_ex_t *dec, uint64_t position); +size_t mp3dec_ex_read_frame(mp3dec_ex_t *dec, mp3d_sample_t **buf, mp3dec_frame_info_t *frame_info, size_t max_samples); +size_t mp3dec_ex_read(mp3dec_ex_t *dec, mp3d_sample_t *buf, size_t samples); +#ifndef MINIMP3_NO_STDIO +/* stdio versions of file detect, load, iterate and stream */ +int mp3dec_detect(const char *file_name); +int mp3dec_load(mp3dec_t *dec, const char *file_name, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data); +int mp3dec_iterate(const char *file_name, MP3D_ITERATE_CB callback, void *user_data); +int mp3dec_ex_open(mp3dec_ex_t *dec, const char *file_name, int flags); +#ifdef _WIN32 +int mp3dec_detect_w(const wchar_t *file_name); +int mp3dec_load_w(mp3dec_t *dec, const wchar_t *file_name, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data); +int mp3dec_iterate_w(const wchar_t *file_name, MP3D_ITERATE_CB callback, void *user_data); +int mp3dec_ex_open_w(mp3dec_ex_t *dec, const wchar_t *file_name, int flags); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif /*MINIMP3_EXT_H*/ + +#if defined(MINIMP3_IMPLEMENTATION) && !defined(_MINIMP3_EX_IMPLEMENTATION_GUARD) +#define _MINIMP3_EX_IMPLEMENTATION_GUARD +#include +#include "minimp3.h" + +static void mp3dec_skip_id3v1(const uint8_t *buf, size_t *pbuf_size) +{ + size_t buf_size = *pbuf_size; +#ifndef MINIMP3_NOSKIP_ID3V1 + if (buf_size >= 128 && !memcmp(buf + buf_size - 128, "TAG", 3)) + { + buf_size -= 128; + if (buf_size >= 227 && !memcmp(buf + buf_size - 227, "TAG+", 4)) + buf_size -= 227; + } +#endif +#ifndef MINIMP3_NOSKIP_APEV2 + if (buf_size > 32 && !memcmp(buf + buf_size - 32, "APETAGEX", 8)) + { + buf_size -= 32; + const uint8_t *tag = buf + buf_size + 8 + 4; + uint32_t tag_size = (uint32_t)(tag[3] << 24) | (tag[2] << 16) | (tag[1] << 8) | tag[0]; + if (buf_size >= tag_size) + buf_size -= tag_size; + } +#endif + *pbuf_size = buf_size; +} + +static size_t mp3dec_skip_id3v2(const uint8_t *buf, size_t buf_size) +{ +#define MINIMP3_ID3_DETECT_SIZE 10 +#ifndef MINIMP3_NOSKIP_ID3V2 + if (buf_size >= MINIMP3_ID3_DETECT_SIZE && !memcmp(buf, "ID3", 3) && !((buf[5] & 15) || (buf[6] & 0x80) || (buf[7] & 0x80) || (buf[8] & 0x80) || (buf[9] & 0x80))) + { + size_t id3v2size = (((buf[6] & 0x7f) << 21) | ((buf[7] & 0x7f) << 14) | ((buf[8] & 0x7f) << 7) | (buf[9] & 0x7f)) + 10; + if ((buf[5] & 16)) + id3v2size += 10; /* footer */ + return id3v2size; + } +#endif + return 0; +} + +static void mp3dec_skip_id3(const uint8_t **pbuf, size_t *pbuf_size) +{ + uint8_t *buf = (uint8_t *)(*pbuf); + size_t buf_size = *pbuf_size; + size_t id3v2size = mp3dec_skip_id3v2(buf, buf_size); + if (id3v2size) + { + if (id3v2size >= buf_size) + id3v2size = buf_size; + buf += id3v2size; + buf_size -= id3v2size; + } + mp3dec_skip_id3v1(buf, &buf_size); + *pbuf = (const uint8_t *)buf; + *pbuf_size = buf_size; +} + +static int mp3dec_check_vbrtag(const uint8_t *frame, int frame_size, uint32_t *frames, int *delay, int *padding) +{ + static const char g_xing_tag[4] = { 'X', 'i', 'n', 'g' }; + static const char g_info_tag[4] = { 'I', 'n', 'f', 'o' }; +#define FRAMES_FLAG 1 +#define BYTES_FLAG 2 +#define TOC_FLAG 4 +#define VBR_SCALE_FLAG 8 + /* Side info offsets after header: + / Mono Stereo + / MPEG1 17 32 + / MPEG2 & 2.5 9 17*/ + bs_t bs[1]; + L3_gr_info_t gr_info[4]; + bs_init(bs, frame + HDR_SIZE, frame_size - HDR_SIZE); + if (HDR_IS_CRC(frame)) + get_bits(bs, 16); + if (L3_read_side_info(bs, gr_info, frame) < 0) + return 0; /* side info corrupted */ + + const uint8_t *tag = frame + HDR_SIZE + bs->pos/8; + if (memcmp(g_xing_tag, tag, 4) && memcmp(g_info_tag, tag, 4)) + return 0; + int flags = tag[7]; + if (!((flags & FRAMES_FLAG))) + return -1; + tag += 8; + *frames = (uint32_t)(tag[0] << 24) | (tag[1] << 16) | (tag[2] << 8) | tag[3]; + tag += 4; + if (flags & BYTES_FLAG) + tag += 4; + if (flags & TOC_FLAG) + tag += 100; + if (flags & VBR_SCALE_FLAG) + tag += 4; + *delay = *padding = 0; + if (*tag) + { /* extension, LAME, Lavc, etc. Should be the same structure. */ + tag += 21; + if (tag - frame + 14 >= frame_size) + return 0; + *delay = ((tag[0] << 4) | (tag[1] >> 4)) + (528 + 1); + *padding = (((tag[1] & 0xF) << 8) | tag[2]) - (528 + 1); + } + return 1; +} + +int mp3dec_detect_buf(const uint8_t *buf, size_t buf_size) +{ + return mp3dec_detect_cb(0, (uint8_t *)buf, buf_size); +} + +int mp3dec_detect_cb(mp3dec_io_t *io, uint8_t *buf, size_t buf_size) +{ + if (!buf || (size_t)-1 == buf_size || (io && buf_size < MINIMP3_BUF_SIZE)) + return MP3D_E_PARAM; + size_t filled = buf_size; + if (io) + { + if (io->seek(0, io->seek_data)) + return MP3D_E_IOERROR; + filled = io->read(buf, MINIMP3_ID3_DETECT_SIZE, io->read_data); + if (filled > MINIMP3_ID3_DETECT_SIZE) + return MP3D_E_IOERROR; + } + if (filled < MINIMP3_ID3_DETECT_SIZE) + return MP3D_E_USER; /* too small, can't be mp3/mpa */ + if (mp3dec_skip_id3v2(buf, filled)) + return 0; /* id3v2 tag is enough evidence */ + if (io) + { + size_t readed = io->read(buf + MINIMP3_ID3_DETECT_SIZE, buf_size - MINIMP3_ID3_DETECT_SIZE, io->read_data); + if (readed > (buf_size - MINIMP3_ID3_DETECT_SIZE)) + return MP3D_E_IOERROR; + filled += readed; + if (filled < MINIMP3_BUF_SIZE) + mp3dec_skip_id3v1(buf, &filled); + } else + { + mp3dec_skip_id3v1(buf, &filled); + if (filled > MINIMP3_BUF_SIZE) + filled = MINIMP3_BUF_SIZE; + } + int free_format_bytes, frame_size; + mp3d_find_frame(buf, filled, &free_format_bytes, &frame_size); + if (frame_size) + return 0; /* MAX_FRAME_SYNC_MATCHES consecutive frames found */ + return MP3D_E_USER; +} + +int mp3dec_load_buf(mp3dec_t *dec, const uint8_t *buf, size_t buf_size, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data) +{ + return mp3dec_load_cb(dec, 0, (uint8_t *)buf, buf_size, info, progress_cb, user_data); +} + +int mp3dec_load_cb(mp3dec_t *dec, mp3dec_io_t *io, uint8_t *buf, size_t buf_size, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data) +{ + if (!dec || !buf || !info || (size_t)-1 == buf_size || (io && buf_size < MINIMP3_BUF_SIZE)) + return MP3D_E_PARAM; + uint64_t detected_samples = 0; + size_t orig_buf_size = buf_size; + int to_skip = 0; + mp3dec_frame_info_t frame_info; + memset(info, 0, sizeof(*info)); + memset(&frame_info, 0, sizeof(frame_info)); + + /* skip id3 */ + size_t filled = 0, consumed = 0; + int eof = 0, ret = 0; + if (io) + { + if (io->seek(0, io->seek_data)) + return MP3D_E_IOERROR; + filled = io->read(buf, MINIMP3_ID3_DETECT_SIZE, io->read_data); + if (filled > MINIMP3_ID3_DETECT_SIZE) + return MP3D_E_IOERROR; + if (MINIMP3_ID3_DETECT_SIZE != filled) + return 0; + size_t id3v2size = mp3dec_skip_id3v2(buf, filled); + if (id3v2size) + { + if (io->seek(id3v2size, io->seek_data)) + return MP3D_E_IOERROR; + filled = io->read(buf, buf_size, io->read_data); + if (filled > buf_size) + return MP3D_E_IOERROR; + } else + { + size_t readed = io->read(buf + MINIMP3_ID3_DETECT_SIZE, buf_size - MINIMP3_ID3_DETECT_SIZE, io->read_data); + if (readed > (buf_size - MINIMP3_ID3_DETECT_SIZE)) + return MP3D_E_IOERROR; + filled += readed; + } + if (filled < MINIMP3_BUF_SIZE) + mp3dec_skip_id3v1(buf, &filled); + } else + { + mp3dec_skip_id3((const uint8_t **)&buf, &buf_size); + if (!buf_size) + return 0; + } + /* try to make allocation size assumption by first frame or vbr tag */ + mp3dec_init(dec); + int samples; + do + { + uint32_t frames; + int i, delay, padding, free_format_bytes = 0, frame_size = 0; + const uint8_t *hdr; + if (io) + { + if (!eof && filled - consumed < MINIMP3_BUF_SIZE) + { /* keep minimum 10 consecutive mp3 frames (~16KB) worst case */ + memmove(buf, buf + consumed, filled - consumed); + filled -= consumed; + consumed = 0; + size_t readed = io->read(buf + filled, buf_size - filled, io->read_data); + if (readed > (buf_size - filled)) + return MP3D_E_IOERROR; + if (readed != (buf_size - filled)) + eof = 1; + filled += readed; + if (eof) + mp3dec_skip_id3v1(buf, &filled); + } + i = mp3d_find_frame(buf + consumed, filled - consumed, &free_format_bytes, &frame_size); + consumed += i; + hdr = buf + consumed; + } else + { + i = mp3d_find_frame(buf, buf_size, &free_format_bytes, &frame_size); + buf += i; + buf_size -= i; + hdr = buf; + } + if (i && !frame_size) + continue; + if (!frame_size) + return 0; + frame_info.channels = HDR_IS_MONO(hdr) ? 1 : 2; + frame_info.hz = hdr_sample_rate_hz(hdr); + frame_info.layer = 4 - HDR_GET_LAYER(hdr); + frame_info.bitrate_kbps = hdr_bitrate_kbps(hdr); + frame_info.frame_bytes = frame_size; + samples = hdr_frame_samples(hdr)*frame_info.channels; + if (3 != frame_info.layer) + break; + int ret = mp3dec_check_vbrtag(hdr, frame_size, &frames, &delay, &padding); + if (ret > 0) + { + padding *= frame_info.channels; + to_skip = delay*frame_info.channels; + detected_samples = samples*(uint64_t)frames; + if (detected_samples >= (uint64_t)to_skip) + detected_samples -= to_skip; + if (padding > 0 && detected_samples >= (uint64_t)padding) + detected_samples -= padding; + if (!detected_samples) + return 0; + } + if (ret) + { + if (io) + { + consumed += frame_size; + } else + { + buf += frame_size; + buf_size -= frame_size; + } + } + break; + } while(1); + size_t allocated = MINIMP3_MAX_SAMPLES_PER_FRAME*sizeof(mp3d_sample_t); + if (detected_samples) + allocated += detected_samples*sizeof(mp3d_sample_t); + else + allocated += (buf_size/frame_info.frame_bytes)*samples*sizeof(mp3d_sample_t); + info->buffer = (mp3d_sample_t*)malloc(allocated); + if (!info->buffer) + return MP3D_E_MEMORY; + /* save info */ + info->channels = frame_info.channels; + info->hz = frame_info.hz; + info->layer = frame_info.layer; + /* decode all frames */ + size_t avg_bitrate_kbps = 0, frames = 0; + do + { + if ((allocated - info->samples*sizeof(mp3d_sample_t)) < MINIMP3_MAX_SAMPLES_PER_FRAME*sizeof(mp3d_sample_t)) + { + allocated *= 2; + mp3d_sample_t *alloc_buf = (mp3d_sample_t*)realloc(info->buffer, allocated); + if (!alloc_buf) + return MP3D_E_MEMORY; + info->buffer = alloc_buf; + } + if (io) + { + if (!eof && filled - consumed < MINIMP3_BUF_SIZE) + { /* keep minimum 10 consecutive mp3 frames (~16KB) worst case */ + memmove(buf, buf + consumed, filled - consumed); + filled -= consumed; + consumed = 0; + size_t readed = io->read(buf + filled, buf_size - filled, io->read_data); + if (readed != (buf_size - filled)) + eof = 1; + filled += readed; + if (eof) + mp3dec_skip_id3v1(buf, &filled); + } + samples = mp3dec_decode_frame(dec, buf + consumed, filled - consumed, info->buffer + info->samples, &frame_info); + consumed += frame_info.frame_bytes; + } else + { + samples = mp3dec_decode_frame(dec, buf, MINIMP3_MIN(buf_size, (size_t)INT_MAX), info->buffer + info->samples, &frame_info); + buf += frame_info.frame_bytes; + buf_size -= frame_info.frame_bytes; + } + if (samples) + { + if (info->hz != frame_info.hz || info->layer != frame_info.layer) + { + ret = MP3D_E_DECODE; + break; + } + if (info->channels && info->channels != frame_info.channels) + { +#ifdef MINIMP3_ALLOW_MONO_STEREO_TRANSITION + info->channels = 0; /* mark file with mono-stereo transition */ +#else + ret = MP3D_E_DECODE; + break; +#endif + } + samples *= frame_info.channels; + if (to_skip) + { + size_t skip = MINIMP3_MIN(samples, to_skip); + to_skip -= skip; + samples -= skip; + memmove(info->buffer, info->buffer + skip, samples*sizeof(mp3d_sample_t)); + } + info->samples += samples; + avg_bitrate_kbps += frame_info.bitrate_kbps; + frames++; + if (progress_cb) + { + ret = progress_cb(user_data, orig_buf_size, orig_buf_size - buf_size, &frame_info); + if (ret) + break; + } + } + } while (frame_info.frame_bytes); + if (detected_samples && info->samples > detected_samples) + info->samples = detected_samples; /* cut padding */ + /* reallocate to normal buffer size */ + if (allocated != info->samples*sizeof(mp3d_sample_t)) + { + mp3d_sample_t *alloc_buf = (mp3d_sample_t*)realloc(info->buffer, info->samples*sizeof(mp3d_sample_t)); + if (!alloc_buf && info->samples) + return MP3D_E_MEMORY; + info->buffer = alloc_buf; + } + if (frames) + info->avg_bitrate_kbps = avg_bitrate_kbps/frames; + return ret; +} + +int mp3dec_iterate_buf(const uint8_t *buf, size_t buf_size, MP3D_ITERATE_CB callback, void *user_data) +{ + const uint8_t *orig_buf = buf; + if (!buf || (size_t)-1 == buf_size || !callback) + return MP3D_E_PARAM; + /* skip id3 */ + mp3dec_skip_id3(&buf, &buf_size); + if (!buf_size) + return 0; + mp3dec_frame_info_t frame_info; + memset(&frame_info, 0, sizeof(frame_info)); + do + { + int free_format_bytes = 0, frame_size = 0, ret; + int i = mp3d_find_frame(buf, buf_size, &free_format_bytes, &frame_size); + buf += i; + buf_size -= i; + if (i && !frame_size) + continue; + if (!frame_size) + break; + const uint8_t *hdr = buf; + frame_info.channels = HDR_IS_MONO(hdr) ? 1 : 2; + frame_info.hz = hdr_sample_rate_hz(hdr); + frame_info.layer = 4 - HDR_GET_LAYER(hdr); + frame_info.bitrate_kbps = hdr_bitrate_kbps(hdr); + frame_info.frame_bytes = frame_size; + + if (callback) + { + if ((ret = callback(user_data, hdr, frame_size, free_format_bytes, buf_size, hdr - orig_buf, &frame_info))) + return ret; + } + buf += frame_size; + buf_size -= frame_size; + } while (1); + return 0; +} + +int mp3dec_iterate_cb(mp3dec_io_t *io, uint8_t *buf, size_t buf_size, MP3D_ITERATE_CB callback, void *user_data) +{ + if (!io || !buf || (size_t)-1 == buf_size || buf_size < MINIMP3_BUF_SIZE || !callback) + return MP3D_E_PARAM; + size_t filled = io->read(buf, MINIMP3_ID3_DETECT_SIZE, io->read_data), consumed = 0; + uint64_t readed = 0; + mp3dec_frame_info_t frame_info; + int eof = 0; + memset(&frame_info, 0, sizeof(frame_info)); + if (filled > MINIMP3_ID3_DETECT_SIZE) + return MP3D_E_IOERROR; + if (MINIMP3_ID3_DETECT_SIZE != filled) + return 0; + size_t id3v2size = mp3dec_skip_id3v2(buf, filled); + if (id3v2size) + { + if (io->seek(id3v2size, io->seek_data)) + return MP3D_E_IOERROR; + filled = io->read(buf, buf_size, io->read_data); + if (filled > buf_size) + return MP3D_E_IOERROR; + readed += id3v2size; + } else + { + size_t readed = io->read(buf + MINIMP3_ID3_DETECT_SIZE, buf_size - MINIMP3_ID3_DETECT_SIZE, io->read_data); + if (readed > (buf_size - MINIMP3_ID3_DETECT_SIZE)) + return MP3D_E_IOERROR; + filled += readed; + } + if (filled < MINIMP3_BUF_SIZE) + mp3dec_skip_id3v1(buf, &filled); + do + { + int free_format_bytes = 0, frame_size = 0, ret; + int i = mp3d_find_frame(buf + consumed, filled - consumed, &free_format_bytes, &frame_size); + if (i && !frame_size) + { + consumed += i; + continue; + } + if (!frame_size) + break; + const uint8_t *hdr = buf + consumed + i; + frame_info.channels = HDR_IS_MONO(hdr) ? 1 : 2; + frame_info.hz = hdr_sample_rate_hz(hdr); + frame_info.layer = 4 - HDR_GET_LAYER(hdr); + frame_info.bitrate_kbps = hdr_bitrate_kbps(hdr); + frame_info.frame_bytes = frame_size; + + readed += i; + if (callback) + { + if ((ret = callback(user_data, hdr, frame_size, free_format_bytes, filled - consumed, readed, &frame_info))) + return ret; + } + readed += frame_size; + consumed += i + frame_size; + if (!eof && filled - consumed < MINIMP3_BUF_SIZE) + { /* keep minimum 10 consecutive mp3 frames (~16KB) worst case */ + memmove(buf, buf + consumed, filled - consumed); + filled -= consumed; + consumed = 0; + size_t readed = io->read(buf + filled, buf_size - filled, io->read_data); + if (readed > (buf_size - filled)) + return MP3D_E_IOERROR; + if (readed != (buf_size - filled)) + eof = 1; + filled += readed; + if (eof) + mp3dec_skip_id3v1(buf, &filled); + } + } while (1); + return 0; +} + +static int mp3dec_load_index(void *user_data, const uint8_t *frame, int frame_size, int free_format_bytes, size_t buf_size, uint64_t offset, mp3dec_frame_info_t *info) +{ + mp3dec_frame_t *idx_frame; + mp3dec_ex_t *dec = (mp3dec_ex_t *)user_data; + if (!dec->index.frames && !dec->start_offset) + { /* detect VBR tag and try to avoid full scan */ + uint32_t frames; + int delay, padding; + dec->info = *info; + dec->start_offset = dec->offset = offset; + dec->end_offset = offset + buf_size; + dec->free_format_bytes = free_format_bytes; /* should not change */ + if (3 == dec->info.layer) + { + int ret = mp3dec_check_vbrtag(frame, frame_size, &frames, &delay, &padding); + if (ret) + dec->start_offset = dec->offset = offset + frame_size; + if (ret > 0) + { + padding *= info->channels; + dec->start_delay = dec->to_skip = delay*info->channels; + dec->samples = hdr_frame_samples(frame)*info->channels*(uint64_t)frames; + if (dec->samples >= (uint64_t)dec->start_delay) + dec->samples -= dec->start_delay; + if (padding > 0 && dec->samples >= (uint64_t)padding) + dec->samples -= padding; + dec->detected_samples = dec->samples; + dec->vbr_tag_found = 1; + return MP3D_E_USER; + } else if (ret < 0) + return 0; + } + } + if (dec->flags & MP3D_DO_NOT_SCAN) + return MP3D_E_USER; + if (dec->index.num_frames + 1 > dec->index.capacity) + { + if (!dec->index.capacity) + dec->index.capacity = 4096; + else + dec->index.capacity *= 2; + mp3dec_frame_t *alloc_buf = (mp3dec_frame_t *)realloc((void*)dec->index.frames, sizeof(mp3dec_frame_t)*dec->index.capacity); + if (!alloc_buf) + return MP3D_E_MEMORY; + dec->index.frames = alloc_buf; + } + idx_frame = &dec->index.frames[dec->index.num_frames++]; + idx_frame->offset = offset; + idx_frame->sample = dec->samples; + if (!dec->buffer_samples && dec->index.num_frames < 256) + { /* for some cutted mp3 frames, bit-reservoir not filled and decoding can't be started from first frames */ + /* try to decode up to 255 first frames till samples starts to decode */ + dec->buffer_samples = mp3dec_decode_frame(&dec->mp3d, frame, MINIMP3_MIN(buf_size, (size_t)INT_MAX), dec->buffer, info); + dec->samples += dec->buffer_samples*info->channels; + } else + dec->samples += hdr_frame_samples(frame)*info->channels; + return 0; +} + +int mp3dec_ex_open_buf(mp3dec_ex_t *dec, const uint8_t *buf, size_t buf_size, int flags) +{ + if (!dec || !buf || (size_t)-1 == buf_size || (flags & (~MP3D_FLAGS_MASK))) + return MP3D_E_PARAM; + memset(dec, 0, sizeof(*dec)); + dec->file.buffer = buf; + dec->file.size = buf_size; + dec->flags = flags; + mp3dec_init(&dec->mp3d); + int ret = mp3dec_iterate_buf(dec->file.buffer, dec->file.size, mp3dec_load_index, dec); + if (ret && MP3D_E_USER != ret) + return ret; + mp3dec_init(&dec->mp3d); + dec->buffer_samples = 0; + dec->indexes_built = !(dec->vbr_tag_found || (flags & MP3D_DO_NOT_SCAN)); + dec->flags &= (~MP3D_DO_NOT_SCAN); + return 0; +} + +#ifndef MINIMP3_SEEK_IDX_LINEAR_SEARCH +static size_t mp3dec_idx_binary_search(mp3dec_index_t *idx, uint64_t position) +{ + size_t end = idx->num_frames, start = 0, index = 0; + while (start <= end) + { + size_t mid = (start + end) / 2; + if (idx->frames[mid].sample >= position) + { /* move left side. */ + if (idx->frames[mid].sample == position) + return mid; + end = mid - 1; + } else + { /* move to right side */ + index = mid; + start = mid + 1; + if (start == idx->num_frames) + break; + } + } + return index; +} +#endif + +int mp3dec_ex_seek(mp3dec_ex_t *dec, uint64_t position) +{ + size_t i; + if (!dec) + return MP3D_E_PARAM; + if (!(dec->flags & MP3D_SEEK_TO_SAMPLE)) + { + if (dec->io) + { + dec->offset = position; + } else + { + dec->offset = MINIMP3_MIN(position, dec->file.size); + } + dec->cur_sample = 0; + goto do_exit; + } + dec->cur_sample = position; + position += dec->start_delay; + if (0 == position) + { /* optimize seek to zero, no index needed */ +seek_zero: + dec->offset = dec->start_offset; + dec->to_skip = 0; + goto do_exit; + } + if (!dec->indexes_built) + { /* no index created yet (vbr tag used to calculate track length or MP3D_DO_NOT_SCAN open flag used) */ + dec->indexes_built = 1; + dec->samples = 0; + dec->buffer_samples = 0; + if (dec->io) + { + if (dec->io->seek(dec->start_offset, dec->io->seek_data)) + return MP3D_E_IOERROR; + int ret = mp3dec_iterate_cb(dec->io, (uint8_t *)dec->file.buffer, dec->file.size, mp3dec_load_index, dec); + if (ret && MP3D_E_USER != ret) + return ret; + } else + { + int ret = mp3dec_iterate_buf(dec->file.buffer + dec->start_offset, dec->file.size - dec->start_offset, mp3dec_load_index, dec); + if (ret && MP3D_E_USER != ret) + return ret; + } + for (i = 0; i < dec->index.num_frames; i++) + dec->index.frames[i].offset += dec->start_offset; + dec->samples = dec->detected_samples; + } + if (!dec->index.frames) + goto seek_zero; /* no frames in file - seek to zero */ +#ifdef MINIMP3_SEEK_IDX_LINEAR_SEARCH + for (i = 0; i < dec->index.num_frames; i++) + { + if (dec->index.frames[i].sample >= position) + break; + } +#else + i = mp3dec_idx_binary_search(&dec->index, position); +#endif + if (i) + { + int to_fill_bytes = 511; + int skip_frames = MINIMP3_PREDECODE_FRAMES +#ifdef MINIMP3_SEEK_IDX_LINEAR_SEARCH + + ((dec->index.frames[i].sample == position) ? 0 : 1) +#endif + ; + i -= MINIMP3_MIN(i, (size_t)skip_frames); + if (3 == dec->info.layer) + { + while (i && to_fill_bytes) + { /* make sure bit-reservoir is filled when we start decoding */ + bs_t bs[1]; + L3_gr_info_t gr_info[4]; + int frame_bytes, frame_size; + const uint8_t *hdr; + if (dec->io) + { + hdr = dec->file.buffer; + if (dec->io->seek(dec->index.frames[i - 1].offset, dec->io->seek_data)) + return MP3D_E_IOERROR; + size_t readed = dec->io->read((uint8_t *)hdr, HDR_SIZE, dec->io->read_data); + if (readed != HDR_SIZE) + return MP3D_E_IOERROR; + frame_size = hdr_frame_bytes(hdr, dec->free_format_bytes) + hdr_padding(hdr); + readed = dec->io->read((uint8_t *)hdr + HDR_SIZE, frame_size - HDR_SIZE, dec->io->read_data); + if (readed != (size_t)(frame_size - HDR_SIZE)) + return MP3D_E_IOERROR; + bs_init(bs, hdr + HDR_SIZE, frame_size - HDR_SIZE); + } else + { + hdr = dec->file.buffer + dec->index.frames[i - 1].offset; + frame_size = hdr_frame_bytes(hdr, dec->free_format_bytes) + hdr_padding(hdr); + bs_init(bs, hdr + HDR_SIZE, frame_size - HDR_SIZE); + } + if (HDR_IS_CRC(hdr)) + get_bits(bs, 16); + i--; + if (L3_read_side_info(bs, gr_info, hdr) < 0) + break; /* frame not decodable, we can start from here */ + frame_bytes = (bs->limit - bs->pos)/8; + to_fill_bytes -= MINIMP3_MIN(to_fill_bytes, frame_bytes); + } + } + } + dec->offset = dec->index.frames[i].offset; + dec->to_skip = position - dec->index.frames[i].sample; + while ((i + 1) < dec->index.num_frames && !dec->index.frames[i].sample && !dec->index.frames[i + 1].sample) + { /* skip not decodable first frames */ + const uint8_t *hdr; + if (dec->io) + { + hdr = dec->file.buffer; + if (dec->io->seek(dec->index.frames[i].offset, dec->io->seek_data)) + return MP3D_E_IOERROR; + size_t readed = dec->io->read((uint8_t *)hdr, HDR_SIZE, dec->io->read_data); + if (readed != HDR_SIZE) + return MP3D_E_IOERROR; + } else + hdr = dec->file.buffer + dec->index.frames[i].offset; + dec->to_skip += hdr_frame_samples(hdr)*dec->info.channels; + i++; + } +do_exit: + if (dec->io) + { + if (dec->io->seek(dec->offset, dec->io->seek_data)) + return MP3D_E_IOERROR; + } + dec->buffer_samples = 0; + dec->buffer_consumed = 0; + dec->input_consumed = 0; + dec->input_filled = 0; + dec->last_error = 0; + mp3dec_init(&dec->mp3d); + return 0; +} + +size_t mp3dec_ex_read_frame(mp3dec_ex_t *dec, mp3d_sample_t **buf, mp3dec_frame_info_t *frame_info, size_t max_samples) +{ + if (!dec || !buf || !frame_info) + { + if (dec) + dec->last_error = MP3D_E_PARAM; + return 0; + } + if (dec->detected_samples && dec->cur_sample >= dec->detected_samples) + return 0; /* at end of stream */ + if (dec->last_error) + return 0; /* error eof state, seek can reset it */ + *buf = NULL; + uint64_t end_offset = dec->end_offset ? dec->end_offset : dec->file.size; + int eof = 0; + while (dec->buffer_consumed == dec->buffer_samples) + { + const uint8_t *dec_buf; + if (dec->io) + { + if (!eof && (dec->input_filled - dec->input_consumed) < MINIMP3_BUF_SIZE) + { /* keep minimum 10 consecutive mp3 frames (~16KB) worst case */ + memmove((uint8_t*)dec->file.buffer, (uint8_t*)dec->file.buffer + dec->input_consumed, dec->input_filled - dec->input_consumed); + dec->input_filled -= dec->input_consumed; + dec->input_consumed = 0; + size_t readed = dec->io->read((uint8_t*)dec->file.buffer + dec->input_filled, dec->file.size - dec->input_filled, dec->io->read_data); + if (readed > (dec->file.size - dec->input_filled)) + { + dec->last_error = MP3D_E_IOERROR; + readed = 0; + } + if (readed != (dec->file.size - dec->input_filled)) + eof = 1; + dec->input_filled += readed; + if (eof) + mp3dec_skip_id3v1((uint8_t*)dec->file.buffer, &dec->input_filled); + } + dec_buf = dec->file.buffer + dec->input_consumed; + if (!(dec->input_filled - dec->input_consumed)) + return 0; + dec->buffer_samples = mp3dec_decode_frame(&dec->mp3d, dec_buf, dec->input_filled - dec->input_consumed, dec->buffer, frame_info); + dec->input_consumed += frame_info->frame_bytes; + } else + { + dec_buf = dec->file.buffer + dec->offset; + uint64_t buf_size = end_offset - dec->offset; + if (!buf_size) + return 0; + dec->buffer_samples = mp3dec_decode_frame(&dec->mp3d, dec_buf, MINIMP3_MIN(buf_size, (uint64_t)INT_MAX), dec->buffer, frame_info); + } + dec->buffer_consumed = 0; + if (dec->info.hz != frame_info->hz || dec->info.layer != frame_info->layer) + { +return_e_decode: + dec->last_error = MP3D_E_DECODE; + return 0; + } + if (dec->buffer_samples) + { + dec->buffer_samples *= frame_info->channels; + if (dec->to_skip) + { + size_t skip = MINIMP3_MIN(dec->buffer_samples, dec->to_skip); + dec->buffer_consumed += skip; + dec->to_skip -= skip; + } + if ( +#ifdef MINIMP3_ALLOW_MONO_STEREO_TRANSITION + !(dec->flags & MP3D_ALLOW_MONO_STEREO_TRANSITION) && +#endif + dec->buffer_consumed != dec->buffer_samples && dec->info.channels != frame_info->channels) + { + goto return_e_decode; + } + } else if (dec->to_skip) + { /* In mp3 decoding not always can start decode from any frame because of bit reservoir, + count skip samples for such frames */ + int frame_samples = hdr_frame_samples(dec_buf)*frame_info->channels; + dec->to_skip -= MINIMP3_MIN(frame_samples, dec->to_skip); + } + dec->offset += frame_info->frame_bytes; + } + size_t out_samples = MINIMP3_MIN((size_t)(dec->buffer_samples - dec->buffer_consumed), max_samples); + if (dec->detected_samples) + { /* count decoded samples to properly cut padding */ + if (dec->cur_sample + out_samples >= dec->detected_samples) + out_samples = dec->detected_samples - dec->cur_sample; + } + dec->cur_sample += out_samples; + *buf = dec->buffer + dec->buffer_consumed; + dec->buffer_consumed += out_samples; + return out_samples; +} + +size_t mp3dec_ex_read(mp3dec_ex_t *dec, mp3d_sample_t *buf, size_t samples) +{ + if (!dec || !buf) + { + if (dec) + dec->last_error = MP3D_E_PARAM; + return 0; + } + mp3dec_frame_info_t frame_info; + memset(&frame_info, 0, sizeof(frame_info)); + size_t samples_requested = samples; + while (samples) + { + mp3d_sample_t *buf_frame = NULL; + size_t read_samples = mp3dec_ex_read_frame(dec, &buf_frame, &frame_info, samples); + if (!read_samples) + { + break; + } + memcpy(buf, buf_frame, read_samples * sizeof(mp3d_sample_t)); + buf += read_samples; + samples -= read_samples; + } + return samples_requested - samples; +} + +int mp3dec_ex_open_cb(mp3dec_ex_t *dec, mp3dec_io_t *io, int flags) +{ + if (!dec || !io || (flags & (~MP3D_FLAGS_MASK))) + return MP3D_E_PARAM; + memset(dec, 0, sizeof(*dec)); +#ifdef MINIMP3_HAVE_RING + int ret; + if (ret = mp3dec_open_ring(&dec->file, MINIMP3_IO_SIZE)) + return ret; +#else + dec->file.size = MINIMP3_IO_SIZE; + dec->file.buffer = (const uint8_t*)malloc(dec->file.size); + if (!dec->file.buffer) + return MP3D_E_MEMORY; +#endif + dec->flags = flags; + dec->io = io; + mp3dec_init(&dec->mp3d); + if (io->seek(0, io->seek_data)) + return MP3D_E_IOERROR; + int ret = mp3dec_iterate_cb(io, (uint8_t *)dec->file.buffer, dec->file.size, mp3dec_load_index, dec); + if (ret && MP3D_E_USER != ret) + return ret; + if (dec->io->seek(dec->start_offset, dec->io->seek_data)) + return MP3D_E_IOERROR; + mp3dec_init(&dec->mp3d); + dec->buffer_samples = 0; + dec->indexes_built = !(dec->vbr_tag_found || (flags & MP3D_DO_NOT_SCAN)); + dec->flags &= (~MP3D_DO_NOT_SCAN); + return 0; +} + + +#ifndef MINIMP3_NO_STDIO + +#if defined(__linux__) || defined(__FreeBSD__) +#include +#include +#include +#include +#include +#include +#if !defined(_GNU_SOURCE) +#include +#include +#endif +#if !defined(MAP_POPULATE) && defined(__linux__) +#define MAP_POPULATE 0x08000 +#elif !defined(MAP_POPULATE) +#define MAP_POPULATE 0 +#endif + +static void mp3dec_close_file(mp3dec_map_info_t *map_info) +{ + if (map_info->buffer && MAP_FAILED != map_info->buffer) + munmap((void *)map_info->buffer, map_info->size); + map_info->buffer = 0; + map_info->size = 0; +} + +static int mp3dec_open_file(const char *file_name, mp3dec_map_info_t *map_info) +{ + if (!file_name) + return MP3D_E_PARAM; + int file; + struct stat st; + memset(map_info, 0, sizeof(*map_info)); +retry_open: + file = open(file_name, O_RDONLY); + if (file < 0 && (errno == EAGAIN || errno == EINTR)) + goto retry_open; + if (file < 0 || fstat(file, &st) < 0) + { + close(file); + return MP3D_E_IOERROR; + } + + map_info->size = st.st_size; +retry_mmap: + map_info->buffer = (const uint8_t *)mmap(NULL, st.st_size, PROT_READ, MAP_PRIVATE | MAP_POPULATE, file, 0); + if (MAP_FAILED == map_info->buffer && (errno == EAGAIN || errno == EINTR)) + goto retry_mmap; + close(file); + if (MAP_FAILED == map_info->buffer) + return MP3D_E_IOERROR; + return 0; +} + +#if MINIMP3_ENABLE_RING && defined(__linux__) && defined(_GNU_SOURCE) +#define MINIMP3_HAVE_RING +static void mp3dec_close_ring(mp3dec_map_info_t *map_info) +{ +#if defined(__linux__) && defined(_GNU_SOURCE) + if (map_info->buffer && MAP_FAILED != map_info->buffer) + munmap((void *)map_info->buffer, map_info->size*2); +#else + if (map_info->buffer) + { + shmdt(map_info->buffer); + shmdt(map_info->buffer + map_info->size); + } +#endif + map_info->buffer = 0; + map_info->size = 0; +} + +static int mp3dec_open_ring(mp3dec_map_info_t *map_info, size_t size) +{ + int memfd, page_size; +#if defined(__linux__) && defined(_GNU_SOURCE) + void *buffer; + int res; +#endif + memset(map_info, 0, sizeof(*map_info)); + +#ifdef _SC_PAGESIZE + page_size = sysconf(_SC_PAGESIZE); +#else + page_size = getpagesize(); +#endif + map_info->size = (size + page_size - 1)/page_size*page_size; + +#if defined(__linux__) && defined(_GNU_SOURCE) + memfd = memfd_create("mp3_ring", 0); + if (memfd < 0) + return MP3D_E_MEMORY; + +retry_ftruncate: + res = ftruncate(memfd, map_info->size); + if (res && (errno == EAGAIN || errno == EINTR)) + goto retry_ftruncate; + if (res) + goto error; + +retry_mmap: + map_info->buffer = (const uint8_t *)mmap(NULL, map_info->size*2, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); + if (MAP_FAILED == map_info->buffer && (errno == EAGAIN || errno == EINTR)) + goto retry_mmap; + if (MAP_FAILED == map_info->buffer || !map_info->buffer) + goto error; +retry_mmap2: + buffer = mmap((void *)map_info->buffer, map_info->size, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, memfd, 0); + if (MAP_FAILED == map_info->buffer && (errno == EAGAIN || errno == EINTR)) + goto retry_mmap2; + if (MAP_FAILED == map_info->buffer || buffer != (void *)map_info->buffer) + goto error; +retry_mmap3: + buffer = mmap((void *)map_info->buffer + map_info->size, map_info->size, PROT_READ | PROT_WRITE, MAP_FIXED | MAP_SHARED, memfd, 0); + if (MAP_FAILED == map_info->buffer && (errno == EAGAIN || errno == EINTR)) + goto retry_mmap3; + if (MAP_FAILED == map_info->buffer || buffer != (void *)(map_info->buffer + map_info->size)) + goto error; + + close(memfd); + return 0; +error: + close(memfd); + mp3dec_close_ring(map_info); + return MP3D_E_MEMORY; +#else + memfd = shmget(IPC_PRIVATE, map_info->size, IPC_CREAT | 0700); + if (memfd < 0) + return MP3D_E_MEMORY; +retry_mmap: + map_info->buffer = (const uint8_t *)mmap(NULL, map_info->size*2, PROT_NONE, MAP_PRIVATE, -1, 0); + if (MAP_FAILED == map_info->buffer && (errno == EAGAIN || errno == EINTR)) + goto retry_mmap; + if (MAP_FAILED == map_info->buffer) + goto error; + if (map_info->buffer != shmat(memfd, map_info->buffer, 0)) + goto error; + if ((map_info->buffer + map_info->size) != shmat(memfd, map_info->buffer + map_info->size, 0)) + goto error; + if (shmctl(memfd, IPC_RMID, NULL) < 0) + return MP3D_E_MEMORY; + return 0; +error: + shmctl(memfd, IPC_RMID, NULL); + mp3dec_close_ring(map_info); + return MP3D_E_MEMORY; +#endif +} +#endif /*MINIMP3_ENABLE_RING*/ +#elif defined(_WIN32) +#include + +static void mp3dec_close_file(mp3dec_map_info_t *map_info) +{ + if (map_info->buffer) + UnmapViewOfFile(map_info->buffer); + map_info->buffer = 0; + map_info->size = 0; +} + +static int mp3dec_open_file_h(HANDLE file, mp3dec_map_info_t *map_info) +{ + memset(map_info, 0, sizeof(*map_info)); + + HANDLE mapping = NULL; + LARGE_INTEGER s; + s.LowPart = GetFileSize(file, (DWORD*)&s.HighPart); + if (s.LowPart == INVALID_FILE_SIZE && GetLastError() != NO_ERROR) + goto error; + map_info->size = s.QuadPart; + + mapping = CreateFileMapping(file, NULL, PAGE_READONLY, 0, 0, NULL); + if (!mapping) + goto error; + map_info->buffer = (const uint8_t*)MapViewOfFile(mapping, FILE_MAP_READ, 0, 0, s.QuadPart); + CloseHandle(mapping); + if (!map_info->buffer) + goto error; + + CloseHandle(file); + return 0; +error: + mp3dec_close_file(map_info); + CloseHandle(file); + return MP3D_E_IOERROR; +} + +static int mp3dec_open_file(const char *file_name, mp3dec_map_info_t *map_info) +{ + if (!file_name) + return MP3D_E_PARAM; + HANDLE file = CreateFileA(file_name, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + if (INVALID_HANDLE_VALUE == file) + return MP3D_E_IOERROR; + return mp3dec_open_file_h(file, map_info); +} + +static int mp3dec_open_file_w(const wchar_t *file_name, mp3dec_map_info_t *map_info) +{ + if (!file_name) + return MP3D_E_PARAM; + HANDLE file = CreateFileW(file_name, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0); + if (INVALID_HANDLE_VALUE == file) + return MP3D_E_IOERROR; + return mp3dec_open_file_h(file, map_info); +} +#else +#include + +static void mp3dec_close_file(mp3dec_map_info_t *map_info) +{ + if (map_info->buffer) + free((void *)map_info->buffer); + map_info->buffer = 0; + map_info->size = 0; +} + +static int mp3dec_open_file(const char *file_name, mp3dec_map_info_t *map_info) +{ + if (!file_name) + return MP3D_E_PARAM; + memset(map_info, 0, sizeof(*map_info)); + FILE *file = fopen(file_name, "rb"); + if (!file) + return MP3D_E_IOERROR; + int res = MP3D_E_IOERROR; + long size = -1; + if (fseek(file, 0, SEEK_END)) + goto error; + size = ftell(file); + if (size < 0) + goto error; + map_info->size = (size_t)size; + if (fseek(file, 0, SEEK_SET)) + goto error; + map_info->buffer = (uint8_t *)malloc(map_info->size); + if (!map_info->buffer) + { + res = MP3D_E_MEMORY; + goto error; + } + if (fread((void *)map_info->buffer, 1, map_info->size, file) != map_info->size) + goto error; + fclose(file); + return 0; +error: + mp3dec_close_file(map_info); + fclose(file); + return res; +} +#endif + +static int mp3dec_detect_mapinfo(mp3dec_map_info_t *map_info) +{ + int ret = mp3dec_detect_buf(map_info->buffer, map_info->size); + mp3dec_close_file(map_info); + return ret; +} + +static int mp3dec_load_mapinfo(mp3dec_t *dec, mp3dec_map_info_t *map_info, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data) +{ + int ret = mp3dec_load_buf(dec, map_info->buffer, map_info->size, info, progress_cb, user_data); + mp3dec_close_file(map_info); + return ret; +} + +static int mp3dec_iterate_mapinfo(mp3dec_map_info_t *map_info, MP3D_ITERATE_CB callback, void *user_data) +{ + int ret = mp3dec_iterate_buf(map_info->buffer, map_info->size, callback, user_data); + mp3dec_close_file(map_info); + return ret; +} + +static int mp3dec_ex_open_mapinfo(mp3dec_ex_t *dec, int flags) +{ + int ret = mp3dec_ex_open_buf(dec, dec->file.buffer, dec->file.size, flags); + dec->is_file = 1; + if (ret) + mp3dec_ex_close(dec); + return ret; +} + +int mp3dec_detect(const char *file_name) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file(file_name, &map_info))) + return ret; + return mp3dec_detect_mapinfo(&map_info); +} + +int mp3dec_load(mp3dec_t *dec, const char *file_name, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file(file_name, &map_info))) + return ret; + return mp3dec_load_mapinfo(dec, &map_info, info, progress_cb, user_data); +} + +int mp3dec_iterate(const char *file_name, MP3D_ITERATE_CB callback, void *user_data) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file(file_name, &map_info))) + return ret; + return mp3dec_iterate_mapinfo(&map_info, callback, user_data); +} + +int mp3dec_ex_open(mp3dec_ex_t *dec, const char *file_name, int flags) +{ + int ret; + if (!dec) + return MP3D_E_PARAM; + if ((ret = mp3dec_open_file(file_name, &dec->file))) + return ret; + return mp3dec_ex_open_mapinfo(dec, flags); +} + +void mp3dec_ex_close(mp3dec_ex_t *dec) +{ +#ifdef MINIMP3_HAVE_RING + if (dec->io) + mp3dec_close_ring(&dec->file); +#else + if (dec->io && dec->file.buffer) + free((void*)dec->file.buffer); +#endif + if (dec->is_file) + mp3dec_close_file(&dec->file); + if (dec->index.frames) + free(dec->index.frames); + memset(dec, 0, sizeof(*dec)); +} + +#ifdef _WIN32 +int mp3dec_detect_w(const wchar_t *file_name) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file_w(file_name, &map_info))) + return ret; + return mp3dec_detect_mapinfo(&map_info); +} + +int mp3dec_load_w(mp3dec_t *dec, const wchar_t *file_name, mp3dec_file_info_t *info, MP3D_PROGRESS_CB progress_cb, void *user_data) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file_w(file_name, &map_info))) + return ret; + return mp3dec_load_mapinfo(dec, &map_info, info, progress_cb, user_data); +} + +int mp3dec_iterate_w(const wchar_t *file_name, MP3D_ITERATE_CB callback, void *user_data) +{ + int ret; + mp3dec_map_info_t map_info; + if ((ret = mp3dec_open_file_w(file_name, &map_info))) + return ret; + return mp3dec_iterate_mapinfo(&map_info, callback, user_data); +} + +int mp3dec_ex_open_w(mp3dec_ex_t *dec, const wchar_t *file_name, int flags) +{ + int ret; + if ((ret = mp3dec_open_file_w(file_name, &dec->file))) + return ret; + return mp3dec_ex_open_mapinfo(dec, flags); +} +#endif +#else /* MINIMP3_NO_STDIO */ +void mp3dec_ex_close(mp3dec_ex_t *dec) +{ +#ifdef MINIMP3_HAVE_RING + if (dec->io) + mp3dec_close_ring(&dec->file); +#else + if (dec->io && dec->file.buffer) + free((void*)dec->file.buffer); +#endif + if (dec->index.frames) + free(dec->index.frames); + memset(dec, 0, sizeof(*dec)); +} +#endif + +#endif /* MINIMP3_IMPLEMENTATION && !_MINIMP3_EX_IMPLEMENTATION_GUARD */ diff --git a/src/Editor.c b/src/Editor.c index 1265edad..2ce8d872 100644 --- a/src/Editor.c +++ b/src/Editor.c @@ -1,12 +1,4 @@ #include "Editor.h" -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" -#endif -#include -#ifdef __clang__ -#pragma clang diagnostic pop -#endif #include #include #include @@ -282,11 +274,6 @@ void Editor_create(void) { Dialog_showError(TEXT("Unable to create listener. Make sure no other program is using port 1338")); } - if (!BASS_Init(0, 44100, 0, 0, NULL)) { - Dialog_showError(TEXT("Unable to create init BASS. No music loading will be usable.")); - s_editorData.canDecodeMusic = 0; - } - s_editorData.trackViewInfo.smallFontId = id; s_editorData.trackData.startRow = 0; s_editorData.trackData.endRow = 10000; @@ -932,7 +919,7 @@ static void onLoadMusic(void) { memset(path, 0, sizeof(path)); if (!s_editorData.canDecodeMusic) { - Dialog_showError(TEXT("Unable to load music as BASS failed to init.")); + Dialog_showError(TEXT("Unable to load music: audio decoder not available.")); return; } diff --git a/src/MusicDecode.c b/src/MusicDecode.c index 185497fe..841e89eb 100644 --- a/src/MusicDecode.c +++ b/src/MusicDecode.c @@ -1,179 +1,228 @@ -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" -#endif -#include -#ifdef __clang__ -#pragma clang diagnostic pop -#endif +/* + * Audio spectrum generation for RocketEditor + * Uses minimp3+kissfft for MP3 decoding and FFT + */ + #include #include #include +#include #include #include "Dialog.h" #include "TrackData.h" -static mtx_t s_mutex; - -typedef struct ThreadFuncData { - HSTREAM stream; - MusicData* data; -} ThreadFuncData; - -// This code has in many parts been ported to C from this code under the MIT licence. -// https://github.com/framefield/tooll/blob/master/Tooll/Components/Helper/GenerateSoundImage.cs -// Copyright (c) 2016 Framefield. All rights reserved. - -int decodeFunc(void* inData) { - int a, b, r, g, i; - // short waveData[8 * 1024]; - unsigned int* fftPtr; - unsigned int* fftOutput; - float fftData[1024]; - // double timeInSec = 0.0; - const float maxIntensity = 500 * 2; - const int COLOR_STEPS = 255; - const int PALETTE_SIZE = 3 * COLOR_STEPS; - const int spectrumLength = 1024; - ThreadFuncData* threadData = (ThreadFuncData*)inData; - unsigned int colors[255 * 3]; - int imageHeight = 128; - HSTREAM chan = threadData->stream; - MusicData* data = threadData->data; - float percentDone = 1.0f; - float step = 0.0f; - - mtx_lock(&s_mutex); - - const int SAMPLING_FREQUENCY = 100; // warning: in TimelineImage this samplingfrequency is assumed to be 100 - const double SAMPLING_RESOLUTION = 1.0 / SAMPLING_FREQUENCY; - - QWORD sampleLength = BASS_ChannelSeconds2Bytes(chan, SAMPLING_RESOLUTION); - int numSamples = (int)((double)BASS_ChannelGetLength(chan, BASS_POS_BYTE) / (double)sampleLength); - - // printf("Num samples %d\n", (int)sampleLength); - // printf("Num samples %d\n", numSamples); - - BASS_ChannelPlay(chan, 0); - - int j_table[128]; - int pj_table[128]; - int nj_table[128]; - - // TODO: Size optimize? +#define MINIMP3_IMPLEMENTATION +#define MINIMP3_FLOAT_OUTPUT +#include "minimp3_ex.h" +#include "kiss_fft.h" - data->sampleCount = numSamples; +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Common constants and types - fftPtr = fftOutput = (unsigned int*)malloc(128 * 4 * (numSamples + 1)); +#define FFT_SIZE 2048 +#define SPECTRUM_LENGTH 1024 +#define IMAGE_HEIGHT 128 +#define SAMPLING_FREQUENCY 100 +#define COLOR_STEPS 255 +#define PALETTE_SIZE (3 * COLOR_STEPS) - // const int spectrumLength = 1024; - // const int imageHeight = 256; +static mtx_t s_mutex; - // var spectrumImage = new Bitmap((int)numSamples, imageHeight); - // var volumeImage = new Bitmap((int)numSamples, imageHeight); +typedef struct SpectrumContext { + unsigned int colors[PALETTE_SIZE]; + int j_table[IMAGE_HEIGHT]; + int pj_table[IMAGE_HEIGHT]; + int nj_table[IMAGE_HEIGHT]; + float f2; + float maxIntensity; +} SpectrumContext; - // s_editorData.waveViewSize = 128; - // s_editorData.trackViewInfo.windowSizeX -= s_editorData.waveViewSize; +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Shared spectrum generation code - // timeInSec =(DWORD)BASS_ChannelBytes2Seconds(chan, len); - // printf(" %u:%02u\n", (int)timeInSec / 60, (int)timeInSec % 60); +static void init_spectrum_context(SpectrumContext* ctx) { + ctx->maxIntensity = 500 * 2; + ctx->f2 = (float)((PALETTE_SIZE - 1) / log(ctx->maxIntensity + 1)); - for (i = 0; i < PALETTE_SIZE; ++i) { - a = 255; + // Build color palette + for (int i = 0; i < PALETTE_SIZE; ++i) { + int a = 255; if (i < PALETTE_SIZE * 0.666f) a = (int)(i * 255 / (PALETTE_SIZE * 0.666f)); - b = 0; + int b = 0; if (i < PALETTE_SIZE * 0.333f) b = i; else if (i < PALETTE_SIZE * 0.666f) b = -i + 510; - r = 0; + int r = 0; if (i > PALETTE_SIZE * 0.666f) r = 255; else if (i > PALETTE_SIZE * 0.333f) r = i - 255; - g = 0; + int g = 0; if (i > PALETTE_SIZE * 0.666f) g = i - 510; - colors[i] = Emgui_color32((uint8_t)r, (uint8_t)g, (uint8_t)b, (uint8_t)a); + ctx->colors[i] = Emgui_color32((uint8_t)r, (uint8_t)g, (uint8_t)b, (uint8_t)a); } - float f = (float)(spectrumLength / log((float)(imageHeight + 1))); - float f2 = (float)((PALETTE_SIZE - 1) / log(maxIntensity + 1)); + // Build log lookup tables + float f = (float)(SPECTRUM_LENGTH / log((float)(IMAGE_HEIGHT + 1))); + for (int i = 0; i < IMAGE_HEIGHT; ++i) { + int j_ = (int)(f * log(i + 1)); + int pj_ = (int)(i > 0 ? f * log(i - 1 + 1) : j_); + int nj_ = (int)(i < IMAGE_HEIGHT - 1 ? f * log(i + 1 + 1) : j_); - (void)f2; + ctx->j_table[i] = j_; + ctx->pj_table[i] = pj_; + ctx->nj_table[i] = nj_; + } +} - for (int rowIndex = 0; rowIndex < imageHeight; ++rowIndex) { - int j_ = (int)(f * log(rowIndex + 1)); - int pj_ = (int)(rowIndex > 0 ? f * log(rowIndex - 1 + 1) : j_); - int nj_ = (int)(rowIndex < imageHeight - 1 ? f * log(rowIndex + 1 + 1) : j_); +static void generate_spectrum_column(const SpectrumContext* ctx, const float* fftData, unsigned int* output) { + for (int row = 0; row < IMAGE_HEIGHT; ++row) { + int j_ = ctx->j_table[(IMAGE_HEIGHT - row) - 1]; + int pj_ = ctx->pj_table[(IMAGE_HEIGHT - row) - 1]; + int nj_ = ctx->nj_table[(IMAGE_HEIGHT - row) - 1]; - j_table[rowIndex] = j_; - pj_table[rowIndex] = pj_; - nj_table[rowIndex] = nj_; + float intensity = 125.0f * 4.0f * fftData[SPECTRUM_LENGTH - pj_ - 1] + + 750.0f * 4.0f * fftData[SPECTRUM_LENGTH - j_ - 1] + + 125.0f * 4.0f * fftData[SPECTRUM_LENGTH - nj_ - 1]; + + if (intensity > ctx->maxIntensity) + intensity = ctx->maxIntensity; + if (intensity < 0.0f) + intensity = 0.0f; + + int palettePos = (int)(ctx->f2 * log(intensity + 1)); + output[row] = ctx->colors[palettePos]; } +} - step = (float)(99.0f / numSamples); - percentDone = 1.0f; +/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - for (int sampleIndex = 0; sampleIndex < numSamples; ++sampleIndex) { - BASS_ChannelSetPosition(chan, sampleIndex * sampleLength, BASS_POS_BYTE); - BASS_ChannelGetData(chan, fftData, BASS_DATA_FFT2048); +typedef struct ThreadFuncData { + text_t* path; + MusicData* data; +} ThreadFuncData; - data->percentDone = (int)(percentDone); +static void compute_fft(const float* input, float* output, int n, kiss_fft_cfg cfg) { + kiss_fft_cpx* fft_in = malloc(n * sizeof(kiss_fft_cpx)); + kiss_fft_cpx* fft_out = malloc(n * sizeof(kiss_fft_cpx)); + + // Apply Hann window + for (int i = 0; i < n; i++) { + float window = 0.5f * (1.0f - cosf(2.0f * 3.14159265f * i / n)); + fft_in[i].r = input[i] * window; + fft_in[i].i = 0.0f; + } + + kiss_fft(cfg, fft_in, fft_out); + + // Normalize FFT output to 0-1 range + float scale = 4.0f / n; + for (int i = 0; i < n / 2; i++) { + float mag = sqrtf(fft_out[i].r * fft_out[i].r + fft_out[i].i * fft_out[i].i); + output[i] = mag * scale; + } + + free(fft_in); + free(fft_out); +} + +int decodeFunc(void* inData) { + ThreadFuncData* threadData = (ThreadFuncData*)inData; + MusicData* data = threadData->data; + + mtx_lock(&s_mutex); + + // Open MP3 file + mp3dec_ex_t dec; +#ifdef _WIN32 + char utf8_path[2048]; + WideCharToMultiByte(CP_UTF8, 0, threadData->path, -1, utf8_path, sizeof(utf8_path), NULL, NULL); + if (mp3dec_ex_open(&dec, utf8_path, MP3D_SEEK_TO_SAMPLE)) { +#else + if (mp3dec_ex_open(&dec, threadData->path, MP3D_SEEK_TO_SAMPLE)) { +#endif + Dialog_showError(TEXT("Unable to decode MP3 file. No music data will be available.")); + free(threadData); + mtx_unlock(&s_mutex); + return 0; + } + + int sample_rate = dec.info.hz; + int channels = dec.info.channels; + size_t total_samples = dec.samples; - // printf("%d/%d\n", sampleIndex, numSamples); + // Decode entire file to mono + float* pcm = malloc((total_samples / channels) * sizeof(float)); + mp3d_sample_t* temp = malloc(total_samples * sizeof(mp3d_sample_t)); - for (int rowIndex = 0; rowIndex < imageHeight; ++rowIndex) { - // int j_ = (int)(f * log(rowIndex + 1)); - // int pj_ = (int)(rowIndex > 0 ? f * log(rowIndex - 1 + 1) : j_); - // int nj_ = (int)(rowIndex < imageHeight - 1 ? f * log(rowIndex + 1 + 1) : j_); + size_t read = mp3dec_ex_read(&dec, temp, total_samples); + size_t mono_count = read / channels; - int j_ = j_table[(imageHeight - rowIndex) - 1]; - int pj_ = pj_table[(imageHeight - rowIndex) - 1]; - int nj_ = nj_table[(imageHeight - rowIndex) - 1]; + for (size_t s = 0; s < mono_count; s++) { + float sum = 0.0f; + for (int ch = 0; ch < channels; ch++) { + sum += temp[s * channels + ch]; + } + pcm[s] = sum / channels; + } + free(temp); + mp3dec_ex_close(&dec); - // printf("index %d - %d %d %d\n", rowIndex, j_, pj_, nj_); + int samples_per_window = sample_rate / SAMPLING_FREQUENCY; + double duration = (double)mono_count / sample_rate; + int numSamples = (int)(duration * SAMPLING_FREQUENCY); - float intensity = 125.0f * 4.0f * fftData[spectrumLength - pj_ - 1] + - 750.0f * 4.0f * fftData[spectrumLength - j_ - 1] + - 125.0f * 4.0f * fftData[spectrumLength - nj_ - 1]; - if (intensity > maxIntensity) - intensity = maxIntensity; + data->sampleCount = numSamples; - if (intensity < 0.0f) - intensity = 0.0f; + // Initialize spectrum generation + SpectrumContext ctx; + init_spectrum_context(&ctx); - int palettePos = (int)(f2 * log(intensity + 1)); + unsigned int* fftPtr = malloc(IMAGE_HEIGHT * 4 * (numSamples + 1)); + unsigned int* fftOutput = fftPtr; + float fftData[SPECTRUM_LENGTH]; + float* fft_input = malloc(FFT_SIZE * sizeof(float)); + kiss_fft_cfg fft_cfg = kiss_fft_alloc(FFT_SIZE, 0, NULL, NULL); - *fftOutput++ = colors[palettePos]; + float step = 99.0f / numSamples; + float percentDone = 1.0f; + + for (int sampleIndex = 0; sampleIndex < numSamples; ++sampleIndex) { + size_t start = (size_t)sampleIndex * samples_per_window; + + for (int j = 0; j < FFT_SIZE; j++) { + size_t idx = start + j; + fft_input[j] = (idx < mono_count) ? pcm[idx] : 0.0f; } + compute_fft(fft_input, fftData, FFT_SIZE, fft_cfg); + generate_spectrum_column(&ctx, fftData, fftOutput); + fftOutput += IMAGE_HEIGHT; + + data->percentDone = (int)(percentDone); percentDone += step; } - BASS_StreamFree(chan); - + kiss_fft_free(fft_cfg); + free(fft_input); + free(pcm); free(threadData); data->percentDone = 100; data->fftData = fftPtr; mtx_unlock(&s_mutex); - - // printf("thread done\n"); - return 1; } -/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - int Music_decode(text_t* path, MusicData* data) { - QWORD len; thrd_t id; if (thrd_busy == mtx_trylock(&s_mutex)) { @@ -181,43 +230,16 @@ int Music_decode(text_t* path, MusicData* data) { return 1; } - // now this will break if we already have a thread running. - free(data->fftData); data->fftData = 0; - int flags = BASS_STREAM_DECODE | BASS_SAMPLE_MONO | BASS_POS_SCAN; - -#ifdef _WIN32 - flags |= BASS_UNICODE; -#endif - - HSTREAM chan = BASS_StreamCreateFile(0, path, 0, 0, flags); - - if (!chan) { - Dialog_showError(TEXT("Unable to open stream for decode. No music data will be available.")); - mtx_unlock(&s_mutex); - return 0; - } - - len = BASS_ChannelGetLength(chan, BASS_POS_BYTE); - - if (len == -1) { - Dialog_showError(TEXT("Stream has no length. No music data will be available.")); - BASS_StreamFree(chan); - mtx_unlock(&s_mutex); - return 0; - } - ThreadFuncData* threadData = malloc(sizeof(ThreadFuncData)); - threadData->stream = chan; + threadData->path = path; threadData->data = data; data->percentDone = 1; data->fftData = 0; - // So there is a race-condition here as the mutex is unclocked while the thread is crated but in practice - // this won't be a problem mtx_unlock(&s_mutex); if (thrd_create(&id, decodeFunc, threadData) != thrd_success) {