[vorbis-dev] oggdrop with quality < 0
Alan MacDonald
newslists at warpzillion.com
Mon Jul 15 10:34:37 PDT 2002
If anyone is interested, I smushed the less than 0 quality rate setting into
oggdrop. The diff is below.
Alan
<p><p>Index: encthread.c
===================================================================
RCS file: /usr/local/cvsroot/win32-tools/oggdrop/encthread.c,v
retrieving revision 1.9
diff -r1.9 encthread.c
117,118c117,118
< if (quality < 0)
< quality = 1;
---
> if (quality < -10)
> quality = -10;
Index: main.c
===================================================================
RCS file: /usr/local/cvsroot/win32-tools/oggdrop/main.c,v
retrieving revision 1.14
diff -r1.14 main.c
14c14
< #define BASEKEY "Software\\Xiphophorus\\Oggdrop"
---
> #define BASEKEY "Software\\Xiph.Org\\Oggdrop"
187c187,188
<
---
> nominalBitrate = qc2approxBitrate(qcValue);
>
458c459
< (LPARAM) MAKELONG(0, 100)); // min. & max. positions
---
> (LPARAM) MAKELONG(0, 110)); // min. & max. positions
465c466
< (LPARAM) MAKELONG(0, 100));
---
> (LPARAM) MAKELONG(0, 110));
469c470
< (LPARAM) read_setting("quality", VORBIS_DEFAULT_QUALITY));
---
> (LPARAM) (read_setting("quality", VORBIS_DEFAULT_QUALITY))+10);
523c524
< TBM_GETPOS, (WPARAM)0, (LPARAM)0 );
---
> TBM_GETPOS, (WPARAM)0, (LPARAM)0 )-10;
672a674,678
> //quality range from lookup first value map to -.1, 0, .1, .2, etc..
> static float rate_mapping[12]={
> 22500.,32000.,40000.,48000.,56000.,64000.,
> 80000.,96000.,112000.,128000.,160000.,250001.
> };
673a680
> //equation for bitrate from vorbis/lib/vorbisenc.c
676,697c683,686
< float approxBitrate;
<
< if ( qcValue < 41)
< {
< approxBitrate = 1000 * (float)(((float)qcValue/10.0)*32);
< }
< else if ( qcValue < 81 )
< {
< approxBitrate = 1000 * (float)(((float)qcValue/10.0)*32);
< }
< else if ( qcValue < 91 )
< {
< approxBitrate = 1000 *(float)((((float)qcValue/10.0)*32)+
< ((((float)qcValue/10)-8)*32));
< }
< else
< {
< approxBitrate = 1000 * (float)((((float)qcValue/10.0)*32)+
< ((((float)qcValue/10)-8)*32)+((((float)qcValue/10)-9)*116));
< }
<
< return approxBitrate;
---
> float qval = (float)(qcValue/10.+1.);
> int is = qval;
> float ds = qval-is;
> return ((rate_mapping[is]*(1.-ds)+rate_mapping[is+1]*ds)*2);
698a688
>
<p>--- >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