maru-camera: minor modification for Windows module 63/37663/1
authorjinhyung.jo <jinhyung.jo@samsung.com>
Thu, 2 Apr 2015 06:01:04 +0000 (15:01 +0900)
committerjinhyung.jo <jinhyung.jo@samsung.com>
Thu, 2 Apr 2015 06:01:04 +0000 (15:01 +0900)
check & apply coding conventions, change function call names

Change-Id: I6d1837798d2cd3cf9805a98a1b4a75a5a738a195
Signed-off-by: Jinhyung Jo <jinhyung.jo@samsung.com>
tizen/src/hw/pci/maru_camera_convert.c
tizen/src/hw/pci/maru_camera_win32.c

index f99a4f6b4084723f142031591d7a4d4b1a8313ad..ff0d4e42d9ca39cae205c06038f68c1af6eb9aa9 100644 (file)
@@ -123,7 +123,6 @@ uint8_t convert_frame(uint32_t src_format, uint32_t dst_format,
     case V4L2_PIX_FMT_YUYV:
         switch (dst_format) {
         case V4L2_PIX_FMT_YUV420:
-            //YUYVToYUV420(src_buf, dst_buf, width, height);
             yuyv_to_yuv420(src_buf, dst_buf, width, height, 0);
             break;
         case V4L2_PIX_FMT_YVU420:
@@ -149,7 +148,7 @@ uint8_t convert_frame(uint32_t src_format, uint32_t dst_format,
             return 1;
         }
         break;
-   case V4L2_PIX_FMT_RGB24:
+    case V4L2_PIX_FMT_RGB24:
         switch (dst_format) {
         case V4L2_PIX_FMT_YUV420:
             rgb24_to_yuv420(src_buf, dst_buf, width, height, 0);
@@ -459,7 +458,7 @@ static void rgb24_to_yuv420(const unsigned char *src, unsigned char *dest,
         vline = vplane + ((y >> 1) * halfWidth);
 
         rgbIndex = src + (width * (height - 1 - y) * 3);
-        for (x = 0; x < (int)width; x+=2) {
+        for (x = 0; x < (int)width; x += 2) {
             RGB2Y(rgbIndex[2], rgbIndex[1], rgbIndex[0], *yline++);
             rgbIndex += 3;
             RGB2Y(rgbIndex[2], rgbIndex[1], rgbIndex[0], *yline++);
index 3e2e0b39ffafd4743b4c1df8d0ffd275572ee9e4..e5088b0a8b3db29921eba38ef9e8e16139bc42e7 100644 (file)
@@ -36,6 +36,7 @@
 #define CINTERFACE
 #define COBJMACROS
 #include "ocidl.h"
+#include "objidl.h"
 #include "errors.h"      /* for VFW_E_XXXX */
 #include "mmsystem.h"    /* for MAKEFOURCC macro */
 #include "maru_camera_win32.h"
@@ -69,8 +70,6 @@ typedef struct HWCGrabCallback {
     long m_cRef;
     MaruCamState *m_pState;
     CallbackFn m_pCallback;
-    STDMETHODIMP (*SetCallback)(IGrabCallback *iface, CallbackFn pCallbackFn);
-    STDMETHODIMP (*SetState)(IGrabCallback *iface, MaruCamState *pState);
 } HWCGrabCallback;
 
 static inline HWCGrabCallback *impl_from_IGrabCallback(IGrabCallback *iface)
@@ -133,24 +132,6 @@ static STDMETHODIMP HWCGrabCallback_Grab(IGrabCallback *iface,
     return E_FAIL;
 }
 
-static STDMETHODIMP HWCGrabCallback_SetCallback(IGrabCallback *iface,
-                                                CallbackFn pCallbackFn)
-{
-    HWCGrabCallback *This = impl_from_IGrabCallback(iface);
-
-    This->m_pCallback = pCallbackFn;
-    return S_OK;
-}
-
-static STDMETHODIMP HWCGrabCallback_SetState(IGrabCallback *iface,
-                                             MaruCamState *pState)
-{
-    HWCGrabCallback *This = impl_from_IGrabCallback(iface);
-
-    This->m_pState = pState;
-    return S_OK;
-}
-
 static IGrabCallbackVtbl HWCGrabCallback_Vtbl = {
         HWCGrabCallback_QueryInterface,
         HWCGrabCallback_AddRef,
@@ -171,12 +152,29 @@ static STDMETHODIMP HWCGrabCallback_Construct(IGrabCallback **ppv)
     This->IGrabCallback_iface.lpVtbl = &HWCGrabCallback_Vtbl;
     This->m_cRef = 1;
     This->m_pCallback = NULL;
-    This->SetCallback = HWCGrabCallback_SetCallback;
-    This->SetState = HWCGrabCallback_SetState;
+    This->m_pState = NULL;
     *ppv = &This->IGrabCallback_iface;
     return S_OK;
 }
 
+static STDMETHODIMP HWCGrabCallback_SetCallback(IGrabCallback *iface,
+                                                CallbackFn pCallbackFn)
+{
+    HWCGrabCallback *This = impl_from_IGrabCallback(iface);
+
+    This->m_pCallback = pCallbackFn;
+    return S_OK;
+}
+
+static STDMETHODIMP HWCGrabCallback_SetState(IGrabCallback *iface,
+                                             MaruCamState *pState)
+{
+    HWCGrabCallback *This = impl_from_IGrabCallback(iface);
+
+    This->m_pState = pState;
+    return S_OK;
+}
+
 /*
  * HWCPin
  */
@@ -190,7 +188,6 @@ typedef struct HWCInPin {
     IMemAllocator *m_pAllocator;
     BOOL m_bReadOnly;
     long m_cRef;
-    STDMETHODIMP (*SetGrabCb)(IPin *iface, IGrabCallback *pCaptureCB);
 } HWCInPin;
 
 static inline HWCInPin *impl_from_IPin(IPin *iface)
@@ -666,7 +663,6 @@ static STDMETHODIMP HWCInPin_Construct(IBaseFilter *pFilter, IPin **ppv)
     This->m_pCallback = NULL;
     This->m_pAllocator = NULL;
     This->m_cRef = 1;
-    This->SetGrabCb = HWCPin_SetCallback;
     *ppv = &This->IPin_iface;
 
     return S_OK;
@@ -1154,24 +1150,24 @@ static long value_convert_to_guest(long min, long max, long value)
 /*
  * Callback function for grab frames
  */
-static STDMETHODIMP marucam_device_callbackfn(MaruCamState *state,
+static STDMETHODIMP GrabFrameCallback(MaruCamState *state,
                                               ULONG dwSize, BYTE *pBuffer)
 {
     void *tmp_buf;
-    uint32_t width, height, fmt, imgsize;
+    uint32_t imgsize;
     MCBackendWin *backend = (MCBackendWin *)(state->backend);
 
-    width = backend->dst_width;
-    height = backend->dst_height;
-    fmt = backend->dst_fmt;
-    imgsize = get_sizeimage(fmt, width, height);
+    imgsize = get_sizeimage(backend->dst_fmt,
+                            backend->dst_width,
+                            backend->dst_height);
 
     if (imgsize > (uint32_t)dwSize) {
         ERR("Image size is mismatched\n");
         return E_FAIL;
     }
 
-    if (convert_frame(backend->src_fmt, backend->dst_fmt, width, height,
+    if (convert_frame(backend->src_fmt, backend->dst_fmt,
+                      backend->dst_width, backend->dst_height,
                       (size_t)dwSize, pBuffer, backend->buf) > 0) {
         return E_FAIL;
     }
@@ -1207,11 +1203,11 @@ static STDMETHODIMP marucam_device_callbackfn(MaruCamState *state,
 static STDMETHODIMP_(void) CloseInterfaces(MCBackendWin *backend)
 {
     if (backend->pMC) {
-        backend->pMC->lpVtbl->Stop(backend->pMC);
+        IMediaControl_Stop(backend->pMC);
     }
 
     if (backend->pOutPin) {
-        backend->pOutPin->lpVtbl->Disconnect(backend->pOutPin);
+        IPin_Disconnect(backend->pOutPin);
     }
 
     SAFE_RELEASE(backend->pGB);
@@ -1254,14 +1250,14 @@ static STDMETHODIMP GetPin(IBaseFilter *pFilter,
         return E_POINTER;
     }
 
-    hr = pFilter->lpVtbl->EnumPins(pFilter, &pEnum);
+    hr = IBaseFilter_EnumPins(pFilter, &pEnum);
     if (FAILED(hr)) {
         return hr;
     }
 
-    while (pEnum->lpVtbl->Next(pEnum, 1, &pPin, 0) == S_OK) {
+    while (IEnumPins_Next(pEnum, 1, &pPin, 0) == S_OK) {
         PIN_DIRECTION PinDirThis;
-        hr = pPin->lpVtbl->QueryDirection(pPin, &PinDirThis);
+        hr = IPin_QueryDirection(pPin, &PinDirThis);
         if (FAILED(hr)) {
             SAFE_RELEASE(pPin);
             SAFE_RELEASE(pEnum);
@@ -1298,14 +1294,14 @@ static STDMETHODIMP GraphBuilder_Init(MCBackendWin *backend)
         return hr;
     }
 
-    hr = backend->pCGB->lpVtbl->SetFiltergraph(backend->pCGB, backend->pGB);
+    hr = ICaptureGraphBuilder2_SetFiltergraph(backend->pCGB, backend->pGB);
     if (FAILED(hr)) {
         ERR("Failed to SetFiltergraph, 0x%x\n", hr);
         return hr;
     }
 
-    hr = backend->pGB->lpVtbl->QueryInterface(backend->pGB, &IID_IMediaControl,
-                                              (void **)&backend->pMC);
+    hr = IGraphBuilder_QueryInterface(backend->pGB, &IID_IMediaControl,
+                                      (void **)&backend->pMC);
     if (FAILED(hr)) {
         ERR("Failed to QueryInterface for IMediaControl, 0x%x\n", hr);
         return hr;
@@ -1314,12 +1310,11 @@ static STDMETHODIMP GraphBuilder_Init(MCBackendWin *backend)
     hr = HWCGrabCallback_Construct(&backend->pCallback);
     if (backend->pCallback == NULL) {
         hr = E_OUTOFMEMORY;
+        return hr;
     }
 
-    hr = ((HWCGrabCallback *)(backend->pCallback))->SetCallback(
-                backend->pCallback, (CallbackFn)marucam_device_callbackfn);
-    hr = ((HWCGrabCallback *)(backend->pCallback))->SetState(
-                backend->pCallback, backend->base.state);
+    hr = HWCGrabCallback_SetCallback(backend->pCallback, GrabFrameCallback);
+    hr = HWCGrabCallback_SetState(backend->pCallback, backend->base.state);
 
     return hr;
 }
@@ -1329,7 +1324,7 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend)
     HRESULT hr;
     ICreateDevEnum *pCreateDevEnum = NULL;
     IEnumMoniker *pEnumMK = NULL;
-    IMoniker *pMoniKer;
+    IMoniker *pMoniker;
 
     hr = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC,
                           &IID_ICreateDevEnum,
@@ -1339,9 +1334,9 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend)
         return hr;
     }
 
-    hr = pCreateDevEnum->lpVtbl->CreateClassEnumerator(pCreateDevEnum,
-                                      &CLSID_VideoInputDeviceCategory,
-                                      &pEnumMK, 0);
+    hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum,
+                                              &CLSID_VideoInputDeviceCategory,
+                                              &pEnumMK, 0);
     if (FAILED(hr)) {
         ERR("Failed to get VideoInputDeviceCategory, 0x%x\n", hr);
         SAFE_RELEASE(pCreateDevEnum);
@@ -1353,41 +1348,41 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend)
         SAFE_RELEASE(pCreateDevEnum);
         return E_FAIL;
     }
-    pEnumMK->lpVtbl->Reset(pEnumMK);
+    IEnumMoniker_Reset(pEnumMK);
 
-    hr = pEnumMK->lpVtbl->Next(pEnumMK, 1, &pMoniKer, NULL);
+    hr = IEnumMoniker_Next(pEnumMK, 1, &pMoniker, NULL);
     if (hr == S_FALSE) {
         hr = E_FAIL;
     }
     if (SUCCEEDED(hr)) {
         IPropertyBag *pBag = NULL;
-        hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0,
-                                             &IID_IPropertyBag,
-                                             (void **)&pBag);
+        hr = IMoniker_BindToStorage(pMoniker, 0, 0,
+                                    &IID_IPropertyBag,
+                                    (void **)&pBag);
         if (SUCCEEDED(hr)) {
             VARIANT var;
             var.vt = VT_BSTR;
-            hr = pBag->lpVtbl->Read(pBag, L"FriendlyName", &var, NULL);
+            hr = IPropertyBag_Read(pBag, L"FriendlyName", &var, NULL);
             if (hr == NOERROR) {
-                hr = pMoniKer->lpVtbl->BindToObject(pMoniKer, NULL, NULL,
-                                               &IID_IBaseFilter,
-                                               (void **)&backend->pSrcFilter);
+                hr = IMoniker_BindToObject(pMoniker, NULL, NULL,
+                                           &IID_IBaseFilter,
+                                           (void **)&backend->pSrcFilter);
                 if (FAILED(hr)) {
                     ERR("Counldn't bind moniker to filter object!!\n");
                 } else {
-                    backend->pSrcFilter->lpVtbl->AddRef(backend->pSrcFilter);
+                    IBaseFilter_AddRef(backend->pSrcFilter);
                 }
                 SysFreeString(var.bstrVal);
             }
             SAFE_RELEASE(pBag);
         }
-        SAFE_RELEASE(pMoniKer);
+        SAFE_RELEASE(pMoniker);
     }
 
     if (SUCCEEDED(hr)) {
-        hr = backend->pGB->lpVtbl->AddFilter(backend->pGB,
-                                             backend->pSrcFilter,
-                                             L"Video Capture");
+        hr = IGraphBuilder_AddFilter(backend->pGB,
+                                     backend->pSrcFilter,
+                                     L"Video Capture");
         if (hr != S_OK && hr != S_FALSE) {
             ERR("Counldn't add Video Capture filter to our graph!\n");
             SAFE_RELEASE(backend->pSrcFilter);
@@ -1405,9 +1400,9 @@ static STDMETHODIMP BindTargetFilter(MCBackendWin *backend)
     hr = HWCFilter_Construct(&backend->pDstFilter);
 
     if (SUCCEEDED(hr) && backend->pDstFilter) {
-        hr = backend->pGB->lpVtbl->AddFilter(backend->pGB,
-                                             backend->pDstFilter,
-                                             L"HWCFilter");
+        hr = IGraphBuilder_AddFilter(backend->pGB,
+                                     backend->pDstFilter,
+                                     L"HWCFilter");
         if (FAILED(hr)) {
             ERR("Counldn't add HWCFilterr to our graph!\n");
             SAFE_RELEASE(backend->pDstFilter);
@@ -1437,7 +1432,7 @@ static STDMETHODIMP ConnectFilters(MCBackendWin *backend)
         return hr;
     }
 
-    hr = pGB->lpVtbl->Connect(pGB, pOut, pIn);
+    hr = IGraphBuilder_Connect(pGB, pOut, pIn);
     if (FAILED(hr)) {
         ERR("Failed to connect pins. 0x%x\n", hr);
     }
@@ -1451,13 +1446,13 @@ static STDMETHODIMP DisconnectPins(MCBackendWin *backend)
     IPin *pIn = backend->pInPin;
     HRESULT hr;
 
-    hr = pGB->lpVtbl->Disconnect(pGB, pOut);
+    hr = IGraphBuilder_Disconnect(pGB, pOut);
     if (FAILED(hr)) {
         ERR("Failed to disconnect output pin. 0x%x\n", hr);
         return hr;
     }
 
-    hr = pGB->lpVtbl->Disconnect(pGB, pIn);
+    hr = IGraphBuilder_Disconnect(pGB, pIn);
     if (FAILED(hr)) {
         ERR("Failed to disconnect input pin. 0x%x\n", hr);
     }
@@ -1472,13 +1467,13 @@ static STDMETHODIMP RemoveFilters(MCBackendWin *backend)
     IBaseFilter *pDst = backend->pDstFilter;
     HRESULT hr;
 
-    hr = pGB->lpVtbl->RemoveFilter(pGB, pSrc);
+    hr = IGraphBuilder_RemoveFilter(pGB, pSrc);
     if (FAILED(hr)) {
         ERR("Failed to remove source filer. 0x%x\n", hr);
         return hr;
     }
 
-    hr = pGB->lpVtbl->RemoveFilter(pGB, pDst);
+    hr = IGraphBuilder_RemoveFilter(pGB, pDst);
     if (FAILED(hr)) {
         ERR("Failed to remove destination filer. 0x%x\n", hr);
     }
@@ -1498,17 +1493,17 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth,
     DWORD dwYUY2 = MAKEFOURCC('Y', 'U', 'Y', '2');
     DWORD dwI420 = MAKEFOURCC('I', '4', '2', '0');
 
-    hr = backend->pCGB->lpVtbl->FindInterface(backend->pCGB,
-                                              &PIN_CATEGORY_CAPTURE, 0,
-                                              backend->pSrcFilter,
-                                              &IID_IAMStreamConfig,
-                                              (void **)&pSConfig);
+    hr = ICaptureGraphBuilder2_FindInterface(backend->pCGB,
+                                             &PIN_CATEGORY_CAPTURE, 0,
+                                             backend->pSrcFilter,
+                                             &IID_IAMStreamConfig,
+                                             (void **)&pSConfig);
     if (FAILED(hr)) {
         ERR("failed to FindInterface method\n");
         return hr;
     }
 
-    hr = pSConfig->lpVtbl->GetNumberOfCapabilities(pSConfig, &iCount, &iSize);
+    hr = IAMStreamConfig_GetNumberOfCapabilities(pSConfig, &iCount, &iSize);
     if (FAILED(hr)) {
         ERR("failed to GetNumberOfCapabilities method\n");
         SAFE_RELEASE(pSConfig);
@@ -1521,8 +1516,8 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth,
             VIDEO_STREAM_CONFIG_CAPS scc;
             AM_MEDIA_TYPE *pmtConfig;
 
-            hr = pSConfig->lpVtbl->GetStreamCaps(pSConfig, iFormat,
-                                                 &pmtConfig, (BYTE *)&scc);
+            hr = IAMStreamConfig_GetStreamCaps(pSConfig, iFormat,
+                                               &pmtConfig, (BYTE *)&scc);
             if (hr == S_OK) {
                 if (IsEqualIID(&pmtConfig->formattype, &FORMAT_VideoInfo)) {
                     VIDEOINFOHEADER *pvi =
@@ -1554,7 +1549,7 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth,
                         pvi->AvgTimePerFrame =
                                 (REFERENCE_TIME)scc.MaxFrameInterval;
 #endif
-                        hr = pSConfig->lpVtbl->SetFormat(pSConfig, pmtConfig);
+                        hr = IAMStreamConfig_SetFormat(pSConfig, pmtConfig);
                         DeleteMediaType(pmtConfig);
                         break;
                     }
@@ -1582,14 +1577,14 @@ static STDMETHODIMP QueryVideoProcAmp(MCBackendWin *backend, long nProperty,
     long Flags;
     IAMVideoProcAmp *pProcAmp = NULL;
 
-    hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter,
-                                                     &IID_IAMVideoProcAmp,
-                                                     (void **)&pProcAmp);
+    hr = IBaseFilter_QueryInterface(backend->pSrcFilter,
+                                    &IID_IAMVideoProcAmp,
+                                    (void **)&pProcAmp);
     if (FAILED(hr)) {
         return hr;
     }
 
-    hr = pProcAmp->lpVtbl->GetRange(pProcAmp, nProperty, pMin, pMax,
+    hr = IAMVideoProcAmp_GetRange(pProcAmp, nProperty, pMin, pMax,
                                     pStep, pDefault, &Flags);
 
     SAFE_RELEASE(pProcAmp);
@@ -1603,14 +1598,14 @@ static STDMETHODIMP GetVideoProcAmp(MCBackendWin *backend,
     long Flags;
     IAMVideoProcAmp *pProcAmp = NULL;
 
-    hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter,
-                                                     &IID_IAMVideoProcAmp,
-                                                     (void **)&pProcAmp);
+    hr = IBaseFilter_QueryInterface(backend->pSrcFilter,
+                                    &IID_IAMVideoProcAmp,
+                                    (void **)&pProcAmp);
     if (FAILED(hr)) {
         return hr;
     }
 
-    hr = pProcAmp->lpVtbl->Get(pProcAmp, nProperty, pValue, &Flags);
+    hr = IAMVideoProcAmp_Get(pProcAmp, nProperty, pValue, &Flags);
     if (FAILED(hr)) {
         ERR("Failed to get property for video\n");
     }
@@ -1625,14 +1620,14 @@ static STDMETHODIMP SetVideoProcAmp(MCBackendWin *backend,
     HRESULT hr;
 
     IAMVideoProcAmp *pProcAmp = NULL;
-    hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter,
-                                                     &IID_IAMVideoProcAmp,
-                                                     (void **)&pProcAmp);
+    hr = IBaseFilter_QueryInterface(backend->pSrcFilter,
+                                    &IID_IAMVideoProcAmp,
+                                    (void **)&pProcAmp);
     if (FAILED(hr)) {
         return hr;
     }
 
-    hr = pProcAmp->lpVtbl->Set(pProcAmp, nProperty, value,
+    hr = IAMVideoProcAmp_Set(pProcAmp, nProperty, value,
                                VideoProcAmp_Flags_Manual);
     if (FAILED(hr)) {
         ERR("Failed to set property for video\n");
@@ -1664,7 +1659,7 @@ int marucam_device_check(void)
     ICaptureGraphBuilder2 *pCGB = NULL;
     IBaseFilter *pSrcFilter = NULL;
     IEnumMoniker *pEnumMK = NULL;
-    IMoniker *pMoniKer = NULL;
+    IMoniker *pMoniker = NULL;
     IAMStreamConfig *pSConfig = NULL;
     int iCount = 0, iSize = 0;
 
@@ -1732,7 +1727,7 @@ int marucam_device_check(void)
         return ret;
     }
 
-    hr = pCreateDevEnum->lpVtbl->CreateClassEnumerator(pCreateDevEnum,
+    hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum,
                                   &CLSID_VideoInputDeviceCategory, &pEnumMK, 0);
     if (FAILED(hr)) {
         ERR("Failed to create class enumerator\n");
@@ -1757,9 +1752,9 @@ int marucam_device_check(void)
                         t2.tv_sec-t1.tv_sec, t2.tv_usec-t1.tv_usec);
         return ret;
     }
-    pEnumMK->lpVtbl->Reset(pEnumMK);
+    IEnumMoniker_Reset(pEnumMK);
 
-    hr = pEnumMK->lpVtbl->Next(pEnumMK, 1, &pMoniKer, NULL);
+    hr = IEnumMoniker_Next(pEnumMK, 1, &pMoniker, NULL);
     if (FAILED(hr) || (hr == S_FALSE)) {
         ERR("Enum moniker returns a invalid value.\n");
         SAFE_RELEASE(pEnumMK);
@@ -1774,9 +1769,9 @@ int marucam_device_check(void)
     }
 
     IPropertyBag *pBag = NULL;
-    hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0,
-                                         &IID_IPropertyBag,
-                                         (void **)&pBag);
+    hr = IMoniker_BindToStorage(pMoniker, 0, 0,
+                                &IID_IPropertyBag,
+                                (void **)&pBag);
     if (FAILED(hr)) {
         ERR("Failed to bind to storage.\n");
         SAFE_RELEASE(pEnumMK);
@@ -1791,20 +1786,20 @@ int marucam_device_check(void)
     } else {
         VARIANT var;
         var.vt = VT_BSTR;
-        hr = pBag->lpVtbl->Read(pBag, L"FriendlyName", &var, NULL);
+        hr = IPropertyBag_Read(pBag, L"FriendlyName", &var, NULL);
         if (hr == S_OK) {
             ret = 1;
             device_name = __wchar_to_char(var.bstrVal);
             INFO("Device name : %s\n", device_name);
             g_free(device_name);
-            hr = pMoniKer->lpVtbl->BindToObject(pMoniKer, NULL, NULL,
-                                                &IID_IBaseFilter,
-                                                (void **)&pSrcFilter);
+            hr = IMoniker_BindToObject(pMoniker, NULL, NULL,
+                                       &IID_IBaseFilter,
+                                       (void **)&pSrcFilter);
             if (FAILED(hr)) {
                 ERR("Counldn't bind moniker to filter object!!\n");
                 SysFreeString(var.bstrVal);
                 SAFE_RELEASE(pBag);
-                SAFE_RELEASE(pMoniKer);
+                SAFE_RELEASE(pMoniker);
                 SAFE_RELEASE(pEnumMK);
                 SAFE_RELEASE(pCreateDevEnum);
                 SAFE_RELEASE(pCGB);
@@ -1815,15 +1810,15 @@ int marucam_device_check(void)
                                 t2.tv_sec-t1.tv_sec, t2.tv_usec-t1.tv_usec);
                 return ret;
             } else {
-                pSrcFilter->lpVtbl->AddRef(pSrcFilter);
+                IBaseFilter_AddRef(pSrcFilter);
             }
             SysFreeString(var.bstrVal);
         }
         SAFE_RELEASE(pBag);
     }
-    SAFE_RELEASE(pMoniKer);
+    SAFE_RELEASE(pMoniker);
 
-    hr = pGB->lpVtbl->AddFilter(pGB, pSrcFilter, L"Video Capture");
+    hr = IGraphBuilder_AddFilter(pGB, pSrcFilter, L"Video Capture");
     if (hr != S_OK && hr != S_FALSE) {
         ERR("Counldn't add Video Capture filter to our graph!\n");
         SAFE_RELEASE(pSrcFilter);
@@ -1838,9 +1833,9 @@ int marucam_device_check(void)
         return ret;
     }
 
-    hr = pCGB->lpVtbl->FindInterface(pCGB, &PIN_CATEGORY_CAPTURE, 0,
-                                       pSrcFilter, &IID_IAMStreamConfig,
-                                       (void **)&pSConfig);
+    hr = ICaptureGraphBuilder2_FindInterface(pCGB, &PIN_CATEGORY_CAPTURE, 0,
+                                             pSrcFilter, &IID_IAMStreamConfig,
+                                             (void **)&pSConfig);
     if (FAILED(hr)) {
         ERR("Failed to FindInterface method\n");
         SAFE_RELEASE(pSrcFilter);
@@ -1855,7 +1850,7 @@ int marucam_device_check(void)
         return ret;
     }
 
-    hr = pSConfig->lpVtbl->GetNumberOfCapabilities(pSConfig, &iCount, &iSize);
+    hr = IAMStreamConfig_GetNumberOfCapabilities(pSConfig, &iCount, &iSize);
     if (FAILED(hr)) {
         ERR("Failed to GetNumberOfCapabilities method\n");
         SAFE_RELEASE(pSConfig);
@@ -1877,8 +1872,8 @@ int marucam_device_check(void)
             VIDEO_STREAM_CONFIG_CAPS scc;
             AM_MEDIA_TYPE *pmtConfig;
 
-            hr = pSConfig->lpVtbl->GetStreamCaps(pSConfig, iFormat, &pmtConfig,
-                                                 (BYTE *)&scc);
+            hr = IAMStreamConfig_GetStreamCaps(pSConfig, iFormat, &pmtConfig,
+                                               (BYTE *)&scc);
             if (hr == S_OK) {
                 if (IsEqualIID(&pmtConfig->formattype, &FORMAT_VideoInfo)) {
                     VIDEOINFOHEADER *pvi =
@@ -1903,7 +1898,7 @@ int marucam_device_check(void)
         }
     }
 
-    hr = pGB->lpVtbl->RemoveFilter(pGB, pSrcFilter);
+    hr = IGraphBuilder_RemoveFilter(pGB, pSrcFilter);
     if (FAILED(hr)) {
         ERR("Failed to remove source filer. 0x%x\n", hr);
     }
@@ -2062,8 +2057,7 @@ static void backend_win_stream_on(MaruCamState *state)
     INFO("Starting preview\n");
 
     assert(backend->pCallback != NULL);
-    hr = ((HWCInPin *)backend->pInPin)->SetGrabCb(backend->pInPin,
-                                                  backend->pCallback);
+    hr = HWCPin_SetCallback(backend->pInPin, backend->pCallback);
     if (FAILED(hr)) {
         ERR("Failed to set IGrabCallback interface.\n");
         state->io_ptr->err_code = EINVAL;
@@ -2107,7 +2101,7 @@ static void backend_win_stream_off(MaruCamState *state)
     state->streamon = 0;
     qemu_mutex_unlock(&state->thread_mutex);
 
-    hr = ((HWCInPin *)backend->pInPin)->SetGrabCb(backend->pInPin, NULL);
+    hr = HWCPin_SetCallback(backend->pInPin, NULL);
     if (FAILED(hr)) {
         ERR("Failed to set IGrabCallback interface.\n");
         state->io_ptr->err_code = EINVAL;
@@ -2139,7 +2133,8 @@ static void backend_win_s_parm(MaruCamState *state)
 
 static void backend_win_g_parm(MaruCamState *state)
 {
-    struct v4l2_captureparm *cp = (struct v4l2_captureparm *)state->io_ptr->data;
+    struct v4l2_captureparm *cp =
+            (struct v4l2_captureparm *)state->io_ptr->data;
     /* We use default FPS of the webcam
      * return a fixed value on guest ini file (1/30).
      */
@@ -2420,7 +2415,7 @@ static void backend_win_s_ctrl(MaruCamState *state)
         break;
     default:
         ERR("Our emulator does not support this control: 0x%x\n", ctrl->id);
-        state->io_ptr->err_code= EINVAL;
+        state->io_ptr->err_code = EINVAL;
         state->io_ptr->ret_val = -1;
         return;
     }
@@ -2486,7 +2481,8 @@ static void backend_win_g_ctrl(MaruCamState *state)
 
 static void backend_win_enum_fsizes(MaruCamState *state)
 {
-    struct v4l2_frmsizeenum *fsize = (struct v4l2_frmsizeenum *)state->io_ptr->data;
+    struct v4l2_frmsizeenum *fsize =
+            (struct v4l2_frmsizeenum *)state->io_ptr->data;
     uint32_t i;
 
     if (fsize->index >= ARRAY_SIZE(support_frames)) {
@@ -2513,7 +2509,8 @@ static void backend_win_enum_fsizes(MaruCamState *state)
 
 static void backend_win_enum_fintv(MaruCamState *state)
 {
-    struct v4l2_frmivalenum *fival = (struct v4l2_frmivalenum *)state->io_ptr->data;
+    struct v4l2_frmivalenum *fival =
+            (struct v4l2_frmivalenum *)state->io_ptr->data;
 
     /* switch by index) */
     switch (fival->index) {