00001
00008
00009 #ifndef BITRESCONVERTER_H_INCLUDED
00010 #define BITRESCONVERTER_H_INCLUDED
00011
00012 #include "datatypes.h"
00013
00014 namespace ac3 {
00015
00024 class CBitResConverter
00025 {
00026 public:
00027 static void ConvertBitResolution(UINT32 nSampleCount,
00028 void* pSource,
00029 UINT16 nSourceResolution,
00030 void* pDest,
00031 UINT16 nDestResolution);
00032
00033 static UINT8 INT16ToUINT8(INT16 nValue);
00034 static UINT8 INT24ToUINT8(INT32 nValue);
00035 static UINT8 INT32ToUINT8(INT32 nValue);
00036
00037 static INT16 UINT8ToINT16(UINT8 nValue);
00038 static INT16 INT24ToINT16(INT32 nValue);
00039 static INT16 INT32ToINT16(INT32 nValue);
00040
00041 static INT32 UINT8ToINT24(UINT8 nValue);
00042 static INT32 INT16ToINT24(INT16 nValue);
00043 static INT32 INT32ToINT24(INT32 nValue);
00044
00045 static INT32 UINT8ToINT32(UINT8 nValue);
00046 static INT32 INT16ToINT32(INT16 nValue);
00047 static INT32 INT24ToINT32(INT32 nValue);
00048 };
00049
00050 }
00051
00052 #endif // BITRESCONVERTER_H_INCLUDED
00053