ac3enc: shift coefficients to 24-bit following MDCT rather than using an exponent offset.
This makes channel coupling more accurate, increasing quality for stereocontent. It also simplifies exponent extraction and mantissa quantizationby no longer needing to apply an offset to the exponents....
ac3enc: fix bug in stereo rematrixing decision.
The rematrixing strategy reuse flags are not reset between frames, so theyneed to be initialized for all blocks, not just block 0.
Signed-off-by: Mans Rullgard <mans@mansr.com>(cherry picked from commit 5b54d4b376fbd2c291b8a6dba7d425e28f654bcf)
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.
Signed-off-by: Mans Rullgard <mans@mansr.com>(cherry picked from commit 50d7140441b61809ad4ba4ea7b4ad8fe77bc6888)
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....
Add stereo rematrixing support to the AC-3 encoders.This improves the audio quality significantly for stereo source with both thefixed-point and floating-point AC-3 encoders.Update acodec-ac3_fixed and seek-ac3_rm test references.
Originally committed as revision 26271 to svn://svn.ffmpeg.org/ffmpeg/trunk
Change the AC-3 encoder to use floating-point.Fixed-point AC-3 encoder renamed to ac3_fixed.Regression test acodec-ac3 renamed to acodec-ac3_fixed.Regression test lavf-rm changed to use ac3_fixed encoder.
Originally committed as revision 26209 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
Simplify fix15().Turn it into 2 macros, and use av_clip_int16() and lrintf().This matches the int16 to float sample conversion in audioconvert.c.The regression test output is different due to lrintf() rounding.
Originally committed as revision 25956 to svn://svn.ffmpeg.org/ffmpeg/trunk
Set a constant frame size for encoding G.726 audio.
Originally committed as revision 25107 to svn://svn.ffmpeg.org/ffmpeg/trunk
tiny_psnr: skip wav headers on input files
The byte count printed excludes the header, and offsets are appliedafter the the headers are skipped.
Reference files updated to reflect new output. Some stddev/psnr valueshave changed slightly due to headers no longer being compared....
tiny_psnr: print max absolute difference between files
Regression test reference updates are due to the extra outputfrom tiny_psnr.
Patch by Vitor Sessak
Originally committed as revision 24132 to svn://svn.ffmpeg.org/ffmpeg/trunk
matroskaenc: Don't write a second seekhead for the clusters; mkvalidate agreeswith me that it's unnecessary.
Originally committed as revision 23478 to svn://svn.ffmpeg.org/ffmpeg/trunk
matroskaenc: Mux clusters better
Start them on keyframes when reasonable, and delay writing audio packetsto help ensure that there's audio samples available for the first frame inclusters.
Patch by James Zern <jzern at google>
Originally committed as revision 23473 to svn://svn.ffmpeg.org/ffmpeg/trunk
Update regression tests after removing track timecode scale from mkvenc
Originally committed as revision 23248 to svn://svn.ffmpeg.org/ffmpeg/trunk
Add VorbisComment writing to FLAC files.Patch by James Darnley <james darnley at gmail>.
Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
Simplify starting and ending clusters
Originally committed as revision 22199 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
Separate audio-only tests so they are only run once
Originally committed as revision 21556 to svn://svn.ffmpeg.org/ffmpeg/trunk