ac3enc: select bandwidth based on bit rate, sample rate, and number offull-bandwidth channels.
This reduces high-frequency artifacts and improves the quality of the lowerfrequency audio at low bit rates.
ac3enc: use generic fixed-point mdct
This makes the AC3 encoder use the shared fixed-point MDCT ratherthan its own implementation. The checksum changes are due todifferent rounding in the MDCT.
Signed-off-by: Mans Rullgard <firstname.lastname@example.org>
Add apply_window_int16() to DSPContext with x86-optimized versions and use itin the ac3_fixed encoder.
ac3enc: do not right-shift fixed-point coefficients in the final MDCT stage.
This increases the accuracy of coefficients, leading to improved quality.Rescaling of the coefficients to full 25-bit accuracy is done rather thanoffsetting the exponent values. This requires coefficient scaling to be done...
ac3enc: change default floor code to 7.
This is to match the value in every (E-)AC-3 file from commercial sources.It has a negligible effect on audio quality.
ac3enc: Change EXP_DIFF_THRESHOLD to 500.
This patch changes the exponent difference threshold in the exponentstrategy decision function of the AC-3 encoder. I tested lowering inincrements of 100. From 1000 down to 500 generally increased in qualitywith each step, but 400 was generally much worse....
Change the default dB-per-bit code from 2 to 3.This gives slightly better quality in PEAQ tests.Code 3 gives a dBpb value of 2816 = -132dB (128 psd units = -6dB), whichcorresponds to 22 bits. Since the exponents have an offset applied, the16-bit source looks like 24-bit source to the bit allocation routine....
Change FIX15 back to clipping to -32767..32767.This avoids a 16-bit overflow in mdct512() due to a -32768 value in costab.References updated for acodec-ac3, lavf-rm, and seek-ac3_rm tests.Thanks to Måns Rullgård for finding the bug.
Originally committed as revision 26071 to svn://svn.ffmpeg.org/ffmpeg/trunk
Update the test references for lavf-rm and seek-ac3_rm.The references changed due to r25956.
Originally committed as revision 26004 to svn://svn.ffmpeg.org/ffmpeg/trunk
Place regression test output files in subdirs per family
Originally committed as revision 22155 to svn://svn.ffmpeg.org/ffmpeg/trunk
regtest: split reference files allowing tests to run individually
With this change, the output is checked immediately after each testhas run. This means commands like "make regtest-mpeg2" can now beused to run a single test and get meaningful results....