On Thu, Jul 2, 2015 at 3:13 PM, Rostislav Pehlivanov <atomnu...@gmail.com> wrote: > This commit finalizes the PNS implementation previously added to the encoder > by moving it to a seperate function search_for_pns() and thus making it > coder-generic. This new implementation makes use of the spread field of the > psy bands and the lambda quality feedback paremeter. The spread of the > spectrum in a band prevents PNS from being used excessively and thus preserve > more phase information in high frequencies. The lambda parameter allows the > number of PNS-marked bands to vary based on the lambda parameter and the > amount of bits available, making better choices on which bands are to be > marked as noise. Comparisons with the previous PNS implementation can be > found here: https://trac.ffmpeg.org/attachment/wiki/Encode/AAC/ > > This is V2 of the patch, the changes from the previous version being that > this version uses the new band->spread metric from aacpsy and normalizes the > energy using the group size. These changes were suggested by Claudio Freire > on the mailing list. Another change is the use of lambda to alter the > frequency threshold. This change makes the actual threshold frequencies vary > between +-2Khz of what's specified, depending on frame encoding performance.
LGTM. I probably should mention I already thoroughly tested a WIP version of the patch (which looks identical). This depends on #5, which is also good if it's pushed at the same time as other patches in the set (I already tested them as a whole). To push #5 in isolation I would have to test it a bit, to see it doesn't break anything. In any case it's not likely to break anything, but better safe than sorry. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel