MythTV  0.27pre
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
Protected Member Functions | List of all members
soundtouch::TDStretchMMX Class Reference

Class that implements MMX optimized routines for 16bit integer samples type. More...

#include <TDStretch.h>

Inheritance diagram for soundtouch::TDStretchMMX:
Inheritance graph
[legend]
Collaboration diagram for soundtouch::TDStretchMMX:
Collaboration graph
[legend]

Protected Member Functions

long calcCrossCorrMulti (const short *mixingPos, const short *compare) const
long calcCrossCorrStereo (const short *mixingPos, const short *compare) const
virtual void overlapStereo (short *output, const short *input) const
virtual void clearCrossCorrState ()
 clear cross correlation routine state if necessary
- Protected Member Functions inherited from soundtouch::TDStretch
void acceptNewOverlapLength (uint newOverlapLength)
 Set new overlap length parameter & reallocate RefMidBuffer if necessary.
void calculateOverlapLength (uint overlapMs)
 Calculates overlap period length in samples.
virtual LONG_SAMPLETYPE calcCrossCorrMono (const SAMPLETYPE *mixingPos, const SAMPLETYPE *compare) const
virtual uint seekBestOverlapPositionMulti (const SAMPLETYPE *refPos)
virtual uint seekBestOverlapPositionMultiQuick (const SAMPLETYPE *refPos)
virtual uint seekBestOverlapPositionStereo (const SAMPLETYPE *refPos)
virtual uint seekBestOverlapPositionStereoQuick (const SAMPLETYPE *refPos)
virtual uint seekBestOverlapPositionMono (const SAMPLETYPE *refPos)
virtual uint seekBestOverlapPositionMonoQuick (const SAMPLETYPE *refPos)
uint seekBestOverlapPosition (const SAMPLETYPE *refPos)
virtual void overlapMulti (SAMPLETYPE *output, const SAMPLETYPE *input) const
virtual void overlapMono (SAMPLETYPE *output, const SAMPLETYPE *input) const
void clearMidBuffer ()
void overlap (SAMPLETYPE *output, const SAMPLETYPE *input, uint ovlPos) const
void precalcCorrReference ()
void precalcCorrReferenceMono ()
void precalcCorrReferenceStereo ()
void processNominalTempo ()
void processSamples ()
 Changes the tempo of the given sound samples.
- Protected Member Functions inherited from FIFOProcessor
void setOutPipe (FIFOSamplePipe *pOutput)
 Sets output pipe.
 FIFOProcessor ()
 Constructor.
 FIFOProcessor (FIFOSamplePipe *pOutput)
 Constructor. Configures output pipe.
virtual ~FIFOProcessor ()
 Destructor.
virtual soundtouch::SAMPLETYPEptrBegin () const
 Returns a pointer to the beginning of the output samples.

Additional Inherited Members

- Public Member Functions inherited from soundtouch::TDStretch
 TDStretch ()
virtual ~TDStretch ()
voidoperator new (size_t s)
 Operator 'new' is overloaded so that it automatically creates a suitable instance depending on if we've a MMX/SSE/etc-capable CPU available or not.
FIFOSamplePipegetOutput ()
 Returns the output buffer object.
FIFOSamplePipegetInput ()
 Returns the input buffer object.
void setTempo (float newTempo)
 Sets new target tempo.
virtual void clear ()
 Returns nonzero if there aren't any samples available for outputting.
void clearInput ()
 Clears the input buffer.
void setChannels (uint numChannels)
 Sets the number of channels, 1 = mono, 2 = stereo.
void enableQuickSeek (BOOL enable)
 Enables/disables the quick position seeking algorithm.
BOOL isQuickSeekEnabled () const
 Returns nonzero if the quick seeking algorithm is enabled.
void setParameters (uint sampleRate, uint sequenceMS=DEFAULT_SEQUENCE_MS, uint seekwindowMS=DEFAULT_SEEKWINDOW_MS, uint overlapMS=DEFAULT_OVERLAP_MS)
 Sets routine control parameters.
void getParameters (uint *pSampleRate, uint *pSequenceMs, uint *pSeekWindowMs, uint *pOverlapMs)
 Get routine control parameters, see setParameters() function.
virtual void putSamples (const SAMPLETYPE *samples, uint numSamples)
 Adds 'numsamples' pcs of samples from the 'samples' memory position into the input of the object.
- Static Public Member Functions inherited from soundtouch::TDStretch
static TDStretchnewInstance ()
 Use this function instead of "new" operator to create a new instance of this class.
- Protected Attributes inherited from soundtouch::TDStretch
uint channels
uint sampleReq
float tempo
SAMPLETYPEpMidBuffer
SAMPLETYPEpRefMidBuffer
SAMPLETYPEpRefMidBufferUnaligned
uint midBufferLength
uint overlapLength
uint overlapDividerBits
uint slopingDivider
uint seekLength
uint seekWindowLength
uint maxOffset
float nominalSkip
float skipFract
FIFOSampleBuffer outputBuffer
FIFOSampleBuffer inputBuffer
BOOL bQuickseek
BOOL bMidBufferDirty
uint sampleRate
uint sequenceMs
uint seekWindowMs
uint overlapMs

Detailed Description

Class that implements MMX optimized routines for 16bit integer samples type.

Definition at line 269 of file TDStretch.h.

Member Function Documentation

long TDStretchMMX::calcCrossCorrMulti ( const short *  mixingPos,
const short *  compare 
) const
protectedvirtual

Reimplemented from soundtouch::TDStretch.

Definition at line 145 of file mmx_gcc.cpp.

long TDStretchMMX::calcCrossCorrStereo ( const short *  mixingPos,
const short *  compare 
) const
protectedvirtual

Reimplemented from soundtouch::TDStretch.

Definition at line 84 of file mmx_gcc.cpp.

void TDStretchMMX::overlapStereo ( short *  output,
const short *  input 
) const
protectedvirtual

Reimplemented from soundtouch::TDStretch.

Definition at line 267 of file mmx_gcc.cpp.

void TDStretchMMX::clearCrossCorrState ( )
protectedvirtual

clear cross correlation routine state if necessary

Reimplemented from soundtouch::TDStretch.

Definition at line 261 of file mmx_gcc.cpp.


The documentation for this class was generated from the following files: