Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
13 years ago
Justin Ruggles
aa872af5e3
ac3enc: update to AVCodec.encode2()
...
Update FATE references due to encoder delay.
13 years ago
Diego Biurrun
a8798c7eb9
Drop unnecessary av_uninit attributes from some variable declarations.
...
Recent versions of gcc (4.4+) no longer give false positive warnings.
13 years ago
Justin Ruggles
c2d9a65bc0
ac3enc: doxygen update.
...
Add some parameters to existing function documentation.
Remove some unneeded documentation.
Convert some static function documentation to non-doxygen style.
13 years ago
Justin Ruggles
ae264bb29b
ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
...
Update FATE references accordingly.
13 years ago
Justin Ruggles
a0d17b6d45
ac3enc: scale floating-point coupling channel coefficients in
...
scale_coefficients() rather than in apply_channel_coupling()
13 years ago
Justin Ruggles
3e5722a8ca
ac3enc: fix encoding of stereo ac3 files when rematrixing is disabled.
...
The number of rematrixing bands still needs to be calculated.
13 years ago
Justin Ruggles
3be5a94351
ac3enc: remove outdated TODO comment for apply_channel_coupling()
13 years ago
Justin Ruggles
069083a419
ac3enc: clip coupling coordinates during calculation
...
This is faster than using the clip_coefficients() function. Also,
clipping the coordinates before determining reuse is better since it
will compare coordinates that are closer to their final encoded values.
13 years ago
Justin Ruggles
d1d33e0763
ac3enc: remove unneeded #include
13 years ago
Justin Ruggles
fce33f9ead
ac3enc: restructure coupling coordinate reuse calculation
13 years ago
Justin Ruggles
c3d63262fe
ac3enc: allow new coupling coordinates to be sent independently for each
...
channel.
13 years ago
Justin Ruggles
d55ad59a8a
ac3enc: separate exponent bit counting from exponent grouping.
...
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.
13 years ago
Justin Ruggles
1bca72e1bd
eac3enc: support writing of basic mixing and info metadata
14 years ago
Justin Ruggles
be7bd626c4
eac3enc: use different numbers of blocks per frame to allow higher bitrates
14 years ago
Justin Ruggles
b5849f7709
ac3enc: merge AC3MDCTContext with AC3EncodeContext.
...
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.
14 years ago
Justin Ruggles
82cea7cb6c
ac3enc: prefer passing AC3EncodeContext rather than AVCodecContext
14 years ago
Justin Ruggles
523b7eba19
ac3enc: clip coefficients after MDCT.
...
This ensures that any processing between the MDCT and exponent extraction will
be using clipped coefficients.
14 years ago
Justin Ruggles
8683c6a638
ac3enc: move ff_ac3_encode_frame() to ac3enc_template.c
...
This avoids using function pointers for quite a few small functions, most of
which just call DSP functions.
14 years ago
Justin Ruggles
b203f65451
ac3enc: use correct alignment and length in channel coupling dsp functions.
...
This fixes a segfault when using the C version of ac3dsp.float_to_fixed24().
14 years ago
Justin Ruggles
99477adc31
ac3enc: fix allocation of floating point samples.
...
sizeof(SampleType) is different for fixed and float encoders.
14 years ago
Justin Ruggles
e0cc66df61
ac3enc: split templated float vs. fixed functions into a separate file.
...
Function pointers are used for templated functions instead of needlessly
duplicating many functions.
14 years ago