Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Room correction with convolution per sample rate
06-01-2019, 21:16
Post: #36
RE: Room correction with convolution per sample rate
I have found the cause of the 48 kHz problem. It isn't caused by a bug in FFmpeg and it isn't a problem with the ARM build.

The problem is caused by a hardware bug in the Marvell Armada 370 processor used by the Melco N1, N100 and N10. When the user specifies the gtype=gn option, the algorithm that FFmpeg uses to calculate the gain involves multiplying filter coefficients. For some values of filter coefficients, this multiplication can produce a floating-point underflow. Normally this underflow would be harmless but on the Armada 370 it causes register corruption and/or segmentation faults. I have verified this by single-stepping through the generated assembler instructions in a debugger. It just so happens that your 48 kHz filter contains coefficients that cause an underflow and trigger this problem.

To summarize, the problem occurs with the following combination:
1) gtype=gn
2) the Armada 370 processor
3) certain filter coefficient values

You can't do much about 2) or 3), but you could change 1) by replacing the gtype option with either the dry or wet option. I don't know which of these would be better; you would need to experiment.

I will report this problem to the FFmpeg developers. It may be that they are willing to change the FFmpeg code used for the gtype=gn gain calculation to avoid triggering the Armada 370 underflow bug. Even if they are willing to do this, it will be some time before this change becomes available in FFmpeg builds.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: Room correction with convolution per sample rate - simoncn - 06-01-2019 21:16

Forum Jump:


User(s) browsing this thread: 1 Guest(s)