Re: Adding musepack support to ffmpeg

ChristianHJW <[email protected]> Wed, 12 Nov 2003 23:00:55 +0100
Newsgroups gmane.comp.video.ffmpeg.devel,gmane.comp.audio.mpc.devel
Message-ID <[email protected]>
Hi Mike,

i am copying the mpc-devel list so the guys are aware that MPC 'might' 
get integrated into ffmpeg and can help you with it.

Mike Melanson wrote:
> On Fri, 7 Nov 2003, Chris Clancey wrote:
>>I'm not quite sure if this is the best place to ask, but would it be possiable to add musepack support to FFMPEG so eventually, it can be added to XBox Media Player (XBMP)?
>>For people that don't know, musepack (MPC) is a very high quality format for music compression, and is arguably better quality than ogg at higher bitrates. It doesn't fare well at anything below 100kbps. It is a pure VBR format, I am ripping all my stuff in it now, and I think I'll stick with it.
>>I can direct anyone thats interested where to get very good (fast) decoding sources from.
> 	I have done some legwork on Musepack support
> ("FringeMultimediaFormat" is my middle name, after all). I am still a
> little fuzzy on all the parts, so let me see if I have this straight:
> * Musepack is the audio codec (allegedly similar to MPEG-1, layer 2)

In fact, musepack is using subband coding similar to MPEG1 layer2 , but 
with a much improved psy model, and its using VBR by default.

> * Musepack data is transported in files called StreamVersion, and there
> are some 37 or so minor variations of the format (slight exaggeration, but
> there are at least 5 versions); all would need support

We currently have SV7 since some time, and in fact only since SV7 is 
used, MPC got widely adopted, so support for SV7 would be more than 
enough. SV8 was planned by Frank Klemm, the main MPC dev right now, but 
he currently doesnt have the time to work on it ( unfortunately ).

There is hardware support coming for MPC SV7 now, in a standalone DVD 
MPEG4 player based on the SIGMA EM 85xx chip, coded on ยต-C-Linux using 
an integer decoder made by a chinese MPC fan in his spare time, and also 
only for SV7 files.

The decoder sources available on Frank's page 
http://www.personal.uni-jena.de/~pfk/MPP/index2.html , more precisely 
here : http://www.personal.uni-jena.de/~pfk/MPP/src/mppdec-1.1.tar.bz2 , 
contain all the sources for decoding SV 4 - SV 7 AFAIK, but as you said 
they are in C++.

The integer source is in C, but dont ask me if its ANSI C ( it was made 
for an ARM environment originally ), link is here : 
http://rarewares.hydrogenaudio.org/files/mpc_arm_decoder_source.zip

> * decoder source is LGPL'd, can probably be dropped into ffmpeg with
> little modification

Yes

> * encoder source is not generally available, but the binaries are freely
> downloadable

Franks plan was to make MPC opensource with the launch of SV8, but as i 
told you above this wont happen very soon. We created an opensource 
project for MPC on corecodec.org already, 
http://corecodec.org/projects/mpc , so once Frank has SV8 ready for 
alpha release we can go OSS in no time.

> * comments for some of the source code modules are written in some kind of
> non-Englishy language

East-German to be more precise :D ....

> 	Do I have that all straight? Thanks...
> 	-Mike Melanson

Mike, again you have earned a lot of credibility for your special title, 
'Mr. 1000 formats' ;) ....

Christian
MPC and matroska project admin



-------------------------------------------------------
This SF.Net email sponsored by: ApacheCon 2003,
16-19 November in Las Vegas. Learn firsthand the latest
developments in Apache, PHP, Perl, XML, Java, MySQL,
WebDAV, and more! http://www.apachecon.com/