FOSS-codec missing (ogg and mkv/mka-container)

Hi,
It’s good to have a unified interface for audio.

But why are all the proprietary codecs present.
(mp3, wmv, aac, h264, …)

While there is no sign of the FOSS-codec.
Because of the way they are managed, they should deserve some attention from khronos.
Why aren’t they included in the first place?
(Could someone answer this question please.)

ogg: http://www.xiph.org/
matroska container: http://www.matroska.org/


[u]flac container:[/u]
flac codec

[u]ogg container:[/u]
flac codec
vorbis codec
theora codec
speex codec
dirac codec

[u]mkv container[/u]
with already added codec

Note: the list isn’t exhaustive, doesn’t lists everything.
There might be some other codec that I may have overlooked.

Hi Gedolo,

Thanks for your interest in OpenSL ES. Just as you mentioned your list of codecs is not exhaustive, neither is specification. When we added the list of codecs to the specifications, we picked the ones that were the most prevalent at that time. We did not make any distinction based on how they are managed. The Open Source codecs have since become more mainstream and as you point out should be mentioned in the specification. In version 1.0.1 we did add the Vorbis codec. Unfortunately, the link on the website points to version 1.0, and we are having this corrected as soon as possible.

From version 1.0.1:
#define SL_AUDIOCODEC_PCM ((SLuint32) 0x00000001)
#define SL_AUDIOCODEC_MP3 ((SLuint32) 0x00000002)
#define SL_AUDIOCODEC_AMR ((SLuint32) 0x00000003)
#define SL_AUDIOCODEC_AMRWB ((SLuint32) 0x00000004)
#define SL_AUDIOCODEC_AMRWBPLUS ((SLuint32) 0x00000005)
#define SL_AUDIOCODEC_AAC ((SLuint32) 0x00000006)
#define SL_AUDIOCODEC_WMA ((SLuint32) 0x00000007)
#define SL_AUDIOCODEC_REAL ((SLuint32) 0x00000008)
#define SL_AUDIOCODEC_VORBIS ((SLuint32) 0x00000009)

Our intent was never to include every single codec or container format. Instead, we provide a basic list of codecs that each implementer is free to extend through a vendor extension.

Each time we do a revision of the specification we will take feedback from the community such as yours as well as look at what implementers are doing and improve the specification. We appreciate your comments, and we will discuss the list of codecs before we release the next update.

Best Regards,
Erik

VORBIS is in, sweet! :lol: :smiley: :smiley:
Well done :wink:

While looking at the specs.
That you guys didn’t try to put in all the existing codec/solutions is actually a wise decision.
However.
Talking about mainstream:
vorbis is now mainstream
Recently ( a year or two ago, thus not so recently actually) Xiph.org renamed their containers.
ogg is allowed for vorbis but .oga is now the preferred container format/file extension.

Thanks for adding vorbis but it doesn’t stop there just yet.
The other mainstream codec/formats that I would like to see added are:
FLAC in FLAC or oga container.
It’s pretty mainstream because it’s used a lot, e.g. the European Union uses it for it’s radio broadcasts.
A lot of audiophiles use it to store their music/sound in.

With all the commotion around HTML5 video/audio element Theora is getting quite some press coverage.
It’s supported by Firefox, Opera, Google Chrome/Chromium this means it’s pretty mainstream if it’s being used for web video’s.
Video in Ogg has the following file extension: OGV
(OGV stands for Ogg Video, surprise :lol: )

Another audio codec from Xiph.org is Speex.
It is mainstream because? It is the default speech oriented codec for flash!

The last Ogg container that would be pretty mainstream would be OGX.
It can contain all sorts of ogg stuff, actually I’m having doubts about this one (OGX).

Matroska is a very flexible container that is supposed to be able to contain almost anything.
It’s fine if the Khronos group limits it’s use to the chosen audio and video formats.
It’s mainstream because? Most torrent movies have an mkv extension. This means it’s pretty mainstream. There is a lot of support from multimedia players. Programs like HandBrake use it http://handbrake.fr/details.php. Matroska mainstream: Matroska - Wikipedia
There is MKS for only subtitles, MKA for audio-only files and MKV for video (+audio and subtitles).

Hopefully these formats will be added in the following version of OpenSL ES. They are all, except one container extension, pretty mainstream.
Please add all of them. Thanks for reading and supporting the community’s wishes. :mrgreen:

(You really need to let posts be editable until the following is made.)
(Now I got to do another posts just for this link.)
Announcement of DivX 7 using mkv as default container format on matroska forum: