Commit Graph

12709 Commits

Author SHA1 Message Date
Justin Ruggles
2d82d9b1df cosmetics: comment clean-up and misc cosmetics
Originally committed as revision 26019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 17:28:44 +00:00
Justin Ruggles
5901cebecd Separate most of the per-block arrays into a separate per-block struct.
Originally committed as revision 26018 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 17:28:41 +00:00
Justin Ruggles
cb6247cb30 Split bit allocation search into a separate function.
Originally committed as revision 26017 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 17:28:38 +00:00
Alexander Strange
0f01602362 SVQ3: Allow decoding if thread_count is > 1
svq3 still doesn't support multithreading, but it's simpler for clients if
they can enable threading for all codecs by default.

Originally committed as revision 26015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 00:22:47 +00:00
Justin Ruggles
06f6f78578 10l: fix typo in compute_exp_strategy()
Originally committed as revision 26013 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:35 +00:00
Justin Ruggles
266d24be4a Move large arrays to AC3EncodeContext rather than passing them around.
Originally committed as revision 26012 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:31 +00:00
Justin Ruggles
7da4dc17d9 cosmetics: line wrap and spacing
Originally committed as revision 26011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:28 +00:00
Justin Ruggles
a0d763fc88 Use a single value for SNR offset in the bit allocation search rather than
the separate coarse and fine values.

Originally committed as revision 26010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:22 +00:00
Justin Ruggles
70fcd7ea80 Change bit_alloc() to return the mantissa bit count.
Originally committed as revision 26009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:19 +00:00
Justin Ruggles
937cd1467c cosmetics: alignment and line wrap after last commit
Originally committed as revision 26008 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:15 +00:00
Justin Ruggles
359c1d1926 Move bit counts to AC3EncodeContext.
Originally committed as revision 26007 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 22:45:12 +00:00
Justin Ruggles
793bbf9544 Split out setting of bit allocation parameters to a separate function.
Th new function only needs to be called at initialization because bit
allocation parameters currently do not change during encoding.

Originally committed as revision 26003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:43 +00:00
Justin Ruggles
8999944ecb Split out counting of frame bits into a separate function.
Originally committed as revision 26002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:40 +00:00
Justin Ruggles
33a7d549e8 cosmetics: vertical alignment
Originally committed as revision 26001 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:36 +00:00
Justin Ruggles
d3325d555b Only calculate num_exp_groups once.
Originally committed as revision 26000 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:33 +00:00
Justin Ruggles
dc0bc0f84e Check for bit allocation error in ac3_encode_frame().
Move error log printout to ac3_encode_frame().

Originally committed as revision 25999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:30 +00:00
Justin Ruggles
f94bacc538 Split out grouping of exponents into a separate function.
Originally committed as revision 25998 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:26 +00:00
Justin Ruggles
b6a1e5236e Split out mantissa quantization into separate functions.
Originally committed as revision 25997 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:23 +00:00
Justin Ruggles
5b44ede0ba cosmetics: rearrange some functions
Originally committed as revision 25996 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:20 +00:00
Justin Ruggles
d7da80806c Reverse the exponent & exponent strategy array arrangement to simplify the
per-channel exponent strategy decision.  This will also make it easier to
plug-in other exponent strategy algorithms.

Originally committed as revision 25995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:17 +00:00
Justin Ruggles
67d979fede Move writing of frame to the output bitstream to a separate function.
Originally committed as revision 25994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:13 +00:00
Justin Ruggles
084f5c5afe cosmetics: remove a comment and just spacing
Originally committed as revision 25993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:10 +00:00
Justin Ruggles
160d85f5b0 Split frame size adjustment into a separate function.
Originally committed as revision 25992 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:06 +00:00
Justin Ruggles
dfdf73eb1a Split exponent processing into separate functions.
Originally committed as revision 25991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:53:02 +00:00
Justin Ruggles
0a0a8500fb Split applying of MDCT into several separate functions.
Originally committed as revision 25990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:59 +00:00
Justin Ruggles
4acc790f3c Split input sample deinterleaving into a separate function.
Originally committed as revision 25989 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:56 +00:00
Justin Ruggles
152cc52803 Separate functionally different calculations in ac3_encode_frame().
Originally committed as revision 25988 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:53 +00:00
Justin Ruggles
98f6ee4453 cosmetics: rename 2 variables
Originally committed as revision 25987 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:49 +00:00
Justin Ruggles
12ed622699 Deinterleave whole frame at once instead of per-block.
This reduces the amount of memcpy() by using pointers to overlap samples for
successive blocks rather than copying.

Originally committed as revision 25986 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:46 +00:00
Justin Ruggles
e0685bc98f cosmetics: add & alter some comments
Originally committed as revision 25985 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:43 +00:00
Justin Ruggles
282255bbd2 Split setting of bandwidth into a separate function.
Originally committed as revision 25984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:40 +00:00
Justin Ruggles
e35c984a5d Move setting of bitstream_id and bitstream_mode to ac3_encode_init().
Originally committed as revision 25983 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:37 +00:00
Justin Ruggles
ddf63d37b8 Improve ac3_encode_init() error reporting.
Return AVERROR(EINVAL) instead of -1. Propogate errors from called functions.
Add some error log printouts.

Originally committed as revision 25982 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:34 +00:00
Justin Ruggles
b64d842c1d cosmetics: indent after last commit
Originally committed as revision 25981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:30 +00:00
Justin Ruggles
99ca4f73f0 Don't use nested loops to iterate valid sample rates.
Eliminates a goto and mirrors the bitrate validation.

Originally committed as revision 25980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:25 +00:00
Justin Ruggles
1607db0a95 Remove some duplicate local copies of avctx fields.
This is an av_cold function, and we don't need to duplicate variables just to
save a few characters.

Originally committed as revision 25979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:21 +00:00
Justin Ruggles
8f60f70d44 Split validation of initial user options into a separate function.
Originally committed as revision 25978 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:18 +00:00
Justin Ruggles
427e2293d3 Use bytes instead of 16-bit words for frame size.
Originally committed as revision 25977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:14 +00:00
Justin Ruggles
eed00252c9 cosmetics: rename variable 'n' to 'pad_bytes'
Originally committed as revision 25976 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:12 +00:00
Justin Ruggles
1971ab6ed6 Change output_frame_end() to return void. The frame size is already known.
Originally committed as revision 25975 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:08 +00:00
Justin Ruggles
e8b552a818 cosmetics: pretty-printing
Originally committed as revision 25974 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:04 +00:00
Justin Ruggles
ce67b7cd38 cosmetics: rename some iterator variables to match what they represent
Originally committed as revision 25973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:52:00 +00:00
Justin Ruggles
777732756a cosmetics: rename a variable for consistency
Originally committed as revision 25972 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:56 +00:00
Justin Ruggles
aab45ca3de cosmetics: rename exp_samples and global_exp to exp_shift.
Originally committed as revision 25971 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:53 +00:00
Justin Ruggles
23c5b361a6 cosmetics: rename 2 functions
Originally committed as revision 25970 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:50 +00:00
Justin Ruggles
e0b9f94b39 cosmetics: use some size macros in ac3tab.c/h
Originally committed as revision 25969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:47 +00:00
Justin Ruggles
ce571ceb45 Use AC3_MAX_COEFS instead of 256 in a couple places in ac3.c
Originally committed as revision 25968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:43 +00:00
Justin Ruggles
47ae6e795b define AC3_CRITICAL_BANDS and use it in the AC-3 encoder and decoder.
Originally committed as revision 25967 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:40 +00:00
Justin Ruggles
0454b55801 Use sizeof(array value) instead of sizeof(int16_t).
Originally committed as revision 25966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:36 +00:00
Justin Ruggles
a0a9204e49 cosmetics: use lowercase letters for function names
Originally committed as revision 25965 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:33 +00:00