Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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 8001d92345 cosmetics: vertical align after last commit
Originally committed as revision 11195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 03:25:42 +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
Justin Ruggles 66ecf18e38 cosmetics: rename ac3 tables
Originally committed as revision 11193 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-09 03:21:33 +00:00
Justin Ruggles a135bea507 skip incomplete frames
Originally committed as revision 10497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 02:44:28 +00:00
Justin Ruggles 3df880934e better AC3 header error reporting
Originally committed as revision 10496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 02:41:24 +00:00
Justin Ruggles d5b7144e1f fix random dithering of zero-bit mantissas
Originally committed as revision 10495 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 00:43:40 +00:00
Justin Ruggles bfcf690c68 cosmetics: rename variables. tbl->tab for consistency with other AC3 tables
Originally committed as revision 10494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 00:19:21 +00:00
Justin Ruggles 396a6ee50e fix decoding of DolbyNet AC3
Originally committed as revision 10493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-15 00:00:57 +00:00
Justin Ruggles 222ae64c3d cosmetics: vertical alignment
Originally committed as revision 10002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:39:35 +00:00
Justin Ruggles 5066f51502 comments modification: add, clean up, Doxygenize, and reword
Originally committed as revision 10001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-09 00:36:49 +00:00
Justin Ruggles 6ea67bbb60 enable the native AC-3 decoder
Originally committed as revision 9968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-07 00:02:29 +00:00
Justin Ruggles f5cefb21d5 cosmetics: blank lines, remove some comments
Originally committed as revision 9955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 21:48:46 +00:00
Justin Ruggles 82758fd690 add pointer to the parent context for use with av_log()
Originally committed as revision 9954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 21:34:33 +00:00
Justin Ruggles 77416325cb use array for dynamic range scaling factors
Originally committed as revision 9953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 21:10:09 +00:00
Justin Ruggles 01f354531d add dialogue normalization
Originally committed as revision 9948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 19:36:35 +00:00
Justin Ruggles 2477ce2322 10l to me. Revert recent changes to ac3_probe() which made misdetection as AC3 too probable.
Originally committed as revision 9931 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 03:36:50 +00:00
Justin Ruggles ecc8fc11ec additional tweaks to AC3 probe function. give a higher score to a single frame
at the start of the stream. also read all available data in the probe buffer.

Originally committed as revision 9922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-05 00:32:19 +00:00
Justin Ruggles c49c02231c increase the maximum AC3 probe buffer size and reduce the threshold for 50% reliability score to 2 frames. Fixes out.ac3 from [FFmpeg-devel] AC3 Format Detection unreliable.
Originally committed as revision 9920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 23:53:05 +00:00
Justin Ruggles 3bbb0bf82c add support for downmixing to stereo or mono
Originally committed as revision 9916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 22:32:17 +00:00
Justin Ruggles 4e09232070 use dsputil for float to signed 16-bit sample conversion
Originally committed as revision 9914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 20:59:22 +00:00
Justin Ruggles 775369e028 cosmetics: indentation
Originally committed as revision 9911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 20:32:57 +00:00
Justin Ruggles 7b4076a777 consolidate decoding of lfe and coupling channels with decoding of full-bandwidth channels.
Originally committed as revision 9910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 19:19:48 +00:00
Justin Ruggles 5e61de0cc1 there are only 4 rematrixing bands
Originally committed as revision 9908 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 15:01:21 +00:00
Justin Ruggles 75b9b0369b cosmetics: use more appropriate names for iterator variables.
Originally committed as revision 9907 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 13:52:56 +00:00
Justin Ruggles 8e2eb3b674 move some variables to a more local scope.
Originally committed as revision 9905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 13:30:37 +00:00
Justin Ruggles 0bff58a59a make exponent decoding consistent (prepare for merging coupling and lfe code with normal channel code).
Originally committed as revision 9904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 13:26:46 +00:00
Justin Ruggles eaf84d970f cosmetics: use braces when it makes the code easier to read.
Originally committed as revision 9893 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 12:04:41 +00:00
Justin Ruggles fc59010bbf change AC3DecodeContext variable to local variable
Originally committed as revision 9892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 11:55:10 +00:00
Justin Ruggles 6d96d626c6 use array instead of bitmask
Originally committed as revision 9891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 11:39:47 +00:00
Justin Ruggles 3357ff338b use table for converting dynamic range codes to scale factors
Originally committed as revision 9889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 03:27:05 +00:00
Justin Ruggles 5aefe3ebef use floating-point mantissa dequantization tables
Originally committed as revision 9888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 03:21:17 +00:00
Justin Ruggles 04ac5cada1 cosmetics: indentation
Originally committed as revision 9887 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 01:14:14 +00:00
Justin Ruggles 60f07fadd3 dither zero-bit mantissas by default. remove dithering only if it's explicitly turned off.
Originally committed as revision 9886 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 01:13:08 +00:00
Justin Ruggles d63f6fea50 simplify coefficient decoding
Originally committed as revision 9884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 00:12:23 +00:00
Justin Ruggles 285bf28c67 merge decoding of coupling channel coefficients and regular channel coefficients
Originally committed as revision 9883 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-04 00:04:17 +00:00
Justin Ruggles d7dc7ad05c split out coupling coefficient reconstruction into a separate function
Originally committed as revision 9882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-03 23:53:53 +00:00
Justin Ruggles dfd57c366f align array used in mdct. fixes segfault.
Originally committed as revision 9848 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-01 01:13:58 +00:00
Justin Ruggles 8b60bbbf5b simplify stereo rematrixing
Originally committed as revision 9824 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-29 00:58:32 +00:00
Justin Ruggles b6acc57f88 change 2 fields from context to local variables
Originally committed as revision 9823 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-29 00:35:30 +00:00