[Vorbis] diff to vorbis-tools-1.1.1

Ralph Giles giles at xiph.org
Sun Feb 19 11:17:54 PST 2006


On Sun, Feb 19, 2006 at 02:56:03PM +0100, Lars Täuber wrote:

> I just created a small patch for oggenc to be able to read and encode wav6-files. This files are of micro$ofts WAVEFORMATEXTENSIBLE format type and can contain multiple channels.
> a52dec can produce this type of file from ac3 streams.

Thanks for the patch. Just to clarify, this "wav6" format has some extra 
(constant? is there a spec) structure, and a bitflag field which 
specifies which channels are in the file? And the channels appear is a 
specific order?

> Might be it would be better to teach oggenc to read ac3 streams natively.

That would be nice but is impossible. AC3 is an encumbered standard and 
such code would infringe patents in many jurisdictions.

> There is probably a better way to encode low frequency channels contained in this files, but I'm not skilled enough to enhance oggenc in this way. Maybe there is one who wants to do this.
> My patch treats every channel the same way.

Yes, some tweaking to the reference encoder would greatly improve the 
bitrate for 5.1 and 7.1 sound.

> I'm not the great programmer so please feel free to tell me every mistake I made.

OK. :-)

You forgot to update the comment above the length check at audio.c:389.

You removed the "Deal with stupid broken apps" code. Is it safe to do
this? Maybe it's just me; I'm not clear whether the new code handles
what is left of that case.

"if(~format.format == 1)" seems a little obscure. Wouldn't 
"if(format.format == ~1)" or even "if(format.format == 0xFFFE)"
be more clear?

You define a bunch of speaker orientation flags in audio.h, but don't 
use them anywhere. I also don't see any attempt to map the channels into 
the order given in the vorbis spec. If the wav6 order is the same, this 
should probably be documented in a comment.

 -r


More information about the Vorbis mailing list