Commit Graph

34 Commits

Author SHA1 Message Date
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 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
diego c8ae1836e6 cosmetics: misc typo fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24615 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-09-25 16:34:23 +00:00
diego 42314cb0ba Remove unnecessary unistd.h include.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22766 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-03-20 09:53:31 +00:00
diego 7ee0eb4e19 Rename open to af_open so as not to conflict with a previous header definition.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22764 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-03-20 09:46:00 +00:00
uau e876e45030 Fix memory leaks.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22197 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-02-10 18:12:03 +00:00
uau 2d3d563b15 Reinitialize some variables on af_resample reinit, fixes crash
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21074 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-19 18:10:04 +00:00
uau 97be0637b6 Fix double free in af_resample when reinited with suitable parameters
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21033 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-18 17:07:17 +00:00
rathann 2601de4120 massive attack: mp_msg printf format fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17367 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-01-12 20:04:36 +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 77456b04d9 less namespace pollution #2 (prefixed globals in filter.c with af_filter_)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14276 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-29 19:50:44 +00:00
alex 507121f7fe removing AFMT_ dependancy
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14246 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-12-27 17:30:15 +00:00
diego 320e68675a The full name of the GPL is GNU General Public License.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13603 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-10-10 14:20:42 +00:00
anders a417b7b685 10l sig 11 bug reported by Fabian Franz
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8906 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-12 08:05:51 +00:00
anders 05c85403c4 10l bug for float conversion control + feature fix in volume control
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8869 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-10 01:45:34 +00:00
anders e1718bed19 New auto config for volume and resample and added support for float flag in configuration
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8868 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-10 01:01:38 +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
anders 6adaa78ee9 Changes includes:
- Improved runtime control system
- 3 New filter panning, compressor/limiter and a noise gate
  - The compressor/limiter and the noise gate are not yet finished
  - The panning filter does combined mixing and channel routing and
    can be used to down-mix from stereo to mono (for example)
- Improvements to volume and channel
  - volume now has a very good soft clipping using sin()
  - channel can handle generic routing of audio data
- Conversion of all filters to handle floating point data
- Cleanup of message printing
- Fix for the sig 11 bug reported by Denes


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8608 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-12-28 13:59:53 +00:00
arpi b987127e0e compiler warning fixes
based on patch by Dominik Mierzejewski <dominik@rangers.eu.org>


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8452 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-12-14 17:56:35 +00:00
anders 66f4e56389 New features:
-- Support for runtime cpu detection
-- Stand alone compile of libaf
-- Unlimited number of channels (compiletime switch)
-- Sample format defined by bit-fields
-- New formats: float, A-Law and mu-law
-- Format conversion set in human readable format
   i.e. format=4:us_be to set 32 bit unsigned big endian output
-- Format reporting in human readable format
-- Volume control has only one parameter for setting the volume
   i.e. volume=-10.0:1:0:1 to set atenuation = -10dB


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8168 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-11-12 12:33:56 +00:00
anders 36489bf66e 10l
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8072 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-11-03 06:06:05 +00:00
anders 437aa67937 Adding commandline options for filters and fixing stupid bug in cfg
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7999 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-31 11:06:19 +00:00
arpi ef97f44160 made gcd() static
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7895 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-24 17:34:01 +00:00
jkeil e567bb25ae Fix for audio filters on big endian cpus. It's working now on Solaris SPARC &
x86


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7720 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-12 20:02:01 +00:00
anders 3e3a4733fb Adding function for calculating the delay caused by the filters
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7666 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-08 10:20:36 +00:00
anders fe053df38d Changing frequency limit for resampling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7617 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-06 11:28:03 +00:00
anders ea698923eb Adding Support for non-reentrant audio filters
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7616 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-06 11:26:14 +00:00
arpi 8c465db577 optimization of the FIR macros, extending outfreq range to 2..192khz
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7603 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-05 22:53:21 +00:00
arpi f1f0dbdba3 1l
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7589 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-02 22:30:10 +00:00
arpi 3f05bdd0e0 100l
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7588 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-02 22:13:14 +00:00
anders 5c7b9ef0d4 Changing to 32 bit aritmetics for counters
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7581 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-02 10:47:18 +00:00
anders 3ef4629545 Adding support for multiple audio streams and removing annoying message from resample and format
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7572 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-01 12:53:30 +00:00
anders 1f6c494641 Adding new audio output filter layer libaf
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7569 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-01 06:45:08 +00:00