[flac-dev] PATCH: add FLAC__SSE_SUPPORTED and FLAC__SSE2_SUPPORTED

2014-01-03 Thread lvqcl
Currently the only way to compile FLAC using GCC w/o SSE support is to disable asm optimizations (see configure.ac): if test "x$asm_optimisation" = "xyes" ; then XIPH_ADD_CFLAGS([-msse2]) fi Also it's not possible to enable SSE4.1 intrinsic functions even

[flac-dev] PATCH: asm versions for two _wide() functions

2014-01-03 Thread lvqcl
As I wrote earlier, GCC generates slow ia32 code for FLAC__lpc_compute_residual_from_qlp_coefficients_wide() and FLAC__lpc_restore_signal_wide(). So 24-bit encoding/decoding is slower for GCC compile than for MSVS or ICC compile. I took FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32 a

[flac-dev] PATCH: match calls and returns

2014-01-03 Thread lvqcl
According to Agner Fog, "...you must make sure that all calls are matched with returns. Never jump out of a subroutine without a return and never use a return as an indirect jump." (see paragraph 3.15 in microarchitecture.pdf and examples 3.5a and 3.5b in optimizing_assembly.pdf) Basically this

[flac-dev] PATCH: FLAC__ prefix to precompute_partition_info_sums_...

2014-01-03 Thread lvqcl
All(?) non-static functions have FLAC__ prefix. But precompute_partition_info_sums_32bit_asm_ia32_() and ..._intrin_sse2() and ..._intrin_ssse3() don't have it. This patch adds the prefix to them. FLAC__prefix.patch Description: Binary data ___ flac-d

[flac-dev] PATCH: FLAC__U64L definition

2014-01-03 Thread lvqcl
It defines FLAC__U64L(x) simply as x##ULL. ULL.patch Description: Binary data ___ flac-dev mailing list flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev

[flac-dev] Exact FLAC subset constraints

2014-01-03 Thread Барт Гопник
I'm misleading about FLAC subset constraints... Please help me understand exact FLAC subset limitation. >From >https://www.xiph.org/flac/documentation_tools_flac.html#flac_options_blocksize: Subset streams must use one of 192/576/1152/2304/4608/256/512/1024/2048/4096 (and 8192/16384 if the sampl