Commit Graph

48 Commits

Author SHA1 Message Date
bnnm
300a80107b Fix very small MP3 .msf [Mirror's Edge (PS3)] 2021-05-08 15:31:01 +02:00
bnnm
4879c74ddd Cleanup 2020-07-17 22:35:32 +02:00
bnnm
729e13ebb0 mpeg decoder cleanup 2020-07-17 19:42:05 +02:00
bnnm
bf14fccc97 Small detection tweaks 2019-11-04 23:31:23 +01:00
bnnm
95a50a3168 Minor cleanup 2019-09-29 20:09:28 +02:00
bnnm
4f79dc82e8 Fix some .msf/mp3 looping 2019-04-09 20:40:48 +02:00
bnnm
051cad9462 Minor shadowing fixes and cleanup 2019-03-02 19:23:37 +01:00
bnnm
ed281e1c2e Fix mpeg state not properly resetting in some cases 2019-02-16 01:23:43 +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
fa2f95739a Fix AWC MPEG not seeking back correctly 2018-12-28 11:04:18 +01:00
bnnm
34d4500e54 Add .sps EAMP3 [Need for Speed (PS4)] 2018-12-15 11:17:47 +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
7d91ef1432 Cast off_t to off64_t when printf'ing for future 4GB file support 2018-09-23 03:01:13 +02:00
bnnm
9af7eadbcb Fix some Ubi LyN [Michael Jackson the Experience (PS3)] 2018-05-27 17:28:48 +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
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
757e4cde69 Rename init_x_codec_data to init_x for consistency 2018-01-04 23:22:03 +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
b65765a56e Fix multistream MPEG SCD [Final Fantaxy XIII-2 (PS3)] 2017-12-17 16:39:36 +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
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
d12a5bd294 Fix EALayer3 v1b and v2 2017-12-01 17:32:12 +01:00
bnnm
2a312e8562 Fix memset not memsetting all channels on failure 2017-11-24 23:42:11 +01:00
bnnm
7f8f315660 Minor comment (FSB MPEG garbage at the beginning seems normal) 2017-10-27 18:08:09 +02:00
bnnm
953022b983 Add AWC MP3 [Red Dead Redemption (PS3), GTA5 (PS3)] 2017-08-28 15:14:24 +02:00
bnnm
aaa2613802 Add EALayer3 v1 decoder for SCHl [EA games for PS2/Wii/X360/PS3] 2017-08-05 17:54:50 +02:00
bnnm
66219f6b37 Use sample buffers per stream in MPEG custom decoder
Simplifies the code somewhat and allows more flexibility for new custom
modes (like EALayer3, that can output PCM blocks before decoding
anything)
2017-08-04 21:29:58 +02:00
bnnm
cb05313b13 Add P3D MPEG decoder [Prototype 1/2 (PS3)], fix debug crap 2017-07-29 23:53:45 +02:00
bnnm
d54492cb95 Update MPEG "interleaved" decoder: now "custom", restructured, added AHX
To support future MPEGs of uncertain layout and frame variations (namely
EALayer3) the code has been restructured: mpeg_decoder does stream
procesing and decoding, while mpeg_custom_utils_x does init and parsing
(write to data buffer + update offsets), per MPEG subtype. Internals
have changed but still gives byte-exact results.
AHX has been adapted to this format as a test. Some modes
(P3D/EALayer3/LyN/AWC) are defined for later development but will fail
on init ATM.
2017-07-29 23:14:04 +02:00
bnnm
6308818b77 Simplify MPEG coding/layouts to allow blocked layouts and future changes 2017-07-29 13:05:23 +02:00
bnnm
68071467c2 Add MPEG to EA SCHl [Harry Potter and the Chamber of Secrets (PS2)] 2017-07-01 23:55:10 +02:00
bnnm
86cb660f76 Define MPEG interleave type to improve and simplify some internals 2017-06-25 02:09:12 +02:00
bnnm
54d1995dc8 Fix segfault when resetting non-looping Vorbis/MPEG files
Also, apparently reset shouldn't reset the streamfiles
2017-04-14 01:22:53 +02:00
bnnm
f067d4ddb9 Added Wwise Vorbis decoder and packed codebooks 2017-04-13 15:04:46 +02:00
bnnm
0e10b75beb Fix interleaved FSB MPEG decoding
Padding doesn't apply to Layer II FSBs, and it needed to manually get
info from MPEG frames since mpg123 functions weren't always working.
2017-03-13 20:04:09 +01:00
bnnm
7f98f5b4f6 Remove MPEG sample rate check and channel/sample rate pointer updates
Rarely used, frame sample rate/channels are now exposed, and FFmpeg will
end up playing any MP3 anyway.
Encoders may modify sample rate to adjust looping to frame boundaries,
too.
2017-02-19 21:16:09 +01:00
bnnm
0101572718 Add multichannel MPEG decoder
Supports fixed-size frames (for XVAG) or variable/padded frames (for
FSB), but FSB support has some bugs so it's not used yet.
2017-02-19 20:20:13 +01:00
bnnm
e0d129e06c Prepare MPEG stuff for multichannel 2017-02-18 18:27:21 +01:00
bnnm
7418b61793 Hide buffer and mpeg_bytes_to_samples MPEG internals; cleanup
Also removes VBR check from metas; it's only needed because
mpeg_bytes_to_samples doesn't work with VBR, but now it'll return 0,
which would be validated later.
2017-02-18 00:17:38 +01:00
bnnm
2e41586e68 Move AHX MPEG init code to mpeg_decoder and other cleanup 2017-02-17 18:35:58 +01:00
bnnm
df84602e85 Move reset/seek/free MPEG code to mpeg_decoder (for later changes) 2017-02-17 17:20:40 +01:00
bnnm
790bb79cc9 Allow to disable mpg123 stderr output for recoverable MPEGs (FSBs) 2016-12-28 01:38:56 +01:00
halleyscometsw
7b78a5262d MPEG fixes from kode54, get the right freq and srate even with MPG123_NEED_MORE, avoid locking up with too little data
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@911 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2011-01-19 13:54:59 +00:00
halleyscometsw
cbaa24729b need longer ints for length calculation
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@835 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-11 00:18:42 +00:00
halleyscometsw
e98bb44bb5 .scd (FFXIII and FFXIV, MPEG, MS ADPCM, and PCM)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@834 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-10 23:56:39 +00:00
halleyscometsw
617ee5cdff make MPEG detection accessible to anyone, add MPEG support for XVAG (though it seems that the sample count is wrong)
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@831 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2010-09-10 21:49:56 +00:00
halleyscometsw
97ebe328c8 support for mpeg audio in genh
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@292 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-06 15:33:38 +00:00
halleyscometsw
e017a7324d add AHX support, via mpg123
git-svn-id: https://vgmstream.svn.sourceforge.net/svnroot/vgmstream@285 51a99a44-fe44-0410-b1ba-c3e57ba2b86b
2008-07-05 11:49:29 +00:00