Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: RK Audio codec reverse engineered (Read 2032 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

RK Audio codec reverse engineered

Just to report here that RK Audio codec (.rka) decoding/demuxing will be available in ffmpeg codebase soon.

Re: RK Audio codec reverse engineered

Reply #1
Just as a follow-up, ffmpeg 6.0 has been released. Besides RK Audio, decoders/demuxers for quite a few other oddball formats have been merged.

Quote
February 28th, 2023, FFmpeg 6.0 "Von Neumann"

A new major release, FFmpeg 6.0 "Von Neumann", is now available for download.

[...]

New decoders featured are Bonk, RKA, Radiance, SC-4, APAC, VQC, WavArc and a few ADPCM formats.

Many thanks. Reverse-engineering such formats isn't easy.

edit: of course, there have been many other improvements besides these. See https://ffmpeg.org/ for a list of 'some highlights'
Music: sounds arranged such that they construct feelings.

Re: RK Audio codec reverse engineered

Reply #2
@mycroft :
I see you posted this in the "Lossless" section of the forum, but from a few testings, it seems to me that one of the lossy modes is covered and the other is not - and unfortunately, ffmpeg gives no warning no nothing about the latter, and decode to something unplayable. Could I suggest that you make ffmpeg detect&reject any "-v" encodeded input file?

* A "-q"-encode did decode to same audio with ffmpeg as with rkau.exe . I could do further testing with -q, but I have a hunch then that -q makes files that "decode like the lossless"?
* A "-v"-encode decoded by ffmpeg (either to file or by ffplay) is unlistenable, and close to all samples are wrong.

rkau.exe version 1.07, ffmpeg version 6.0-essentials_build-www.gyan.dev

Also, out of curiosity: You can demux, but is there any container that these could ever be remuxed into?