On 12/16/2012 11:15 AM, Loren Merritt wrote: > On Sun, 16 Dec 2012, Justin Ruggles wrote: >> On 12/16/2012 06:27 AM, Loren Merritt wrote: >> >>> Do you have to store dither in a format different than the asm works with? >> >> That's the whole point of these functions. av_get_lfg() returns an >> unsigned int, so instead of converting each value to float and scaling >> individually, we can use SSE2 to do the conversion/scaling of multiple >> values along with adding the noise to the samples. >> >> For the triangular dither with high-pass it actually does convert/scale >> the dither noise separately, filters it, then adds it into the samples. >> But for the dither methods that don't require filtering, we can do it >> all at once. > > Why is av_get_lfg in the inner loop? Is there an audible difference > between that and repeating a constant array?
Hmm, well that gets more complicated. The frame size is controlled by the user and can change with each call. So it could work, but it would have to either dynamically increase the size of the noise array or process frames in pieces if they're too large. I can certainly give it a try though. Thanks, Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
