bnnm
0c39f4cf09
Fix tri-Ace Aska ADPCM .aac [Star Ocean Anamnesis (Mobile)]
2019-03-02 21:12:00 +01:00
bnnm
051cad9462
Minor shadowing fixes and cleanup
2019-03-02 19:23:37 +01:00
bnnm
d9296c6693
Add multichannel layout for OGG/MP4/WEM/FFmpeg and use in foobar
2019-03-02 15:57:41 +01:00
bnnm
3d279ea42c
Fix .ogg multichannel order and cleanup
2019-03-02 11:17:50 +01:00
bnnm
7372ffdc5c
Fix possible pcm_bytes_to_samples overflow
2019-02-24 09:52:48 +01:00
bnnm
e5480f4bb0
Fix minor shadowing issues
2019-02-23 03:15:49 +01:00
bnnm
dd31d1af33
Add Blitz IMA .str+wav [Zapper (PC)]
2019-02-23 00:12:58 +01:00
bnnm
dc22b3d955
Add some BAOs and v6 IMA [Ghost Recon Future Soldier (PC/PS3)]
2019-02-22 23:51:40 +01:00
bnnm
ed281e1c2e
Fix mpeg state not properly resetting in some cases
2019-02-16 01:23:43 +01:00
bnnm
9a402fb797
Minor fixes
2019-02-10 18:43:24 +01:00
bnnm
4c038cb0ea
Add Ocean .DSF, .208 and DSA decoder [Last Rites (PC)]
2019-02-10 01:36:05 +01:00
bnnm
011fe56614
Fix EALayer3 11ch, V1b PCM, V2S loops [Army of Two 3 (PS3), NFS:W (PS3)]
2019-02-09 23:42:59 +01:00
bnnm
a37afdee66
Fix Ubi IMA v2 [Donald Duck: Goin' Quackers (GC)]
2019-01-26 16:16:40 +01:00
bnnm
7b9d50e62b
Add proper .baf [Project Gotham Racing 4 (X360), Geometry Wars (PC)]
2019-01-12 18:01:19 +01:00
bnnm
093fa28a2f
Add OKI16 TXTH/GENH decoder [Sweet Legacy (PS2), Hooligan (PS2)]
2019-01-12 13:02:08 +01:00
bnnm
1f44c2d2de
Rename pcfx_decoder.c to oki_decoder.c
2019-01-12 11:38:20 +01:00
bnnm
5d610be086
Add .gin and EA-XAS v0 decoder [Need for Speed Most Wanted]
2019-01-12 02:26:38 +01:00
NicknineTheEagle
c47ae9632a
Changed decode_pcm4 functions to use int16_t instead of uint16_t
2019-01-10 02:54:52 +03:00
NicknineTheEagle
5190b362a9
Added 4-bit PCM decoder
2019-01-09 22:30:15 +03:00
bnnm
6906a55685
Add unused EA-XA float decoder
2019-01-01 19:02:58 +01:00
bnnm
fa2f95739a
Fix AWC MPEG not seeking back correctly
2018-12-28 11:04:18 +01:00
bnnm
e53740f27f
Add PCFX for GENH/TXTH [Der Langrisser FX (PC-FX)]
2018-12-27 16:14:59 +01:00
bnnm
28ce248992
Increase blank skips for rarer Dragalia Lost songs
2018-12-23 13:35:43 +01:00
bnnm
aeaf2c0b8c
Increase blank skips for rare Dragalia Lost songs
2018-12-23 01:54:50 +01:00
bnnm
2e3add8354
Add doc
2018-12-22 20:13:41 +01:00
bnnm
87972f55eb
Improve HCA key detection for small/silent HCA [Dragalia Lost (iOS)]
2018-12-22 19:44:30 +01:00
bnnm
3ead9f7f4a
Fix MTA2 with empty frames
2018-12-21 22:37:56 +01:00
bnnm
34d4500e54
Add .sps EAMP3 [Need for Speed (PS4)]
2018-12-15 11:17:47 +01:00
bnnm
4c36a5eb09
Fix audacious builds
2018-12-04 00:00:22 +01:00
bnnm
eaa176864c
Simplify debug off_t casting for easier build
...
Also reorder some custom opus funcs that don't depend on ffmpeg
2018-12-01 18:52:30 +01:00
bnnm
7a5cf59951
Remove custom Opus skip_samples for newer FFmpeg + libopus
2018-12-01 18:33:43 +01:00
bnnm
b75b180557
Add minor opus bad data check
2018-12-01 02:39:25 +01:00
bnnm
ef64889a28
Add XMA utils to fix encoder delay stuff
2018-11-18 17:00:48 +01:00
bnnm
ab90e08484
Add ADPCM .xpcm [Eternal Fantasy (PC)]
2018-11-10 00:09:03 +01:00
bnnm
466f3af458
Subfile streamfile cleanup
2018-10-27 23:49:08 +02:00
bnnm
0e16a309e2
Add 2MSF and clean WMSF [Super Robot Taisen OG: The Moon Dwellers (PS4)]
2018-10-27 23:10:03 +02:00
bnnm
3123d1c273
Adjust XOPUS encoder delay
2018-10-20 12:35:50 +02:00
bnnm
e49a688559
Add .xopus decoding [Angry Birds Transformers (Android)]
2018-10-13 21:01:58 +02:00
bnnm
ec0043bf6b
Improve HCA key testing
2018-10-13 19:50:42 +02:00
bnnm
80aad4f15a
Add/fix XWMA start and num samples
2018-10-07 23:27:31 +02:00
bnnm
4e45cbd571
Add FFmpeg encoder delay logs
2018-10-07 21:16:57 +02:00
bnnm
a63dd9eae0
Fix XWMA with buggy bit rates [Saints Row 2 (PC)]
2018-10-07 03:26:31 +02:00
bnnm
65aca53cb5
Fix some XWB + FFmpeg subsongs
2018-10-07 03:26:05 +02:00
bnnm
34676bbdc6
Prepare XMA adjusted loops
2018-10-07 02:23:05 +02:00
bnnm
9f6c1c4da2
Fix rare FFmpeg codecs decoding more samples after data EOF, cleanup
2018-10-06 22:39:34 +02:00
bnnm
1056092bf3
Fix Final Fantasy Tactics A2 IMA decoding
2018-10-04 19:43:37 +02:00
bnnm
2a5516fe7c
Restore G719 max frame size as 2560 bits (0x140) is decoder max
2018-09-27 23:56:44 +02:00
bnnm
d2798c946a
Simplify switch_opus_get_samples usage
2018-09-27 23:39:37 +02:00
bnnm
d7c5c3feaf
Improve UE4Opus/EAOpus encoder delay calculations
2018-09-27 23:31:03 +02:00
bnnm
3269649eec
Add EAOpus [FIFA 17 (PC), FIFA 19 (Switch)]
2018-09-27 23:10:01 +02:00
bnnm
c5b514b577
Improve UE4OPUS encoder delay and fix get_opus_samples_per_frame
2018-09-23 12:17:23 +02:00
bnnm
d717f21189
Add UE4OPUS decoder [Fortnite (PC), ARK: Survival Evolved (PC)]
2018-09-23 04:26:11 +02:00
bnnm
5f3ab0a5fc
Rename *_utils_switch_opus.c to *_custom_opus.c for future changes
2018-09-23 04:22:16 +02:00
bnnm
7d91ef1432
Cast off_t to off64_t when printf'ing for future 4GB file support
2018-09-23 03:01:13 +02:00
bnnm
c045d41670
Fix EA-MT looping for all cases [SSX3 (PS2)]
2018-09-10 13:18:53 +02:00
bnnm
804fceb5e7
Remove custom FFmpeg, as custom IO streamfile can be used instead
2018-09-10 02:19:34 +02:00
bnnm
74536e0933
Swap custom FFmpeg OPUS for custom streamfile IO
2018-09-10 01:23:34 +02:00
bnnm
06ea6af303
Minor doc
2018-09-09 15:13:58 +02:00
bnnm
2b7cd654b2
Allow arbitrary frame sizes for G719 and cleanup
2018-09-09 12:24:08 +02:00
bnnm
a3f2231ba1
Update EA-MT API a bit
2018-09-09 00:51:35 +02:00
bnnm
47b5a189cf
Clean EA-MT code
2018-09-08 23:36:31 +02:00
bnnm
417cc59277
Fix EA-MT looping [SSX3 (PS2)]
2018-09-08 19:22:56 +02:00
bnnm
19f69e14b7
Add ALP IMA decoder [Lego Racers (PC)]
2018-09-06 20:25:04 +02:00
bnnm
800ebfc007
Minor doc
2018-09-06 18:10:47 +02:00
bnnm
f519b1ad70
Add DERF DPCM decoder [Stupid Invaders (PC)]
2018-09-06 17:45:34 +02:00
bnnm
59b303d753
Update libacm to 1.2 and add .WAVC sfx
2018-09-04 22:42:21 +02:00
bnnm
f70852095c
Tweak minor ACM stuff for opaqueness
2018-09-04 18:37:51 +02:00
bnnm
fcc5f59ffe
Add buffer size validations in custom Vorbis
2018-09-04 18:00:59 +02:00
bnnm
fa472d4f70
Fix interleaved 2ch XBOX-IMA [Fairly OddParents: Breakin' da Rules]
2018-09-04 17:10:41 +02:00
bnnm
3a64f8b0d2
Fix some BNSF [Taiko No Tatsujin: Drum Session! (PS4)]
2018-09-04 17:08:01 +02:00
bnnm
bf0d46a476
Rename decode_SASSC to lowercase for consistency
2018-09-02 21:11:15 +02:00
bnnm
c707a29639
Rename SASSC_decoder to lowercase for consistency
2018-09-02 21:09:15 +02:00
bnnm
bd374a01a7
Improve ATRAC9 loop performance and cleanup
2018-09-02 21:02:11 +02:00
bnnm
9c0db7cae3
Improve HCA/clHCA key detection
...
- Only test keys when file is encrypted
- Add clHCA_TestBlock to test a frame with the current key
- Move some key detection code to hca_decoder.c and simplify hca.c
detection
- Decrease number of test frames due to increased accuracy of
clHCA_TestBlock
2018-09-02 16:00:58 +02:00
bnnm
fd52fe0e95
Clean clHCA lib 3 (API)
...
- rename clHCA_DecodeSamples16 to clHCA_ReadSamples16 since it isn't
really decoding
- divide clHCA_Decode into clHCA_DecodeHeader and clHCA_DecodeBlock to
clarify usage
- unify clHCA_IsOurFile0/1 since one would need to call
clHCA_DecodeHeader right after it anyway
- add clHCA_SetKey for easier key handling
- adapt vgmstream wrapper
2018-09-01 20:28:00 +02:00
bnnm
43764d6c8d
Fix HCA num samples/looping [Binary Domain (PC), Octopath Traveller]
...
Decoder has been modified a bit so it's easier to feed an arbitrary
number of discard samples (or at least, easier for me to understand),
since encoder delay can be >1024 (frame size) and would make some calcs
go all wobbly
2018-08-29 23:42:47 +02:00
bnnm
9a2a2e4c2e
Export extra sample values in clHCA_getInfo
2018-08-29 20:48:35 +02:00
bnnm
411fa498bb
Clean HCA meta/decoder for future changes
2018-08-29 20:05:31 +02:00
bnnm
d94485e89e
Minor decode_vgmstream cleanup
2018-08-26 17:07:33 +02:00
bnnm
4ee39206c3
Fix Lunar 2 SCD loops/sample rate/stereo and PCM8 cleanup
2018-08-26 16:36:08 +02:00
bnnm
3765831dbe
Remove usage of atrac9_parse_config
2018-08-25 18:03:58 +02:00
bnnm
a734e9c5cb
Remove custom ATRAC9 in favor of custom IO
...
Formats using custom layouts tend to be weird enough that it's a pain to
add support directly in the decoder.
Instead should use custom layouts and I/O streamfiles that, though a bit
wordy and unwieldy at the moment, are a lot more flexible.
2018-08-25 17:48:01 +02:00
bnnm
9e54efe6d8
Remove FFMPEG_EA_XMA as it's now done with custom IO + layers
2018-08-25 13:22:57 +02:00
bnnm
fe3538520b
Add ps_find_loop_offsets util to find loop point in PS-ADPCM data
2018-08-21 22:14:55 +02:00
bnnm
d93a4b2c7a
Add proper H4M decoding [Resident Evil 0 (GC), Tales of Symphonia (GC)]
2018-08-19 00:38:08 +02:00
bnnm
8d7fb21c8f
Check max filesize to avoid buggy reads
...
It was affecting some truncated Switch Opus that were reporting too many
samples
2018-08-15 22:47:22 +02:00
bnnm
cab8605959
Add atrac9_parse_config util
2018-08-15 16:42:34 +02:00
bnnm
9333a22c16
Remove some minor deprecated warnings
...
Tested with all major codecs we use for FFmpeg, all decode the same
2018-08-15 00:18:05 +02:00
bnnm
65a69982b6
Clean G719/G7221 a bit and remove innecessary use of stack_alloc
2018-08-14 22:20:36 +02:00
bnnm
d22ee3051a
Clean FFmpeg skip samples parsing
2018-08-14 16:35:17 +02:00
bnnm
07bb40071a
Add FSB CELT decoder [Vessel (PC), Runner2 (PC)]
...
Corresponding libs will be added later
2018-08-12 00:58:20 +02:00
bnnm
9e0c4ebd3d
Fix rare ATRAC9 memleak
2018-08-11 17:54:08 +02:00
bnnm
6384b91f8f
Fix FSB4 MPEG weird padding bug [Mafia II (PS3)]
2018-08-04 20:40:02 +02:00
bnnm
d4c0362c30
Minor info (algorithm verified)
2018-08-03 00:47:54 +02:00
bnnm
e1434bc432
Clean DTK decoder to clarify similarities with XA
2018-08-03 00:46:36 +02:00
bnnm
16f2474a50
Add .WV6 IMA [The Fairly OddParents: Breakin' Da Rules (PC)]
2018-08-02 18:22:01 +02:00
bnnm
a4f67bf077
Add Cricket Audio .cks/ckb [Part Time UFO, Mega Man 1-6 (Android)]
...
Includes Cricket Audio's MSADPCM variation, also cleaned up MSADPCM code
2018-08-02 17:15:09 +02:00
bnnm
87bd10073d
Adjust ASF shift modes after debugging info
2018-07-27 17:13:10 +02:00
bnnm
61034484ab
Add XMD decoder [Silent Hill 4, Castlevania: Curse of Darkness (Xbox)
2018-07-27 17:11:11 +02:00
Christopher Snowhill
637ec27998
Merge pull request #265 from NicknineTheEagle/ea-formats
...
More EA formats
2018-07-23 19:08:02 -07:00
Christopher Snowhill
eee451aa68
Merge pull request #266 from bnnm/xa-aif-eamt
...
XA, AIF, EA-MT
2018-07-23 19:07:35 -07:00
Christopher Snowhill
e799a27446
Update ASF decoder based on decompilation of original decoder.
2018-07-23 18:56:35 -07:00
bnnm
65b80e5fd7
Fix .adp raw XA [Phantasy Star Collection (SAT)]
2018-07-23 19:36:08 +02:00
bnnm
e6f7abe20e
Fix EA-MT full loops not being properly reset
2018-07-23 00:28:21 +02:00
bnnm
b71739de5e
Fix XA missing num_samples at the end
2018-07-22 23:19:10 +02:00
bnnm
0dc2c81ab9
Handle XA ADPCM in a more standard way
...
It was decoding one 28-sample subframes and blocked layout handled
frames, doing some voodoo to skip CD sectors.
Now decodes one 28*8-sample frame and blocked layout handles CD sectors.
Decoding is byte-exact vs before.
2018-07-22 23:08:09 +02:00
NicknineTheEagle
04debd021e
Merge remote-tracking branch 'origin/master' into ea-formats
...
# Conflicts:
# src/meta/ea_schl.c
2018-07-22 05:34:26 +03:00
bnnm
4439047fd1
Minor doc
2018-07-22 00:47:31 +02:00
NicknineTheEagle
d5745c9d6e
EAAC tweaks
2018-07-21 23:09:44 +03:00
bnnm
af70e95877
Tweak PS-ADPCM decoding [inFamous (PS3)]
...
- Code now more verbose, but easier to understand (by me, at least)
- Unify normal and badflags code
- Fix hist1 not being properly clamped, though not noticeable
- Fix inFamous (PS3) which seemingly wasn't using the extended table but
hitting some compiler weirdness? (failed in foobar and worked in test)
- Use int math for PSX-cfg, which should be minimally more accurate
2018-07-21 20:15:07 +02:00
bnnm
2129afaf75
Fix some EA-XMA [Need for Speed: The Run (X360)]
2018-07-18 00:53:09 +02:00
bnnm
d6795b63c3
Add ASF decoder [Croc 2 (PC), Aladdin: Nasira's Revenge (PC)]
2018-07-18 00:52:24 +02:00
bnnm
bbd50c78ee
Minor doc
2018-07-18 00:37:14 +02:00
bnnm
572cd6a621
XA code cleanup
...
Decoding is still the same (byte-exact)
2018-07-14 23:08:07 +02:00
bnnm
9af7eadbcb
Fix some Ubi LyN [Michael Jackson the Experience (PS3)]
2018-05-27 17:28:48 +02:00
bnnm
a975eff1a2
Fix TXTH XMA multichannel and num_samples
2018-05-12 13:53:43 +02:00
bnnm
ab6cc8c6ce
Adjust EALayer3 V2 discard modes
2018-04-21 03:31:24 +02:00
bnnm
6e900315ab
Load Vorbis setup in fsb/wwise from array first, as it's most common
2018-04-15 01:16:45 +02:00
bnnm
6f4388045e
Add ps_cfg_bytes_to_samples for clarity
2018-04-12 23:21:53 +02:00
bnnm
bf4898a770
Fix 6ch EAlayer3 in EA SCHl [Medal of Honor 2010 (PC)]
2018-04-07 13:56:20 +02:00
bnnm
41e60f29da
Add Ubi LyN (.sns/son/wav) [Adventures of Tintin, From Dust (multi)]
2018-04-07 11:31:43 +02:00
bnnm
7a08ea263f
Add FFmpeg fake header/header_size check to simplify some calls
2018-03-31 13:07:26 +02:00
bnnm
00aaf8fe02
Remove old XMA2 v3 to v4 transformation since FFmpeg now parses both
2018-03-30 22:14:32 +02:00
bnnm
ad755b85c6
Fix mono/interleave/PCM16 .spsd [Giga Wing 2, Virtua Tennis 2 (Naomi)]
2018-03-28 22:58:25 +02:00
bnnm
eb52b3fb57
Add stereo AICA to GENH/TXTH (no interleave) [SF3 Double Impact (DC)]
2018-03-28 00:30:59 +02:00
bnnm
1708dcaf63
Remove PCM16-XOR decoder and use decryption streamfile instead
...
The encryption is built on top of the data, so this way mimics the
actual setup and removes another superfluous decoder
2018-03-27 23:24:24 +02:00
bnnm
0f529ea1a7
Remove BMDX decoder and use decryption streamfile instead
...
The encryption is built on top of PS ADPCM data, so this way mimics the
actual setup and removes a superfluous decoder
2018-03-27 22:39:05 +02:00
bnnm
eb4168f9b9
Rename aica_decoder.c to yamaha_decoder.c for clarity
...
AICA ADPCM is not really exclusive to Dreamcast as Yamaha used it in
their sound chips before.
2018-03-24 12:20:22 +01:00
bnnm
d821ecb117
Improve Dreamcast AICA decoding (not very noticeable)
...
On decoding start step_size was 0, but Yamaha ADPCM is supposed to start
at 127 so there was some deviation, usually minor as most files start in
silence.
2018-03-24 12:13:04 +01:00
bnnm
fbd8e94e41
Add Yamaha/NXAP ADPCM decoder
2018-03-24 12:08:16 +01:00
bnnm
49331423e2
Add true multichannel XBOX-IMA
2018-03-23 21:21:44 +01:00
bnnm
79194a0178
Fix some CAFF IMA4 [Endless Fables 2 (iOS), Vectros (iOS)]
2018-03-17 19:57:54 +01:00
bnnm
05dc3df6e0
Simplify mus_acm_codec_data into acm_codec_data
2018-03-16 18:02:17 +01:00
bnnm
ce9a69aad1
Clean ACM init/free/reset
2018-03-16 15:42:01 +01:00
bnnm
3ad6261208
Add check when calling free/seek/reset codec
...
It's possible to set a "coding" that triggers calls to the above while
codec_data is still null, when using special layouts like AAX
2018-03-10 16:59:00 +01:00
bnnm
67a2f29f75
Minor FADPCM cleanup
2018-03-08 22:55:50 +01:00
bnnm
b97fc632be
Fix minor compiler warnings
2018-03-03 19:07:59 +01:00
bnnm
5e50819778
Add FSB FADPCM decoding [Dead Rising 4 (PC), Sine Mora EX (Switch)]
2018-02-25 10:05:28 +01:00
bnnm
ac8a94c2b9
Fix XBOX-IMA decoding, 4ch and tweak layout [Dynasty Warriors 4 (Xbox)]
...
Now writes header sample and skips last nibble, as seen in MS's XDK
code, and simplifies multichannel layouts and fixes some theoretical
configurations
2018-02-24 22:30:17 +01:00
bnnm
3579858ef4
Write header sample in FSB-IMA (now is byte-exact vs FMOD's tools)
2018-02-23 23:17:13 +01:00
bnnm
6eba6b7022
Tweak WWISE-IMA as interleave and use "MUL" nibble expansion
...
Clarify it's just basically mono XBOX-IMA; "MUL" expansion apparently
used per decompilation (not really noticeable due to small headered
frames)
2018-02-23 23:01:44 +01:00
bnnm
42f44925f4
Fix possible segfault with some FFmpeg versions
2018-02-17 23:21:41 +01:00
bnnm
7c41cb22bf
Add wwise_ima comment about alternate nibble expand
2018-02-17 19:44:18 +01:00
bnnm
05916bdf26
Fix REF-IMA ADPCM decoding/num_samples, as it's based on MS-IMA
2018-02-17 18:19:28 +01:00
bnnm
5e00485948
Fix msadpcm_bytes_to_samples not counting small last block samples
2018-02-17 17:44:47 +01:00
bnnm
e73023d6e2
Fix MS-IMA ADPCM decoding/bytes_to_samples missing 1 sample per block
...
Now correctly follows Microsoft's spec and matches other players.
2018-02-17 17:23:52 +01:00
bnnm
9cf9416665
Add/use xbox_ima_bytes_to_samples, rename coding_XBOX to XBOX_IMA
...
Currently same as ms_ima_bytes_to_samples, but this will change; renamed
for consistency with all other IMA variations. Also clean a bit some
metas since I was testing anyway.
2018-02-17 12:30:14 +01:00
Christopher Snowhill
73933aae95
Merge pull request #187 from Thealexbarney/opus-fixes-switch
...
Fixes for Switch Opus reading
2018-02-15 16:37:19 -08:00
bnnm
68041f4c98
Fix some SCHl EALayer3 [GoldenEye: Rogue Agent (Xbox)]
2018-02-10 17:45:49 +01:00
Alex Barney
a4431c3d5d
Fix getting samples per frame for Switch Opus
...
Switch Opus uses the same output format that opus_demo writes. Each frame has an 8-byte header.
The first 4 bytes contain the length of the frame. The second 4 bytes contain the final state of the range coder.
8299edfc0c/src/opus_demo.c (L658-L681)
2018-01-29 18:07:08 -06:00