Commit Graph

38 Commits

Author SHA1 Message Date
diego 37ea342f85 #include config.h before all other headers.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26235 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-03-14 16:46:13 +00:00
diego 8efb2fa21c Add MPLAYER_ prefix to multiple inclusion guards.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26061 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-22 09:09:46 +00:00
diego baee7815d5 Replace multiple inclusion guards with leading underscores by default names.
Leading underscores are reserved for system identifiers.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25579 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-01 20:21:20 +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 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 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
diego 5572645334 Remove config.h and move its content to af.h. There are multiple files under
the name config.h, inviting bugs and confusion.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21249 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-25 19:57:31 +00:00
diego 8069102bca Use the real name of the header file when guarding against double inclusion.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21248 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-25 19:41:52 +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 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
rathann d8cd8fd5e9 obvious typo
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14884 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-03-01 22:52:02 +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 f63682aedc af_softclip
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14623 b3059339-0415-0410-9bf9-f77b7e298cf2
2005-01-31 11:43:08 +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
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
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 e766aff755 10
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12677 b3059339-0415-0410-9bf9-f77b7e298cf2
2004-06-26 10:05:13 +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
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
mosu 23486f48a5 bunkus: Encapsulated arguments to #define in ( ... ) so that the #defines can be safely used like functions: mydef(flag ? val1 : val2)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8958 b3059339-0415-0410-9bf9-f77b7e298cf2
2003-01-15 11:16:33 +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 ec6de0f24a 10l memory leak + bug fixes in ms to sample time conversion
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8675 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-12-31 05:42:20 +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
anders f2de70140d Fixing segfault bug and addnig support for lrintf() in format conversion
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8181 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-11-13 09:09:50 +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 4d5388c569 Adding equalizer filter + some cosmetics
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8074 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-11-03 09:51:02 +00:00
anders 4d6e54d22d Adding volume control and moving control() call parameters to a seperate file
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7746 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-16 01:49:40 +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 f8e93e8037 Adding functionality for adding filters during execution
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7650 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-07 10:46:01 +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
anders 2455614901 Adding function for estimating required buffer length
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7599 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-05 11:02:39 +00:00
anders 150c05bec9 Correcting error in macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7592 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-03 12:44:58 +00:00
anders 7ca1ef4974 Redesign of buffer length calculation
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7590 b3059339-0415-0410-9bf9-f77b7e298cf2
2002-10-03 12:02:46 +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