Age | Commit message (Collapse) | Author | |
---|---|---|---|
2011-09-05 | ac3enc: Add channel coupling support for the fixed-point AC-3 encoder. | Justin Ruggles | |
Update FATE references accordingly. | |||
2011-08-11 | ac3enc: add macros for option names to make them more understandable. | Justin Ruggles | |
2011-08-11 | ac3enc: fix 'channel_coupling' option to actually allow 'auto'. | Justin Ruggles | |
Use 'auto' as the default value. | |||
2011-08-10 | ac3enc: allow new coupling coordinates to be sent independently for each | Justin Ruggles | |
channel. | |||
2011-08-10 | ac3enc: separate exponent bit counting from exponent grouping. | Justin Ruggles | |
Move bit counting to the bit allocation function. Move exponent grouping to after bit allocation. This will allow for adjustment of bandwidth parameters during bit allocation without having to do exponent grouping multiple times. | |||
2011-07-27 | cosmetics: reindent | Justin Ruggles | |
2011-07-27 | eac3enc: support writing of basic mixing and info metadata | Justin Ruggles | |
2011-07-21 | eac3enc: use different numbers of blocks per frame to allow higher bitrates | Justin Ruggles | |
2011-07-19 | eac3enc: use frame exponent strategy when applicable. | Justin Ruggles | |
This checks if the set of selected exponent strategies for all blocks in a channel are in the frame exponent strategy table, and if so, writes the table index instead of each strategy. This saves up to 7 bits per channel per frame, so the overall effect on quality is small. | |||
2011-07-14 | ac3enc: merge AC3MDCTContext with AC3EncodeContext. | Justin Ruggles | |
Since both the fixed-point and floating-point encoders use the FFTContext, this no longer needs to be in a separate context. Also, when a short-transform context is added, the same MDCT window will be used. | |||
2011-07-14 | ac3enc: prefer passing AC3EncodeContext rather than AVCodecContext | Justin Ruggles | |
2011-07-14 | ac3enc: fix memleak | Justin Ruggles | |
2011-06-28 | cosmetics: remove outdated comment that is no longer true | Justin Ruggles | |
2011-06-27 | ac3enc: move ff_ac3_encode_frame() to ac3enc_template.c | Justin Ruggles | |
This avoids using function pointers for quite a few small functions, most of which just call DSP functions. | |||
2011-06-27 | ac3enc: Remove bit allocation fallbacks. | Justin Ruggles | |
They introduce too much complexity for very little benefit. The result is that encoding will be more likely to fail at extremely low bitrates where quality would be awful anyway. | |||
2011-06-22 | ac3enc: remove unneeded local variable in asym_quant() | Justin Ruggles | |
2011-06-22 | ac3enc: remove a branch in asym_quant() by doing 2 shifts | Justin Ruggles | |
2011-06-22 | ac3enc: avoid masking output in asym_quant() by using signed values for | Justin Ruggles | |
quantized mantissas. | |||
2011-06-14 | ac3enc: fix allocation of floating point samples. | Justin Ruggles | |
sizeof(SampleType) is different for fixed and float encoders. | |||
2011-06-14 | ac3enc: remove empty ac3_float function that is never called | Justin Ruggles | |
2011-06-14 | ac3enc: split templated float vs. fixed functions into a separate file. | Justin Ruggles | |
Function pointers are used for templated functions instead of needlessly duplicating many functions. | |||
2011-06-14 | ac3enc: dynamically allocate AC3EncodeContext fields windowed_samples and mdct | Justin Ruggles | |
This will allow the same struct to be used for both the fixed and float ac3 encoders. | |||
2011-06-14 | ac3enc: use function pointer to choose between AC-3 and E-AC-3 header output | Justin Ruggles | |
functions. | |||
2011-06-08 | ac3enc: Fix linking of AC-3 encoder without the E-AC-3 encoder. | Diego Biurrun | |
The AC-3 encoder unconditionally references some symbols from the E-AC-3 encoder; make those references conditional to fix linking. | |||
2011-06-07 | Move E-AC-3 encoder functions to a separate eac3enc.c file. | Justin Ruggles | |
2011-06-07 | ac3enc: remove convenience macro, #define DEBUG | Justin Ruggles | |
2011-06-07 | ac3enc: remove unused #define | Justin Ruggles | |
2011-06-05 | ac3enc: extract all exponents for the frame at once | Justin Ruggles | |
2011-05-29 | ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits() | Mans Rullgard | |
Signed-off-by: Mans Rullgard <mans@mansr.com> | |||
2011-05-28 | ac3enc: modify mantissa bit counting to keep bap counts for all values of bap | Justin Ruggles | |
instead of just 0 to 4. This does all the actual bit counting as a final step. | |||
2011-05-28 | ac3enc: split mantissa bit counting into a separate function. | Justin Ruggles | |
No speed difference. This is to allow for more flexible bit counting. | |||
2011-05-28 | ac3enc: store per-block/channel bap pointers by reference block in a 2D array | Justin Ruggles | |
rather than in the AC3Block struct. This will make it easier to access the bap values without having to chase the reference block pointers each time. | |||
2011-05-28 | ac3enc: use LOCAL_ALIGNED macro | Mans Rullgard | |
Aligned local variables must use the LOCAL_ALIGNED macro to ensure correct alignment on all systems. The unusual size argument to memset is required since the implementation of LOCAL_ALIGNED may use a pointer to an array. Signed-off-by: Mans Rullgard <mans@mansr.com> | |||
2011-05-28 | cosmetics: indentation and alignment after previous commit | Justin Ruggles | |
2011-05-28 | ac3enc: add support for E-AC-3 encoding. | Justin Ruggles | |
This adds basic stream format support and allows for arbitrary bit rates rather than just those supported in AC-3. | |||
2011-05-28 | ac3enc: Move AC-3 AVOptions array to a separate file to make it easier to | Justin Ruggles | |
use only selected options for the different AC-3 encoder types. | |||
2011-05-26 | ac3enc: initialize all coefficients to zero. | Justin Ruggles | |
Uninitialized coefficients were being used to generate exponents, some of which actually ended up in the final stream. Even though, they were just extra exponents that are not used by any decoder, it is still better to have consistent output for testing. This also fixes valgrind errors. | |||
2011-05-24 | ac3enc: add channel coupling support | Justin Ruggles | |
Channel coupling is an optional AC-3 feature that increases quality by combining high frequency information from multiple channels into a single channel. The per-channel high frequency information is sent with less accuracy in both the frequency and time domains. This allows more bits to be used for lower frequencies while preserving enough information to reconstruct the high frequencies. | |||
2011-05-12 | ac3enc: put the counting of stereo rematrixing bits in the same place to | Justin Ruggles | |
make the code easier to understand. | |||
2011-05-12 | ac3enc: clean up count_frame_bits() and count_frame_bits_fixed() | Justin Ruggles | |
2011-05-10 | AVOptions: make default_val a union, as proposed in AVOption2. | Anton Khirnov | |
This breaks API and ABI. | |||
2011-05-04 | Replace strncpy() with av_strlcpy(). | Alex Converse | |
2011-05-01 | ac3enc: do not store a bandwidth code for each channel. | Justin Ruggles | |
Although AC-3 allows it, it's not very useful. The encoder uses the same code for all full-bandwidth channels. | |||
2011-05-01 | ac3enc: remove bandwidth reduction as fallback for bit allocation failure. | Justin Ruggles | |
It was only needed at low bitrates, which now already use a low bandwidth, so the bandwidth reduction is no longer needed. | |||
2011-05-01 | ac3enc: merge compute_exp_strategy_ch() into compute_exp_strategy() | Justin Ruggles | |
2011-05-01 | ac3enc: return error if frame+exponent bits are too large instead of using | Justin Ruggles | |
av_assert2(). This can occur in some very rare cases with low bitrates. | |||
2011-05-01 | ac3enc: differentiate between current block and reference block in bit_alloc() | Justin Ruggles | |
2011-05-01 | ac3enc: simplify exponent_init() by calculating exponent_group_tab[] based | Justin Ruggles | |
on exponent group sizes. | |||
2011-05-01 | ac3enc: simplify stereo rematrixing decision options | Justin Ruggles | |
2011-04-27 | ac3enc: remove check for mismatching channels and channel_layout | Justin Ruggles | |