[Matroska-devel] Re: email adress of David Bryant for wavpack 4 integration into matroskatools ?
Christian HJ Wiesner
chris at wiesneronline.net
Tue Nov 11 11:00:34 CET 2003
Hi guys,
any news here we could forward to David Bryant, the Wavpack author,
about how he would have to write his lib for easy integration into our
tools ? I guess the recent work we have been doing with FLAC and libflac
should have resulted in some usable experience here ? jccston just said
on IRC :
jcsston <irc://127.0.0.1/jcsston,isnick> <ChrisHJW> why oh why cant
these compression format devs not separate framing and codec <-- anytime
you put something inside another thing you are going to get overhead. If
you zip a zip the second zip will be larger.
jcsston <irc://127.0.0.1/jcsston,isnick> an ideal lib interface would
work in a frame-by-frame basis
jcsston <irc://127.0.0.1/jcsston,isnick> don't require the use of
callbacks. I had to design the FLAC encoder filter in a way so that if
you drop some audio samples your audio will go out of sync. (blame libflac)
jcsston told me that we currently put FLAC into MKA including its own
framing, because its more or less impossible to separate the two, the
FLAC decoder will always expect the frames embedded in FLACs native
framing ( not sure how this is handled in OggFLAC ? ), means that if we
wanted to mux the raw FLAC frames into matroska, we either had to
reconstruct the FLAC framing on demuxing, or rewrite all existing FLAC
decoders so they can handle raw frames also :( ....
A summary comparison between Wavpack4 and FLAC
Wavpack4
FLAC
CPU - encodining : minimal medium
CPU - decoding : small minimal
Compression : good good
5.1 yes
yes
x-platform yes
yes
hardware support no yes
lossless - lossy mode yes no
I recommend that, if David could give us a library where codec and
framing are clearly separated, and as its using lower CPU for encoding
that FLAC, this would make Wavpack4 the ideal lossless format for video
capturing and video editing, means for integration into VdubMod and
making a DirectShow encodee and ecoder filter.
are encoded lossless, but silent scenes are encodedA crazy feature that
FLAC cant do is the possibility to switch from lossless to lossy mode
and back from one block to the next. This could save enormous file size,
if we can enable a mode where comples scenes during capturing using
lossly mode. An intelligent encoder could even detect if the spare CPU
power is enough to encode in lossly mode, during a capturing process,
just a crazy idea of mine ;) ....
@ David Bryant ( pls. use 'reply all' if you answer to this email ) :
Did you ever consider to look at matroska as your native framing anyhow
? Please dont make the false assumption that doing so will result in a
huge overhead in any case, because thats not true. As an example, we can
store Vorbis more effectively in matroska than it is stored in Ogg,
thanks to our very efficient lacing system called 'EBML lacing' .
matroska has a variable header length, so for an audio track many things
in the headers are simply non-existant, and that way Wavpack4 could
enjoy a huge fan community meanwhile, also libmatroska/libebml are a
fixed part of most Linux distro's now already, including GNOME /
Gstreamer plugins. Making DirectShow filters for Wavpack would be a
breeze then, as our existing source filters for matroska streams could
be used fine. We have a powerful tagging system already, and apps to
write/read them, there is a native replay gain field, fields to tell the
decoder how many channels the file has, etc. . Just a thought of mine ;)
.....
Christian
Christian HJ Wiesner wrote:
> David Bryant wrote:
>
>>> One thing that could give you a real advantage IMHO, was to alllow
>>> transition from lossless to lossy mode in one file. Dont know if
>>> this is
>>> possible, but pls. think about it :-) !
>>
>> Actually, this will be easy in WavPack 4.0 because every block of
>> compressed
>> audio is completely independent. It will also be possible to store
>> multichannel material with different compression modes for the various
>> streams.
>
> :O !!! You mean this is possible already ? Using lossless for complex
> sound parts, and lossy for say silence and the like, similar to a
> mixed mode ? Wow !!!
>
>>> I will ask my devs to email you and send a short description of what is
>>> technically necessary for good matroska implementation. And i know
>>> Linux
>>> support will be on the very top of their list, amongst other things ;-)
>>
>> I am planning for the code to be easily portable to Linux and even to
>> the
>> Mac. I may even try the linux port myself as soon as I get that Linux
>> system
>> going that I have been planning for years... ;-)
>> David
>
> Looking forward to be able to tell our devs that Wavpack 4 code can be
> used to start adding it to our muxing tools David :) ! About the
> requirements of your libs for easy implementation, i hope at least one
> of the lazy matroska devs now takes the ball and writes something
> sensible back to you :) ....
>
> Christian
More information about the Matroska-devel
mailing list