[vorbis-dev] Oggenc ideas / source and request

Michael Smith msmith at labyrinth.net.au
Sun Dec 10 17:04:53 PST 2000



At 12:48 AM 12/11/00 +0100, you wrote:
>Hello everybody,
>I've put some functions/modifications into the Ogg Vorbis encoder source.
>(The new functions are in the first 500 lines of the oggenc.c, some
>definitions
> are in the oggenc.h)
>I hope, you can use it.

This is obviously unusable, at least as is. You've put the entirety of
libvorbis into a single file, along with the encoder. Why?

You've also removed copyright information from some of the files within
this, which is NOT GOOD. 

I'd also appreciate it if you renamed your program - there's already an
oggenc in wide use. Giving another program with similar functionality the
same name invites confusion.

>what's new or modified:
>- wav-header and wav-data-len handling

Oggenc already does this, except it does so portably and correctly.

>- multichannel encoding

This is useful. Oggenc doesn't do that mostly because I've never seen a wav
file with more than 2 channels in it. I suppose I should make the relevent
changes anyway.

>- header update (after encoding) with an average bitrate value (into the
>   vi.bitrate_nominal variable)

There's a reason why this isn't done. If the encoder doesn't know an
average/nominal bitrate, this field doesn't get filled. Changing it
afterwards isn't helpful, since it's never going to be a reliable
indication of average bitrate (think, for instance, of a truncated file.
Still works perfectly, but this bitrate value is wrong). Basically there's
no point in doing this.

>- 64bit floating point precision (maybe you say that it is not important,
>   but I'd like to compare with the 32bit verision)

Not useful. The algorithms are specifically designed to NOT need the extra
precision. Adding it just makes the memory usage much greater, and the
program significantly slower.

>what's missing:
>- stream support (stdin/stdout)

That's a pretty major thing to be missing.
So's portability to different compilers, cpu architectures, and operating
systems. 

Once you've rewritten stuff to be portable (and to not lug around the
entire source in a single file - that's just stupid), some of it might be
useful to other people.

Michael

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Vorbis-dev mailing list