Skip to main content

Topic: Disabling psymodel in LAME (Read 3415 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • gimgim
  • [*]
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

  • shadowking
  • [*][*][*][*][*]
Disabling psymodel in LAME
Reply #1
Try -q9
wavpack -b4x4s1c

  • gimgim
  • [*]
Disabling psymodel in LAME
Reply #2
Try -q9


But with -q9 I won't have control on the exact bitrate, right? I want to generate files at CBR 256, 128, and 64


  • pdq
  • [*][*][*][*][*]
Disabling psymodel in LAME
Reply #3
The -q switches have nothing to do with bitrate, ony thing like -b and -V.

  • robert
  • [*][*][*][*][*]
  • Developer
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?

  • gimgim
  • [*]
Disabling psymodel in LAME
Reply #5
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?


Because with a profiler I won't be able to hear the result of an encoding without psymodel.
  • Last Edit: 12 March, 2011, 09:02:31 PM by gimgim