Justin Ruggles
386268dfff
Add some simple fallbacks for normal bit allocation failure.
...
This allows encoding with lower bitrates by decreasing exponent bits first,
then decreasing bandwidth if the user did not specify a specific cutoff
frequency.
Originally committed as revision 26050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 23:42:56 +00:00
Justin Ruggles
e62ef8f2db
Check user-specified cutoff frequency in validate_options().
...
Originally committed as revision 26049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 23:42:52 +00:00
Justin Ruggles
78646ac206
10l: fix encoding for LFE channel
...
Originally committed as revision 26048 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 22:06:00 +00:00
Justin Ruggles
86c9673bab
Add support for fixed-point MDCT sizes other than 512.
...
Originally committed as revision 26046 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 20:52:27 +00:00
Justin Ruggles
234b70d346
cosmetics: reindent after last commit
...
Originally committed as revision 26045 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 15:02:15 +00:00
Justin Ruggles
98e34e71c0
Simplify bit allocation search by using a loop for the SNR offset increment.
...
Originally committed as revision 26044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 15:02:12 +00:00
Justin Ruggles
cf7c961b19
Do not calculate psd and masking curve if exponents are being reused.
...
Approx. 20% faster in function bit_alloc_masking().
Originally committed as revision 26042 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-17 14:16:13 +00:00
Justin Ruggles
68e6b0990d
cosmetics: reindent after last commit
...
Originally committed as revision 26041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 22:47:11 +00:00
Justin Ruggles
795063db3b
Copy bap from previous block when exponent strategy is EXP_REUSE.
...
We can do this because exponents are the only bit allocation parameters which
change from block-to-block currently.
Approx. 57% faster in function bit_alloc().
Approx. 25% faster overall encoding.
Originally committed as revision 26040 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 22:47:07 +00:00
Justin Ruggles
126a29b871
Count grouped mantissas for each block all at once at the end of bit
...
allocation for each block.
24% faster in function bit_alloc(). Approx. 10% faster overall encoding.
Originally committed as revision 26039 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 22:47:04 +00:00
Justin Ruggles
e7536ac567
Count bits for fixed parameters at start of encoding rather than in every
...
frame.
Originally committed as revision 26038 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 22:47:00 +00:00
Justin Ruggles
e86ea34dad
Use a LUT for number of exponent groups. This avoids recalculating it for
...
every block and channel for every frame.
Originally committed as revision 26037 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 21:09:22 +00:00
Justin Ruggles
834550ea0d
Speed up group minimum and group output calculations for EXP_D25 and EXP_D45
...
in encode_exponents_blk_ch() by removing the inner loops. This is about 30-40%
faster for the modified sections.
Originally committed as revision 26036 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 21:09:16 +00:00
Justin Ruggles
cdedf7e625
Convert a for() loop into a while() loop for the downward part of the exponent
...
delta limiting.
Originally committed as revision 26035 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 21:09:08 +00:00
Justin Ruggles
27af78cf0e
Redesign encode_exponents_blk_ch() so that duplicate exponent sets are no
...
longer required. This gets rid of the temp buffer as well as encoded_exp in
AC3EncodeContext. It also allows for skipping the exponent grouping for
EXP_D15. 56% faster in encode_exponents_blk_ch().
Originally committed as revision 26034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 21:09:02 +00:00
Justin Ruggles
8846ee54ad
Use optimized function DSPContext.sad[0]() instead of calc_exp_diff().
...
90% faster compute_exp_strategy().
Originally committed as revision 26033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 15:06:28 +00:00
Justin Ruggles
7786c384f6
cosmetics: pretty-printing after last commit
...
Originally committed as revision 26031 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 03:44:35 +00:00
Justin Ruggles
89bedc4d2e
Add a goto for init failure instead of duplicate calls to ac3_encode_close().
...
Originally committed as revision 26030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 03:44:32 +00:00
Justin Ruggles
c41ac4f82e
Use pre-allocated temp buffers in mdct512().
...
5% faster in function.
Originally committed as revision 26029 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 03:44:29 +00:00
Justin Ruggles
e29065f7bf
Write results of post-rotation complex multiply directly to output.
...
2% faster in function mdct512().
Originally committed as revision 26028 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 03:13:45 +00:00
Justin Ruggles
9d8533368f
Use memcpy() instead of a for loop in mdct512().
...
8% faster in function.
Originally committed as revision 26027 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 03:13:41 +00:00
Justin Ruggles
b6f6204db9
Allocate all large per-channel arrays using av_malloc().
...
Decreases memory usage for less than 6 channels.
Originally committed as revision 26026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 02:33:02 +00:00
Justin Ruggles
aa645b9888
Make windowed_samples 16-byte aligned.
...
This will allow future SIMD optimization of the window function.
Originally committed as revision 26025 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 02:32:59 +00:00
Justin Ruggles
e8d21fba3f
Allocate planar_samples using av_mallocz().
...
Lowers memory usage when encoding less than 6 channels.
Originally committed as revision 26024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-16 02:32:55 +00:00
Justin Ruggles
171bc51c9b
Allocate bap and bap1 buffers using av_malloc().
...
This reduces the memory footprint when using less than 6 channels.
Modify bit allocation to swap the 2 buffers instead of using memcpy() and use
per-block pointers for bap. This is slightly faster (0.3%) in function
cbr_bit_allocation().
Originally committed as revision 26023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 21:12:28 +00:00
Justin Ruggles
1c3e117e0b
Remove last_samples[] and copy directly from planar_samples[].
...
Avoids memcpy that was used to store last samples for next frame.
Approx. 3% faster in function deinterleave_input_samples() and reduces memory
usage by 3kB.
Originally committed as revision 26021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 17:28:52 +00:00
Justin Ruggles
7eeca961e3
Remove unneeded line. key_frame is already set to 1 in avcodec_alloc_frame().
...
Originally committed as revision 26020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-15 17:28:49 +00:00
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
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
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
Justin Ruggles
c36ce0f8df
cosmetics: add new function documentation and clean up existing documentation
...
Originally committed as revision 25964 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:30 +00:00
Justin Ruggles
2f8ae52228
cosmetics: add more space between functions
...
Originally committed as revision 25963 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:26 +00:00
Justin Ruggles
e77fd066fb
cosmetics: rearrange some functions/typedefs/macros
...
Originally committed as revision 25962 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:23 +00:00
Justin Ruggles
02877def49
Simplify group size calculation in 2 places.
...
Originally committed as revision 25961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:20 +00:00
Justin Ruggles
9816155337
cosmetics: make a switch/case more compact
...
Originally committed as revision 25960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:17 +00:00
Justin Ruggles
b84a211bc8
Clean up fft_init() and mdct_init()
...
Originally committed as revision 25959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:12 +00:00
Justin Ruggles
6a988808a4
cosmetics: pretty-printing, alignment, etc...
...
Originally committed as revision 25958 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:09 +00:00
Justin Ruggles
a913b5cf60
Remove unneeded #include
...
Originally committed as revision 25957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:05 +00:00
Justin Ruggles
918cd2255c
Simplify fix15().
...
Turn it into 2 macros, and use av_clip_int16() and lrintf().
This matches the int16 to float sample conversion in audioconvert.c.
The regression test output is different due to lrintf() rounding.
Originally committed as revision 25956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:51:02 +00:00
Justin Ruggles
228315bbd3
Fix the fixed-point MDCT and FFT tests so that they actually compile and work.
...
Also, use LFG from libavutil instead of random().
Originally committed as revision 25955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:58 +00:00
Justin Ruggles
a8d2b06b7c
Split out initialization of MDCT tables into a separate function.
...
Originally committed as revision 25954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:54 +00:00
Justin Ruggles
0796546370
cosmetics: Document AC3EncodeContext fields.
...
Originally committed as revision 25953 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:49 +00:00
Justin Ruggles
22c0b03c8f
Remove unneeded debugging messages.
...
Originally committed as revision 25952 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:45 +00:00
Justin Ruggles
1fda2c10f6
cosmetics: Define AC3_WINDOW_SIZE and use it instead of AC3_BLOCK_SIZE*2.
...
Originally committed as revision 25951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:40 +00:00
Justin Ruggles
7066cc8f2b
cosmetics: use better (and shared) macro names for some constant values
...
Originally committed as revision 25950 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:34 +00:00
Justin Ruggles
a657899cf7
Remove duplicate AC3EncodeContext fields, sr_shift and sr_code.
...
Originally committed as revision 25949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:30 +00:00
Justin Ruggles
2d2692eb49
cosmetics: rename some fields in AC3EncodeContext
...
Originally committed as revision 25948 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:27 +00:00
Justin Ruggles
9cb5903299
cosmetics: change all short to int16_t
...
Originally committed as revision 25947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:23 +00:00
Justin Ruggles
2be209b213
Change some unsigned types to signed types in AC3EncodeContext
...
Originally committed as revision 25946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:20 +00:00
Justin Ruggles
7e5a4bf8ba
cosmetics: rearrange AC3EncodeContext fields
...
Originally committed as revision 25945 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 14:50:15 +00:00
Stefano Sabatini
63e8d9760f
Use the new libavcore audio channel API.
...
This also allows to remove a linking dependency of libavfilter on
libavcodec.
Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +00:00
Stefano Sabatini
5d6e4c160a
Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
...
SampleFormat with AVSampleFormat.
Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Reimar Döffinger
edac49daf5
Use "const" qualifier for pointers that point to input data of
...
audio encoders.
This is purely for clarity/documentation purposes.
Originally committed as revision 24481 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-24 13:59:49 +00:00
Måns Rullgård
8fc0162ac4
Add av_ prefix to bswap macros
...
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Diego Biurrun
ba87f0801d
Remove explicit filename from Doxygen @file commands.
...
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.
Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Francesco Lavra
91cc5d3767
Move ff_reverse in libavcodec to av_reverse in libavutil.
...
Patch by Francesco Lavra, francescolavra interfree it
Originally committed as revision 20484 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-09 09:11:35 +00:00
Reimar Döffinger
b5f09d31c2
Make sample_fmts and channel_layouts compound literals const to reduce size of
...
.data section.
Originally committed as revision 19787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-06 09:15:07 +00:00
Diego Biurrun
8b44de14d1
Change av_log() calls surrounded by '#ifdef DEBUG' into dprintf macros.
...
Originally committed as revision 19550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 21:00:08 +00:00
Justin Ruggles
be1efe5993
ac3enc: log a warning message if the channel layout is not specified at
...
the time of codec initialization.
Originally committed as revision 18631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-20 00:34:08 +00:00
Justin Ruggles
120b4557f3
Add channel layout support to the AC-3 encoder.
...
Originally committed as revision 18623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-19 15:06:13 +00:00
Justin Ruggles
a7c6e1171b
ac3enc: reorder input channels to AC-3 channel order
...
Originally committed as revision 18540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-17 08:39:11 +00:00
Stefano Sabatini
fb53b4a035
Rename pbBufPtr() to put_bits_ptr().
...
The new name is more readable and consistent with the FFmpeg naming
style.
Originally committed as revision 18497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:59:38 +00:00
Stefano Sabatini
9106a698e7
Rename bitstream.h to get_bits.h.
...
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706
Split bitstream.h, put the bitstream writer stuff in the new file
...
put_bits.h.
Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Diego Biurrun
27127202d6
Remove duplicated MUL16 macro definition, fixes the warning:
...
libavcodec/ac3enc.c:119:1: warning: "MUL16" redefined
Originally committed as revision 17832 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-05 22:17:12 +00:00
Daniel Verkamp
5ef251e504
Add missing av_cold in static init/close functions.
...
Patch by Daniel Verkamp daniel at drv dot nu.
Originally committed as revision 17526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-22 13:48:55 +00:00
Diego Biurrun
bad5537e2c
Use full internal pathname in doxygen @file directives.
...
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.
Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
406792e7b0
cosmetics: Remove pointless period after copyright statement non-sentences.
...
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Justin Ruggles
2988c93d94
create a separate codec_id for E-AC-3
...
Originally committed as revision 15143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-01 14:33:54 +00:00
Justin Ruggles
bf09b550e6
commit the OKed parts of the E-AC-3 decoder
...
Originally committed as revision 14860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:32:17 +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
Stefan Gehrer
cf2baeb338
mark read-only data as const
...
Originally committed as revision 13947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-24 20:01:31 +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
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
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
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
Diego Biurrun
77ab59eb7f
two more typos spotted by Mike
...
Originally committed as revision 12524 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-20 19:36:20 +00:00
Diego Biurrun
c2f178da71
british_english--;
...
Originally committed as revision 12522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-20 19:08:42 +00:00
Diego Biurrun
3f5d7bb331
Remove two unused variables.
...
Originally committed as revision 11584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-21 00:29:22 +00:00
Diego Biurrun
a4b375c614
Remove unnecessary forward declaration.
...
Originally committed as revision 11583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-21 00:28:29 +00:00
Reimar Döffinger
99fac0806b
Get rid of fft_rev table, use ff_reverse and a shift.
...
Reduces maximum allowed value for MDCT_NBITS to 10 (current value is 9)
Originally committed as revision 11519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-13 08:33:00 +00:00
Reimar Döffinger
f952b30cd1
Use FFSWAP instead of "manual" swap
...
Originally committed as revision 11518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 17:37:36 +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
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
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
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
D Richard Felker III
de39d62c14
sync message with modern ffmpeg bitrate option syntax.
...
note: this message should probably be tweaked; i'm not sure that it's
a good idea for lavc to be recommending ffmpeg command line options
as it's a general-purpose library.
Originally committed as revision 11094 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-27 05:32:04 +00:00
Panagiotis Issaris
d04d5bcd0e
Fix the self tests which are contained in some codecs and are using random().
...
Originally committed as revision 9755 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 08:47:07 +00:00
Justin Ruggles
cc2a8443eb
move some common values to ac3.h and utilize them
...
Originally committed as revision 9679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-15 01:31:09 +00:00
Ramiro Polla
2c124cb65c
Use AV_xx throughout libavcodec
...
Originally committed as revision 9169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-06-02 01:41:07 +00:00
Justin Ruggles
d971a5fa81
cosmetics. align and condense.
...
Originally committed as revision 8479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-22 05:39:20 +00:00
Justin Ruggles
319708da02
simplify
...
Originally committed as revision 8478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-22 05:38:00 +00:00
Justin Ruggles
bbd16dea67
utilize multi-stage AC-3 bit allocation. speeds up encoding by 25-30%
...
Originally committed as revision 8477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-22 05:34:26 +00:00
Bill O'Shaughnessy
4140a5234e
AC-3 encoded volume is too high. Revert revision 7160:
...
bring AC3 encoder output up to input volume level
patch by Bill O'Shaughnessy % bill P oshaughnessy A gmail.com %
+ reg tests update gruntwork by me
Original thread:
date: Nov 21, 2006 11:36PM
subject: [Ffmpeg-devel] Simpler Patch to bring AC3 encoder output up to input level
Originally committed as revision 8444 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 23:18:05 +00:00
Justin Ruggles
050aa8b9bc
remove redundancy in AC-3 parser by using common tables from ac3tab.h
...
Originally committed as revision 8318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-11 02:13:05 +00:00
Justin Ruggles
4258a0a32a
Remove common code from AC-3 encoder and utilize ac3.c.
...
Originally committed as revision 8306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-09 13:57:42 +00:00
Justin Ruggles
abfe5a4a75
simplify AC-3 bit allocation
...
Originally committed as revision 8302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-09 03:17:43 +00:00
Justin Ruggles
3a8bf52983
cosmetics. remove space before semi-colon.
...
Originally committed as revision 8301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-08 23:38:50 +00:00
Bill O'Shaughnessy
3e954443dd
bring AC3 encoder output up to input volume level
...
patch by Bill O'Shaughnessy % bill P oshaughnessy A gmail.com %
+ reg tests update gruntwork by me
Original thread:
date: Nov 21, 2006 11:36 PM
subject: [Ffmpeg-devel] Simpler Patch to bring AC3 encoder output up to input level
Originally committed as revision 7160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-23 22:21:01 +00:00
Måns Rullgård
486497e07b
revert bad checkin
...
Originally committed as revision 7044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:18:09 +00:00
Måns Rullgård
be6ed6fff4
move some CFLAGS settings away from config.* writing section
...
Originally committed as revision 7043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-14 03:12:29 +00:00
Diego Biurrun
b78e7197a8
Change license headers to say 'FFmpeg' instead of 'this program/this library'
...
and fix GPL/LGPL version mismatches.
Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Justin Ruggles
1df051e197
Fix 2 bit allocation bugs. One fix enables using a higher bandwidth code. The other fixes an issue with floorcod=7.
...
Originally committed as revision 6156 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-03 15:59:08 +00:00
Benjamin Larsson
6eb1427f0f
Revert bad ac3enc commit, the commited code was bigger and slower.
...
Originally committed as revision 5327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-28 14:19:11 +00:00
Benjamin Larsson
176c142abc
Patch to generate the ac3 window, based on code by Justin Ruggles.
...
Originally committed as revision 5310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-22 21:21:16 +00:00
Benjamin Larsson
f1f7807abd
AC3 encoding volume fix, by Justin Ruggles jruggle earthlink net.
...
Originally committed as revision 5281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-10 12:12:26 +00:00
Justin Ruggles
f760b70fbe
AC3: support encoding fractional frame sizes
...
Patch by Justin Ruggles, jruggle <<at>> earthlink <<dot>> net
Originally committed as revision 5263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-04-03 00:51:09 +00:00
Benjamin Larsson
5b6638517f
Use a more descriptive error message.
...
Originally committed as revision 5224 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-26 17:07:02 +00:00
Michael Niedermayer
e027d0a81e
switch ac3enc to av_crc
...
Originally committed as revision 5116 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-06 14:53:13 +00:00
Diego Biurrun
5509bffa88
Update licensing information: The FSF changed postal address.
...
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896
COSMETICS: tabs --> spaces, some prettyprinting
...
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160
COSMETICS: Remove all trailing whitespace.
...
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Justin Ruggles
132041f06f
While adding stereo rematrixing, I came across something that needs to
...
be fixed even without adding the feature. The output correctly uses 4
dummy values for the rematrixing flags in block-0, but the bit
allocation routine does not take these bits into account. From what I
can tell, there was a patch in 2003 that corrected the output to make it
DVD and spec compatible, but it didn't correct the bit allocation. It's
only 4 bits over the entire 6 blocks, so overflow errors would happen
rarely or never, but it's still worth fixing. So here is a fix.
patch by (Justin Ruggles {jruggle earthlink net)
Originally committed as revision 4179 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-05-05 14:10:52 +00:00
Michael Niedermayer
caa336b4cc
common.c -> bitstream.c (and the single non bitstream func -> utils.c)
...
common.h -> common.h/bitstream.h
Originally committed as revision 3777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-29 17:50:25 +00:00
Jeff Muizelaar
21d7e2ff40
fix some type mismatches patch by (Jeff Muizelaar <muizelaar rogers com>)
...
Originally committed as revision 3712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-25 19:17:27 +00:00
Jeff Muizelaar
e44cad5291
simpler delta decreasing algorithm patch by (Jeff Muizelaar <jrmuizel at student dot cs dot uwaterloo dot ca>)
...
Originally committed as revision 3369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-08-02 10:42:21 +00:00
Michael Niedermayer
9ab2717a9d
auxdatae, crcrs fix by (Jean-Francois Panisset <panisset at comcast dot net>)
...
Originally committed as revision 2800 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-02-18 19:15:19 +00:00
Michael Niedermayer
3d0ef6dd52
av_log patch(2 of ?) by (Michel Bardiaux <mbardiaux at peaktime dot be>)
...
Originally committed as revision 2474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 18:06:54 +00:00
Michel Bardiaux
9b87956678
av_log() patch by (Michel Bardiaux <mbardiaux at peaktime dot be>)
...
Originally committed as revision 2469 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-03 13:26:22 +00:00
Alex Beregszaszi
ed7debda14
removed the obsolete and unused parameters of init_put_bits
...
Originally committed as revision 2366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-10-12 21:25:00 +00:00
Michael Niedermayer
743739d2c5
AC3 encoding patch ba (Ross Martin <ffmpeg at ross dot interwrx dot com>)
...
Originally committed as revision 2129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-08-20 07:57:00 +00:00
Michael Niedermayer
983e3246b7
per file doxy
...
Originally committed as revision 1634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-03-06 11:32:04 +00:00
Zdenek Kabelac
0c1a9edad4
* UINTX -> uintx_t INTX -> intx_t
...
Originally committed as revision 1578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-11 16:35:48 +00:00
Zdenek Kabelac
5c91a6755b
* static,const,compiler warning cleanup
...
Originally committed as revision 1567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-02-10 09:35:32 +00:00
Måns Rullgård
ef9f730675
C99 initializers and kill warnings patch by (mru at users dot sourceforge dot net (Måns Rullgård))
...
Originally committed as revision 1474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-01-19 18:30:29 +00:00
Michael Niedermayer
492cd3a920
AVVideoFrame -> AVFrame
...
Originally committed as revision 1327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-12-09 12:03:43 +00:00
Fabrice Bellard
6107fa87b4
preparing integration of new AC3 decoder
...
Originally committed as revision 1089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-10-28 00:39:05 +00:00
Fabrice Bellard
ff4ec49e64
license/copyright change
...
Originally committed as revision 599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-25 22:45:33 +00:00
Fabrice Bellard
6000abfa89
removed useless header includes - use av memory functions
...
Originally committed as revision 522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-05-18 23:03:29 +00:00
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
2002-04-08 12:08:03 +00:00
Michael Niedermayer
17592475b3
alternative bitstream writer (disabled by default, uncomment #define ALT_BISTREAM_WRITER in common.h if u want to try it)
...
Originally committed as revision 295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2002-02-12 15:43:16 +00:00
Fabrice Bellard
8d67072fea
fixed symetric quantization (better quality!)
...
Originally committed as revision 130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-09-16 21:52:58 +00:00
Fabrice Bellard
34763c151f
renamed log2 to av_log2
...
Originally committed as revision 96 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-15 13:07:42 +00:00
Fabrice Bellard
1a56543279
win32 fixes
...
Originally committed as revision 84 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-13 21:48:05 +00:00
Fabrice Bellard
98be975df1
types fix
...
Originally committed as revision 36 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-08-06 00:47:50 +00:00
Fabrice Bellard
de6d9b6404
Initial revision
...
Originally committed as revision 5 to svn://svn.ffmpeg.org/ffmpeg/trunk
2001-07-22 14:18:56 +00:00