Code review notes fixed.
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 3 Apr 2013 10:48:23 +0000 (03:48 -0700)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Wed, 3 Apr 2013 11:14:40 +0000 (04:14 -0700)
CMakeLists.txt
cmake/OpenCVDetectCUDA.cmake
cmake/OpenCVLegacyOptions.cmake
cmake/checks/OpenCVDetectCudaArch.cu [moved from cmake/OpenCVDetectCudaArch.cu with 100% similarity]
modules/core/include/opencv2/core/internal.hpp
modules/highgui/src/cap_msmf.cpp
platforms/winrt/arm.winrt.toolchain.cmake

index 9bf394f..21922e6 100644 (file)
@@ -141,7 +141,7 @@ OCV_OPTION(WITH_TIFF           "Include TIFF support"                        ON
 OCV_OPTION(WITH_UNICAP         "Include Unicap support (GPL)"                OFF  IF (UNIX AND NOT APPLE AND NOT ANDROID) )
 OCV_OPTION(WITH_V4L            "Include Video 4 Linux support"               ON   IF (UNIX AND NOT ANDROID) )
 OCV_OPTION(WITH_DSHOW          "Build HighGUI with DirectShow support"       ON   IF (WIN32 AND NOT ARM) )
-OCV_OPTION(WITH_MSMF           "Build HighGUI with Media Foundation support" OFF )
+OCV_OPTION(WITH_MSMF           "Build HighGUI with Media Foundation support" OFF  IF WIN32 )
 OCV_OPTION(WITH_XIMEA          "Include XIMEA cameras support"               OFF  IF (NOT ANDROID AND NOT APPLE) )
 OCV_OPTION(WITH_XINE           "Include Xine support (GPL)"                  OFF  IF (UNIX AND NOT APPLE AND NOT ANDROID) )
 OCV_OPTION(WITH_OPENCL         "Include OpenCL Runtime support"              OFF  IF (NOT ANDROID AND NOT IOS) )
index e853a8d..91cf150 100644 (file)
@@ -57,7 +57,7 @@ if(CUDA_FOUND)
   elseif(CUDA_GENERATION STREQUAL "Kepler")
     set(__cuda_arch_bin "3.0")
   elseif(CUDA_GENERATION STREQUAL "Auto")
-    execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" "${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCudaArch.cu" "--run"
+    execute_process( COMMAND "${CUDA_NVCC_EXECUTABLE}" "${OpenCV_SOURCE_DIR}/cmake/checks/OpenCVDetectCudaArch.cu" "--run"
                      WORKING_DIRECTORY "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/"
                      RESULT_VARIABLE _nvcc_res OUTPUT_VARIABLE _nvcc_out
                      ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
index a34c9e5..e05ad4c 100644 (file)
@@ -12,6 +12,7 @@ endmacro()
 ocv_legacy_option(BUILD_NEW_PYTHON_SUPPORT BUILD_opencv_python)
 ocv_legacy_option(BUILD_JAVA_SUPPORT       BUILD_opencv_java)
 ocv_legacy_option(WITH_ANDROID_CAMERA      BUILD_opencv_androidcamera)
+ocv_legacy_option(WITH_VIDEOINPUT          WITH_DSHOW)
 
 if(DEFINED OPENCV_BUILD_3RDPARTY_LIBS)
   set(BUILD_ZLIB   ${OPENCV_BUILD_3RDPARTY_LIBS} CACHE BOOL "Set via depricated OPENCV_BUILD_3RDPARTY_LIBS" FORCE)
index 8902e69..5335fa0 100644 (file)
@@ -136,6 +136,7 @@ CV_INLINE IppiSize ippiSize(int width, int height)
 #ifdef __ARM_NEON__
 #  include <arm_neon.h>
 #  define CV_NEON 1
+#  define CPU_HAS_NEON_FEATURE (true)
 #endif
 
 #ifndef CV_SSE
index dbbad6f..52b7804 100644 (file)
 // the use of this software, even if advised of the possibility of such damage.
 //
 //M*/
-
 #include "precomp.hpp"
-
 #if (defined WIN32 || defined _WIN32) && defined HAVE_MSMF
-
 /*
    Media Foundation-based Video Capturing module is based on
    videoInput library by Evgeny Pereguda:
    http://www.codeproject.com/Articles/559437/Capturing-of-video-from-web-camera-on-Windows-7-an
-
    Originaly licensed under The Code Project Open License (CPOL) 1.02:
    http://www.codeproject.com/info/cpol10.aspx
 */
-
 #include <windows.h>
 #include <guiddef.h>
 #include <mfidl.h>
 #include <mfplay.h>
 #include <mfobjects.h>
 #include "Strsafe.h"
-
 #include <new>
 #include <map>
 #include <vector>
 #include <string>
-
 #include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
-
 #pragma warning(disable:4503)
-
 #pragma comment(lib, "mfplat")
 #pragma comment(lib, "mf")
 #pragma comment(lib, "mfuuid")
 #pragma comment(lib, "Strmiids")
 #pragma comment(lib, "MinCore_Downlevel")
-
 struct IMFMediaType;
 struct IMFActivate;
 struct IMFMediaSource;
 struct IMFAttributes;
-
 namespace
 {
-
 template <class T> void SafeRelease(T **ppT)
 {
     if (*ppT)
@@ -93,7 +81,6 @@ template <class T> void SafeRelease(T **ppT)
         *ppT = NULL;
     }
 }
-
  /// Class for printing info into consol
 class DebugPrintOut
 {
@@ -103,72 +90,43 @@ public:
     void printOut(const wchar_t *format, ...);
     void setVerbose(bool state);
     bool verbose;
-
-private:    
-    DebugPrintOut(void);        
+private:
+    DebugPrintOut(void);
 };
-
 // Structure for collecting info about types of video, which are supported by current video device
 struct MediaType
 {
     unsigned int MF_MT_FRAME_SIZE;
-
     unsigned int height;
-
     unsigned int width;
-
     unsigned int MF_MT_YUV_MATRIX;
-
     unsigned int MF_MT_VIDEO_LIGHTING;
-
     unsigned int MF_MT_DEFAULT_STRIDE;
-
     unsigned int MF_MT_VIDEO_CHROMA_SITING;
-
     GUID MF_MT_AM_FORMAT_TYPE;
-
     wchar_t *pMF_MT_AM_FORMAT_TYPEName;
-
     unsigned int MF_MT_FIXED_SIZE_SAMPLES;
-
     unsigned int MF_MT_VIDEO_NOMINAL_RANGE;
-
     unsigned int MF_MT_FRAME_RATE;
-
     unsigned int MF_MT_FRAME_RATE_low;
-
     unsigned int MF_MT_PIXEL_ASPECT_RATIO;
-
     unsigned int MF_MT_PIXEL_ASPECT_RATIO_low;
-
     unsigned int MF_MT_ALL_SAMPLES_INDEPENDENT;
-
     unsigned int MF_MT_FRAME_RATE_RANGE_MIN;
-
     unsigned int MF_MT_FRAME_RATE_RANGE_MIN_low;
-
     unsigned int MF_MT_SAMPLE_SIZE;
-
     unsigned int MF_MT_VIDEO_PRIMARIES;
-
     unsigned int MF_MT_INTERLACE_MODE;
-
     unsigned int MF_MT_FRAME_RATE_RANGE_MAX;
-
     unsigned int MF_MT_FRAME_RATE_RANGE_MAX_low;
-
     GUID MF_MT_MAJOR_TYPE;
-
     GUID MF_MT_SUBTYPE;
-
     wchar_t *pMF_MT_MAJOR_TYPEName;
     wchar_t *pMF_MT_SUBTYPEName;
-
     MediaType();
     ~MediaType();
     void Clear();
 };
-
 /// Class for parsing info from IMFMediaType into the local MediaType
 class FormatReader
 {
@@ -178,102 +136,71 @@ public:
 private:
     FormatReader(void);
 };
-
 DWORD WINAPI MainThreadFunction( LPVOID lpParam );
-
 typedef void(*emergensyStopEventCallback)(int, void *);
-
 typedef unsigned char BYTE;
-
 class RawImage
 {
 public:
     ~RawImage(void);
     // Function of creation of the instance of the class
     static long CreateInstance(RawImage **ppRImage,unsigned int size);
-
     void setCopy(const BYTE * pSampleBuffer);
     void fastCopy(const BYTE * pSampleBuffer);
     unsigned char * getpPixels();
     bool isNew();
     unsigned int getSize();
-
 private:
-
     bool ri_new;
     unsigned int ri_size;
     unsigned char *ri_pixels;
     RawImage(unsigned int size);
 };
-
 // Class for grabbing image from video stream
 class ImageGrabber : public IMFSampleGrabberSinkCallback
 {
 public:
     ~ImageGrabber(void);
-
     HRESULT initImageGrabber(IMFMediaSource *pSource, GUID VideoFormat);
-
     HRESULT startGrabbing(void);
-
     void stopGrabbing();
-
     RawImage *getRawImage();
-
     // Function of creation of the instance of the class
     static HRESULT CreateInstance(ImageGrabber **ppIG,unsigned int deviceID);
-
 private:
-
     bool ig_RIE;
-
     bool ig_Close;
-    
     long m_cRef;
-
     unsigned int ig_DeviceID;
-    
     IMFMediaSource *ig_pSource;
-
     IMFMediaSession *ig_pSession;
-
     IMFTopology *ig_pTopology;
-
     RawImage *ig_RIFirst;
-    
     RawImage *ig_RISecond;
-
     RawImage *ig_RIOut;
-            
     ImageGrabber(unsigned int deviceID);
-            
     HRESULT CreateTopology(IMFMediaSource *pSource, IMFActivate *pSinkActivate, IMFTopology **ppTopo);
-
     HRESULT AddSourceNode(
-    IMFTopology *pTopology,           
-    IMFMediaSource *pSource,          
-    IMFPresentationDescriptor *pPD,   
-    IMFStreamDescriptor *pSD,         
+    IMFTopology *pTopology,
+    IMFMediaSource *pSource,
+    IMFPresentationDescriptor *pPD,
+    IMFStreamDescriptor *pSD,
     IMFTopologyNode **ppNode);
-
     HRESULT AddOutputNode(
-    IMFTopology *pTopology,     
-    IMFActivate *pActivate,     
-    DWORD dwId,                 
+    IMFTopology *pTopology,
+    IMFActivate *pActivate,
+    DWORD dwId,
     IMFTopologyNode **ppNode);
-    
     // IUnknown methods
     STDMETHODIMP QueryInterface(REFIID iid, void** ppv);
     STDMETHODIMP_(ULONG) AddRef();
     STDMETHODIMP_(ULONG) Release();
-
     // IMFClockStateSink methods
     STDMETHODIMP OnClockStart(MFTIME hnsSystemTime, LONGLONG llClockStartOffset);
     STDMETHODIMP OnClockStop(MFTIME hnsSystemTime);
     STDMETHODIMP OnClockPause(MFTIME hnsSystemTime);
     STDMETHODIMP OnClockRestart(MFTIME hnsSystemTime);
     STDMETHODIMP OnClockSetRate(MFTIME hnsSystemTime, float flRate);
-
     // IMFSampleGrabberSinkCallback methods
     STDMETHODIMP OnSetPresentationClock(IMFPresentationClock* pClock);
     STDMETHODIMP OnProcessSample(REFGUID guidMajorMediaType, DWORD dwSampleFlags,
@@ -281,66 +208,40 @@ private:
         DWORD dwSampleSize);
     STDMETHODIMP OnShutdown();
 };
-
 /// Class for controlling of thread of the grabbing raw data from video device
 class ImageGrabberThread
 {
     friend DWORD WINAPI MainThreadFunction( LPVOID lpParam );
-
 public:
     ~ImageGrabberThread(void);
-
     static HRESULT CreateInstance(ImageGrabberThread **ppIGT, IMFMediaSource *pSource, unsigned int deviceID);
-
     void start();
-
     void stop();
-
     void setEmergencyStopEvent(void *userData, void(*func)(int, void *));
-
     ImageGrabber *getImageGrabber();
-
 protected:
-
     virtual void run();
-
 private:
-    
     ImageGrabberThread(IMFMediaSource *pSource, unsigned int deviceID);
-
     HANDLE igt_Handle;
-    
     DWORD   igt_ThreadIdArray;
-
     ImageGrabber *igt_pImageGrabber;
-
     emergensyStopEventCallback igt_func;
-
     void *igt_userData;
-
     bool igt_stop;
-
     unsigned int igt_DeviceID;
 };
-
 // Structure for collecting info about one parametr of current video device
 struct Parametr
 {
     long CurrentValue;
-
     long Min;
-
     long Max;
-
     long Step;
-
     long Default;
-
     long Flag;
-
     Parametr();
 };
-
 // Structure for collecting info about 17 parametrs of current video device
 struct CamParametrs
 {
@@ -354,7 +255,6 @@ struct CamParametrs
         Parametr WhiteBalance;
         Parametr BacklightCompensation;
         Parametr Gain;
-
         Parametr Pan;
         Parametr Tilt;
         Parametr Roll;
@@ -363,138 +263,77 @@ struct CamParametrs
         Parametr Iris;
         Parametr Focus;
 };
-
 typedef std::wstring String;
-
 typedef std::vector<int> vectorNum;
-
 typedef std::map<String, vectorNum> SUBTYPEMap;
-
 typedef std::map<UINT64, SUBTYPEMap> FrameRateMap;
-
 typedef void(*emergensyStopEventCallback)(int, void *);
-
 /// Class for controlling of video device
 class videoDevice
 {
-
 public:
     videoDevice(void);
     ~videoDevice(void);
-
     void closeDevice();
-
     CamParametrs getParametrs();
-
     void setParametrs(CamParametrs parametrs);
-
     void setEmergencyStopEvent(void *userData, void(*func)(int, void *));
-
     long readInfoOfDevice(IMFActivate *pActivate, unsigned int Num);
-
     wchar_t *getName();
-
     int getCountFormats();
-
     unsigned int getWidth();
-
     unsigned int getHeight();
-
     MediaType getFormat(unsigned int id);
-
     bool setupDevice(unsigned int w, unsigned int h, unsigned int idealFramerate = 0);
-
     bool setupDevice(unsigned int id);
-
     bool isDeviceSetup();
-
     bool isDeviceMediaSource();
-
     bool isDeviceRawDataSource();
-
     bool isFrameNew();
-
     IMFMediaSource *getMediaSource();
-
     RawImage *getRawImageOut();
-
 private:
-
     enum typeLock
     {
         MediaSourceLock,
-
         RawDataLock,
-
         OpenLock
-
     } vd_LockOut;
-
     wchar_t *vd_pFriendlyName;
-
     ImageGrabberThread *vd_pImGrTh;
-
     CamParametrs vd_PrevParametrs;
-
     unsigned int vd_Width;
-
     unsigned int vd_Height;
-
     unsigned int vd_CurrentNumber;
-
     bool vd_IsSetuped;
-
     std::map<UINT64, FrameRateMap> vd_CaptureFormats;
-
     std::vector<MediaType> vd_CurrentFormats;
-
     IMFMediaSource *vd_pSource;
-
     emergensyStopEventCallback vd_func;
-
     void *vd_userData;
-
     long enumerateCaptureFormats(IMFMediaSource *pSource);
-
     long setDeviceFormat(IMFMediaSource *pSource, unsigned long dwFormatIndex);
-
     void buildLibraryofTypes();
-
     int findType(unsigned int size, unsigned int frameRate = 0);
-
     long resetDevice(IMFActivate *pActivate);
-
     long initDevice();
-
     long checkDevice(IMFAttributes *pAttributes, IMFActivate **pDevice);
 };
-
-
 /// Class for managing of list of video devices
 class videoDevices
 {
 public:
     ~videoDevices(void);
-
     long initDevices(IMFAttributes *pAttributes);
-
     static videoDevices& getInstance();
-
     videoDevice *getDevice(unsigned int i);
-
     unsigned int getCount();
-            
     void clearDevices();
-
 private:
-            
     UINT32 count;
-
     std::vector<videoDevice *> vds_Devices;
-        
     videoDevices(void);
 };
-
 // Class for creating of Media Foundation context
 class Media_Foundation
 {
@@ -502,212 +341,146 @@ public:
     virtual ~Media_Foundation(void);
     static Media_Foundation& getInstance();
     bool buildListOfDevices();
-
 private:
     Media_Foundation(void);
-
 };
-
 /// The only visiable class for controlling of video devices in format singelton
 class videoInput
 {
 public:
     virtual ~videoInput(void);
-
     // Getting of static instance of videoInput class
     static videoInput& getInstance();
-
     // Closing video device with deviceID
     void closeDevice(int deviceID);
-    
     // Setting callback function for emergency events(for example: removing video device with deviceID) with userData
     void setEmergencyStopEvent(int deviceID, void *userData, void(*func)(int, void *));
-
     // Closing all devices
     void closeAllDevices();
-
     // Getting of parametrs of video device with deviceID
     CamParametrs getParametrs(int deviceID);
-
     // Setting of parametrs of video device with deviceID
     void setParametrs(int deviceID, CamParametrs parametrs);
-
     // Getting numbers of existence videodevices with listing in consol
     unsigned int listDevices(bool silent = false);
-
     // Getting numbers of formats, which are supported by videodevice with deviceID
     unsigned int getCountFormats(int deviceID);
-
     // Getting width of image, which is getting from videodevice with deviceID
     unsigned int getWidth(int deviceID);
-
     // Getting height of image, which is getting from videodevice with deviceID
     unsigned int getHeight(int deviceID);
-
     // Getting name of videodevice with deviceID
     wchar_t *getNameVideoDevice(int deviceID);
-    
     // Getting interface MediaSource for Media Foundation from videodevice with deviceID
     IMFMediaSource *getMediaSource(int deviceID);
-    
-    // Getting format with id, which is supported by videodevice with deviceID 
+    // Getting format with id, which is supported by videodevice with deviceID
     MediaType getFormat(int deviceID, int unsigned id);
-
     // Checking of existence of the suitable video devices
     bool isDevicesAcceable();
-
     // Checking of using the videodevice with deviceID
     bool isDeviceSetup(int deviceID);
-
     // Checking of using MediaSource from videodevice with deviceID
     bool isDeviceMediaSource(int deviceID);
-    
     // Checking of using Raw Data of pixels from videodevice with deviceID
     bool isDeviceRawDataSource(int deviceID);
-
     // Setting of the state of outprinting info in console
     static void setVerbose(bool state);
-    
     // Initialization of video device with deviceID by media type with id
     bool setupDevice(int deviceID, unsigned int id = 0);
-
     // Initialization of video device with deviceID by wisth w, height h and fps idealFramerate
     bool setupDevice(int deviceID, unsigned int w, unsigned int h, unsigned int idealFramerate = 30);
-
-    // Checking of recivig of new frame from video device with deviceID 
+    // Checking of recivig of new frame from video device with deviceID
     bool isFrameNew(int deviceID);
-
     // Writing of Raw Data pixels from video device with deviceID with correction of RedAndBlue flipping flipRedAndBlue and vertical flipping flipImage
     bool getPixels(int deviceID, unsigned char * pixels, bool flipRedAndBlue = false, bool flipImage = false);
-    
-private: 
-
+private:
     bool accessToDevices;
-    
     videoInput(void);
-
     void processPixels(unsigned char * src, unsigned char * dst, unsigned int width, unsigned int height, unsigned int bpp, bool bRGB, bool bFlip);
-    
     void updateListOfDevices();
 };
-
 DebugPrintOut::DebugPrintOut(void):verbose(true)
 {
 }
-
 DebugPrintOut::~DebugPrintOut(void)
 {
 }
-
 DebugPrintOut& DebugPrintOut::getInstance()
 {
     static DebugPrintOut instance;
-
     return instance;
 }
-
 void DebugPrintOut::printOut(const wchar_t *format, ...)
 {
     if(verbose)
     {
         int i = 0;
-
         wchar_t *p = NULL;
-
         va_list args;
-
         va_start(args, format);
-    
         if(wcscmp(format, L"%i"))
         {
             i = va_arg (args, int);
         }
         if(wcscmp(format, L"%s"))
         {
             p = va_arg (args, wchar_t *);
         }
-        
         wprintf(format, i,p);
-
         va_end (args);
     }
 }
-
 void DebugPrintOut::setVerbose(bool state)
 {
     verbose = state;
 }
-
 LPCWSTR GetGUIDNameConstNew(const GUID& guid);
 HRESULT GetGUIDNameNew(const GUID& guid, WCHAR **ppwsz);
-
 HRESULT LogAttributeValueByIndexNew(IMFAttributes *pAttr, DWORD index);
 HRESULT SpecialCaseAttributeValueNew(GUID guid, const PROPVARIANT& var, MediaType &out);
-
 unsigned int *GetParametr(GUID guid, MediaType &out)
 {
-    if(guid == MF_MT_YUV_MATRIX) 
+    if(guid == MF_MT_YUV_MATRIX)
         return &(out.MF_MT_YUV_MATRIX);
-
-    if(guid == MF_MT_VIDEO_LIGHTING) 
+    if(guid == MF_MT_VIDEO_LIGHTING)
         return &(out.MF_MT_VIDEO_LIGHTING);
-        
-    if(guid == MF_MT_DEFAULT_STRIDE) 
+    if(guid == MF_MT_DEFAULT_STRIDE)
         return &(out.MF_MT_DEFAULT_STRIDE);
-        
-    if(guid == MF_MT_VIDEO_CHROMA_SITING) 
+    if(guid == MF_MT_VIDEO_CHROMA_SITING)
         return &(out.MF_MT_VIDEO_CHROMA_SITING);
-    
-    if(guid == MF_MT_VIDEO_NOMINAL_RANGE) 
+    if(guid == MF_MT_VIDEO_NOMINAL_RANGE)
         return &(out.MF_MT_VIDEO_NOMINAL_RANGE);
-
-    if(guid == MF_MT_ALL_SAMPLES_INDEPENDENT) 
+    if(guid == MF_MT_ALL_SAMPLES_INDEPENDENT)
         return &(out.MF_MT_ALL_SAMPLES_INDEPENDENT);
-    
-    if(guid == MF_MT_FIXED_SIZE_SAMPLES) 
+    if(guid == MF_MT_FIXED_SIZE_SAMPLES)
         return &(out.MF_MT_FIXED_SIZE_SAMPLES);
-
-    if(guid == MF_MT_SAMPLE_SIZE) 
+    if(guid == MF_MT_SAMPLE_SIZE)
         return &(out.MF_MT_SAMPLE_SIZE);
-
-    if(guid == MF_MT_VIDEO_PRIMARIES) 
+    if(guid == MF_MT_VIDEO_PRIMARIES)
         return &(out.MF_MT_VIDEO_PRIMARIES);
-
-    if(guid == MF_MT_INTERLACE_MODE) 
+    if(guid == MF_MT_INTERLACE_MODE)
         return &(out.MF_MT_INTERLACE_MODE);
-
     return NULL;
 }
-
 HRESULT LogAttributeValueByIndexNew(IMFAttributes *pAttr, DWORD index, MediaType &out)
 {
     WCHAR *pGuidName = NULL;
     WCHAR *pGuidValName = NULL;
-
     GUID guid = { 0 };
-
     PROPVARIANT var;
     PropVariantInit(&var);
-
     HRESULT hr = pAttr->GetItemByIndex(index, &guid, &var);
-
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = GetGUIDNameNew(guid, &pGuidName);
-
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = SpecialCaseAttributeValueNew(guid, var, out);
-
     unsigned int *p;
-
     if (FAILED(hr))
     {
         goto done;
@@ -717,118 +490,83 @@ HRESULT LogAttributeValueByIndexNew(IMFAttributes *pAttr, DWORD index, MediaType
         switch (var.vt)
         {
         case VT_UI4:
-
             p = GetParametr(guid, out);
-
-            if(p) 
+            if(p)
             {
                 *p = var.ulVal;
             }
-
             break;
-
         case VT_UI8:
-          
             break;
-
         case VT_R8:
-          
             break;
-
         case VT_CLSID:
             if(guid == MF_MT_AM_FORMAT_TYPE)
             {
                 hr = GetGUIDNameNew(*var.puuid, &pGuidValName);
-
                 if (SUCCEEDED(hr))
                 {
                     out.MF_MT_AM_FORMAT_TYPE = MF_MT_AM_FORMAT_TYPE;
-
                     out.pMF_MT_AM_FORMAT_TYPEName = pGuidValName;
-
                     pGuidValName = NULL;
                 }
             }
-
             if(guid == MF_MT_MAJOR_TYPE)
             {
                 hr = GetGUIDNameNew(*var.puuid, &pGuidValName);
-
                 if (SUCCEEDED(hr))
                 {
                     out.MF_MT_MAJOR_TYPE = MF_MT_MAJOR_TYPE;
-
                     out.pMF_MT_MAJOR_TYPEName = pGuidValName;
-
                     pGuidValName = NULL;
                 }
             }
-
             if(guid == MF_MT_SUBTYPE)
             {
                 hr = GetGUIDNameNew(*var.puuid, &pGuidValName);
-
                 if (SUCCEEDED(hr))
                 {
                     out.MF_MT_SUBTYPE = MF_MT_SUBTYPE;
-
                     out.pMF_MT_SUBTYPEName = pGuidValName;
-
                     pGuidValName = NULL;
                 }
             }
-
             break;
-
         case VT_LPWSTR:
-
             break;
-
         case VT_VECTOR | VT_UI1:
-          
             break;
-
         case VT_UNKNOWN:
-           
             break;
-
         default:
-          
             break;
         }
     }
-
 done:
     CoTaskMemFree(pGuidName);
     CoTaskMemFree(pGuidValName);
     PropVariantClear(&var);
     return hr;
 }
-
 HRESULT GetGUIDNameNew(const GUID& guid, WCHAR **ppwsz)
 {
     HRESULT hr = S_OK;
     WCHAR *pName = NULL;
-
     LPCWSTR pcwsz = GetGUIDNameConstNew(guid);
     if (pcwsz)
     {
         size_t cchLength = 0;
-    
         hr = StringCchLengthW(pcwsz, STRSAFE_MAX_CCH, &cchLength);
         if (FAILED(hr))
         {
             goto done;
         }
-        
         pName = (WCHAR*)CoTaskMemAlloc((cchLength + 1) * sizeof(WCHAR));
-
         if (pName == NULL)
         {
             hr = E_OUTOFMEMORY;
             goto done;
         }
-
         hr = StringCchCopyW(pName, cchLength + 1, pcwsz);
         if (FAILED(hr))
         {
@@ -839,7 +577,6 @@ HRESULT GetGUIDNameNew(const GUID& guid, WCHAR **ppwsz)
     {
         hr = StringFromCLSID(guid, &pName);
     }
-
 done:
     if (FAILED(hr))
     {
@@ -852,97 +589,73 @@ done:
     }
     return hr;
 }
-
 void LogUINT32AsUINT64New(const PROPVARIANT& var, UINT32 &uHigh, UINT32 &uLow)
 {
     Unpack2UINT32AsUINT64(var.uhVal.QuadPart, &uHigh, &uLow);
-
 }
-
 float OffsetToFloatNew(const MFOffset& offset)
 {
     return offset.value + (static_cast<float>(offset.fract) / 65536.0f);
 }
-
 HRESULT LogVideoAreaNew(const PROPVARIANT& var)
 {
     if (var.caub.cElems < sizeof(MFVideoArea))
     {
         return S_OK;
     }
-
     return S_OK;
 }
-
 HRESULT SpecialCaseAttributeValueNew(GUID guid, const PROPVARIANT& var, MediaType &out)
 {
     if (guid == MF_MT_FRAME_SIZE)
     {
         UINT32 uHigh = 0, uLow = 0;
-
         LogUINT32AsUINT64New(var, uHigh, uLow);
-        
         out.width = uHigh;
-        
         out.height = uLow;
-
         out.MF_MT_FRAME_SIZE = out.width * out.height;
     }
     else
     if (guid == MF_MT_FRAME_RATE)
     {
         UINT32 uHigh = 0, uLow = 0;
-
         LogUINT32AsUINT64New(var, uHigh, uLow);
-        
         out.MF_MT_FRAME_RATE = uHigh;
-        
         out.MF_MT_FRAME_RATE_low = uLow;
     }
     else
     if (guid == MF_MT_FRAME_RATE_RANGE_MAX)
     {
         UINT32 uHigh = 0, uLow = 0;
-
         LogUINT32AsUINT64New(var, uHigh, uLow);
-        
         out.MF_MT_FRAME_RATE_RANGE_MAX = uHigh;
-        
         out.MF_MT_FRAME_RATE_RANGE_MAX_low = uLow;
     }
     else
     if (guid == MF_MT_FRAME_RATE_RANGE_MIN)
     {
         UINT32 uHigh = 0, uLow = 0;
-
         LogUINT32AsUINT64New(var, uHigh, uLow);
-        
         out.MF_MT_FRAME_RATE_RANGE_MIN = uHigh;
-        
         out.MF_MT_FRAME_RATE_RANGE_MIN_low = uLow;
     }
     else
     if (guid == MF_MT_PIXEL_ASPECT_RATIO)
     {
         UINT32 uHigh = 0, uLow = 0;
-
         LogUINT32AsUINT64New(var, uHigh, uLow);
-        
         out.MF_MT_PIXEL_ASPECT_RATIO = uHigh;
-        
         out.MF_MT_PIXEL_ASPECT_RATIO_low = uLow;
-    }        
+    }
     else
     {
         return S_FALSE;
     }
     return S_OK;
 }
-
 #ifndef IF_EQUAL_RETURN
 #define IF_EQUAL_RETURN(param, val) if(val == param) return L#val
 #endif
-
 LPCWSTR GetGUIDNameConstNew(const GUID& guid)
 {
     IF_EQUAL_RETURN(guid, MF_MT_MAJOR_TYPE);
@@ -1010,14 +723,12 @@ LPCWSTR GetGUIDNameConstNew(const GUID& guid)
     IF_EQUAL_RETURN(guid, MF_MT_DV_VAUX_CTRL_PACK);
     IF_EQUAL_RETURN(guid, MF_MT_ARBITRARY_HEADER);
     IF_EQUAL_RETURN(guid, MF_MT_ARBITRARY_FORMAT);
-    IF_EQUAL_RETURN(guid, MF_MT_IMAGE_LOSS_TOLERANT); 
+    IF_EQUAL_RETURN(guid, MF_MT_IMAGE_LOSS_TOLERANT);
     IF_EQUAL_RETURN(guid, MF_MT_MPEG4_SAMPLE_DESCRIPTION);
     IF_EQUAL_RETURN(guid, MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY);
-    IF_EQUAL_RETURN(guid, MF_MT_ORIGINAL_4CC); 
+    IF_EQUAL_RETURN(guid, MF_MT_ORIGINAL_4CC);
     IF_EQUAL_RETURN(guid, MF_MT_ORIGINAL_WAVE_FORMAT_TAG);
-    
     // Media types
-
     IF_EQUAL_RETURN(guid, MFMediaType_Audio);
     IF_EQUAL_RETURN(guid, MFMediaType_Video);
     IF_EQUAL_RETURN(guid, MFMediaType_Protected);
@@ -1027,9 +738,8 @@ LPCWSTR GetGUIDNameConstNew(const GUID& guid)
     IF_EQUAL_RETURN(guid, MFMediaType_HTML);
     IF_EQUAL_RETURN(guid, MFMediaType_Binary);
     IF_EQUAL_RETURN(guid, MFMediaType_FileTransfer);
-
     IF_EQUAL_RETURN(guid, MFVideoFormat_AI44); //     FCC('AI44')
-    IF_EQUAL_RETURN(guid, MFVideoFormat_ARGB32); //   D3DFMT_A8R8G8B8 
+    IF_EQUAL_RETURN(guid, MFVideoFormat_ARGB32); //   D3DFMT_A8R8G8B8
     IF_EQUAL_RETURN(guid, MFVideoFormat_AYUV); //     FCC('AYUV')
     IF_EQUAL_RETURN(guid, MFVideoFormat_DV25); //     FCC('dv25')
     IF_EQUAL_RETURN(guid, MFVideoFormat_DV50); //     FCC('dv50')
@@ -1053,10 +763,10 @@ LPCWSTR GetGUIDNameConstNew(const GUID& guid)
     IF_EQUAL_RETURN(guid, MFVideoFormat_P016); //     FCC('P016')
     IF_EQUAL_RETURN(guid, MFVideoFormat_P210); //     FCC('P210')
     IF_EQUAL_RETURN(guid, MFVideoFormat_P216); //     FCC('P216')
-    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB24); //    D3DFMT_R8G8B8 
-    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB32); //    D3DFMT_X8R8G8B8 
-    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB555); //   D3DFMT_X1R5G5B5 
-    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB565); //   D3DFMT_R5G6B5 
+    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB24); //    D3DFMT_R8G8B8
+    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB32); //    D3DFMT_X8R8G8B8
+    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB555); //   D3DFMT_X1R5G5B5
+    IF_EQUAL_RETURN(guid, MFVideoFormat_RGB565); //   D3DFMT_R5G6B5
     IF_EQUAL_RETURN(guid, MFVideoFormat_RGB8);
     IF_EQUAL_RETURN(guid, MFVideoFormat_UYVY); //     FCC('UYVY')
     IF_EQUAL_RETURN(guid, MFVideoFormat_v210); //     FCC('v210')
@@ -1074,162 +784,118 @@ LPCWSTR GetGUIDNameConstNew(const GUID& guid)
     IF_EQUAL_RETURN(guid, MFVideoFormat_YUY2); //     FCC('YUY2')
     IF_EQUAL_RETURN(guid, MFVideoFormat_YV12); //     FCC('YV12')
     IF_EQUAL_RETURN(guid, MFVideoFormat_YVYU);
-
-    IF_EQUAL_RETURN(guid, MFAudioFormat_PCM); //              WAVE_FORMAT_PCM 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_Float); //            WAVE_FORMAT_IEEE_FLOAT 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_DTS); //              WAVE_FORMAT_DTS 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_Dolby_AC3_SPDIF); //  WAVE_FORMAT_DOLBY_AC3_SPDIF 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_DRM); //              WAVE_FORMAT_DRM 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV8); //        WAVE_FORMAT_WMAUDIO2 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV9); //        WAVE_FORMAT_WMAUDIO3 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudio_Lossless); // WAVE_FORMAT_WMAUDIO_LOSSLESS 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_WMASPDIF); //         WAVE_FORMAT_WMASPDIF 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_MSP1); //             WAVE_FORMAT_WMAVOICE9 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_MP3); //              WAVE_FORMAT_MPEGLAYER3 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_MPEG); //             WAVE_FORMAT_MPEG 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_AAC); //              WAVE_FORMAT_MPEG_HEAAC 
-    IF_EQUAL_RETURN(guid, MFAudioFormat_ADTS); //             WAVE_FORMAT_MPEG_ADTS_AAC 
-
+    IF_EQUAL_RETURN(guid, MFAudioFormat_PCM); //              WAVE_FORMAT_PCM
+    IF_EQUAL_RETURN(guid, MFAudioFormat_Float); //            WAVE_FORMAT_IEEE_FLOAT
+    IF_EQUAL_RETURN(guid, MFAudioFormat_DTS); //              WAVE_FORMAT_DTS
+    IF_EQUAL_RETURN(guid, MFAudioFormat_Dolby_AC3_SPDIF); //  WAVE_FORMAT_DOLBY_AC3_SPDIF
+    IF_EQUAL_RETURN(guid, MFAudioFormat_DRM); //              WAVE_FORMAT_DRM
+    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV8); //        WAVE_FORMAT_WMAUDIO2
+    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudioV9); //        WAVE_FORMAT_WMAUDIO3
+    IF_EQUAL_RETURN(guid, MFAudioFormat_WMAudio_Lossless); // WAVE_FORMAT_WMAUDIO_LOSSLESS
+    IF_EQUAL_RETURN(guid, MFAudioFormat_WMASPDIF); //         WAVE_FORMAT_WMASPDIF
+    IF_EQUAL_RETURN(guid, MFAudioFormat_MSP1); //             WAVE_FORMAT_WMAVOICE9
+    IF_EQUAL_RETURN(guid, MFAudioFormat_MP3); //              WAVE_FORMAT_MPEGLAYER3
+    IF_EQUAL_RETURN(guid, MFAudioFormat_MPEG); //             WAVE_FORMAT_MPEG
+    IF_EQUAL_RETURN(guid, MFAudioFormat_AAC); //              WAVE_FORMAT_MPEG_HEAAC
+    IF_EQUAL_RETURN(guid, MFAudioFormat_ADTS); //             WAVE_FORMAT_MPEG_ADTS_AAC
     return NULL;
 }
-
 FormatReader::FormatReader(void)
 {
 }
-
 MediaType FormatReader::Read(IMFMediaType *pType)
 {
     UINT32 count = 0;
-
     HRESULT hr = S_OK;
-
     MediaType out;
-
     hr = pType->LockStore();
-
     if (FAILED(hr))
     {
         return out;
     }
-
     hr = pType->GetCount(&count);
-
     if (FAILED(hr))
     {
         return out;
     }
-    
     for (UINT32 i = 0; i < count; i++)
     {
         hr = LogAttributeValueByIndexNew(pType, i, out);
-
         if (FAILED(hr))
         {
             break;
         }
     }
-
     hr = pType->UnlockStore();
-
     if (FAILED(hr))
     {
         return out;
     }
-
     return out;
 }
-
 FormatReader::~FormatReader(void)
 {
 }
-
 #define CHECK_HR(x) if (FAILED(x)) { goto done; }
-
 ImageGrabber::ImageGrabber(unsigned int deviceID): m_cRef(1), ig_DeviceID(deviceID), ig_pSource(NULL), ig_pSession(NULL), ig_pTopology(NULL), ig_RIE(true), ig_Close(false)
 {
 }
-
-
 ImageGrabber::~ImageGrabber(void)
 {
     if (ig_pSession)
     {
         ig_pSession->Shutdown();
     }
-                    
     //SafeRelease(&ig_pSession);
-
     //SafeRelease(&ig_pTopology);
-
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: Destroing instance of the ImageGrabber class \n", ig_DeviceID);
-
 }
-
 HRESULT ImageGrabber::initImageGrabber(IMFMediaSource *pSource, GUID VideoFormat)
 {
     IMFActivate *pSinkActivate = NULL;
     IMFMediaType *pType = NULL;
-
     IMFPresentationDescriptor *pPD = NULL;
     IMFStreamDescriptor *pSD = NULL;
     IMFMediaTypeHandler *pHandler = NULL;
     IMFMediaType *pCurrentType = NULL;
-
     HRESULT hr = S_OK;
     MediaType MT;
-
      // Clean up.
     if (ig_pSession)
     {
         ig_pSession->Shutdown();
     }
-
     SafeRelease(&ig_pSession);
     SafeRelease(&ig_pTopology);
-
     ig_pSource = pSource;
-
-
-
-
     hr = pSource->CreatePresentationDescriptor(&pPD);
     if (FAILED(hr))
         goto err;
-
     BOOL fSelected;
     hr = pPD->GetStreamDescriptorByIndex(0, &fSelected, &pSD);
     if (FAILED(hr))
         goto err;
-
     hr = pSD->GetMediaTypeHandler(&pHandler);
     if (FAILED(hr))
         goto err;
-
     DWORD cTypes = 0;
     hr = pHandler->GetMediaTypeCount(&cTypes);
     if (FAILED(hr))
         goto err;
-
     if(cTypes > 0)
     {
         hr = pHandler->GetCurrentMediaType(&pCurrentType);
-
         if (FAILED(hr))
             goto err;
-
         MT = FormatReader::Read(pCurrentType);
     }
-
 err:
     SafeRelease(&pPD);
     SafeRelease(&pSD);
     SafeRelease(&pHandler);
     SafeRelease(&pCurrentType);
-
     unsigned int sizeRawImage = 0;
-    
     if(VideoFormat == MFVideoFormat_RGB24)
     {
         sizeRawImage = MT.MF_MT_FRAME_SIZE * 3;
@@ -1238,151 +904,103 @@ err:
     {
         sizeRawImage = MT.MF_MT_FRAME_SIZE * 4;
     }
-        
     CHECK_HR(hr = RawImage::CreateInstance(&ig_RIFirst, sizeRawImage));
-    
     CHECK_HR(hr = RawImage::CreateInstance(&ig_RISecond, sizeRawImage));
-
     ig_RIOut = ig_RISecond;
-    
-        
     // Configure the media type that the Sample Grabber will receive.
     // Setting the major and subtype is usually enough for the topology loader
     // to resolve the topology.
-
     CHECK_HR(hr = MFCreateMediaType(&pType));
     CHECK_HR(hr = pType->SetGUID(MF_MT_MAJOR_TYPE, MFMediaType_Video));
     CHECK_HR(hr = pType->SetGUID(MF_MT_SUBTYPE, VideoFormat));
-
     // Create the sample grabber sink.
     CHECK_HR(hr = MFCreateSampleGrabberSinkActivate(pType, this, &pSinkActivate));
-
     // To run as fast as possible, set this attribute (requires Windows 7):
     CHECK_HR(hr = pSinkActivate->SetUINT32(MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, TRUE));
-
     // Create the Media Session.
-    
     CHECK_HR(hr = MFCreateMediaSession(NULL, &ig_pSession));
-    
     // Create the topology.
     CHECK_HR(hr = CreateTopology(pSource, pSinkActivate, &ig_pTopology));
-    
 done:
-
     // Clean up.
     if (FAILED(hr))
-    {       
+    {
         if (ig_pSession)
         {
             ig_pSession->Shutdown();
         }
-
         SafeRelease(&ig_pSession);
         SafeRelease(&ig_pTopology);
     }
-
     SafeRelease(&pSinkActivate);
     SafeRelease(&pType);
-
     return hr;
 }
-
 void ImageGrabber::stopGrabbing()
 {
     if(ig_pSession)
         ig_pSession->Stop();
-
-    
-
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-    
     DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: Stopping of of grabbing of images\n", ig_DeviceID);
 }
-
 HRESULT ImageGrabber::startGrabbing(void)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     IMFMediaEvent *pEvent = NULL;
-    
     PROPVARIANT var;
     PropVariantInit(&var);
-
     HRESULT hr = S_OK;
     CHECK_HR(hr = ig_pSession->SetTopology(0, ig_pTopology));
     CHECK_HR(hr = ig_pSession->Start(&GUID_NULL, &var));
-
     DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: Start Grabbing of the images\n", ig_DeviceID);
-
     for(;;)
     {
-        
         HRESULT hrStatus = S_OK;
         MediaEventType met;
-
         if(!ig_pSession) break;
         hr = ig_pSession->GetEvent(0, &pEvent);
         if(!SUCCEEDED(hr))
         {
             hr = S_OK;
-
             goto done;
         }
-
         hr = pEvent->GetStatus(&hrStatus);
         if(!SUCCEEDED(hr))
         {
             hr = S_OK;
-
             goto done;
         }
-
         hr = pEvent->GetType(&met);
         if(!SUCCEEDED(hr))
         {
             hr = S_OK;
-
             goto done;
         }
-
         if (met == MESessionEnded)
-        {           
+        {
             DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: MESessionEnded \n", ig_DeviceID);
-
             ig_pSession->Stop();
-
             break;
         }
-
         if (met == MESessionStopped)
         {
             DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: MESessionStopped \n", ig_DeviceID);
-            
             break;
         }
-
-
         if (met == MEVideoCaptureDeviceRemoved)
         {
             DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: MEVideoCaptureDeviceRemoved \n", ig_DeviceID);
-            
-            break;       
+            break;
         }
-
         SafeRelease(&pEvent);
     }
-
     DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: Finish startGrabbing \n", ig_DeviceID);
-            
 done:
     SafeRelease(&pEvent);
-
     SafeRelease(&ig_pSession);
-
     SafeRelease(&ig_pTopology);
     return hr;
 }
-
 HRESULT ImageGrabber::CreateTopology(IMFMediaSource *pSource, IMFActivate *pSinkActivate, IMFTopology **ppTopo)
 {
     IMFTopology *pTopology = NULL;
@@ -1391,25 +1009,19 @@ HRESULT ImageGrabber::CreateTopology(IMFMediaSource *pSource, IMFActivate *pSink
     IMFMediaTypeHandler *pHandler = NULL;
     IMFTopologyNode *pNode1 = NULL;
     IMFTopologyNode *pNode2 = NULL;
-
     HRESULT hr = S_OK;
     DWORD cStreams = 0;
-
     CHECK_HR(hr = MFCreateTopology(&pTopology));
     CHECK_HR(hr = pSource->CreatePresentationDescriptor(&pPD));
     CHECK_HR(hr = pPD->GetStreamDescriptorCount(&cStreams));
-    
     for (DWORD i = 0; i < cStreams; i++)
     {
         // In this example, we look for audio streams and connect them to the sink.
-
         BOOL fSelected = FALSE;
         GUID majorType;
-
         CHECK_HR(hr = pPD->GetStreamDescriptorByIndex(i, &fSelected, &pSD));
         CHECK_HR(hr = pSD->GetMediaTypeHandler(&pHandler));
         CHECK_HR(hr = pHandler->GetMajorType(&majorType));
-
         if (majorType == MFMediaType_Video && fSelected)
         {
             CHECK_HR(hr = AddSourceNode(pTopology, pSource, pPD, pSD, &pNode1));
@@ -1424,10 +1036,8 @@ HRESULT ImageGrabber::CreateTopology(IMFMediaSource *pSource, IMFActivate *pSink
         SafeRelease(&pSD);
         SafeRelease(&pHandler);
     }
-
     *ppTopo = pTopology;
     (*ppTopo)->AddRef();
-
 done:
     SafeRelease(&pTopology);
     SafeRelease(&pNode1);
@@ -1437,7 +1047,6 @@ done:
     SafeRelease(&pHandler);
     return hr;
 }
-
 HRESULT ImageGrabber::AddSourceNode(
     IMFTopology *pTopology,           // Topology.
     IMFMediaSource *pSource,          // Media source.
@@ -1446,23 +1055,19 @@ HRESULT ImageGrabber::AddSourceNode(
     IMFTopologyNode **ppNode)         // Receives the node pointer.
 {
     IMFTopologyNode *pNode = NULL;
-
     HRESULT hr = S_OK;
     CHECK_HR(hr = MFCreateTopologyNode(MF_TOPOLOGY_SOURCESTREAM_NODE, &pNode));
     CHECK_HR(hr = pNode->SetUnknown(MF_TOPONODE_SOURCE, pSource));
     CHECK_HR(hr = pNode->SetUnknown(MF_TOPONODE_PRESENTATION_DESCRIPTOR, pPD));
     CHECK_HR(hr = pNode->SetUnknown(MF_TOPONODE_STREAM_DESCRIPTOR, pSD));
     CHECK_HR(hr = pTopology->AddNode(pNode));
-
     // Return the pointer to the caller.
     *ppNode = pNode;
     (*ppNode)->AddRef();
-
 done:
     SafeRelease(&pNode);
     return hr;
 }
-
 HRESULT ImageGrabber::AddOutputNode(
     IMFTopology *pTopology,     // Topology.
     IMFActivate *pActivate,     // Media sink activation object.
@@ -1470,71 +1075,54 @@ HRESULT ImageGrabber::AddOutputNode(
     IMFTopologyNode **ppNode)   // Receives the node pointer.
 {
     IMFTopologyNode *pNode = NULL;
-
     HRESULT hr = S_OK;
     CHECK_HR(hr = MFCreateTopologyNode(MF_TOPOLOGY_OUTPUT_NODE, &pNode));
     CHECK_HR(hr = pNode->SetObject(pActivate));
     CHECK_HR(hr = pNode->SetUINT32(MF_TOPONODE_STREAMID, dwId));
     CHECK_HR(hr = pNode->SetUINT32(MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, FALSE));
     CHECK_HR(hr = pTopology->AddNode(pNode));
-
     // Return the pointer to the caller.
     *ppNode = pNode;
     (*ppNode)->AddRef();
-
 done:
     SafeRelease(&pNode);
     return hr;
 }
-
-
-
 HRESULT ImageGrabber::CreateInstance(ImageGrabber **ppIG, unsigned int deviceID)
 {
     *ppIG = new (std::nothrow) ImageGrabber(deviceID);
-
     if (ppIG == NULL)
     {
         return E_OUTOFMEMORY;
     }
-
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-    
     DPO->printOut(L"IMAGEGRABBER VIDEODEVICE %i: Creating instance of ImageGrabber\n", deviceID);
-
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::QueryInterface(REFIID riid, void** ppv)
 {
     HRESULT hr = E_NOINTERFACE;
     *ppv = NULL;
-    
     if(riid == IID_IUnknown || riid == IID_IMFSampleGrabberSinkCallback)
     {
         *ppv = static_cast<IMFSampleGrabberSinkCallback *>(this);
         hr = S_OK;
     }
-
     if(riid == IID_IMFClockStateSink)
     {
         *ppv = static_cast<IMFClockStateSink *>(this);
         hr = S_OK;
     }
-
     if(SUCCEEDED(hr))
     {
         reinterpret_cast<IUnknown *>(*ppv)->AddRef();
     }
-
     return hr;
 }
-
 STDMETHODIMP_(ULONG) ImageGrabber::AddRef()
 {
     return InterlockedIncrement(&m_cRef);
 }
-
 STDMETHODIMP_(ULONG) ImageGrabber::Release()
 {
     ULONG cRef = InterlockedDecrement(&m_cRef);
@@ -1544,45 +1132,38 @@ STDMETHODIMP_(ULONG) ImageGrabber::Release()
     }
     return cRef;
 }
-
 STDMETHODIMP ImageGrabber::OnClockStart(MFTIME hnsSystemTime, LONGLONG llClockStartOffset)
 {
     (void)hnsSystemTime;
     (void)llClockStartOffset;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnClockStop(MFTIME hnsSystemTime)
 {
     (void)hnsSystemTime;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnClockPause(MFTIME hnsSystemTime)
 {
     (void)hnsSystemTime;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnClockRestart(MFTIME hnsSystemTime)
 {
     (void)hnsSystemTime;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnClockSetRate(MFTIME hnsSystemTime, float flRate)
 {
     (void)flRate;
     (void)hnsSystemTime;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnSetPresentationClock(IMFPresentationClock* pClock)
 {
     (void)pClock;
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnProcessSample(REFGUID guidMajorMediaType, DWORD dwSampleFlags,
     LONGLONG llSampleTime, LONGLONG llSampleDuration, const BYTE * pSampleBuffer,
     DWORD dwSampleSize)
@@ -1592,74 +1173,54 @@ STDMETHODIMP ImageGrabber::OnProcessSample(REFGUID guidMajorMediaType, DWORD dwS
     (void)dwSampleFlags;
     (void)llSampleDuration;
     (void)dwSampleSize;
-
     if(ig_RIE)
     {
         ig_RIFirst->fastCopy(pSampleBuffer);
-
         ig_RIOut = ig_RIFirst;
     }
     else
     {
         ig_RISecond->fastCopy(pSampleBuffer);
-
         ig_RIOut = ig_RISecond;
     }
-
     ig_RIE = !ig_RIE;
-        
     return S_OK;
 }
-
 STDMETHODIMP ImageGrabber::OnShutdown()
 {
     return S_OK;
 }
-
 RawImage *ImageGrabber::getRawImage()
 {
     return ig_RIOut;
 }
-
 DWORD WINAPI MainThreadFunction( LPVOID lpParam )
 {
     ImageGrabberThread *pIGT = (ImageGrabberThread *)lpParam;
-
     pIGT->run();
-
-    return 0; 
+    return 0;
 }
-
 HRESULT ImageGrabberThread::CreateInstance(ImageGrabberThread **ppIGT, IMFMediaSource *pSource, unsigned int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     *ppIGT = new (std::nothrow) ImageGrabberThread(pSource, deviceID);
-
     if (ppIGT == NULL)
     {
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Memory cannot be allocated\n", deviceID);
-
         return E_OUTOFMEMORY;
     }
     else
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Creating of the instance of ImageGrabberThread\n", deviceID);
-    
     return S_OK;
 }
-
 ImageGrabberThread::ImageGrabberThread(IMFMediaSource *pSource, unsigned int deviceID): igt_Handle(NULL), igt_stop(false)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     HRESULT hr = ImageGrabber::CreateInstance(&igt_pImageGrabber, deviceID);
-        
     igt_DeviceID = deviceID;
-
     if(SUCCEEDED(hr))
     {
         hr = igt_pImageGrabber->initImageGrabber(pSource, MFVideoFormat_RGB24);
-
         if(!SUCCEEDED(hr))
         {
             DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: There is a problem with initialization of the instance of the ImageGrabber class\n", deviceID);
@@ -1674,73 +1235,57 @@ ImageGrabberThread::ImageGrabberThread(IMFMediaSource *pSource, unsigned int dev
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i There is a problem with creation of the instance of the ImageGrabber class\n", deviceID);
     }
 }
-
 void ImageGrabberThread::setEmergencyStopEvent(void *userData, void(*func)(int, void *))
 {
     if(func)
     {
         igt_func = func;
-
         igt_userData = userData;
     }
 }
-
 ImageGrabberThread::~ImageGrabberThread(void)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Destroing ImageGrabberThread\n", igt_DeviceID);
-
     delete igt_pImageGrabber;
 }
-
 void ImageGrabberThread::stop()
 {
     igt_stop = true;
-
     if(igt_pImageGrabber)
     {
         igt_pImageGrabber->stopGrabbing();
     }
 }
-
 void ImageGrabberThread::start()
 {
-    igt_Handle = CreateThread( 
+    igt_Handle = CreateThread(
             NULL,                   // default security attributes
-            0,                      // use default stack size  
+            0,                      // use default stack size
             MainThreadFunction,       // thread function name
-            this,          // argument to thread function 
-            0,                      // use default creation flags 
-            &igt_ThreadIdArray);   // returns the thread identifier 
+            this,          // argument to thread function
+            0,                      // use default creation flags
+            &igt_ThreadIdArray);   // returns the thread identifier
 }
-
 void ImageGrabberThread::run()
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if(igt_pImageGrabber)
     {
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Thread for grabbing images is started\n", igt_DeviceID);
-
         HRESULT hr = igt_pImageGrabber->startGrabbing();
-
-        if(!SUCCEEDED(hr))      
+        if(!SUCCEEDED(hr))
         {
             DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: There is a problem with starting the process of grabbing\n", igt_DeviceID);
         }
-        
     }
     else
     {
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i The thread is finished without execution of grabbing\n", igt_DeviceID);
     }
-
-
     if(!igt_stop)
     {
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Emergency Stop thread\n", igt_DeviceID);
-
         if(igt_func)
         {
             igt_func(igt_DeviceID, igt_userData);
@@ -1749,46 +1294,34 @@ void ImageGrabberThread::run()
     else
         DPO->printOut(L"IMAGEGRABBERTHREAD VIDEODEVICE %i: Finish thread\n", igt_DeviceID);
 }
-
 ImageGrabber *ImageGrabberThread::getImageGrabber()
 {
     return igt_pImageGrabber;
 }
-
 Media_Foundation::Media_Foundation(void)
 {
     HRESULT hr = MFStartup(MF_VERSION);
-
     if(!SUCCEEDED(hr))
     {
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
         DPO->printOut(L"MEDIA FOUNDATION: It cannot be created!!!\n");
     }
 }
-
 Media_Foundation::~Media_Foundation(void)
 {
     HRESULT hr = MFShutdown();
-    
     if(!SUCCEEDED(hr))
     {
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
         DPO->printOut(L"MEDIA FOUNDATION: Resources cannot be released\n");
     }
 }
-
 bool Media_Foundation::buildListOfDevices()
 {
     HRESULT hr = S_OK;
-
     IMFAttributes *pAttributes = NULL;
-    
     CoInitialize(NULL);
-    
     hr = MFCreateAttributes(&pAttributes, 1);
-
     if (SUCCEEDED(hr))
     {
         hr = pAttributes->SetGUID(
@@ -1796,7 +1329,6 @@ bool Media_Foundation::buildListOfDevices()
             MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
             );
     }
-
     if (SUCCEEDED(hr))
     {
         videoDevices *vDs = &videoDevices::getInstance();
@@ -1807,80 +1339,61 @@ bool Media_Foundation::buildListOfDevices()
        DebugPrintOut *DPO = &DebugPrintOut::getInstance();
        DPO->printOut(L"MEDIA FOUNDATION: The access to the video cameras denied\n");
     }
-
     SafeRelease(&pAttributes);
-
     return (SUCCEEDED(hr));
 }
-
 Media_Foundation& Media_Foundation::getInstance()
 {
     static Media_Foundation instance;
-
     return instance;
 }
-
 RawImage::RawImage(unsigned int size): ri_new(false), ri_pixels(NULL)
 {
     ri_size = size;
-
     ri_pixels = new unsigned char[size];
-
     memset((void *)ri_pixels,0,ri_size);
 }
-
 bool RawImage::isNew()
 {
     return ri_new;
 }
-
 unsigned int RawImage::getSize()
 {
     return ri_size;
 }
-
 RawImage::~RawImage(void)
 {
     delete []ri_pixels;
-
     ri_pixels = NULL;
 }
-
 long RawImage::CreateInstance(RawImage **ppRImage,unsigned int size)
 {
     *ppRImage = new (std::nothrow) RawImage(size);
-
     if (ppRImage == NULL)
     {
         return E_OUTOFMEMORY;
     }
     return S_OK;
 }
-
 void RawImage::setCopy(const BYTE * pSampleBuffer)
 {
     memcpy(ri_pixels, pSampleBuffer, ri_size);
-
     ri_new = true;
 }
-
 void RawImage::fastCopy(const BYTE * pSampleBuffer)
 {
     memcpy(ri_pixels, pSampleBuffer, ri_size);
     ri_new = true;
 }
-
 unsigned char * RawImage::getpPixels()
 {
     ri_new = false;
     return ri_pixels;
 }
-
 videoDevice::videoDevice(void): vd_IsSetuped(false), vd_LockOut(OpenLock), vd_pFriendlyName(NULL),
     vd_Width(0), vd_Height(0), vd_pSource(NULL), vd_func(NULL), vd_userData(NULL)
 {
 }
-
 void videoDevice::setParametrs(CamParametrs parametrs)
 {
     if(vd_IsSetuped)
@@ -1888,198 +1401,145 @@ void videoDevice::setParametrs(CamParametrs parametrs)
         if(vd_pSource)
         {
             Parametr *pParametr = (Parametr *)(&parametrs);
-
             Parametr *pPrevParametr = (Parametr *)(&vd_PrevParametrs);
-
             IAMVideoProcAmp *pProcAmp = NULL;
             HRESULT hr = vd_pSource->QueryInterface(IID_PPV_ARGS(&pProcAmp));
-
             if (SUCCEEDED(hr))
             {
                 for(unsigned int i = 0; i < 10; i++)
                 {
                     if(pPrevParametr[i].CurrentValue != pParametr[i].CurrentValue || pPrevParametr[i].Flag != pParametr[i].Flag)
                         hr = pProcAmp->Set(VideoProcAmp_Brightness + i, pParametr[i].CurrentValue, pParametr[i].Flag);
-                    
                 }
-
                 pProcAmp->Release();
             }
-
             IAMCameraControl *pProcControl = NULL;
             hr = vd_pSource->QueryInterface(IID_PPV_ARGS(&pProcControl));
-
             if (SUCCEEDED(hr))
             {
                 for(unsigned int i = 0; i < 7; i++)
                 {
                     if(pPrevParametr[10 + i].CurrentValue != pParametr[10 + i].CurrentValue || pPrevParametr[10 + i].Flag != pParametr[10 + i].Flag)
-                    hr = pProcControl->Set(CameraControl_Pan+i, pParametr[10 + i].CurrentValue, pParametr[10 + i].Flag);                    
+                    hr = pProcControl->Set(CameraControl_Pan+i, pParametr[10 + i].CurrentValue, pParametr[10 + i].Flag);
                 }
-
                 pProcControl->Release();
             }
-
             vd_PrevParametrs = parametrs;
         }
     }
 }
-
 CamParametrs videoDevice::getParametrs()
 {
     CamParametrs out;
-
     if(vd_IsSetuped)
     {
         if(vd_pSource)
         {
             Parametr *pParametr = (Parametr *)(&out);
-
             IAMVideoProcAmp *pProcAmp = NULL;
             HRESULT hr = vd_pSource->QueryInterface(IID_PPV_ARGS(&pProcAmp));
-
             if (SUCCEEDED(hr))
             {
                 for(unsigned int i = 0; i < 10; i++)
                 {
                     Parametr temp;
-                    
                     hr = pProcAmp->GetRange(VideoProcAmp_Brightness+i, &temp.Min, &temp.Max, &temp.Step, &temp.Default, &temp.Flag);
-                                        
                     if (SUCCEEDED(hr))
                     {
                         temp.CurrentValue = temp.Default;
-
                         pParametr[i] = temp;
                     }
                 }
-
                 pProcAmp->Release();
             }
-
             IAMCameraControl *pProcControl = NULL;
             hr = vd_pSource->QueryInterface(IID_PPV_ARGS(&pProcControl));
-
             if (SUCCEEDED(hr))
             {
                 for(unsigned int i = 0; i < 7; i++)
                 {
                     Parametr temp;
-                    
                     hr = pProcControl->GetRange(CameraControl_Pan+i, &temp.Min, &temp.Max, &temp.Step, &temp.Default, &temp.Flag);
-                                        
                     if (SUCCEEDED(hr))
                     {
                         temp.CurrentValue = temp.Default;
-
                         pParametr[10 + i] = temp;
                     }
                 }
-
                 pProcControl->Release();
             }
         }
     }
-
     return out;
 }
-
 long videoDevice::resetDevice(IMFActivate *pActivate)
 {
     HRESULT hr = -1;
-
     vd_CurrentFormats.clear();
-
     if(vd_pFriendlyName)
         CoTaskMemFree(vd_pFriendlyName);
-
     vd_pFriendlyName = NULL;
-    
     if(pActivate)
-    {       
+    {
         IMFMediaSource *pSource = NULL;
-
         hr = pActivate->GetAllocatedString(
                 MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME,
                 &vd_pFriendlyName,
                 NULL
                 );
-
         hr = pActivate->ActivateObject(
             __uuidof(IMFMediaSource),
             (void**)&pSource
             );
-
         enumerateCaptureFormats(pSource);
-
         buildLibraryofTypes();
-
         SafeRelease(&pSource);
-    
-        if(FAILED(hr))  
-        {           
+        if(FAILED(hr))
+        {
             vd_pFriendlyName = NULL;
-
             DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
             DPO->printOut(L"VIDEODEVICE %i: IMFMediaSource interface cannot be created \n", vd_CurrentNumber);
         }
     }
-
     return hr;
 }
-
 long videoDevice::readInfoOfDevice(IMFActivate *pActivate, unsigned int Num)
 {
     HRESULT hr = -1;
-
     vd_CurrentNumber = Num;
-
     hr = resetDevice(pActivate);
-
     return hr;
 }
-
 long videoDevice::checkDevice(IMFAttributes *pAttributes, IMFActivate **pDevice)
 {
     HRESULT hr = S_OK;
-        
     IMFActivate **ppDevices = NULL;
-        
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     UINT32 count;
-
     wchar_t *newFriendlyName = NULL;
-        
     hr = MFEnumDeviceSources(pAttributes, &ppDevices, &count);
-
     if (SUCCEEDED(hr))
     {
         if(count > 0)
         {
             if(count > vd_CurrentNumber)
-            {           
+            {
                 hr = ppDevices[vd_CurrentNumber]->GetAllocatedString(
                 MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME,
                 &newFriendlyName,
                 NULL
                 );
-
                 if (SUCCEEDED(hr))
                 {
                     if(wcscmp(newFriendlyName, vd_pFriendlyName) != 0)
                     {
                         DPO->printOut(L"VIDEODEVICE %i: Chosen device cannot be found \n", vd_CurrentNumber);
-
                         hr = -1;
-
                         pDevice = NULL;
                     }
                     else
                     {
                         *pDevice = ppDevices[vd_CurrentNumber];
-
                         (*pDevice)->AddRef();
                     }
                 }
@@ -2087,20 +1547,16 @@ long videoDevice::checkDevice(IMFAttributes *pAttributes, IMFActivate **pDevice)
                 {
                     DPO->printOut(L"VIDEODEVICE %i: Name of device cannot be gotten \n", vd_CurrentNumber);
                 }
-
             }
             else
             {
                 DPO->printOut(L"VIDEODEVICE %i: Number of devices more than corrent number of the device \n", vd_CurrentNumber);
-
                 hr = -1;
             }
-
             for(UINT32 i = 0; i < count; i++)
             {
                 SafeRelease(&ppDevices[i]);
             }
-
             SafeRelease(ppDevices);
         }
         else
@@ -2110,69 +1566,50 @@ long videoDevice::checkDevice(IMFAttributes *pAttributes, IMFActivate **pDevice)
     {
         DPO->printOut(L"VIDEODEVICE %i: List of DeviceSources cannot be enumerated \n", vd_CurrentNumber);
     }
-
     return hr;
 }
-
 long videoDevice::initDevice()
 {
     HRESULT hr = -1;
-
     IMFAttributes *pAttributes = NULL;
-
     IMFActivate * vd_pActivate= NULL;
-        
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     CoInitialize(NULL);
-    
     hr = MFCreateAttributes(&pAttributes, 1);
-   
     if (SUCCEEDED(hr))
     {
         hr = pAttributes->SetGUID(
             MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE,
             MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
             );
-    }   
-    
+    }
     if (SUCCEEDED(hr))
     {
         hr = checkDevice(pAttributes, &vd_pActivate);
-
         if (SUCCEEDED(hr) && vd_pActivate)
         {
             SafeRelease(&vd_pSource);
-            
             hr = vd_pActivate->ActivateObject(
                 __uuidof(IMFMediaSource),
                 (void**)&vd_pSource
                 );
-
             if (SUCCEEDED(hr))
             {
-
             }
-
             SafeRelease(&vd_pActivate);
         }
         else
         {
             DPO->printOut(L"VIDEODEVICE %i: Device there is not \n", vd_CurrentNumber);
         }
-    }   
+    }
     else
     {
-
         DPO->printOut(L"VIDEODEVICE %i: The attribute of video cameras cannot be getting \n", vd_CurrentNumber);
-    
     }
-
     SafeRelease(&pAttributes);
-
     return hr;
 }
-
 MediaType videoDevice::getFormat(unsigned int id)
 {
     if(id < vd_CurrentFormats.size())
@@ -2180,49 +1617,35 @@ MediaType videoDevice::getFormat(unsigned int id)
         return vd_CurrentFormats[id];
     }
     else return MediaType();
-
 }
-
 int videoDevice::getCountFormats()
 {
     return vd_CurrentFormats.size();
 }
-
 void videoDevice::setEmergencyStopEvent(void *userData, void(*func)(int, void *))
 {
     vd_func = func;
-
     vd_userData = userData;
 }
-
 void videoDevice::closeDevice()
-{       
+{
     if(vd_IsSetuped)
     {
         vd_IsSetuped = false;
-        
         vd_pSource->Stop();
-
         SafeRelease(&vd_pSource);
-
         if(vd_LockOut == RawDataLock)
         {
             vd_pImGrTh->stop();
-
             Sleep(500);
-
             delete vd_pImGrTh;
         }
-
         vd_pImGrTh = NULL;
-        
-        vd_LockOut = OpenLock;  
-                
+        vd_LockOut = OpenLock;
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
         DPO->printOut(L"VIDEODEVICE %i: Device is stopped \n", vd_CurrentNumber);
     }
 }
-
 unsigned int videoDevice::getWidth()
 {
     if(vd_IsSetuped)
@@ -2230,60 +1653,46 @@ unsigned int videoDevice::getWidth()
     else
         return 0;
 }
-    
 unsigned int videoDevice::getHeight()
 {
     if(vd_IsSetuped)
         return vd_Height;
-    else 
+    else
         return 0;
 }
-
 IMFMediaSource *videoDevice::getMediaSource()
 {
     IMFMediaSource *out = NULL;
-
     if(vd_LockOut == OpenLock)
     {
-        vd_LockOut = MediaSourceLock;           
-
+        vd_LockOut = MediaSourceLock;
         out = vd_pSource;
     }
-
     return out;
 }
-
 int videoDevice::findType(unsigned int size, unsigned int frameRate)
-{   
+{
     if(vd_CaptureFormats.size() == 0)
         return 0;
-
     FrameRateMap FRM = vd_CaptureFormats[size];
-
     if(FRM.size() == 0)
         return 0;
-
     UINT64 frameRateMax = 0;  SUBTYPEMap STMMax;
-
     if(frameRate == 0)
     {
         std::map<UINT64, SUBTYPEMap>::iterator f = FRM.begin();
-
         for(; f != FRM.end(); f++)
         {
              if((*f).first >= frameRateMax)
              {
                  frameRateMax = (*f).first;
-
                  STMMax = (*f).second;
              }
-        }       
-
+        }
     }
     else
     {
         std::map<UINT64, SUBTYPEMap>::iterator f = FRM.begin();
-        
         for(; f != FRM.end(); f++)
         {
              if((*f).first >= frameRateMax)
@@ -2291,98 +1700,68 @@ int videoDevice::findType(unsigned int size, unsigned int frameRate)
                  if(frameRate > (*f).first)
                  {
                      frameRateMax = (*f).first;
-
                      STMMax = (*f).second;
                  }
              }
         }
     }
-
     if(STMMax.size() == 0)
         return 0;
-
-
     std::map<String, vectorNum>::iterator S = STMMax.begin();
-
     vectorNum VN = (*S).second;
-
     if(VN.size() == 0)
         return 0;
-
     return VN[0];
-
 }
-
 void videoDevice::buildLibraryofTypes()
 {
     unsigned int size;
-
     unsigned int framerate;
-
     std::vector<MediaType>::iterator i = vd_CurrentFormats.begin();
-        
     int count = 0;
-
     for(; i != vd_CurrentFormats.end(); i++)
     {
         size = (*i).MF_MT_FRAME_SIZE;
-
         framerate = (*i).MF_MT_FRAME_RATE;
-        
         FrameRateMap FRM = vd_CaptureFormats[size];
-
         SUBTYPEMap STM = FRM[framerate];
-
         String subType((*i).pMF_MT_SUBTYPEName);
-
         vectorNum VN = STM[subType];
-
         VN.push_back(count);
-
         STM[subType] = VN;
-
         FRM[framerate] = STM;
-
         vd_CaptureFormats[size] = FRM;
-
         count++;
     }
 }
-
 long videoDevice::setDeviceFormat(IMFMediaSource *pSource, unsigned long  dwFormatIndex)
 {
     IMFPresentationDescriptor *pPD = NULL;
     IMFStreamDescriptor *pSD = NULL;
     IMFMediaTypeHandler *pHandler = NULL;
     IMFMediaType *pType = NULL;
-
     HRESULT hr = pSource->CreatePresentationDescriptor(&pPD);
     if (FAILED(hr))
     {
         goto done;
     }
-
     BOOL fSelected;
     hr = pPD->GetStreamDescriptorByIndex(0, &fSelected, &pSD);
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = pSD->GetMediaTypeHandler(&pHandler);
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = pHandler->GetMediaTypeByIndex((DWORD)dwFormatIndex, &pType);
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = pHandler->SetCurrentMediaType(pType);
-
 done:
     SafeRelease(&pPD);
     SafeRelease(&pSD);
@@ -2390,243 +1769,179 @@ done:
     SafeRelease(&pType);
     return hr;
 }
-
 bool videoDevice::isDeviceSetup()
 {
     return vd_IsSetuped;
 }
-
 RawImage * videoDevice::getRawImageOut()
 {
     if(!vd_IsSetuped) return NULL;
-
     if(vd_pImGrTh)
-            return vd_pImGrTh->getImageGrabber()->getRawImage();    
+            return vd_pImGrTh->getImageGrabber()->getRawImage();
     else
     {
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
         DPO->printOut(L"VIDEODEVICE %i: The instance of ImageGrabberThread class does not exist  \n", vd_CurrentNumber);
     }
     return NULL;
 }
-
 bool videoDevice::isFrameNew()
 {
     if(!vd_IsSetuped) return false;
-
-    if(vd_LockOut == RawDataLock || vd_LockOut == OpenLock) 
+    if(vd_LockOut == RawDataLock || vd_LockOut == OpenLock)
     {
         if(vd_LockOut == OpenLock)
         {
             vd_LockOut = RawDataLock;
-            
             HRESULT hr = ImageGrabberThread::CreateInstance(&vd_pImGrTh, vd_pSource, vd_CurrentNumber);
-                        
             if(FAILED(hr))
             {
                 DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
                 DPO->printOut(L"VIDEODEVICE %i: The instance of ImageGrabberThread class cannot be created.\n", vd_CurrentNumber);
-
                 return false;
             }
-
             vd_pImGrTh->setEmergencyStopEvent(vd_userData, vd_func);
-
             vd_pImGrTh->start();
-
             return true;
         }
-
         if(vd_pImGrTh)
-            return vd_pImGrTh->getImageGrabber()->getRawImage()->isNew();       
-
+            return vd_pImGrTh->getImageGrabber()->getRawImage()->isNew();
     }
-
     return false;
 }
-
 bool videoDevice::isDeviceMediaSource()
 {
     if(vd_LockOut == MediaSourceLock) return true;
-
     return false;
 }
-
 bool videoDevice::isDeviceRawDataSource()
 {
     if(vd_LockOut == RawDataLock) return true;
-
     return false;
 }
-
 bool videoDevice::setupDevice(unsigned int id)
-{   
+{
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if(!vd_IsSetuped)
     {
         HRESULT hr = -1;
-
         hr = initDevice();
-
         if(SUCCEEDED(hr))
-        {           
-            vd_Width = vd_CurrentFormats[id].width; 
-
+        {
+            vd_Width = vd_CurrentFormats[id].width;
             vd_Height = vd_CurrentFormats[id].height;
-
             hr = setDeviceFormat(vd_pSource, (DWORD) id);
-
             vd_IsSetuped = (SUCCEEDED(hr));
-
             if(vd_IsSetuped)
                 DPO->printOut(L"\n\nVIDEODEVICE %i: Device is setuped \n", vd_CurrentNumber);
-
             vd_PrevParametrs = getParametrs();
-
             return vd_IsSetuped;
         }
         else
         {
             DPO->printOut(L"VIDEODEVICE %i: Interface IMFMediaSource cannot be got \n", vd_CurrentNumber);
-
             return false;
         }
     }
     else
     {
         DPO->printOut(L"VIDEODEVICE %i: Device is setuped already \n", vd_CurrentNumber);
-
         return false;
-    }   
+    }
 }
-
 bool videoDevice::setupDevice(unsigned int w, unsigned int h, unsigned int idealFramerate)
-{   
+{
     unsigned int id = findType(w * h, idealFramerate);
-
     return setupDevice(id);
 }
-
 wchar_t *videoDevice::getName()
 {
     return vd_pFriendlyName;
 }
-
 videoDevice::~videoDevice(void)
-{       
+{
     closeDevice();
-
     SafeRelease(&vd_pSource);
-    
     if(vd_pFriendlyName)
         CoTaskMemFree(vd_pFriendlyName);
 }
-
 long videoDevice::enumerateCaptureFormats(IMFMediaSource *pSource)
 {
     IMFPresentationDescriptor *pPD = NULL;
     IMFStreamDescriptor *pSD = NULL;
     IMFMediaTypeHandler *pHandler = NULL;
     IMFMediaType *pType = NULL;
-
     HRESULT hr = pSource->CreatePresentationDescriptor(&pPD);
     if (FAILED(hr))
     {
         goto done;
     }
-
     BOOL fSelected;
     hr = pPD->GetStreamDescriptorByIndex(0, &fSelected, &pSD);
     if (FAILED(hr))
     {
         goto done;
     }
-
     hr = pSD->GetMediaTypeHandler(&pHandler);
     if (FAILED(hr))
     {
         goto done;
     }
-
     DWORD cTypes = 0;
     hr = pHandler->GetMediaTypeCount(&cTypes);
     if (FAILED(hr))
     {
         goto done;
     }
-
     for (DWORD i = 0; i < cTypes; i++)
     {
         hr = pHandler->GetMediaTypeByIndex(i, &pType);
-
         if (FAILED(hr))
         {
             goto done;
         }
-        
         MediaType MT = FormatReader::Read(pType);
-
         vd_CurrentFormats.push_back(MT);
-        
         SafeRelease(&pType);
     }
-
 done:
     SafeRelease(&pPD);
     SafeRelease(&pSD);
     SafeRelease(&pHandler);
     SafeRelease(&pType);
-
     return hr;
 }
-
-
 videoDevices::videoDevices(void): count(0)
 {}
-
 void videoDevices::clearDevices()
 {
     std::vector<videoDevice *>::iterator i = vds_Devices.begin();
-
     for(; i != vds_Devices.end(); ++i)
         delete (*i);
-
     vds_Devices.clear();
 }
-
 videoDevices::~videoDevices(void)
-{   
+{
     clearDevices();
 }
-
 videoDevice * videoDevices::getDevice(unsigned int i)
 {
     if(i >= vds_Devices.size())
     {
         return NULL;
     }
-
     if(i < 0)
     {
         return NULL;
     }
-
     return vds_Devices[i];
 }
-
 long videoDevices::initDevices(IMFAttributes *pAttributes)
 {
     HRESULT hr = S_OK;
-        
     IMFActivate **ppDevices = NULL;
-
     clearDevices();
-    
     hr = MFEnumDeviceSources(pAttributes, &ppDevices, &count);
-    
     if (SUCCEEDED(hr))
     {
         if(count > 0)
@@ -2636,7 +1951,6 @@ long videoDevices::initDevices(IMFAttributes *pAttributes)
                 videoDevice *vd = new videoDevice;
                 vd->readInfoOfDevice(ppDevices[i], i);
                 vds_Devices.push_back(vd);
-
                 SafeRelease(&ppDevices[i]);
             }
             SafeRelease(ppDevices);
@@ -2647,154 +1961,99 @@ long videoDevices::initDevices(IMFAttributes *pAttributes)
     else
     {
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
         DPO->printOut(L"VIDEODEVICES: The instances of the videoDevice class cannot be created\n");
     }
-
     return hr;
 }
-
 size_t videoDevices::getCount()
 {
     return vds_Devices.size();
 }
-
-videoDevices& videoDevices::getInstance() 
+videoDevices& videoDevices::getInstance()
 {
     static videoDevices instance;
-
     return instance;
 }
-
 Parametr::Parametr()
 {
     CurrentValue = 0;
-
     Min = 0;
-    
     Max = 0;
-    
     Step = 0;
-    
-    Default = 0; 
-    
+    Default = 0;
     Flag = 0;
 }
-
 MediaType::MediaType()
 {
     pMF_MT_AM_FORMAT_TYPEName = NULL;
-
     pMF_MT_MAJOR_TYPEName = NULL;
-
     pMF_MT_SUBTYPEName = NULL;
-
     Clear();
 }
-
 MediaType::~MediaType()
 {
     Clear();
 }
-
 void MediaType::Clear()
 {
-
     MF_MT_FRAME_SIZE = 0;
-
     height = 0;
-
     width = 0;
-            
     MF_MT_YUV_MATRIX = 0;
-    
     MF_MT_VIDEO_LIGHTING = 0;
-    
     MF_MT_DEFAULT_STRIDE = 0;
-    
     MF_MT_VIDEO_CHROMA_SITING = 0;
-        
     MF_MT_FIXED_SIZE_SAMPLES = 0;
-    
     MF_MT_VIDEO_NOMINAL_RANGE = 0;
-    
     MF_MT_FRAME_RATE = 0;
-
     MF_MT_FRAME_RATE_low = 0;
-    
     MF_MT_PIXEL_ASPECT_RATIO = 0;
-        
     MF_MT_PIXEL_ASPECT_RATIO_low = 0;
-    
     MF_MT_ALL_SAMPLES_INDEPENDENT = 0;
-    
     MF_MT_FRAME_RATE_RANGE_MIN = 0;
-
     MF_MT_FRAME_RATE_RANGE_MIN_low = 0;
-    
     MF_MT_SAMPLE_SIZE = 0;
-    
     MF_MT_VIDEO_PRIMARIES = 0;
-    
     MF_MT_INTERLACE_MODE = 0;
-    
     MF_MT_FRAME_RATE_RANGE_MAX = 0;
-
     MF_MT_FRAME_RATE_RANGE_MAX_low = 0;
-                
     memset(&MF_MT_MAJOR_TYPE, 0, sizeof(GUID));
-        
     memset(&MF_MT_AM_FORMAT_TYPE, 0, sizeof(GUID));
-            
     memset(&MF_MT_SUBTYPE, 0, sizeof(GUID));
 }
-
 videoInput::videoInput(void): accessToDevices(false)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     DPO->printOut(L"\n***** VIDEOINPUT LIBRARY - 2013 (Author: Evgeny Pereguda) *****\n\n");
-
     updateListOfDevices();
     if(!accessToDevices)
         DPO->printOut(L"INITIALIZATION: Ther is not any suitable video device\n");
 }
-
 void videoInput::updateListOfDevices()
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-    
     Media_Foundation *MF = &Media_Foundation::getInstance();
     accessToDevices = MF->buildListOfDevices();
-
     if(!accessToDevices)
         DPO->printOut(L"UPDATING: Ther is not any suitable video device\n");
 }
-
 videoInput::~videoInput(void)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     DPO->printOut(L"\n***** CLOSE VIDEOINPUT LIBRARY - 2013 *****\n\n");
 }
-
 IMFMediaSource *videoInput::getMediaSource(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
         {
             IMFMediaSource *out = VD->getMediaSource();
-
             if(!out)
                 DPO->printOut(L"VideoDevice %i: There is not any suitable IMFMediaSource interface\n", deviceID);
-
             return out;
         }
     }
@@ -2802,33 +2061,25 @@ IMFMediaSource *videoInput::getMediaSource(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return NULL;
 }
-
 bool videoInput::setupDevice(int deviceID, unsigned int id)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0 )
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
         {
             bool out = VD->setupDevice(id);
-
             if(!out)
                 DPO->printOut(L"VIDEODEVICE %i: This device cannot be started\n", deviceID);
-
             return out;
         }
     }
@@ -2836,33 +2087,25 @@ bool videoInput::setupDevice(int deviceID, unsigned int id)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return false;
 }
-
 bool videoInput::setupDevice(int deviceID, unsigned int w, unsigned int h, unsigned int idealFramerate)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0 )
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
         {
             bool out = VD->setupDevice(w, h, idealFramerate);
-
             if(!out)
                 DPO->printOut(L"VIDEODEVICE %i: this device cannot be started\n", deviceID);
-
             return out;
         }
     }
@@ -2870,53 +2113,41 @@ bool videoInput::setupDevice(int deviceID, unsigned int w, unsigned int h, unsig
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n", deviceID);
     }
-
     return false;
 }
-
 MediaType videoInput::getFormat(int deviceID, unsigned int id)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return MediaType();
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
-        if(VD)      
+        if(VD)
             return VD->getFormat(id);
     }
     else
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return MediaType();
 }
-
 bool videoInput::isDeviceSetup(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
             return VD->isDeviceSetup();
     }
@@ -2924,26 +2155,20 @@ bool videoInput::isDeviceSetup(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return false;
 }
-
 bool videoInput::isDeviceMediaSource(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
             return VD->isDeviceMediaSource();
     }
@@ -2951,26 +2176,20 @@ bool videoInput::isDeviceMediaSource(int deviceID)
     {
         DPO->printOut(L"Device(s): There is not any suitable video device\n");
     }
-
     return false;
 }
-
 bool videoInput::isDeviceRawDataSource(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
         {
             bool isRaw = VD->isDeviceRawDataSource();
@@ -2981,20 +2200,16 @@ bool videoInput::isDeviceRawDataSource(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return false;
 }
-
 bool videoInput::isFrameNew(int deviceID)
-{   
+{
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return false;
     }
-
     if(accessToDevices)
     {
         if(!isDeviceSetup(deviceID))
@@ -3002,11 +2217,8 @@ bool videoInput::isFrameNew(int deviceID)
             if(isDeviceMediaSource(deviceID))
                 return false;
         }
-
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
         {
             return VD->isFrameNew();
@@ -3016,26 +2228,20 @@ bool videoInput::isFrameNew(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return false;
 }
-
 unsigned int videoInput::getCountFormats(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return 0;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
             return VD->getCountFormats();
     }
@@ -3043,34 +2249,26 @@ unsigned int videoInput::getCountFormats(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return 0;
 }
-
 void videoInput::closeAllDevices()
 {
     videoDevices *VDS = &videoDevices::getInstance();
-
     for(unsigned int i = 0; i < VDS->getCount(); i++)
         closeDevice(i);
 }
-
 void videoInput::setParametrs(int deviceID, CamParametrs parametrs)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-    
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice *VD = VDS->getDevice(deviceID);
-
         if(VD)
             VD->setParametrs(parametrs);
     }
@@ -3079,24 +2277,19 @@ void videoInput::setParametrs(int deviceID, CamParametrs parametrs)
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
 }
-
 CamParametrs videoInput::getParametrs(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
     CamParametrs out;
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return out;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice *VD = VDS->getDevice(deviceID);
-
         if(VD)
             out = VD->getParametrs();
     }
@@ -3104,26 +2297,20 @@ CamParametrs videoInput::getParametrs(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-    
     return out;
 }
-
 void videoInput::closeDevice(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice *VD = VDS->getDevice(deviceID);
-
         if(VD)
             VD->closeDevice();
     }
@@ -3132,50 +2319,39 @@ void videoInput::closeDevice(int deviceID)
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
 }
-
 unsigned int videoInput::getWidth(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return 0;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         videoDevice * VD = VDS->getDevice(deviceID);
-        
-        if(VD)  
+        if(VD)
             return VD->getWidth();
     }
     else
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return 0;
 }
-
 unsigned int videoInput::getHeight(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return 0;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
             return VD->getHeight();
     }
@@ -3183,26 +2359,20 @@ unsigned int videoInput::getHeight(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return 0;
 }
-
 wchar_t *videoInput::getNameVideoDevice(int deviceID)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return NULL;
     }
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-    
         videoDevice * VD = VDS->getDevice(deviceID);
-        
         if(VD)
             return VD->getName();
     }
@@ -3210,81 +2380,60 @@ wchar_t *videoInput::getNameVideoDevice(int deviceID)
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return L"Empty";
 }
-
 unsigned int videoInput::listDevices(bool silent)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     int out = 0;
-
     if(accessToDevices)
     {
         videoDevices *VDS = &videoDevices::getInstance();
-
         out = VDS->getCount();
-
         DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
         if(!silent)DPO->printOut(L"\nVIDEOINPUT SPY MODE!\n\n");
-
         if(!silent)DPO->printOut(L"SETUP: Looking For Capture Devices\n");
-
         for(int i = 0; i < out; i++)
         {
             if(!silent)DPO->printOut(L"SETUP: %i) %s \n",i, getNameVideoDevice(i));
         }
-
         if(!silent)DPO->printOut(L"SETUP: %i Device(s) found\n\n", out);
-
     }
     else
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-
     return out;
 }
-
-videoInput& videoInput::getInstance() 
+videoInput& videoInput::getInstance()
 {
     static videoInput instance;
-
     return instance;
 }
-
 bool videoInput::isDevicesAcceable()
 {
     return accessToDevices;
 }
-
 void videoInput::setVerbose(bool state)
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-    DPO->setVerbose(state); 
+    DPO->setVerbose(state);
 }
-
 void videoInput::setEmergencyStopEvent(int deviceID, void *userData, void(*func)(int, void *))
 {
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return;
     }
-
     if(accessToDevices)
     {
         if(func)
         {
             videoDevices *VDS = &videoDevices::getInstance();
-
             videoDevice * VD = VDS->getDevice(deviceID);
-        
-            if(VD)  
+            if(VD)
                 VD->setEmergencyStopEvent(userData, func);
         }
     }
@@ -3293,19 +2442,16 @@ void videoInput::setEmergencyStopEvent(int deviceID, void *userData, void(*func)
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
 }
-
 bool videoInput::getPixels(int deviceID, unsigned char * dstBuffer, bool flipRedAndBlue, bool flipImage)
 {
     bool success = false;
     unsigned int bytes = 3;
     DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
     if (deviceID < 0)
     {
         DPO->printOut(L"VIDEODEVICE %i: Invalid device ID\n", deviceID);
         return success;
     }
-
     if(accessToDevices)
     {
         bool isRaw = isDeviceRawDataSource(deviceID);
@@ -3313,18 +2459,14 @@ bool videoInput::getPixels(int deviceID, unsigned char * dstBuffer, bool flipRed
         {
             videoDevices *VDS = &videoDevices::getInstance();
             DebugPrintOut *DPO = &DebugPrintOut::getInstance();
-
             RawImage *RIOut = VDS->getDevice(deviceID)->getRawImageOut();
-            
             if(RIOut)
             {
                 unsigned int height = VDS->getDevice(deviceID)->getHeight();
-                unsigned int width  = VDS->getDevice(deviceID)->getWidth(); 
-
+                unsigned int width  = VDS->getDevice(deviceID)->getWidth();
                 unsigned int size = bytes * width * height;
-
                 if(size == RIOut->getSize())
-                {                                       
+                {
                     processPixels(RIOut->getpPixels(), dstBuffer, width, height, bytes, flipRedAndBlue, flipImage);
                     success = true;
                 }
@@ -3336,7 +2478,7 @@ bool videoInput::getPixels(int deviceID, unsigned char * dstBuffer, bool flipRed
             else
             {
                 DPO->printOut(L"ERROR: GetPixels() - Unable to grab frame for device %i\n", deviceID);
-            }                   
+            }
         }
         else
         {
@@ -3347,19 +2489,16 @@ bool videoInput::getPixels(int deviceID, unsigned char * dstBuffer, bool flipRed
     {
         DPO->printOut(L"VIDEODEVICE(s): There is not any suitable video device\n");
     }
-        
     return success;
 }
-
-void videoInput::processPixels(unsigned char * src, unsigned char * dst, unsigned int width, 
+void videoInput::processPixels(unsigned char * src, unsigned char * dst, unsigned int width,
                                 unsigned int height, unsigned int bpp, bool bRGB, bool bFlip)
-{   
+{
     unsigned int widthInBytes = width * bpp;
     unsigned int numBytes = widthInBytes * height;
     int *dstInt, *srcInt;
-    
     if(!bRGB)
-    {  
+    {
         if(bFlip)
         {
             for(unsigned int y = 0; y < height; y++)
@@ -3368,7 +2507,6 @@ void videoInput::processPixels(unsigned char * src, unsigned char * dst, unsigne
                 srcInt = (int *)(src + ( (height -y -1) * widthInBytes));
                 memcpy(dstInt, srcInt, widthInBytes);
             }
-                                    
         }
         else
         {
@@ -3379,11 +2517,9 @@ void videoInput::processPixels(unsigned char * src, unsigned char * dst, unsigne
     {
         if(bFlip)
         {
-            
             unsigned int x = 0;
             unsigned int y = (height - 1) * widthInBytes;
             src += y;
-            
             for(unsigned int i = 0; i < numBytes; i+=3)
             {
                 if(x >= width)
@@ -3391,49 +2527,38 @@ void videoInput::processPixels(unsigned char * src, unsigned char * dst, unsigne
                     x = 0;
                     src -= widthInBytes*2;
                 }
-                
                 *dst = *(src+2);
                 dst++;
-                
                 *dst = *(src+1);
-                dst++; 
-                
+                dst++;
                 *dst = *src;
-                dst++; 
-                
-                src+=3; 
-                x++;        
+                dst++;
+                src+=3;
+                x++;
             }
         }
         else
-        {                       
+        {
             for(unsigned int i = 0; i < numBytes; i+=3)
             {
                 *dst = *(src+2);
                 dst++;
-                
                 *dst = *(src+1);
-                dst++; 
-                
+                dst++;
                 *dst = *src;
-                dst++; 
-                
-                src+=3;         
+                dst++;
+                src+=3;
             }
         }
     }
 }
-
 }
-
 /******* Capturing video from camera via Microsoft Media Foundation **********/
-
 class CvCaptureCAM_MSMF : public CvCapture
 {
 public:
     CvCaptureCAM_MSMF();
     virtual ~CvCaptureCAM_MSMF();
-
     virtual bool open( int index );
     virtual void close();
     virtual double getProperty(int);
@@ -3441,23 +2566,18 @@ public:
     virtual bool grabFrame();
     virtual IplImage* retrieveFrame(int);
     virtual int getCaptureDomain() { return CV_CAP_MSMF; } // Return the type of the capture object: CV_CAP_VFW, etc...
-
 protected:
     void init();
-
     int index, width, height,fourcc;
     int widthSet, heightSet;
     IplImage* frame;
     videoInput VI;
 };
-
 struct SuppressVideoInputMessages
 {
     SuppressVideoInputMessages() { videoInput::setVerbose(true); }
 };
-
 static SuppressVideoInputMessages do_it;
-
 CvCaptureCAM_MSMF::CvCaptureCAM_MSMF():
     index(-1),
     width(-1),
@@ -3470,13 +2590,11 @@ CvCaptureCAM_MSMF::CvCaptureCAM_MSMF():
 {
     CoInitialize(0);
 }
-
 CvCaptureCAM_MSMF::~CvCaptureCAM_MSMF()
 {
     close();
     CoUninitialize();
 }
-
 void CvCaptureCAM_MSMF::close()
 {
     if( index >= 0 )
@@ -3487,13 +2605,11 @@ void CvCaptureCAM_MSMF::close()
     }
     widthSet = heightSet = width = height = -1;
 }
-
 // Initialize camera input
 bool CvCaptureCAM_MSMF::open( int _index )
 {
     int try_index = _index;
     int devices = 0;
-
     close();
     devices = VI.listDevices(true);
     if (devices == 0)
@@ -3505,13 +2621,10 @@ bool CvCaptureCAM_MSMF::open( int _index )
     index = try_index;
     return true;
 }
-
 bool CvCaptureCAM_MSMF::grabFrame()
 {
     return true;
 }
-
-
 IplImage* CvCaptureCAM_MSMF::retrieveFrame(int)
 {
     if( !frame || (int)VI.getWidth(index) != frame->width || (int)VI.getHeight(index) != frame->height )
@@ -3521,12 +2634,9 @@ IplImage* CvCaptureCAM_MSMF::retrieveFrame(int)
         unsigned int w = VI.getWidth(index), h = VI.getHeight(index);
         frame = cvCreateImage( cvSize(w,h), 8, 3 );
     }
-    
     VI.getPixels( index, (uchar*)frame->imageData, false, true );
-
     return frame;
 }
-
 double CvCaptureCAM_MSMF::getProperty( int property_id )
 {
     // image format proprrties
@@ -3534,21 +2644,17 @@ double CvCaptureCAM_MSMF::getProperty( int property_id )
     {
     case CV_CAP_PROP_FRAME_WIDTH:
         return VI.getWidth(index);
-
     case CV_CAP_PROP_FRAME_HEIGHT:
         return VI.getHeight(index);
-
     case CV_CAP_PROP_FOURCC:
         // FIXME: implement method in VideoInput back end
         //return VI.getFourcc(index);
         ;
-
     case CV_CAP_PROP_FPS:
-        // FIXME: implement method in VideoInput back end        
+        // FIXME: implement method in VideoInput back end
         //return VI.getFPS(index);
         ;
     }
-
     // video filter properties
     switch( property_id )
     {
@@ -3568,7 +2674,6 @@ double CvCaptureCAM_MSMF::getProperty( int property_id )
         //     return (double)current_value;
         return 0.;
     }
-
     // camera properties
     switch( property_id )
     {
@@ -3584,11 +2689,9 @@ double CvCaptureCAM_MSMF::getProperty( int property_id )
     //          max_value,stepping_delta,current_value,flags,defaultValue) ) return (double)current_value;
         return 0.;
     }
-
     // unknown parameter or value not available
     return -1;
 }
-
 bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
 {
     // image capture properties
@@ -3599,12 +2702,10 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         width = cvRound(value);
         handled = true;
         break;
-
     case CV_CAP_PROP_FRAME_HEIGHT:
         height = cvRound(value);
         handled = true;
         break;
-
     case CV_CAP_PROP_FOURCC:
         fourcc = (int)(unsigned long)(value);
         if ( fourcc == -1 ) {
@@ -3613,7 +2714,6 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         }
         handled = true;
         break;
-
     case CV_CAP_PROP_FPS:
         // FIXME: implement method in VideoInput back end
         // int fps = cvRound(value);
@@ -3628,9 +2728,7 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         // }
         // return VI.isDeviceSetup(index);
         ;
-
     }
-
     if ( handled ) {
         // a stream setting
         if( width > 0 && height > 0 )
@@ -3643,7 +2741,6 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
                 // VI.setIdealFramerate(index, fps);
                 // VI.setupDeviceFourcc(index, width, height, fourcc);
             }
-
             bool success = VI.isDeviceSetup(index);
             if (success)
             {
@@ -3655,14 +2752,12 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         }
         return true;
     }
-
     // show video/camera filter dialog
     // FIXME: implement method in VideoInput back end
     // if ( property_id == CV_CAP_PROP_SETTINGS ) {
     //     VI.showSettingsWindow(index);
     //     return true;
     // }
-
     //video Filter properties
     switch( property_id )
     {
@@ -3680,7 +2775,6 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         //return VI.setVideoSettingFilter(index,VI.getVideoPropertyFromCV(property_id),(long)value);
         ;
     }
-
     //camera properties
     switch( property_id )
     {
@@ -3695,15 +2789,11 @@ bool CvCaptureCAM_MSMF::setProperty( int property_id, double value )
         //return VI.setVideoSettingCamera(index,VI.getCameraPropertyFromCV(property_id),(long)value);
         ;
     }
-
     return false;
 }
-
-
 CvCapture* cvCreateCameraCapture_MSMF( int index )
 {
     CvCaptureCAM_MSMF* capture = new CvCaptureCAM_MSMF;
-
     try
     {
         if( capture->open( index ))
@@ -3714,9 +2804,7 @@ CvCapture* cvCreateCameraCapture_MSMF( int index )
         delete capture;
         throw;
     }
-
     delete capture;
     return 0;
 }
-
-#endif
+#endif
\ No newline at end of file
index e8767f2..b34056c 100644 (file)
@@ -1,5 +1,6 @@
 set(CMAKE_SYSTEM_NAME Windows)
 set(CMAKE_SYSTEM_PROCESSOR "arm-v7a")
 
+set(CMAKE_FIND_ROOT_PATH "${CMAKE_SOURCE_DIR}/platforms/winrt")
 set(CMAKE_REQUIRED_DEFINITIONS -D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
 add_definitions(-D_ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE)
\ No newline at end of file