IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
Disabling psymodel in LAME
gimgim
post Mar 12 2011, 10:17
Post #1





Group: Members
Posts: 33
Joined: 2-February 11
Member No.: 87871



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[i][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
Go to the top of the page
+Quote Post
shadowking
post Mar 12 2011, 12:07
Post #2





Group: Members
Posts: 1527
Joined: 31-January 04
Member No.: 11664



Try -q9


--------------------
Wavpack -b450s0.7
Go to the top of the page
+Quote Post
gimgim
post Mar 12 2011, 21:22
Post #3





Group: Members
Posts: 33
Joined: 2-February 11
Member No.: 87871



QUOTE (shadowking @ Mar 12 2011, 13:07) *
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

Go to the top of the page
+Quote Post
pdq
post Mar 12 2011, 21:32
Post #4





Group: Members
Posts: 3442
Joined: 1-September 05
From: SE Pennsylvania
Member No.: 24233



The -q switches have nothing to do with bitrate, ony thing like -b and -V.
Go to the top of the page
+Quote Post
robert
post Mar 12 2011, 22:02
Post #5


LAME developer


Group: Developer
Posts: 788
Joined: 22-September 01
Member No.: 5



QUOTE (gimgim @ Mar 12 2011, 10:17) *
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?
Go to the top of the page
+Quote Post
gimgim
post Mar 13 2011, 03:01
Post #6





Group: Members
Posts: 33
Joined: 2-February 11
Member No.: 87871



QUOTE (robert @ Mar 12 2011, 23:02) *
QUOTE (gimgim @ Mar 12 2011, 10:17) *
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.

This post has been edited by gimgim: Mar 13 2011, 03:02
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 22nd November 2014 - 18:09