Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-02-18ac3enc: fix bug in stereo rematrixing decision.Justin Ruggles
The rematrixing strategy reuse flags are not reset between frames, so they need to be initialized for all blocks, not just block 0. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 5b54d4b376fbd2c291b8a6dba7d425e28f654bcf)
2011-02-17ac3enc: change default floor code to 7.Justin Ruggles
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)
2011-02-17Merge libavcore into libavutilReinhard Tartler
Done to keep ABI compatible. Otherwise this is just silly
2011-02-11Add x86-optimized versions of exponent_min().Justin Ruggles
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> (cherry picked from commit dda3f0ef48aa5c3b03566b60b6bf63211e1fe579)
2011-02-04ac3enc: Change EXP_DIFF_THRESHOLD to 500.Justin Ruggles
This patch changes the exponent difference threshold in the exponent strategy decision function of the AC-3 encoder. I tested lowering in increments of 100. From 1000 down to 500 generally increased in quality with each step, but 400 was generally much worse. Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit c3beafa0f14fd81ab43083f61872cbd5426647cf)
2011-01-28Add ff_ prefix to ac3_common_init().Justin Ruggles
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 4c57cde942b3d28074d0bb06e2ca200bc1098f22)
2011-01-23ac3enc: use dsputil functions in apply_window()Justin Ruggles
Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 3b924294ea0ab891cf28fb30f26962a7960f7f37)
2011-01-15cosmetics: spacing, line wrap, and remove unneeded bracesJustin Ruggles
Originally committed as revision 26359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Process all EXP_REUSE blocks at once in exponent_min().Justin Ruggles
43% faster in function encode_exponents(). Originally committed as revision 26358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Take advantage of per-channel exponent and exponent strategy layout toJustin Ruggles
simplify and speed up encode_exponents(). 8% faster in function. Originally committed as revision 26357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Simplify compute_exp_strategy() by passing a pointer to all exponents andJustin Ruggles
exponent strategies for a single channel to compute_exp_strategy_ch(). This allows for removal of the temporary pointer arrays. Originally committed as revision 26356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Use a local variable in the inner loop of group_exponents() to simplify theJustin Ruggles
code. Originally committed as revision 26355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15cosmetics: remove unneeded bracesJustin Ruggles
Originally committed as revision 26354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15cosmetics: rename block_num to blk for variable name consistencyJustin Ruggles
Originally committed as revision 26353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Move exp_strategy from AC3Block to AC3EncodeContext in order to arrange byJustin Ruggles
channel first, then by block. Originally committed as revision 26352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-15Rearrange exponent buffer to group all blocks for a single channel together.Justin Ruggles
This will allow for faster and simpler processing of all blocks at once. Originally committed as revision 26351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-09Add stereo rematrixing support to the AC-3 encoders.Justin Ruggles
This improves the audio quality significantly for stereo source with both the fixed-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
2011-01-05Convert floating-point MDCT coefficients to 24-bit fixed-point all at onceJustin Ruggles
instead of doing it separately in 2 different functions. This makes float AC-3 encoding approx. 3-7% faster overall. Also, the coefficient conversion can now be easily SIMD-optimized. Originally committed as revision 26232 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05Use local variables outside the inner loop in extract_exponents() to reduceJustin Ruggles
accessing of structs and arrays inside the loop. Approx. 30% faster in function extract_exponents(). Originally committed as revision 26226 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-04cosmetics: fix typo in previous commitJustin Ruggles
Originally committed as revision 26210 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-04Change the AC-3 encoder to use floating-point.Justin Ruggles
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
2011-01-03Move fixed-point parts of the AC-3 encoder to separate files.Justin Ruggles
Originally committed as revision 26206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-01Skip the bit allocation search if previous and current SNR offsets are theJustin Ruggles
maximum value of 1023. This speeds up overall encoding depending on the content and bitrate. The most improvement is with high bitrates and/or low complexity content. Originally committed as revision 26181 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-0110l: Fix mistake in r26044. Check increment bounds using actual incrementJustin Ruggles
instead of 64. This will change output in some cases, but it happens to not affect the AC-3 regression tests. Originally committed as revision 26180 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Change planar_samples from int16_t to SampleType.Justin Ruggles
This one was missed in r26174. Originally committed as revision 26179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Add typedefs and a macro that will allow sharing of functions between theJustin Ruggles
fixed-point and floating-point AC-3 encoders. Originally committed as revision 26174 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Move the list of supported channel layouts to a separate table.Justin Ruggles
Originally committed as revision 26173 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Add a window field to AC3MDCTContext and use it as an input to apply_window()Justin Ruggles
instead of using the ff_ac3_window[] table directly. Originally committed as revision 26172 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31cosmetics: alignment, line wrap, and spacingJustin Ruggles
Originally committed as revision 26171 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Remove avctx from AC3MDCTContext and just pass it to mdct_init() instead.Justin Ruggles
Originally committed as revision 26170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31Make exponent_group_tab[] static.Justin Ruggles
Originally committed as revision 26169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29Change the default dB-per-bit code from 2 to 3.Justin Ruggles
This gives slightly better quality in PEAQ tests. Code 3 gives a dBpb value of 2816 = -132dB (128 psd units = -6dB), which corresponds to 22 bits. Since the exponents have an offset applied, the 16-bit source looks like 24-bit source to the bit allocation routine. So using dBpb code=3 is a closer match to the exponent range. Regression test refs updated for acodec-ac3, lavf-rm, and seek-ac3_rm. Originally committed as revision 26144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23cosmetics: line wrap and vertical alignmentJustin Ruggles
Originally committed as revision 26084 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23Make sure that the 2nd CRC value does not match the AC-3 sync word.Justin Ruggles
This is optional for encoders, but it's a good idea and has minimal impact on performance. This will change the output for some files, but it happens not to affect the regression tests. Originally committed as revision 26083 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23Store CRC context locally to reduce number of calls to av_crc_get_table().Justin Ruggles
Originally committed as revision 26082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-23Remove unneeded local variable, frame_size, in output_frame_end().Justin Ruggles
Originally committed as revision 26081 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-22cosmetics: fix comment after change in clipping rangeJustin Ruggles
Originally committed as revision 26072 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-22Change FIX15() back to clipping to -32767..32767.Justin Ruggles
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
2010-12-21Add emms_c() after exp_diff calculations.Justin Ruggles
Fixes AC-3 encoding on OpenBSD 4.8 x86_32 and hopefully other similar configurations. Originally committed as revision 26070 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21Pre-calculate crc_inv at codec init.Justin Ruggles
20% faster output_frame_end(). Originally committed as revision 26069 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-18Add some simple fallbacks for normal bit allocation failure.Justin Ruggles
This allows encoding with lower bitrates by decreasing exponent bits first, then decreasing bandwidth if the user did not specify a specific cutoff frequency. Originally committed as revision 26050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-18Check user-specified cutoff frequency in validate_options().Justin Ruggles
Originally committed as revision 26049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-1810l: fix encoding for LFE channelJustin Ruggles
Originally committed as revision 26048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17Add support for fixed-point MDCT sizes other than 512.Justin Ruggles
Originally committed as revision 26046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17cosmetics: reindent after last commitJustin Ruggles
Originally committed as revision 26045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17Simplify bit allocation search by using a loop for the SNR offset increment.Justin Ruggles
Originally committed as revision 26044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17Do not calculate psd and masking curve if exponents are being reused.Justin Ruggles
Approx. 20% faster in function bit_alloc_masking(). Originally committed as revision 26042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17cosmetics: reindent after last commitJustin Ruggles
Originally committed as revision 26041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17Copy bap from previous block when exponent strategy is EXP_REUSE.Justin Ruggles
We can do this because exponents are the only bit allocation parameters which change from block-to-block currently. Approx. 57% faster in function bit_alloc(). Approx. 25% faster overall encoding. Originally committed as revision 26040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17Count grouped mantissas for each block all at once at the end of bitJustin Ruggles
allocation for each block. 24% faster in function bit_alloc(). Approx. 10% faster overall encoding. Originally committed as revision 26039 to svn://svn.ffmpeg.org/ffmpeg/trunk