sl@0: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: //
sl@0: 
sl@0: #include "MMFAudioU16ToS16PcmCodec.h"
sl@0: 
sl@0: /**
sl@0: *
sl@0: * Convert
sl@0: * @param aSrc
sl@0: * @param aDst
sl@0: * @param aSamples
sl@0: * Unsigned 16bit to Signed 16bit
sl@0: */
sl@0: EXPORT_C void TMMFAudioU16ToS16PcmCodec::Convert(TUint8* aSrc, TUint8* aDst, TInt aSamples)
sl@0: 	{
sl@0: 	TInt s16;
sl@0: 	while (aSamples--)
sl@0: 		{ 
sl@0: 		s16 = (aSrc[0]+(aSrc[1]<<8))-KMaskSign16bit;
sl@0: 		*aDst++ = STATIC_CAST( TInt8, s16&KAndMask8bit);
sl@0: 		*aDst++ = STATIC_CAST( TInt8, (s16>>8)&KAndMask8bit);
sl@0: 		aSrc+=2;
sl@0: 		}
sl@0: 	}