Commit Graph
100 Commits
Author SHA1 Message Date
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 7ed9a2ea50 add ac3dec_data.[c,h]
Originally committed as revision 13715 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-08 21:08:57 +00:00
Justin Ruggles bddadace8d add fields needed for E-AC-3 decoding to decode context
Originally committed as revision 13714 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-08 21:08:53 +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 be594ae4b4 cosmetics: add and align references to spec variable names
Originally committed as revision 13702 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:39 +00:00
Justin Ruggles d7a0ae079c cosmetics: vertical align
Originally committed as revision 13701 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:35 +00:00
Justin Ruggles 83ce7ff6ca use macro constants for array sizes in decode context
Originally committed as revision 13700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:31 +00:00
Justin Ruggles 2288596074 cosmetics: vertical align
Originally committed as revision 13699 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:26 +00:00
Justin Ruggles 2c4c2afaca cosmetics: reorder decode context fields into logical groups
Originally committed as revision 13698 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:30:22 +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 30cc3ac20e set default mix levels regardless of bitstream id
Originally committed as revision 13693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-07 22:29:45 +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 31bc6b4549 prevent crash when dba params are invalid
Originally committed as revision 13653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 23:34:26 +00:00
Justin Ruggles 406113721f move some AC3HeaderInfo struct fields to the Coded elements group.
Originally committed as revision 13612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 02:54:46 +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 b2677aa2a1 parse audio in ogm demuxer.
fixes issue165.

Originally committed as revision 13407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 00:45:02 +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
Justin Ruggles 59d598b923 fix reading of samples-per-frame
Originally committed as revision 13111 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-11 04:25:34 +00:00
Justin Ruggles 97085fa154 include avcodec.h
Originally committed as revision 13039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 23:20:29 +00:00
Justin Ruggles 512b37bb28 move call to init_get_bits inside conditional
Originally committed as revision 13037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 21:35:32 +00:00
Justin Ruggles 9482171bbd share streaminfo parsing function
Originally committed as revision 13036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 21:34:34 +00:00
Justin Ruggles 9d48410f14 split out some decoder context params to a shared macro
Originally committed as revision 13035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 21:33:14 +00:00
Justin Ruggles 4bc07e78b8 change function parameters for dump_headers()
Originally committed as revision 13034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 21:30:32 +00:00
Justin Ruggles a128cc91f3 change function parameters for metadata_streaminfo()
Originally committed as revision 13033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-02 21:29:49 +00:00
Justin Ruggles 8a0684f4c4 fix encoding of flac private data
Originally committed as revision 13030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-01 22:04:17 +00:00
Justin Ruggles b88e657628 remove unused variable, min_framesize
Originally committed as revision 13015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-29 01:29:35 +00:00
Justin Ruggles 42ceeb5f3c remove redundant context variable
Originally committed as revision 12642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-31 00:29:52 +00:00
Justin Ruggles fe790f89e8 Use 15-bit LPC precision by default. This generally gives better compression
results. Also update Ogg regression test.

Originally committed as revision 12630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 16:01:10 +00:00
Justin Ruggles 6e330816d4 fix Ogg/FLAC header size
Originally committed as revision 12626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-30 03:40:03 +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
Justin Ruggles c599e297e7 Pass AACAC3ParseContext to sync() instead of individual arguments. Patch by
Bartlomiej Wolowiec (bartek wolowiec gmail com)

Originally committed as revision 12564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-23 15:43:29 +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
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 51b73087b9 fix playing of multichannel audio for codecs without downmixing
Originally committed as revision 11431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-06 02:44:05 +00:00
Justin Ruggles cfec09e914 check for request_channels in dca init function
Originally committed as revision 11423 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 21:23:57 +00:00
Justin Ruggles ef7f2bb782 add downmixing support to libfaad decoder
Originally committed as revision 11422 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 21:08:20 +00:00
Justin Ruggles 1d8cfa3168 cosmetics: indentation after last commit
Originally committed as revision 11421 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 18:40:49 +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 3eca1e6fad do not set channels before checking request_channels
Originally committed as revision 11418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 16:47:40 +00:00
Justin Ruggles dc7009ea1b use request_channels in liba52 decoder
Originally committed as revision 11417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 16:45:25 +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
Justin Ruggles 6cd325c106 do not set channels before checking request_channels
Originally committed as revision 11414 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 15:18:15 +00:00
Justin Ruggles f228eb737b adjust output channels based on AVCodecContext.request_channels in AC3 parser
Originally committed as revision 11412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-05 05:36:00 +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 5706c0becd cosmetics: indentation after last commit
Originally committed as revision 11387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-03 22:42:37 +00:00
Justin Ruggles bd03aa1556 remove workaround which is no longer needed due to
AVCodecContext.request_channels

Originally committed as revision 11386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-03 22:41:59 +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 02c164c148 use cutoff frequency to adjust bandwidth in ac3 encoder
Originally committed as revision 11338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 06:13:55 +00:00
Justin Ruggles 08ac1e783e use bps instead of kbps for bitrate
Originally committed as revision 11337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 05:32:12 +00:00
Justin Ruggles c135b520e7 Do not give advice for which bitrate to choose.
Originally committed as revision 11334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 03:12:24 +00:00
Justin Ruggles 678a7179b6 fix typo
Originally committed as revision 11333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-28 03:05:49 +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