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