[mythtv-commits] mythtv commit: r24386 - in branches/mythtv-hdaudio by jyavenard
mythtv at cvs.mythtv.org
mythtv at cvs.mythtv.org
Tue May 4 05:21:27 UTC 2010
Author: jyavenard
Date: 2010-05-04 05:21:27 +0000 (Tue, 04 May 2010)
New Revision: 24386
Changeset: http://svn.mythtv.org/trac/changeset/24386
Added:
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputsettings.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputsettings.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutpututil.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutpututil.h
Modified:
branches/mythtv-hdaudio/mythplugins/mythmusic/mythmusic/avfdecoder.cpp
branches/mythtv-hdaudio/mythplugins/mythmusic/mythmusic/avfdecoder.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutput.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputalsa.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputalsa.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputbase.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputbase.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputca.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputdigitalencoder.cpp
branches/mythtv-hdaudio/mythtv/libs/libmyth/audiooutputdigitalencoder.h
branches/mythtv-hdaudio/mythtv/libs/libmyth/libmyth.pro
branches/mythtv-hdaudio/mythtv/libs/libmythfreesurround/el_processor.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythfreesurround/freesurround.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythfreesurround/freesurround.h
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/FIRFilter.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/FIRFilter.h
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/STTypes.h
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/SoundTouch.h
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/TDStretch.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/TDStretch.h
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/libmythsoundtouch.pro
branches/mythtv-hdaudio/mythtv/libs/libmythsoundtouch/sse_gcc.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythtv/NuppelVideoPlayer.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythtv/NuppelVideoPlayer.h
branches/mythtv-hdaudio/mythtv/libs/libmythtv/avformatdecoder.cpp
branches/mythtv-hdaudio/mythtv/libs/libmythtv/avformatdecoder.h
branches/mythtv-hdaudio/mythtv/programs/mythtranscode/transcode.cpp
Log:
Convert internal audio buffer format to float type.
Previously the following would happen:
foreach processing [ soundstretch upmixing resampling ... ]
do
convert sample from fixed to float
perform calculations in float
convert from float to fixed
end
We now do:
convert buffer from fixed to float
foreach processing [ .... ]
perform calculations in float
end
convert from float to fixed
Samples could also only be unsigned 8 bits or 16 bits sgned. By moving to floats internally the following are automatically gained:
-speed: conversion occurs once only. Conversion is also extremely fast on selected X86 platforms (> pentium III), done entirely using SSE2 instruction set.
-Gain automatic support for 20 and 24 bits audio (a float is 32 bits, with a 24 bits mantissa)
In order to prevent older machines or hardware architectures with poor floating point abilities, the fixed -> float conversion is only done when audio processing is to occur.
As such, in the worse case scenario, it is just as fast than what it would have been prior to using float internally.
This changeset removes support for non-interleaved audio.
AddSamples overloading is removed
More information about the mythtv-commits
mailing list