I've been noticing that when using precompiled binaries for lame_enc.dll;
when I set
format.LHV1.bWriteVBRHeader
to true under Delphi 4.0; the VBRHeader is not writen as shown by the debug
log:

Lame_enc configuration options:
==========================================================
version                =1
Layer                  =3
mode                   =Stereo
Input sample rate      =44.1 kHz
Output sample rate     =44.1 kHz
bitrate                =160 kbps
Quality Setting        =5
Low pass frequency     =21421
Low pass width         =-1
High pass frequency    =0
High pass width        =-1
No short blocks        =0
Force short blocks     =0
de-emphasis            =0
private flag           =0
copyright flag         =1
original flag          =0
CRC                    =off
Fast mode              =enabled
Force mid/side stereo  =disabled
Padding Type           =0
Disable Resorvoir      =0
Allow diff-short       =1
Temporal masking effect=0
Strict ISO Encoding    =No
Scale                  = 0.00
VBR                    =enabled, VBR_q =4, VBR method =vbr_abr (average
bitrate 192 kbps)
Vbr Min bitrate        =160 kbps
Vbr Max bitrate        =192 kbps
Write VBR Header       =No
VBR Hard min           =0
ATH Only               =0
ATH short              =0
ATH short              =0
ATH no                 =0
ATH type               =2
ATH lower              =0
ATH aa                 =-1
ATH aa  loudapprox     =2
ATH aa  sensitivity    =0
ATHtype                =2
Experimental nspsytune =0
Experimental X         =0
Experimental Y         =0
Experimental Z         =0

I noticed that the following line in the
beInitStream()
function. The line which reads:

// check if the VBR tag is required
 if ( TRUE == lameConfig.format.LHV1.bWriteVBRHeader)
 {
  lame_set_bWriteVbrTag( gfp, 1 );
 }

is different than other boolean checks like lameConfig.format.LHV1.bNoRes
// check if the VBR tag is required
 if ( /*TRUE ==*/ lameConfig.format.LHV1.bWriteVBRHeader)
 {
  lame_set_bWriteVbrTag( gfp, 1 );
 }

If I comment out the TRUE == line and recompile; the VBR header is written
as I'd expect:


Lame_enc configuration options:
==========================================================
version                =1
Layer                  =3
mode                   =Stereo
Input sample rate      =44.1 kHz
Output sample rate     =44.1 kHz
bitrate                =96 kbps
Quality Setting        =2
Low pass frequency     =14315
Low pass width         =-1
High pass frequency    =0
High pass width        =-1
No short blocks        =0
Force short blocks     =0
de-emphasis            =0
private flag           =0
copyright flag         =1
original flag          =0
CRC                    =off
Fast mode              =enabled
Force mid/side stereo  =disabled
Padding Type           =0
Disable Resorvoir      =1
Allow diff-short       =1
Temporal masking effect=0
Strict ISO Encoding    =No
Scale                  = 0.00
VBR                    =enabled, VBR_q =4, VBR method =vbr_abr (average
bitrate 133 kbps)
Vbr Min bitrate        =96 kbps
Vbr Max bitrate        =192 kbps
Write VBR Header       =Yes
VBR Hard min           =0
ATH Only               =0
ATH short              =0
ATH short              =0
ATH no                 =0
ATH type               =2
ATH lower              =0
ATH aa                 =-1
ATH aa  loudapprox     =2
ATH aa  sensitivity    =0
ATHtype                =2
Experimental nspsytune =0
Experimental X         =0
Experimental Y         =0
Experimental Z         =0

The other thing I've noticed with 3.93.1 is that  when compiling with MSVC
for the Pentium using MSVC++5.0 the compiler hangs:
nmake -f Makefile.MSVC COMP=MS GTK=NO DLL CPU=P1
but if I compile for P2 or P3; it compiles fine. This happens with both the
original source and the modified sourcecode.

I don't know the cause for this. Anyone?

John

_______________________________________________
mp3encoder mailing list
[EMAIL PROTECTED]
http://minnie.tuhs.org/mailman/listinfo/mp3encoder

Reply via email to