Michael Niedermayer
9f4d37f450
ac3enc: drop common fixed/float encoder
...
User applications should by now be able to support float encoders.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Justin Ruggles
c766eb1ce1
ac3enc: add macros for option names to make them more understandable.
14 years ago
Justin Ruggles
c3d63262fe
ac3enc: allow new coupling coordinates to be sent independently for each
...
channel.
14 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.
14 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
08a747afb9
eac3enc: use frame exponent strategy when applicable.
...
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.
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
0e4dbe2996
ac3enc: avoid masking output in asym_quant() by using signed values for
...
quantized mantissas.
14 years ago
Carl Eugen Hoyos
b1c450be49
Fix "redundant redeclaration" warning.
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
38c304addd
ac3enc: remove empty ac3_float function that is never called
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
Justin Ruggles
e754dfc0bb
ac3enc: dynamically allocate AC3EncodeContext fields windowed_samples and mdct
...
This will allow the same struct to be used for both the fixed and float ac3
encoders.
14 years ago
Justin Ruggles
36151b3e31
ac3enc: use function pointer to choose between AC-3 and E-AC-3 header output
...
functions.
14 years ago
Justin Ruggles
c8e9ea43d0
Move E-AC-3 encoder functions to a separate eac3enc.c file.
14 years ago
Fabrice Bellard
6107fa87b4
preparing integration of new AC3 decoder
...
Originally committed as revision 1089 to svn://svn.ffmpeg.org/ffmpeg/trunk
22 years ago
Zdenek Kabelac
30b68f33aa
* encoding of AC3 with more than 2 channels
...
by Takashi Iwai <tiwai@suse.de>
Originally committed as revision 383 to svn://svn.ffmpeg.org/ffmpeg/trunk
23 years ago
Fabrice Bellard
de6d9b6404
Initial revision
...
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
24 years ago