- by furrybob at 7:30 PM EDT on September 21, 2017
Yeah, that does seem a little hacky, but hey, it works.
HCA is more complex than most video-game-specific audio codecs. MDCT-based codecs aren't used too often. I can think of ATRAC9 and HCA off the top of my head.
If you had trouble with VGAudio's HCA code, you could always consult the clHCA.c used in vgmstream =P
I've learned a lot from REing ATRAC9, and I plan on revisiting HCA to improve the code and write documentation for the format.
The code in vgmstream isn't just bad, it's wrong in a few places, so it's been on my todo list to port my decoder, but who knows when/if I'll get around to that.
I don't mean decrypting when I say unpack. I mean it in the same way as an MP3 frame would be unpacked.
If you decrypt the frame with an invalid key and then unpack the frame, it usually won't unpack successfully, making it a perfect (almost) test for valid keys.
edited 7:36 PM EDT September 21, 2017
 (3 hours left)
- by bnnm at 10:05 AM EDT on September 22, 2017
- @furrybob - more/better codecs are always welcome :)
Most codec theory is beyond my skill unfortunately, but I'm all for accuracy.
MDCT I'd say it's quite common with ogg/at3/mp3/xma around though.
One thing I wonder though, as you can find ATRAC3 even in PS2 games, or hardware-decoded, I'm guessing that various implementations sacrify some accuracy for speed? Ex. I believe Wwise used fixed-point Vorbis, that stuff could be documented.
Also vgmstream's clHCA (now found here) doesn't use the latest version, it's possible they fixed stuff.
I know of one example that decodes wrong (very muffled) vs CRI's tools though didn't try the latest.
 (17 hours left)
- by furrybob at 10:36 AM EDT on September 22, 2017
Do you happen to have a link to that sample that doesn't decode correctly?
MDCT is quite common, but less so for codecs created specifically for video game audio. XMA must have slipped my mind earlier. I'm surprised nobody's publicly RE'd that codec yet.
 (18 hours left)
- by bnnm at 11:23 AM EDT on September 22, 2017
- @furrybob - example. It's an HCA inside an AIX though. Now that I think about it maybe I compared vs an earlier HCA decoder instead of CRI tools; sounds strange with clHCA anyway.
I see what you mean now. XMA doesn't even qualify then, since it's just WMA Pro with very minor config.
A note, FFmpeg's WMA Pro/XMA decoding seems very accurate, comparing waveform/samples (maybe they just RE'd xmaencode.exe or xWMAEncode.exe), but gets wrong sample counts (encoder delay, last frame). While FFmpeg's ATRAC3 seemed not very accurate, and ATRAC3plus was ok-ish.
 (18 hours left)
HCS Forum Index
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Search this thread
Show all threads
Reply to this thread:
Halley's Comet Software
Generated in 0.006s;