[FFmpeg-devel] AAC ALS (lossless) and SLS (scalable lossless)
Fri Mar 20 04:56:35 CET 2009
On Thu, Mar 19, 2009 at 5:29 PM, Justin Ruggles
<justin.ruggles at gmail.com> wrote:
> Alex Converse wrote:
>> On Wed, Mar 18, 2009 at 9:49 AM, Alex Converse <alex.converse at gmail.com> wrote:
>>> On Tue, Mar 17, 2009 at 10:09 PM, Jethro Walters
>>> <turkeyman121 at yahoo.co.uk> wrote:
>>>> Hey guys.
>>>> Was doing a little research on both AAC ALS and SLS. ALS is the official lossless format for AAC, and a completely separate codec to AAC. SLS is the extension to AAC that adds a lossless reproduction layer on top of the lossy AAC file, sort-of like WavPack's Hybrid lossy/lossless mode.
>>>> Is there any plan to implement these formats in ffmpeg / libavcodec? I feel that having one or both in ffmpeg would give them more chance of moving more into the mainstream, but there seems to be little information around about both formats. Anybody know anything further? Before you ask, no I'm not volunteering to code these, as my coding skills are in dire need of improvement.
>>>> Jethro Walters
>>> At this point ALS has picked up very little steam in the wild and
>>> probably won't be seen in FFmpeg anytime soon. A subset of SLS is
>>> currently getting a push under the name HD-AAC. I imagine if it takes
>>> off FFmpeg will get support for it. Right now we can play the LC core
>>> of SLS files.
>> To expand on my previous answer a little bit since you were talking
>> about helping to popularize the formats...
>> ALS doesn't do anything particularly interesting in my opinion. It's
>> seems to be a result of NIH syndrome. There is nothing it does that
>> couldn't be solved by a FLAC mapping for MP4 (well except for the fact
>> that FLAC probably doesn't use nearly as many patents owned by the
>> interests that run MPEG). There seems to be no good reason to push to
>> popularize ALS. Though if someone really takes interest in it, there
>> is no format too obscure for FFmpeg.
> I don't understand why a FLAC mapping for MP4 would do anything like
> what ALS does? ?While ALS does have many random optional features, it
> gives better compression than FLAC even with only the subset of features
> that are similar to FLAC. ?When you add block switching and arithmetic
> coding it can be competitive with the higher compression lossless codecs
> out there.
> I've given up on "popularization" as a motivation for FFmpeg
> development. ?Now I just want us to implement everything we can. :) ?And
> I like ALS more from a theoretical point-of-view rather than wanting to
> see it gain ground as a popular lossless codec.
Looking at some comparisons it does show a lot of promise. Just don't
be too disappointed if it never gains a commercial foothold. But I
suppose the beauty of a lossless codec is that there is no penalty for
transcoding down the road.
>> SLS is a much more interesting format because of it's hybrid WavPack
>> like nature. Now I'm sure you are thinking ALS is like FLAC, SLS is
>> like WavPack what's makes SLS interesting? SLS is interesting because
>> it's lossy layer is already widely proliferated in the wild and there
>> are high quality tools for it. A file that can be quickly stripped to
>> AAC is far more useful on a number of players and devices than a .WV
>> WavPack lossy file.
>> That is why recently I've started work on an HD-AAC (subset of SLS) decoder.
> I also think SLS is interesting. ?I just don't know as much about it as
> I do ALS. ?If more people want this to be a project proposal for GSoC, I
> would be willing to study up on it and volunteer to be a mentor unless
> someone who knows more about AAC would rather be mentor. ?Although work
> should not be duplicated if you're already working on a decoder...
SLS has gotten a lot of buzz lately thanks to a big push from FhG
(showing it off at CES, getting Via to put together a licensing
scheme) the new HD-AAC profile.
> Is there documentation somewhere on HD-AAC vs. SLS? ?What does HD-AAC
> leave out?
Basically it leaves out BSAC from the AAC layer and CBAC from the SLS
layer. It also leaves out pure lossless mode (which I'm writing anyway
for sanity/testing purposes).
More information about the ffmpeg-devel