Skip to main content

Topic: Question about low-lantency (Read 3639 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • pi_jom
  • [*]
Question about low-lantency
Hello!
      I have downloaded the low-lantency ,while i set the blocksize=2000, and sub-blocksize=32 ,
       
      i think the encoder will run like this :  first  compress 2000 /frame and then  32 /frame;

---------------------------------------------  but the fact is ,  it still need to pack 2000 / frame.
      |  2000      |  32  | 32  | 32  |.......   
---------------------------------------------  am i misunderstanding it?   
                                                         
    And  the command is    "-b320 --blocksize=2000 --sub-blocks=32  1.wav 1.wv"

  • bryant
  • [*][*][*][*][*]
  • Developer (Donating)
Question about low-lantency
Reply #1
Yes, you are misunderstanding it a little. The parameters that you are using will create blocks with 64000 samples per block (2000 * 32)! However, the encoder will compress 2000 samples at a time and provide those to the application, so the effective latency is 2000 samples. Every 64000 samples (32 of these “sub blocks”) the encoder will terminate the large “super block” and start over.

I suspect that is not what you want, because even the regular encoder is efficient with 2000 samples per block. If you want the sample latency to be 32 samples, try --blocksize=32 and --sub-blocks=32. This will process the samples 32 at a time, and every 1024 samples will start a new “super block”.

Hope this makes more sense... 

  • pi_jom
  • [*]
Question about low-lantency
Reply #2
Yes, you are misunderstanding it a little. The parameters that you are using will create blocks with 64000 samples per block (2000 * 32)! However, the encoder will compress 2000 samples at a time and provide those to the application, so the effective latency is 2000 samples. Every 64000 samples (32 of these “sub blocks”) the encoder will terminate the large “super block” and start over.

I suspect that is not what you want, because even the regular encoder is efficient with 2000 samples per block. If you want the sample latency to be 32 samples, try --blocksize=32 and --sub-blocks=32. This will process the samples 32 at a time, and every 1024 samples will start a new “super block”.

Hope this makes more sense... 


O i see, Thanks very much !  It would really help a lot.