Here I attach a preliminary version of a patch for precompute_partition_info_sums_() function that should accelerate encoding of 24-bit input data. 1) SSE2, SSSE3 and AVX2 versions of this function should be updated, too 2) the patch also changes if(FLAC__bitmath_ilog2(default_partition_samples) + bps + FLAC__MAX_EXTRA_RESIDUAL_BPS < 32) into (in effect) if(FLAC__bitmath_ilog2(default_partition_samples) + bps + FLAC__MAX_EXTRA_RESIDUAL_BPS <= 32) So, should the value of FLAC__MAX_EXTRA_RESIDUAL_BPS be increased (to 5? or to 6?) 3) any comments? -------------- next part -------------- A non-text attachment was scrubbed... Name: precomp_partitions.patch Type: application/octet-stream Size: 3069 bytes Desc: not available Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20150523/a55b2278/attachment.obj
Erik de Castro Lopo
2015-May-25 10:09 UTC
[flac-dev] A patch for precompute_partition_info_sums_()
lvqcl wrote:> 3) any comments?Well, it compiles and passes the test suite. However, I am concerned that that the test suite may not actually fully cover this function (maybe its time to figure out gcov again). I know we had a problem in this bit of code before. Is it possible to write a unit test for this functon? Erik -- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
Erik de Castro Lopo wrote:> Is it possible to write a unit test for this functon?I'm not a programmer, so I don't know how to make a proper unit test here. And I don't know what to test. Because...> I know we had a problem in this bit of code before....the problem was not in the code itself, but in "an assumption that the average residual magnitude will not be more than "bps" bits".