OLD | NEW |
| (Empty) |
1 // ByteSwap.cpp | |
2 | |
3 #include "StdAfx.h" | |
4 | |
5 #include "ByteSwap.h" | |
6 | |
7 STDMETHODIMP CByteSwap2::Init() { return S_OK; } | |
8 | |
9 STDMETHODIMP_(UInt32) CByteSwap2::Filter(Byte *data, UInt32 size) | |
10 { | |
11 const UInt32 kStep = 2; | |
12 UInt32 i; | |
13 for (i = 0; i + kStep <= size; i += kStep) | |
14 { | |
15 Byte b = data[i]; | |
16 data[i] = data[i + 1]; | |
17 data[i + 1] = b; | |
18 } | |
19 return i; | |
20 } | |
21 | |
22 STDMETHODIMP CByteSwap4::Init() { return S_OK; } | |
23 | |
24 STDMETHODIMP_(UInt32) CByteSwap4::Filter(Byte *data, UInt32 size) | |
25 { | |
26 const UInt32 kStep = 4; | |
27 UInt32 i; | |
28 for (i = 0; i + kStep <= size; i += kStep) | |
29 { | |
30 Byte b0 = data[i]; | |
31 Byte b1 = data[i + 1]; | |
32 data[i] = data[i + 3]; | |
33 data[i + 1] = data[i + 2]; | |
34 data[i + 2] = b1; | |
35 data[i + 3] = b0; | |
36 } | |
37 return i; | |
38 } | |
OLD | NEW |