Commit Graph

70 Commits

Author SHA1 Message Date
ulion 66abcc42af Add new audio filter for encoding multi-channel audio into ac3 at runtime.
And if set first parameter of this filter to 1, it will do ac3 passthrough
like hwac3 did.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25385 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-13 12:38:17 +00:00
ulion 0fe9266445 Fix my wrong code in r25530.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25334 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-10 11:08:27 +00:00
ulion 920a892892 Fix missing command line bug by making the input parameter constant.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25330 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-10 01:43:33 +00:00
ulion 70e7acda26 Prevent from using data->len when data is NULL (when play() return NULL).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25143 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-23 05:50:34 +00:00
uau d7f6cb23de A/V sync: take audio filter buffers into account
Substract the delay caused by filter buffering when calculating
currently playing audio position. This matters for af_scaletempo which
buffers significant and varying amounts of data. For other current
filters the effect is normally insignificant.

Instead of the old time-based filter delay field (which was ignored)
this version stores the per-filter delay in units of bytes input read
without corresponding output. This allows the current scaletempo
behavior where other filters before and after it can see the same
nominal samplerate even though the real duration of the data varies;
in this case the other filters can not know the delay they're causing
in terms of real time.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24928 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:50 +00:00
uau d33703496c Add audio filter scaletempo
Patch by Robert Juliano, juliano.1 osu edu


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24924 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:38 +00:00
uau 1844e1dd0c Change decode_audio() interface
Rewrite decode_audio to better deal with filters that handle input in
large blocks. It now always places output in sh_audio->a_out_buffer
(which was always given as a parameter before) and reallocates the
buffer if needed. After the changes filters can return arbitrarily
large blocks of data without some of it being lost. The new version
also allows simplifying some code.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24920 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:19 +00:00
uau 5bfedc0a2d Remove some pointless 'inline' qualifiers
Most of these functions aren't even used in the same translation unit.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24918 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:10 +00:00
uau ab2237c15a libaf: Remove rational number implementation
Remove the mul/cancel/gcd functions and some related code. Use ff_gcd
instead of the removed af_gcd in af_resample.c.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24917 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:06 +00:00
uau 7deec05ea0 libaf: change filter input/output ratio calculations
Change the audio filters to use a double instead of rationals for the
ratio of output to input size. The rationals could overflow when
calculating the overall ratio of a filter chain and gave no real
advantage compared to doubles.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24916 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:01 +00:00
uau c6824f577e Remove unused functions in af.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24915 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:51:57 +00:00
uau 0f6d5e4fd9 Change value used to indicate "unknown audio format" from 0 to -1.
0 collided with a valid format value.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20787 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-08 18:31:04 +00:00
uau 203d128918 Fix stupid use of multiplication to check signs which fails because of
overflow. Negative values do not seem to be used so just remove the 
failing test.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19889 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-09-18 14:04:50 +00:00
reynaldo ca1970b25a makes several libaf functions static coz they are not used outside their source files. Patch by Stefan Huehner, stefan AT huehner-org
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18972 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-07-09 03:59:52 +00:00
corey 9fb516e90a Rename sinesupress to sinesuppress, including af_sinesupress.c file rename.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18612 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-06-07 00:02:51 +00:00
reynaldo d6081d2977 New karaoke af
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18471 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-05-13 08:46:31 +00:00
reynaldo 3a406e94d7 Get ride of the several if(identify) messy lines and rearangment of some of the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18238 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-04-24 07:20:34 +00:00
michael 9b2c81e1bb very simple filter which can remove a sine at a specified frequency, usefull to get rid of the 50/60hz noise on ultra crappy equipment
probably works only with 1 channel input


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18083 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-04-13 10:36:17 +00:00
reimar 694f18ea46 fix memory leak when filter with given name does not exist.
Also prints which filter failed in the malloc-failed case


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17781 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-03-08 15:39:53 +00:00
reimar d475a9523f semi-hack: avoid passing 0-length blocks to audio filters.
Fixes bugzilla bug #391 (lavcresample crashes).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16816 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-20 09:12:28 +00:00
reimar 01ced1e49e documentation-only patch: make doxygen compatible and create
af_chain and af_filter doxygen modules.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16628 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-10-01 12:55:34 +00:00
reimar 2066463ec5 Avoid hang with -af-adv force=3
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16073 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-07-23 16:58:25 +00:00
reimar d22ae4a4d9 make -srate work again, unify audio filter init and preinit.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15812 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-06-24 10:50:53 +00:00
diego 8475733dc2 Fix mp_msg vs af_msg usage as pointed out by Ivo.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15792 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-06-21 01:00:35 +00:00
gpoirier 9dd8f241ac adds some more -identify output, patch by kiriuja < mplayer DASH patches PAM en DASH directo POUM net>
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15790 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-06-20 23:07:35 +00:00
reimar e331e6b94f Prevent segfault when filter chain is empty (e.g. because all
filters returned AF_DETACH). Fixes bugzilla bug #293.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15313 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-05-01 09:23:31 +00:00
henry 4ad21b2d7e change list traversal so the loop begins at the first filter after removing
one, instead at the second


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15192 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-04-16 16:48:15 +00:00
alex 6dbf6b4df1 finally remove the refences to bps outside libaf. also simplification of some messages and removed redundants
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14819 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-02-25 11:11:07 +00:00
alex 5aa4b2505f filter for adding a center channel, adding a high pass filter would be nice
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14751 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-02-21 17:14:00 +00:00
gpoirier 00d05d6a2a Make this file compile with gcc-4.0.0:
It's syntacticly incorrect to use the "&" operand to take the address of a
variable that is declared as "register" as a register has no address.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14570 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-22 10:47:58 +00:00
reimar 8ee78e87ce always cancel down fractions (frac_t) to avoid overflows and playback
problems (e.g. when using resample and equalizer filters together, see
http://mplayerhq.hu/pipermail/mplayer-users/2004-December/050058.html)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14434 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-08 21:34:06 +00:00
alex c7ef86b09a af_bits2fmt and af_str2fmt_short, also removed the extra FORMAT_BPS control in format.c
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14336 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-03 18:59:16 +00:00
reimar 8f3e5a996c Use lavcresample only when libavcodec is compiled in.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14327 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-03 14:05:38 +00:00
reimar 6119b03712 Make af_control_any_rev return the matching filter
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14293 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-01 18:46:56 +00:00
reimar 8c7855e1b4 Use lavcresample when accuracy-optimized audio filter chain is requested.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14244 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-26 11:58:07 +00:00
ivo 3d4852d8e0 Adds support for LADSPA (Linux Audio Developer's Simple Plugin API) plugins.
Compilation is optional and can be controled by configure. You need to
have the LADSPA SDK installed in order to have it autodetected by configure.

Manual page is updated.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14218 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-23 02:09:52 +00:00
henry 1f478a1173 head related transfer function
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13997 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-11-20 14:41:51 +00:00
michael c68662a8c7 sine sweep generator
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13722 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-21 12:10:55 +00:00
michael 7981c2e20b libavcodec resampling ...
libaf doesnt seem to support planar audio, so we need to convert it :(


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13714 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-21 03:32:31 +00:00
alex 1e37620fff make af_help conform better to the the afm/vfm/etc equivalents
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13567 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-05 19:36:47 +00:00
alex b7d2e203d8 reimplementation of the pl_extrastereo and pl_volnorm plugins
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13551 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-04 19:11:05 +00:00
ivo bdc25d636e mplayer -af help now lists all available audio filters.
Updated manual page.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13270 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-09-06 22:27:08 +00:00
alex bbd5473353 Send a command throught the filter chain until some item returns AF_OK. Patch by Reimar Doeffinger
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12669 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-06-25 19:02:53 +00:00
rfelker f69f48b200 if the user wants fast, use fast code! otherwise the user has to put
af=resample=44100:0:0 in the config file, which will resample all
files, not just ones that need it. libaf still sux!


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11860 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-01-27 06:45:43 +00:00
faust3 b76c0e461a disable af export for systems without mmap
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10909 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-21 12:16:16 +00:00
anders 758dcca26a Adding filter for exporting audio data to visual effect applications
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@10893 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-09-20 13:42:26 +00:00
anders c9052b1092 Adding support for more logical libaf configuration
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8970 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-17 01:00:07 +00:00
anders 4477f1232a Adding sub-woofer filter, use this filter to add a sub channel to the audio stream
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8833 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-07 10:33:30 +00:00
anders b1cdf7ba57 sig 11 fix in reinit and resample + spelling error fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8712 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-02 03:00:44 +00:00
ranma 0a37ed2384 Port of pl_surround.c to af-layer.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8679 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-12-31 15:14:13 +00:00