Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Disabling psymodel in LAME (Read 4973 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Disabling psymodel in LAME

I've been experimenting with the code and I am curious to test how much each component contributes to the running time .
I would like to disable the psychoacoustic model in LAME and get some results for CBR encoding, however I am having a few problems.
The new version of the code (3.98.4) doesn't seem to have any flag for doing this from the command line, while I think I remember an older version that had --psymodel X hidden as a developer flag (and no help). I don't have the version # here, may be I can find it out tomorrow).

From some paths in the 3.98.4 code, it looks like setting psymodel to 0 shouls do the trick (see for example, encoder.c, line 395), however I am not fully convinced. For example, in lame.c, isn't the function lame_init_qval overriding the value of psymodel?
Also, I believe that even setting psymodel to 0, still doesn't exclude all the work that LAME does to compute the model (the FFT, for example).

Assuming it's possible to do that, are the values for masking and pe used after line 395 in encoder.c meaningful?
(masking[] = {0} and pe[j]=700)

Is there some alternative constant masking that I can use in order to have a meaningful model that is still independent of the FFT? I.e., a guide for the bit allocation that depends on the frequencies but not on the input signal (and temporal masking). Is masking[]={0} causing the precision to be uniform on all bands?

The idea would be to have data (execution time and quality) for the full psychoacoustic model, no model at all (and so no FFT, no calculation of the masking and no outer loop?), and then data for a FFT independent bit allocation.

Thanks

 

Disabling psymodel in LAME

Reply #1
Try -q9


Disabling psymodel in LAME

Reply #3
The -q switches have nothing to do with bitrate, ony thing like -b and -V.

Disabling psymodel in LAME

Reply #4
I've been experimenting with the code and I am curious to test how much each component contributes to the running time .

Why don't you just use a profiler?