Justin Ruggles
ec0350c983
use LFG instead of Mersenne Twister for AC-3 PRNG
...
Originally committed as revision 14815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-17 17:41:48 +00:00
Justin Ruggles
38c1a5c4d9
update my email address to one which does not depend on my service provider
...
Originally committed as revision 14797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-16 22:42:59 +00:00
Loren Merritt
911e21a306
simd int->float
...
20% faster ac3 if downmixing, 15% if not
Originally committed as revision 14743 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:35:40 +00:00
Loren Merritt
ac2e556456
simd downmix
...
13% faster ac3 if downmixing
Originally committed as revision 14742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:33:48 +00:00
Loren Merritt
45d9d61889
don't mark the delayed samples for upmixing if they haven't been downmixed
...
Originally committed as revision 14741 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:30:53 +00:00
Loren Merritt
3b6516f7e7
oops, non-normalized downmix to mono contaminated add_bias for non-simd float-to-int.
...
Originally committed as revision 14740 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 23:30:28 +00:00
Loren Merritt
557ac0c448
optimize ac3_downmix.
...
1.3x faster 5.1->stereo, 1.9x faster 5.1->mono.
Originally committed as revision 14719 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 23:45:46 +00:00
Loren Merritt
72745cff20
use float_to_int16_interleave in ac3
...
Originally committed as revision 14706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 03:01:17 +00:00
Loren Merritt
916d5d6c32
use imdct_half in ac3
...
Originally committed as revision 14705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 01:30:24 +00:00
Loren Merritt
d46ac5bfde
mdct wrapper function to match fft
...
Originally committed as revision 14703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:38:30 +00:00
Loren Merritt
0a570e826d
remove mdct tmp buffer
...
Originally committed as revision 14702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-12 00:36:36 +00:00
Justin Ruggles
5e3e40756e
cosmetics: use a better function name than uncouple_channels()
...
Originally committed as revision 14614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 01:49:01 +00:00
Justin Ruggles
022845ed05
cosmetics: change function name and comments to refer to block decoding
...
instead of block parsing
Originally committed as revision 14613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 01:31:40 +00:00
Justin Ruggles
ba7f712c21
remove unneeded local variable
...
Originally committed as revision 14547 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:32:27 +00:00
Justin Ruggles
55aff0d901
Read bitstream parameters for E-AC-3 streams before returning an error.
...
Originally committed as revision 14528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 22:29:06 +00:00
Justin Ruggles
602116df9b
Hardcode the table for ungrouping 3 values in 5 bits. It will be reused by
...
the E-AC-3 decoder.
Originally committed as revision 14527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 21:42:43 +00:00
Justin Ruggles
7417120b6f
use the same table for ungrouping exponents and bap=2 mantissas
...
Originally committed as revision 14525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 19:24:04 +00:00
Justin Ruggles
14b7062829
cosmetics: make all references to AC-3 capitalized and hyphenated
...
Originally committed as revision 14523 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-03 16:42:32 +00:00
Peter Ross
fd76c37fd9
Modify all codecs to report their supported input and output sample format(s).
...
Originally committed as revision 14482 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-31 10:47:31 +00:00
Justin Ruggles
4760aec6a0
read 'coupling in use' parameter from bitstream into decoder context first,
...
then copy to the local variable.
Originally committed as revision 14311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 22:01:46 +00:00
Justin Ruggles
7645da9194
cosmetic: use hex value instead of decimal to show relation to 0x7FFFFF
...
Originally committed as revision 14290 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 02:54:54 +00:00
Stefano Sabatini
fe4bf37455
Make AVCodec long_names definition conditional depending on CONFIG_SMALL.
...
Originally committed as revision 13759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-12 21:50:13 +00:00
Justin Ruggles
227322b837
move rematrixing band table to ac3dec_data.c
...
Originally committed as revision 13716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-08 21:09:02 +00:00
Justin Ruggles
4397d95ce0
split up header parsing function
...
Originally committed as revision 13705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:51 +00:00
Justin Ruggles
da04be10a2
store exp_strategy for all blocks in decode context
...
Originally committed as revision 13704 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:47 +00:00
Justin Ruggles
54624396fc
store cpl_in_use for all blocks in decode context
...
Originally committed as revision 13703 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:43 +00:00
Justin Ruggles
58ce349f0a
move the decode context and some macro constants to a new file, ac3dec.h
...
Originally committed as revision 13697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:16 +00:00
Justin Ruggles
30f71adc46
move mix level tables from parser to decoder. have parser read bitstream value instead of using an index to a table in the decoder.
...
Originally committed as revision 13696 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:09 +00:00
Justin Ruggles
caf0fbc889
add more gain levels and adjust mix level tables accordingly.
...
Originally committed as revision 13695 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:03 +00:00
Justin Ruggles
687671f03b
pass bap table to ff_ac3_bit_alloc_calc_bap()
...
Originally committed as revision 13694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:54 +00:00
Justin Ruggles
4921bbbae5
cosmetics: indent
...
Originally committed as revision 13692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:38 +00:00
Justin Ruggles
aa5d6be8df
skip unsupported frame types and substream id's
...
Originally committed as revision 13691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:27 +00:00
Justin Ruggles
be5f17b96b
read frame type from header info into decode context
...
Originally committed as revision 13690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:19 +00:00
Justin Ruggles
3596aa6fe6
get substreamid from ac3 parser
...
Originally committed as revision 13689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:11 +00:00
Justin Ruggles
6730e9f300
get the number of blocks from the ac3 parser and use in the ac3 decoder.
...
Originally committed as revision 13688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:03 +00:00
Justin Ruggles
7af26d14ac
return error on frame sync error
...
Originally committed as revision 13654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-04 00:31:20 +00:00
Justin Ruggles
fb2b88a816
cosmetics: add a comment, remove a comment
...
Originally committed as revision 13590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 22:12:49 +00:00
Justin Ruggles
9b57545934
simplify
...
Originally committed as revision 13589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 22:12:01 +00:00
Justin Ruggles
6e74513a48
set lfe params at frame init instead of in every block
...
Originally committed as revision 13588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:57:45 +00:00
Justin Ruggles
b85a15fe73
only calculate number of exponent groups when exponents are not reused.
...
Originally committed as revision 13587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:53:31 +00:00
Justin Ruggles
aa148649a4
cosmetics: remove unneeded braces
...
Originally committed as revision 13586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 21:37:28 +00:00
Justin Ruggles
7e13b31c19
10l: cosmetics
...
Originally committed as revision 13585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 19:59:10 +00:00
Justin Ruggles
e25973a1fd
new dba values requires running last 2 bit allocation stages
...
Originally committed as revision 13584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 19:56:54 +00:00
Justin Ruggles
ff5d419e2f
get_transform_coeffs() never returns an error, so make the function and its children return void.
...
Originally committed as revision 13582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 16:04:41 +00:00
Justin Ruggles
fbe52e4188
use enum value for CRC error
...
Originally committed as revision 13580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 15:31:57 +00:00
Justin Ruggles
c78c6d6c58
move header error logging to after CRC check
...
Originally committed as revision 13579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-31 15:30:55 +00:00
Justin Ruggles
bd98e9e230
zero the upper frequencies of the correct coefficients
...
Originally committed as revision 13452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 00:43:39 +00:00
Justin Ruggles
eccba2bc4b
safer solution for setting audio parameters
...
Originally committed as revision 13402 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 20:02:24 +00:00
Justin Ruggles
cf03a8173a
set audio parameters if frame header is ok, even if crc fails
...
Originally committed as revision 13399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 18:54:17 +00:00
Justin Ruggles
3336110acf
cosmetics: indent
...
Originally committed as revision 13398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 18:06:01 +00:00
Justin Ruggles
ecfe94b294
add error concealment
...
Originally committed as revision 13397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 18:05:15 +00:00
Justin Ruggles
93a2c8c14f
cosmetics: indent
...
Originally committed as revision 13385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 16:20:06 +00:00
Justin Ruggles
43ad93a4f1
10l: fix error in commit r13382
...
Originally committed as revision 13384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 16:19:44 +00:00
Justin Ruggles
82a591d8d1
add checks for missing information in the first block
...
Originally committed as revision 13382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 15:34:48 +00:00
Justin Ruggles
3af9131398
add check for invalid channel mode when coupling is used
...
Originally committed as revision 13381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 15:23:03 +00:00
Diego Biurrun
245976da2a
Use full path for #includes from another directory.
...
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Stefano Sabatini
162d4fc99d
Add long names to AVCodec declarations.
...
patch by Stefano Sabatini, stefano.sabatini-lala poste it
Originally committed as revision 13009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-27 22:39:51 +00:00
Bartlomiej Wolowiec
55736cfbd2
change ff_ac3_parse_header() to take a GetBitContext instead of const char*
...
Originally committed as revision 12922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-22 11:14:01 +00:00
Bartlomiej Wolowiec
79b25a27b8
change name from stream type to frame type in AC3 code
...
Originally committed as revision 12623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-28 20:42:55 +00:00
Justin Ruggles
509fdb0b7e
only allocate context input buffer if AVCodecContext.error_reslience is greater than 0.
...
Originally committed as revision 12600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-26 22:36:41 +00:00
Justin Ruggles
984ff38a2b
cosmetics: indentation after last commit
...
Originally committed as revision 12594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-25 23:34:49 +00:00
Justin Ruggles
c33a196716
additional protection from segmentation faults and memory access errors by
...
copying the input buffer to a local context buffer which is large enough to
hold the largest possible AC3 frame.
Originally committed as revision 12593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-25 23:34:00 +00:00
Bartlomiej Wolowiec
4e6eeaf019
using stream type in eac3 parser
...
Originally committed as revision 12570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-24 21:25:49 +00:00
Zuxy Meng
98a6fff98c
Apply 'cold' attribute to init/uninit functions in libavcodec
...
Originally committed as revision 12525 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-21 03:11:20 +00:00
Justin Ruggles
98f6dfa653
make input buffer const, as it should be. fixes a warning.
...
Originally committed as revision 12418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-10 21:59:30 +00:00
Justin Ruggles
38dae9c3a6
downmix before imdct unless different size transforms are used. about 20%
...
faster 5.1-to-stereo downmixing.
Originally committed as revision 12397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-09 17:05:19 +00:00
Justin Ruggles
d8870f120e
use scale factor instead of sum for downmix level adjustment. avoids division
...
inside downmix loop. 7% faster 5.1-to-stereo downmixing.
Originally committed as revision 12287 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 16:10:19 +00:00
Justin Ruggles
9d10e6e6c0
pre-calculate downmix coefficient sums. 2% faster 5.1-to-stereo downmixing.
...
Originally committed as revision 12286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 15:48:18 +00:00
Justin Ruggles
a4de6dd2c1
Use 24-bit fixed-point transform coefficients until just before MDCT. This
...
gives 7% faster decoding on average.
Originally committed as revision 12284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 04:39:39 +00:00
Robert Swain
3ed546fe52
Add variable alpha and size of half window for Kaiser-Bessel Derived window
...
generation. Hard code Bessel I0 approximation iterations to 50.
See thread for discussion:
[FFmpeg-devel] [PATCH] Move Kaiser-Bessel Derived window to mdct.c
Started on the 2008/01/10
Originally committed as revision 11520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 11:02:08 +00:00
Robert Swain
4eb7a735cb
Make the Kaiser-Bessel window generator a common function
...
Patch by Robert Swain, robert d swain a gmail d com
Originally committed as revision 11514 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 11:11:19 +00:00
Justin Ruggles
f34b221bd2
used defined name for testing error resilience level
...
Originally committed as revision 11478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-08 23:44:48 +00:00
Justin Ruggles
f0b3a7ba12
split out init of downmix coeffs into a separate function that can be called
...
only when needed
Originally committed as revision 11441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-07 00:18:02 +00:00
Justin Ruggles
82a6c4811a
remove unneeded variable from AC3DecodeContext
...
Originally committed as revision 11439 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 23:56:19 +00:00
Justin Ruggles
4bc829bb8f
make sure that the last coupling band stops at the end of the coupling range
...
Originally committed as revision 11438 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 23:33:30 +00:00
Justin Ruggles
b02fbf7536
fix phase flag processing for the case when coupling coordinates are reused
...
for the right channel, but new for the left channel
Originally committed as revision 11436 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 20:15:24 +00:00
Justin Ruggles
646800f79c
move E-AC3 header parsing to ff_ac3_parse_header()
...
Originally committed as revision 11420 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 18:39:55 +00:00
Justin Ruggles
86ad4c7e1b
remove unneeded variables from AC3HeaderInfo
...
Originally committed as revision 11419 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 17:04:57 +00:00
Justin Ruggles
2816d32310
cosmetics: indentation
...
Originally committed as revision 11416 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 15:23:39 +00:00
Justin Ruggles
95283c1701
check for request_channels at codec init
...
Originally committed as revision 11415 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 15:22:53 +00:00
Aurelien Jacobs
3abe5fbdc4
improve CRC API
...
- don't export any global var
- provide either generated or hardcoded tables
Originally committed as revision 11409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 23:09:58 +00:00
Justin Ruggles
7564658bbc
cosmetics: indentation and add a TODO comment
...
Originally committed as revision 11389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 00:39:03 +00:00
Justin Ruggles
471db688c6
only check ac3 crc if AVCodecContext.error_resilience > 0
...
Originally committed as revision 11388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-03 23:05:53 +00:00
Justin Ruggles
d6939960d5
add crc check to ac3 decoder
...
Originally committed as revision 11379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-03 02:26:29 +00:00
Justin Ruggles
12eaa3b760
simplify
...
Originally committed as revision 11360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 22:58:20 +00:00
Justin Ruggles
b35c67e58b
pass an AC3DecodeContext to ac3_downmix() instead of multiple arguments
...
Originally committed as revision 11359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 22:28:17 +00:00
Justin Ruggles
866181e5e8
cosmetics: rename sampling_rate to sample_rate
...
Originally committed as revision 11358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 21:26:30 +00:00
Justin Ruggles
0345fade94
do not need to cast a (void *)
...
Originally committed as revision 11357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 21:24:49 +00:00
Justin Ruggles
1b70d88b7a
cosmetics: vertical realignment after last commit
...
Originally committed as revision 11356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 21:09:08 +00:00
Justin Ruggles
d802d7ca12
cosmetics: rename all AC3DecodeContext variables from ctx to s
...
Originally committed as revision 11355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 20:58:50 +00:00
Justin Ruggles
23c8cb89c9
cosmetics: rename GetBitContext gb to gbc
...
Originally committed as revision 11354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 20:47:22 +00:00
Justin Ruggles
005ab694ae
remove unused context variable
...
Originally committed as revision 11353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-30 03:10:18 +00:00
Justin Ruggles
1408352ada
Add option for user to scale the amount of dynamic range compression which is
...
applied by the audio decoder, and use that option in the AC3 decoder.
Originally committed as revision 11280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-20 00:55:08 +00:00
Justin Ruggles
03726b7042
Skip dialog normalization. It shouldn't be used by the decoder, and there is
...
not currently a clean way to pass the value to the user.
Originally committed as revision 11246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 01:09:00 +00:00
Justin Ruggles
224bc440b2
Revert commit made in revision 11228. I'm getting some strange results in the
...
downmixed output that I can't quite figure out.
Originally committed as revision 11245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-17 01:03:19 +00:00
Justin Ruggles
b40211ff67
downmix before the IMDCT if no block switching is used
...
Originally committed as revision 11228 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-16 04:25:50 +00:00
Andreas Öman
6708eefe55
Make AC3 decoder honor avctx->request_channels
...
Originally committed as revision 11220 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-15 07:00:19 +00:00
Justin Ruggles
e2270b4e1e
cosmetics: rename ac3 decoder variables
...
Originally committed as revision 11197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 03:28:10 +00:00
Justin Ruggles
e59cc20593
cosmetics: rename common ac3 variables
...
Originally committed as revision 11196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 03:27:14 +00:00
Justin Ruggles
5ce2134258
cosmetics: rename ac3 bit allocation variables
...
Originally committed as revision 11194 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 03:23:04 +00:00