Commit Graph

1690 Commits

Author SHA1 Message Date
bnnm
5be6d14b4c Prepare RIFF/FSB5/SXD/UBI_RAKI/WWISE/XVAG/GTD for ATRAC9 2017-12-28 23:37:18 +01:00
bnnm
7e48a38385 Add more HCS keys 2017-12-28 19:13:20 +01:00
soneek
b3e796885b Updated KTSS interleave layout for current vgmstream 2017-12-27 00:38:25 -05:00
soneek
160a13dff9 Support for tri-Ace mobile vorbis AAC, support for KTSS 2017-12-27 00:14:50 -05:00
bnnm
8538aa1a75 Rename at3_decoder.c to at3plus_decoder.c and add init function 2017-12-27 01:02:24 +01:00
bnnm
002de7efe0 Clean RIFF parser for future changes
- move blocks around so it's easier to init codecs
- removed .SGB with FFMpeg is disabled, should't be needed
- remove references to MSIMA/MSADPCM/etc in RIFX, num_samples was only
filled for PCM so any other codec would fail (most other RIFX should be
wwise)
2017-12-27 00:43:52 +01:00
bnnm
ae71256c68 Fix ms_ima_bytes_to_samples when last block is shorter than frame 2017-12-26 18:18:41 +01:00
bnnm
331bc187fa Move XNB from riff.c to xnb.c (cleanup) 2017-12-26 18:17:59 +01:00
Daniel Richard G
bc45567208 Various updates to the Autotools build system:
Makefile.audacious.am:

* Add test/ subdirectory to the Autotools build

* Add version.h to EXTRA_DIST so that "make distcheck" passes

audacious/Makefile.audacious.am:

* Install Audacious plug-in into the appropriate directory

* No need to include CXXFLAGS in AM_CXXFLAGS, as the former is already
  included in the compiler invocation

configure.ac:

* Need to link to libvorbis in order for static-library builds
  (--disable-shared) to link correctly

* Only add GCC-specific compiler flags if GCC is detected

* Tightened up the GCC warning flags

* Don't set LIBS, so that different targets can link against different
  libraries

* Generate makefile for test/ subdirectory

src/Makefile.audacious.am:

* Install libvgmstream into the library directory

* Removed GCC-specific flag from AM_CFLAGS

* No need to include CFLAGS in AM_CFLAGS, as the former is already
  included in the compiler invocation

* Add libvgmstream dependencies via LIBADD instead of global LIBS var

test/Makefile.audacious.am:

* New makefile template for test/ subdirectory

unbootstrap:

* Also remove "compile" script from bootstrap
2017-12-25 22:18:55 -05:00
bnnm
69644716d7 Improve SCHl: fix EOF/video blocks/SHEN audio, fix num_samples bugs 2017-12-24 01:49:51 +01:00
bnnm
12aa4ef7ef Improve 1SNh: add mu-Law, fix video blocks/SEAD audio, fix some IMA 2017-12-24 01:48:26 +01:00
bnnm
2f9c16ae9b Add mu-Law with internal interleave decoder
This is needed for blocked layout, as it can't do normal interleave.
Probably could be fixed in the future to remove several superfluous
_int/block decoders
2017-12-24 01:39:24 +01:00
bnnm
98c5f0a65d Fix EA-XMA in .SPS 2017-12-24 01:32:20 +01:00
bnnm
bf31573204 Fix minor bytes-to-samples round error in some IMA formats 2017-12-24 01:31:43 +01:00
bnnm
dd978dc5f4 Remove unnecessary SCD sample rate fix 2017-12-17 19:46:41 +01:00
bnnm
a3b991ac3f Modify SCD/P3D/FSB/XVAG interleave and fix short last interleave
Previously, the streams' offsets needed to be pre-adjusted with the
interleave; now assumes all streams start in the same offset (first
stream).
This simplifies short last interleaves (SCD/P3D) and makes
layout_mpeg_custom unnecessary (also allows theoretical variable-sized
interleaves).
2017-12-17 19:25:10 +01:00
bnnm
bd88cc2a65 Minor comments/SPS block adjust 2017-12-17 17:38:54 +01:00
bnnm
aa72a055c1 Add/change .opus to .lopus 2017-12-17 16:44:31 +01:00
bnnm
ea7c37ef8a Add ADX/HCS keys 2017-12-17 16:40:16 +01:00
bnnm
b65765a56e Fix multistream MPEG SCD [Final Fantaxy XIII-2 (PS3)] 2017-12-17 16:39:36 +01:00
bxaimc
a8369ed21b Modified a header check to reduce some -pickiness- which rejected some playable EALayer3 files 2017-12-14 19:48:54 -05:00
bxaimc
7f389157d1 Merge branch 'master' of git://github.com/kode54/vgmstream 2017-12-14 19:23:41 -05:00
Christopher Snowhill
2c5257522b Disable .opus extension. 2017-12-13 16:15:54 -08:00
bxaimc
d09ac8fdae Add type 3 GCM/IDSP variant for Lego LOTR (Wii) 2017-12-11 17:58:57 -05:00
bxaimc
0db009b3e6 Add Harmonix Music Systems MOGG Vorbis 2017-12-10 20:30:00 -05:00
Christopher Snowhill
93685b0c8f Simplify interleave handler, safe for mono files as well. 2017-12-09 14:13:25 -08:00
bnnm
d086f933af Update VC project files 2017-12-09 19:10:53 +01:00
bnnm
cc8256d178 Fix some VAWX multichannel files 2017-12-09 19:01:36 +01:00
bnnm
cb646cfbde Add VAGp .vig [MX vs. ATV Untamed (PS2)] 2017-12-09 17:57:18 +01:00
bnnm
765af1994a Move bitstream reader to coding_utils 2017-12-09 17:06:21 +01:00
bnnm
ecf01351cb Ignore A2M .int 2017-12-09 17:03:23 +01:00
bnnm
59cef16a2c Add TXTH "half_size" interleave + SDF/BD3 exts 2017-12-09 12:23:19 +01:00
bnnm
b5da881a44 Remove thpNextFrameSize and use full_block_size instead 2017-12-08 01:20:09 +01:00
bnnm
d0c44be330 Fix some VXN PCM 2017-12-08 00:17:42 +01:00
bnnm
0e389ae74f Fix some Ubi bank types 2017-12-07 23:54:05 +01:00
bnnm
d341a267d1 Add Orbis PCM 2017-12-07 23:38:00 +01:00
bnnm
666d47ef84 Remove layout_interleave_byte as NGC_DSP_subint is used instead
The layout was designed to do subframe deinterleave (when
less-than-a-frame bytes of each channel are interleaved) in an array and
pass it to "mem" decoders.

In practice this only happens in a handful of formats, was only used
with DSP, and since making "mem" decoders is required it's simpler to
make normal decoders handling the byte layout directly.

In an effort to simplify vgmstream's layouts, code, and other esoteric
features I changed the old decode_ngc_dsp_mem for decode_ngc_dsp_subint;
results are byte-exact.
2017-12-06 21:12:42 +01:00
bnnm
8f9b22d46f Change layout_interleave_byte with coding_NGC_DSP_subint
Meant to simplify layouts
2017-12-06 21:04:34 +01:00
bnnm
98b4f8c5b1 Add NGC DSP subinterleave decoder
Meant to replace layout_interleave_byte
2017-12-06 21:04:04 +01:00
bnnm
9c3adeba8f Fix detection of SNR with data [NHL 2013 iOS] 2017-12-06 20:20:58 +01:00
bnnm
d0ecf37458 Move .XA2 RRP to its own file for consistency/clarity 2017-12-06 18:16:03 +01:00
bnnm
165c815d12 Move .VSF SMSS to its own file for consistency/clarity 2017-12-06 18:11:37 +01:00
bnnm
6b3c365480 Move .OMU to its own file for consistency/clarity 2017-12-06 18:07:17 +01:00
bnnm
8592aeea3d Add .RSM extension (Bully PS2) 2017-12-06 17:35:59 +01:00
bnnm
10aac03cd5 Add ADX keystring 2017-12-06 17:10:49 +01:00
bnnm
53698db7c3 Add vgmstream_force_loop, comments (API cleanup) 2017-12-06 16:55:41 +01:00
bnnm
f74f9f0b24 Add MSF with .MP3 extension (Darkstalkers Resurrection PS3) 2017-12-06 15:53:42 +01:00
bnnm
3380451c80 Code cleanup (renames, comments, nitpicks) 2017-12-06 15:32:52 +01:00
bnnm
5672cac597 Move some meta STREAMFILEs to separate file for visibility
The code may be standardized and extended in the future for some meta
needing similar features, so this is just to signal its existence
2017-12-06 12:15:27 +01:00
bnnm
14be03c89e Comment .MPC for foobar (still can be read if renamed to ~ .vgmstream) 2017-12-04 19:43:49 +01:00
Christopher Snowhill
d2f48b2066
Merge pull request #149 from bnnm/master
MPC, VXN, SNS/SPS, OGG, FLX, MT
2017-12-03 14:07:53 -08:00
bnnm
407aa141bd Fix some .SB0 [TMNT GC/PS2] 2017-12-03 20:25:50 +01:00
bnnm
7e27445f85 Enable EALayer3 bit reservoir fix (needs libmpg123 1.25.8+) 2017-12-03 17:27:13 +01:00
bnnm
48795333e1 Fix mpeg_bytes_to_samples in newer libmpg123, by saving initial info 2017-12-03 17:24:32 +01:00
bnnm
6072d17f50 Add EA MicroTalk decoder [FIFA 2001 PS2, Ultima IX voices] 2017-12-03 13:44:55 +01:00
Christopher Snowhill
7037434ae6 Fix 3DO STR SNDS for stereo interleave. 2017-12-03 00:56:39 -08:00
bnnm
e3de403c9f Add Ultima IX .FLX (EA-XA/PCM) 2017-12-03 01:41:25 +01:00
bnnm
94de52ec2d Clean EA-XA and fix some subsongs (don't use channel_start_offset)
Also fix 'sample' type shadowing and Maxis-XA skipping a frame in mono
2017-12-03 01:37:56 +01:00
bnnm
b9c3bd9a01 Add Neversoft .OGG [Gun (GC)] 2017-12-02 16:33:43 +01:00
bnnm
6eef1074a2 Adjust some SNR 2017-12-02 02:56:37 +01:00
bnnm
2eede51524 Add .AUD ATRAC3 for EA Replay 2017-12-02 02:11:25 +01:00
bnnm
8f8b14f80f Fix EALayer3 multichannel and looping bugs 2017-12-01 20:04:33 +01:00
bnnm
7d9e5a93e4 Make MPEG custom decoder use their own data buffer instead sharing one
In rare cases (ex. EALayer3) mpg123 may need several passes to feed one
stream's data buffer, and meanwhile other streams would overwrite it
2017-12-01 20:02:30 +01:00
bnnm
02d0231ff2 Rename ea_snu.c to ea_eaac.c (EAAudioCore) 2017-12-01 17:52:03 +01:00
bnnm
d12a5bd294 Fix EALayer3 v1b and v2 2017-12-01 17:32:12 +01:00
bnnm
e2c059bc31 Add EA .SNS+SNR / .SPS [Burnout Crash, NFS Hot Pursuit PS3] 2017-12-01 17:27:49 +01:00
bnnm
77b849a024 Add Gameloft .VXN [Mobile games] 2017-11-27 20:22:10 +01:00
Christopher Snowhill
3bdd5616df
Merge branch 'master' into master 2017-11-25 17:34:45 -08:00
bnnm
770a27d0b4 Add dual extension in try_dual_file_stereo for Homura (PS2) 2017-11-26 01:54:33 +01:00
bnnm
2889765c5c Fix EA SNU looping not properly saving block state 2017-11-26 01:25:27 +01:00
bnnm
db3af4d407 Rename some blocked layouts for clarity (hopefully) 2017-11-25 01:18:27 +01:00
bnnm
d0be7e0c36 Minor tweaks/comments/renames/etc 2017-11-25 00:43:18 +01:00
bnnm
2a312e8562 Fix memset not memsetting all channels on failure 2017-11-24 23:42:11 +01:00
bnnm
b371f1de73 Reorder IMA code a bit so it's easier to simplify in the future 2017-11-24 21:23:01 +01:00
bnnm
084c3075e4 Improve try_dual_file_stereo and cleanup
To test dual stereo it was trying all metas, but only the meta that
opened the first file can be accepted (as validated), so pass its
function pointer and try only that instead.
2017-11-24 20:15:23 +01:00
bnnm
5c4351aa86 Add VGM_LOG/ASSERT_ONCE macro for useful-but-repetitive error logging 2017-11-23 23:46:33 +01:00
bnnm
e1bb468bd5 Remove unnecessary check_sample_rate 2017-11-23 23:11:11 +01:00
bnnm
c2ef5f8694 Use get_streamfile_text_line in TXTH (cleanup) 2017-11-23 23:03:55 +01:00
bnnm
dbbbfcc9f5 Make get_streamfile_dos_line read CR/LF too and rename accordingly
CR used in some Falcom looping files as separator
2017-11-23 22:53:43 +01:00
bnnm
7c7af0bf18 Rename *_DE2 to _*DEC for consistency and since it was first 2017-11-23 22:48:11 +01:00
bnnm
162ec1fb9c Add/fix Falcom RIFF (.dec/de2) + looping [Xanadu Next, Gurumin (PC)] 2017-11-23 22:36:49 +01:00
bnnm
6d80168879 Fix Homura (PS2) stereo and add .v0 2017-11-23 22:33:46 +01:00
bnnm
17da12f324 Add Namco AAC (.naac) [Ace Combat: Assault Horizon Legacy (3DS)] 2017-11-23 22:32:31 +01:00
bxaimc
ed36ae44a3 Add EZW for EZ2DJ (Arcade) 2017-11-21 21:30:48 -05:00
bnnm
1c042b7784 Use IMA_int with mono files to clarify then IMA stereo is used
Both IMA and IMA_int work the same then channels = 1, so this is just to
signal when IMA stereo (nibble interleave) is actually used (ie. rarely)
2017-11-19 03:34:25 +01:00
bnnm
8363e26b88 Unify IMA/IMA_int with standard IMA decoder + add stereo IMA 2017-11-19 03:32:21 +01:00
bnnm
3ce9e2c8ab Fix 3DS IMA hist 2017-11-18 22:52:42 +01:00
bnnm
36d4f69420 Fix STRM FFTA2 using the wrong IMA, making output slightly incorrect 2017-11-18 22:49:18 +01:00
bnnm
bf043d4e5b Add 3DS IMA for BCWAV 2017-11-18 22:27:14 +01:00
bnnm
ea634ad473 Add 3DS IMA for BCSTM and fix old IMA regression (HWAS/SWAV/SAD/AUD/etc)
Standard IMA algorithm was changed for BCSTM, subtly altering regular
IMA's waveforms (not too audible). Now this 3DS variation is separate.
2017-11-18 22:25:44 +01:00
bnnm
d37deb8d80 Rename ea_old.c to ea_1snh.c for consistency 2017-11-18 02:39:21 +01:00
bnnm
5ce20a710e Fix segfaults when blocks functions set wrong samples/sizes; cleanup 2017-11-18 02:22:57 +01:00
bnnm
79c5cfab49 Clean EA 1SNh/EACS (ea_old) and fix some bugs/looping 2017-11-18 02:20:52 +01:00
bnnm
8f6c76364c Fix standard IMA segfault when external init is wrong 2017-11-18 02:06:51 +01:00
bnnm
624b4ead0e Move eacs_block_update to its own file 2017-11-17 20:46:51 +01:00
bnnm
1af4e37f6f Fix DVI .PCM channels being swapped [Castlevania SOTN (SAT)] 2017-11-17 19:12:28 +01:00
bnnm
304d39d80b Clean .idvi and add proper .DVI extension 2017-11-17 18:53:34 +01:00
bnnm
8ec00fb0ea Cleanup 2017-11-17 18:51:43 +01:00
bnnm
4a2cf9dd91 Fuse EACS and DVI IMA decoder into a configurable IMA decoder
EACS was just DVI (high nibble first) with stereo and mono modes, while
old DVI was mono only.
This unifies both decoders, so DVI_IMA (not interleaved) works with mono
and stereo while DVI_IMA_int (interleaved) forces mono.
Some metas needed to explicitly set DVI_IMA_int but others work with no
change.
2017-11-17 17:18:17 +01:00
bnnm
4dfbc3cf6a Improve CD-XA detection and RIFF-less support; minor XA code cleanup 2017-11-16 19:47:42 +01:00