[Title] fixed a bug that frame size is invalid with YUY2 format in Windows
authorjinhyung.jo <jinhyung.jo@samsung.com>
Tue, 4 Sep 2012 06:57:49 +0000 (15:57 +0900)
committerjinhyung.jo <jinhyung.jo@samsung.com>
Tue, 4 Sep 2012 06:57:49 +0000 (15:57 +0900)
[Type] bugfix
[Module] emulator tools
[Priority] minor
[CQ#]
[Redmine#]
[Problem]
[Cause]
[Solution]
[TestCase]

tizen/src/hw/maru_camera_win32_pci.c

index a11eb8f90210f0fd8de1d92ac766e8f3765f48c6..80536f89c0fb59addbba09126a78653ce7f057c2 100644 (file)
@@ -94,7 +94,7 @@ static STDMETHODIMP_(ULONG) HWCGrabCallback_Release(IGrabCallback *iface)
 {\r
     HWCGrabCallback *This = impl_from_IGrabCallback(iface);\r
 \r
-    ifInterlockedDecrement(&This->m_cRef) == 0)\r
+    if (InterlockedDecrement(&This->m_cRef) == 0)\r
     {\r
         This->m_pCallback = NULL;\r
         g_free((void*)This);\r
@@ -203,7 +203,7 @@ static STDMETHODIMP_(ULONG) HWCPin_Release(IPin *iface)
 {\r
     HWCInPin *This = impl_from_IPin(iface);\r
 \r
-    ifInterlockedDecrement(&This->m_cRef) == 0)\r
+    if (InterlockedDecrement(&This->m_cRef) == 0)\r
     {\r
         if (This->m_pCFilter) {\r
             IBaseFilter_Release(This->m_pCFilter);\r
@@ -225,13 +225,15 @@ static STDMETHODIMP_(ULONG) HWCPin_Release(IPin *iface)
 \r
 static STDMETHODIMP HWCPin_Connect(IPin *iface, IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)\r
 {\r
-    if ( !pmt )\r
+    if (!pmt)\r
         return S_OK;\r
     return S_FALSE;\r
 }\r
 \r
 static STDMETHODIMP HWCPin_ReceiveConnection(IPin *iface, IPin *pConnector, const AM_MEDIA_TYPE *pmt)\r
 {\r
+    PIN_DIRECTION pd;\r
+    FILTER_STATE fs;\r
     HWCInPin *This = impl_from_IPin(iface);\r
 \r
     if (pConnector == NULL || pmt == NULL)\r
@@ -240,12 +242,10 @@ static STDMETHODIMP HWCPin_ReceiveConnection(IPin *iface, IPin *pConnector, cons
     if (This->m_pConnectedPin) {\r
         return VFW_E_ALREADY_CONNECTED;\r
     }\r
-    FILTER_STATE fs;\r
     IBaseFilter_GetState(This->m_pCFilter, 0, &fs);\r
     if (fs != State_Stopped) {\r
         return VFW_E_NOT_STOPPED;\r
     }\r
-    PIN_DIRECTION pd;\r
     IPin_QueryDirection(pConnector, &pd);\r
     if (pd == PINDIR_INPUT) {\r
         return VFW_E_INVALID_DIRECTION;\r
@@ -321,9 +321,10 @@ static STDMETHODIMP HWCPin_QueryDirection(IPin *iface, PIN_DIRECTION *pPinDir)
 \r
 static STDMETHODIMP HWCPin_QueryId(IPin *iface, LPWSTR *Id)\r
 {\r
+    PVOID pId;\r
     if (Id == NULL)\r
         return E_POINTER;\r
-    PVOID pId = CoTaskMemAlloc(sizeof(HWCPinName));\r
+    pId = CoTaskMemAlloc(sizeof(HWCPinName));\r
     memcpy((void*)pId, (void*)HWCPinName, sizeof(HWCPinName));\r
     *Id = (LPWSTR)pId;\r
     return S_OK;\r
@@ -397,7 +398,7 @@ static STDMETHODIMP_(ULONG) HWCMemInputPin_Release(IMemInputPin *iface)
 {\r
     HWCInPin *This = impl_from_IMemInputPin(iface);\r
 \r
-    ifInterlockedDecrement(&This->m_cRef) == 0)\r
+    if (InterlockedDecrement(&This->m_cRef) == 0)\r
     {\r
         if (This->m_pCFilter) {\r
             IBaseFilter_Release(This->m_pCFilter);\r
@@ -441,19 +442,26 @@ static STDMETHODIMP HWCMemInputPin_Receive(IMemInputPin *iface, IMediaSample *pS
 {\r
     HWCInPin *This = impl_from_IMemInputPin(iface);\r
 \r
-    if (pSample == NULL)\r
+    if (pSample == NULL) {\r
+        ERR("pSample is NULL\n");\r
         return E_POINTER;\r
+    }\r
     if (This->m_pCallback != NULL) {\r
         HRESULT hr;\r
         BYTE* pBuffer = NULL;\r
         DWORD dwSize = 0;\r
         dwSize = IMediaSample_GetSize(pSample);\r
         hr = IMediaSample_GetPointer(pSample, &pBuffer);\r
-        if (FAILED(hr))\r
+        if (FAILED(hr)) {\r
+            ERR("Receive function : "\r
+                "failed to IMediaSample_GetPointer, 0x%ld\n", hr);\r
             return hr;\r
+        }\r
         hr = IGrabCallback_Grab(This->m_pCallback, dwSize, pBuffer);\r
-        if (FAILED(hr))\r
+        if (FAILED(hr)) {\r
+            ERR("Receive function : failed to IGrabCallback_Grab, 0x%ld\n", hr);\r
             return hr;\r
+        }\r
     }\r
     return S_OK;\r
 }\r
@@ -633,18 +641,18 @@ static STDMETHODIMP HWCEnumPins_Next(IEnumPins *iface, ULONG cPins, IPin **ppPin
         fetched = 0;\r
     }\r
 \r
-    if (pcFetched != NULL ) {\r
+    if (pcFetched != NULL) {\r
         *pcFetched = fetched;\r
     }\r
 \r
-    return ( fetched == cPins ) ? S_OK : S_FALSE;\r
+    return (fetched == cPins) ? S_OK : S_FALSE;\r
 }\r
 \r
 static STDMETHODIMP HWCEnumPins_Skip(IEnumPins *iface, ULONG cPins)\r
 {\r
     HWCEnumPins *This = impl_from_IEnumPins(iface);\r
     This->m_nPos += cPins;\r
-    return ( This->m_nPos >= 1 ) ? S_FALSE : S_OK;\r
+    return (This->m_nPos >= 1) ? S_FALSE : S_OK;\r
 }\r
 \r
 static STDMETHODIMP HWCEnumPins_Reset(IEnumPins *iface)\r
@@ -723,7 +731,7 @@ static inline HWCFilter *impl_from_IBaseFilter(IBaseFilter *iface)
 \r
 static STDMETHODIMP HWCFilter_QueryInterface(IBaseFilter *iface, REFIID riid, void **ppv)\r
 {\r
-    if(IsEqualIID(riid, &IID_IUnknown)) {\r
+    if (IsEqualIID(riid, &IID_IUnknown)) {\r
         *ppv = (IUnknown*)iface;\r
     } else if (IsEqualIID(riid, &IID_IPersist)) {\r
         *ppv = (IPersist*)iface;\r
@@ -751,7 +759,7 @@ static STDMETHODIMP_(ULONG) HWCFilter_Release(IBaseFilter *iface)
 {\r
     HWCFilter *This = impl_from_IBaseFilter(iface);\r
 \r
-    ifInterlockedDecrement(&This->m_cRef) == 0) {\r
+    if (InterlockedDecrement(&This->m_cRef) == 0) {\r
         if (This->m_pPin) {\r
             IPin_Release(This->m_pPin);\r
             This->m_pPin = NULL;\r
@@ -815,6 +823,7 @@ static STDMETHODIMP HWCFilter_Run(IBaseFilter *iface, REFERENCE_TIME tStart)
         HRESULT hr;\r
         hr = IBaseFilter_Pause(iface);\r
         if (FAILED(hr)) {\r
+            ERR("HWCFilter_Run : Failed to IBaseFilter_Pause, ret=0xld%\n", hr);\r
             return hr;\r
         }\r
     }\r
@@ -861,7 +870,7 @@ static STDMETHODIMP HWCFilter_QueryFilterInfo(IBaseFilter *iface, FILTER_INFO *p
 \r
     memcpy((void*)pInfo->achName, (void*)HWCFilterName, sizeof(HWCFilterName));\r
     pInfo->pGraph = This->m_pFilterGraph;\r
-    if(This->m_pFilterGraph) {\r
+    if (This->m_pFilterGraph) {\r
         IFilterGraph_AddRef(This->m_pFilterGraph);\r
     }\r
     return S_OK;\r
@@ -942,7 +951,7 @@ IBaseFilter *g_pSrcFilter;
 \r
 IGrabCallback *g_pCallback;\r
 \r
-// V4L2 defines copy from videodev2.h\r
+/* V4L2 defines copy from videodev2.h */\r
 #define V4L2_CTRL_FLAG_SLIDER       0x0020\r
 \r
 #define V4L2_CTRL_CLASS_USER        0x00980000\r
@@ -952,9 +961,9 @@ IGrabCallback *g_pCallback;
 #define V4L2_CID_SATURATION         (V4L2_CID_BASE+2)\r
 #define V4L2_CID_SHARPNESS          (V4L2_CID_BASE+27)\r
 \r
-#define V4L2_PIX_FMT_YUYV    MAKEFOURCC('Y', 'U', 'Y', 'V') /* 16  YUV 4:2:2     */\r
-#define V4L2_PIX_FMT_YUV420  MAKEFOURCC('Y', 'U', '1', '2') /* 12  YUV 4:2:0     */\r
-#define V4L2_PIX_FMT_YVU420  MAKEFOURCC('Y', 'V', '1', '2') /* 12  YVU 4:2:0     */\r
+#define V4L2_PIX_FMT_YUYV    MAKEFOURCC('Y', 'U', 'Y', 'V') /* 16  YUV 4:2:2 */\r
+#define V4L2_PIX_FMT_YUV420  MAKEFOURCC('Y', 'U', '1', '2') /* 12  YUV 4:2:0 */\r
+#define V4L2_PIX_FMT_YVU420  MAKEFOURCC('Y', 'V', '1', '2') /* 12  YVU 4:2:0 */\r
 \r
 typedef struct tagMaruCamConvertPixfmt {\r
     uint32_t fmt;   /* fourcc */\r
@@ -1013,6 +1022,29 @@ static uint32_t cur_frame_idx = 0;
  * Helper functions - converting image formats, converting values\r
  */\r
 \r
+static uint32_t get_bytesperline(uint32_t pixfmt, uint32_t width)\r
+{\r
+    uint32_t bytesperline;\r
+\r
+    switch (pixfmt) {\r
+    case V4L2_PIX_FMT_YUV420:\r
+    case V4L2_PIX_FMT_YVU420:\r
+        bytesperline = (width * 12) >> 3;\r
+        break;\r
+    case V4L2_PIX_FMT_YUYV:\r
+    default:\r
+        bytesperline = width * 2;\r
+        break;\r
+    }\r
+\r
+    return bytesperline;\r
+}\r
+\r
+static uint32_t get_sizeimage(uint32_t pixfmt, uint32_t width, uint32_t height)\r
+{\r
+    return (get_bytesperline(pixfmt, width) * height);\r
+}\r
+\r
 void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dest,\r
         uint32_t width, uint32_t height, uint32_t yvu);\r
 \r
@@ -1238,7 +1270,7 @@ static STDMETHODIMP BindSourceFilter(void)
     {\r
         IPropertyBag *pBag = NULL;\r
         hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0, &IID_IPropertyBag, (void **)&pBag);\r
-        if(SUCCEEDED(hr))\r
+        if (SUCCEEDED(hr))\r
         {\r
             VARIANT var;\r
             var.vt = VT_BSTR;\r
@@ -1483,7 +1515,7 @@ int marucam_device_check(void)
     {\r
         IPropertyBag *pBag = NULL;\r
         hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0, &IID_IPropertyBag, (void **)&pBag);\r
-        if(SUCCEEDED(hr))\r
+        if (SUCCEEDED(hr))\r
         {\r
             VARIANT var;\r
             var.vt = VT_BSTR;\r
@@ -1503,13 +1535,13 @@ error:
     return ret;\r
 }\r
 \r
-// MARUCAM_CMD_INIT\r
+/* MARUCAM_CMD_INIT */\r
 void marucam_device_init(MaruCamState* state)\r
 {\r
     g_state = state;\r
 }\r
 \r
-// MARUCAM_CMD_OPEN\r
+/* MARUCAM_CMD_OPEN */\r
 void marucam_device_open(MaruCamState* state)\r
 {\r
     HRESULT hr;\r
@@ -1517,7 +1549,7 @@ void marucam_device_open(MaruCamState* state)
     MaruCamParam *param = state->param;\r
     param->top = 0;\r
 \r
-    hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);\r
+    hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);\r
     if (FAILED(hr)) {\r
         ERR("CoInitailizeEx\n");\r
         ERR("camera device open failed!!!, [HRESULT : 0x%x]\n", hr);\r
@@ -1570,7 +1602,7 @@ error_failed:
     ERR("camera device open failed!!!, [HRESULT : 0x%x]\n", hr);\r
 }\r
 \r
-// MARUCAM_CMD_CLOSE\r
+/* MARUCAM_CMD_CLOSE */\r
 void marucam_device_close(MaruCamState* state)\r
 {\r
     MaruCamParam *param = state->param;\r
@@ -1581,14 +1613,19 @@ void marucam_device_close(MaruCamState* state)
     INFO("Close successfully!!!\n");\r
 }\r
 \r
-// MARUCAM_CMD_START_PREVIEW\r
+/* MARUCAM_CMD_START_PREVIEW */\r
 void marucam_device_start_preview(MaruCamState* state)\r
 {\r
     HRESULT hr;\r
-    uint32_t width, height;\r
+    uint32_t pixfmt, width, height;\r
     MaruCamParam *param = state->param;\r
     param->top = 0;\r
 \r
+    width = supported_dst_frames[cur_frame_idx].width;\r
+    height = supported_dst_frames[cur_frame_idx].height;\r
+    pixfmt = supported_dst_pixfmts[cur_fmt_idx].fmt;\r
+    state->buf_size = get_sizeimage(pixfmt, width, height);\r
+\r
     assert(g_pCallback != NULL);\r
     hr = ((HWCInPin*)g_pInputPin)->SetGrabCallbackIF(g_pInputPin, g_pCallback);\r
     if (FAILED(hr)) {\r
@@ -1599,7 +1636,7 @@ void marucam_device_start_preview(MaruCamState* state)
 \r
     hr = g_pMediaControl->lpVtbl->Run(g_pMediaControl);\r
     if (FAILED(hr)) {\r
-        ERR("Failed to run media control.\n");\r
+        ERR("Failed to run media control. hr=0x%x\n", hr);\r
         param->errCode = EINVAL;\r
         return;\r
     }\r
@@ -1609,30 +1646,26 @@ void marucam_device_start_preview(MaruCamState* state)
     ready_count = 0;\r
     qemu_mutex_unlock(&state->thread_mutex);\r
 \r
-    width = supported_dst_frames[cur_frame_idx].width;\r
-    height = supported_dst_frames[cur_frame_idx].height;\r
-    state->buf_size = height * ((width * supported_dst_pixfmts[cur_fmt_idx].bpp) >> 3);\r
-\r
     INFO("Start preview!!!\n");\r
 }\r
 \r
-// MARUCAM_CMD_STOP_PREVIEW\r
+/* MARUCAM_CMD_STOP_PREVIEW */\r
 void marucam_device_stop_preview(MaruCamState* state)\r
 {\r
     HRESULT hr;\r
     MaruCamParam *param = state->param;\r
     param->top = 0;\r
 \r
-    hr = ((HWCInPin*)g_pInputPin)->SetGrabCallbackIF(g_pInputPin, NULL);\r
+    hr = g_pMediaControl->lpVtbl->Stop(g_pMediaControl);\r
     if (FAILED(hr)) {\r
-        ERR("Failed to set IGrabCallback interface.\n");\r
+        ERR("Failed to stop media control.\n");\r
         param->errCode = EINVAL;\r
         return;\r
     }\r
 \r
-    hr = g_pMediaControl->lpVtbl->Stop(g_pMediaControl);\r
+    hr = ((HWCInPin*)g_pInputPin)->SetGrabCallbackIF(g_pInputPin, NULL);\r
     if (FAILED(hr)) {\r
-        ERR("Failed to stop media control.\n");\r
+        ERR("Failed to set IGrabCallback interface.\n");\r
         param->errCode = EINVAL;\r
         return;\r
     }\r
@@ -1645,7 +1678,7 @@ void marucam_device_stop_preview(MaruCamState* state)
     INFO("Stop preview!!!\n");\r
 }\r
 \r
-// MARUCAM_CMD_S_PARAM\r
+/* MARUCAM_CMD_S_PARAM */\r
 void marucam_device_s_param(MaruCamState* state)\r
 {\r
     MaruCamParam *param = state->param;\r
@@ -1654,7 +1687,7 @@ void marucam_device_s_param(MaruCamState* state)
     param->top = 0;\r
 }\r
 \r
-// MARUCAM_CMD_G_PARAM\r
+/* MARUCAM_CMD_G_PARAM */\r
 void marucam_device_g_param(MaruCamState* state)\r
 {\r
     MaruCamParam *param = state->param;\r
@@ -1668,16 +1701,16 @@ void marucam_device_g_param(MaruCamState* state)
     param->stack[2] = 30; /* denominator */\r
 }\r
 \r
-// MARUCAM_CMD_S_FMT\r
+/* MARUCAM_CMD_S_FMT */\r
 void marucam_device_s_fmt(MaruCamState* state)\r
 {\r
     uint32_t width, height, pixfmt, pidx, fidx;\r
     MaruCamParam *param = state->param;\r
 \r
     param->top = 0;\r
-    width = param->stack[0];        // width\r
-    height = param->stack[1];       // height\r
-    pixfmt = param->stack[2];       // pixelformat\r
+    width = param->stack[0];\r
+    height = param->stack[1];\r
+    pixfmt = param->stack[2];\r
 \r
     for (fidx = 0; fidx < ARRAY_SIZE(supported_dst_frames); fidx++) {\r
         if ((supported_dst_frames[fidx].width == width) &&\r
@@ -1708,36 +1741,42 @@ void marucam_device_s_fmt(MaruCamState* state)
         }\r
     }\r
 \r
+    cur_frame_idx = fidx;\r
+    cur_fmt_idx = pidx;\r
+\r
+    pixfmt = supported_dst_pixfmts[cur_fmt_idx].fmt;\r
+    width = supported_dst_frames[cur_frame_idx].width;\r
+    height = supported_dst_frames[cur_frame_idx].height;\r
+\r
     param->stack[0] = width;\r
     param->stack[1] = height;\r
-    param->stack[2] = 1; // V4L2_FIELD_NONE\r
+    param->stack[2] = 1; /* V4L2_FIELD_NONE */\r
     param->stack[3] = pixfmt;\r
-    // bytes per line = (width * bpp) / 8\r
-    param->stack[4] = (width * supported_dst_pixfmts[pidx].bpp) >> 3;\r
-    param->stack[5] = param->stack[4] * height; // height * bytesperline\r
+    param->stack[4] = get_bytesperline(pixfmt, width);\r
+    param->stack[5] = get_sizeimage(pixfmt, width, height);\r
     param->stack[6] = 0;\r
     param->stack[7] = 0;\r
 \r
-    cur_frame_idx = fidx;\r
-    cur_fmt_idx = pidx;\r
-\r
     TRACE("Set format...\n");\r
 }\r
 \r
-// MARUCAM_CMD_G_FMT\r
+/* MARUCAM_CMD_G_FMT */\r
 void marucam_device_g_fmt(MaruCamState* state)\r
 {\r
+    uint32_t width, height, pixfmt;\r
     MaruCamParam *param = state->param;\r
 \r
     param->top = 0;\r
+    pixfmt = supported_dst_pixfmts[cur_fmt_idx].fmt;\r
+    width = supported_dst_frames[cur_frame_idx].width;\r
+    height = supported_dst_frames[cur_frame_idx].height;\r
 \r
-    param->stack[0] = supported_dst_frames[cur_frame_idx].width;    // width\r
-    param->stack[1] = supported_dst_frames[cur_frame_idx].height;   // height\r
-    param->stack[2] = 1; // V4L2_FIELD_NONE\r
-    param->stack[3] = supported_dst_pixfmts[cur_fmt_idx].fmt;   // pixelformat\r
-    // bytes per line = (width * bpp) / 8\r
-    param->stack[4] = (param->stack[0] * supported_dst_pixfmts[cur_fmt_idx].bpp) >> 3;\r
-    param->stack[5] = param->stack[1] * param->stack[4];    // height * bytesperline\r
+    param->stack[0] = width;\r
+    param->stack[1] = height;\r
+    param->stack[2] = 1; /* V4L2_FIELD_NONE */\r
+    param->stack[3] = pixfmt;\r
+    param->stack[4] = get_bytesperline(pixfmt, width);\r
+    param->stack[5] = get_sizeimage(pixfmt, width, height);\r
     param->stack[6] = 0;\r
     param->stack[7] = 0;\r
 \r
@@ -1750,9 +1789,9 @@ void marucam_device_try_fmt(MaruCamState* state)
     MaruCamParam *param = state->param;\r
 \r
     param->top = 0;\r
-    width = param->stack[0];        // width\r
-    height = param->stack[1];       // height\r
-    pixfmt = param->stack[2];       // pixelformat\r
+    width = param->stack[0];\r
+    height = param->stack[1];\r
+    pixfmt = param->stack[2];\r
 \r
     for (i = 0; i < ARRAY_SIZE(supported_dst_frames); i++) {\r
         if ((supported_dst_frames[i].width == width) &&\r
@@ -1776,11 +1815,10 @@ void marucam_device_try_fmt(MaruCamState* state)
 \r
     param->stack[0] = width;\r
     param->stack[1] = height;\r
-    param->stack[2] = 1; // V4L2_FIELD_NONE\r
+    param->stack[2] = 1; /* V4L2_FIELD_NONE */\r
     param->stack[3] = pixfmt;\r
-    // bytes per line = (width * bpp) / 8\r
-    param->stack[4] = (width * supported_dst_pixfmts[i].bpp) >> 3;\r
-    param->stack[5] = param->stack[4] * height; // height * bytesperline\r
+    param->stack[4] = get_bytesperline(pixfmt, width);\r
+    param->stack[5] = get_sizeimage(pixfmt, width, height);\r
     param->stack[6] = 0;\r
     param->stack[7] = 0;\r
 }\r
@@ -1797,12 +1835,12 @@ void marucam_device_enum_fmt(MaruCamState* state)
         param->errCode = EINVAL;\r
         return;\r
     }\r
-    param->stack[1] = 0;                            // flags = NONE;\r
-    param->stack[2] = supported_dst_pixfmts[index].fmt; // pixelformat;\r
+    param->stack[1] = 0; /* flags = NONE */\r
+    param->stack[2] = supported_dst_pixfmts[index].fmt; /* pixelformat */\r
     /* set description */\r
     switch (supported_dst_pixfmts[index].fmt) {\r
     case V4L2_PIX_FMT_YUYV:\r
-        memcpy(&param->stack[3], "YUY2", 32);\r
+        memcpy(&param->stack[3], "YUYV", 32);\r
         break;\r
     case V4L2_PIX_FMT_YUV420:\r
         memcpy(&param->stack[3], "YU12", 32);\r
@@ -1879,10 +1917,10 @@ void marucam_device_qctrl(MaruCamState* state)
     }\r
 \r
     param->stack[0] = id;\r
-    param->stack[1] = MARUCAM_CTRL_VALUE_MIN;   // minimum\r
-    param->stack[2] = MARUCAM_CTRL_VALUE_MAX;   // maximum\r
-    param->stack[3] = MARUCAM_CTRL_VALUE_STEP;// step\r
-    param->stack[4] = MARUCAM_CTRL_VALUE_MID;   // default_value\r
+    param->stack[1] = MARUCAM_CTRL_VALUE_MIN;  /* minimum */\r
+    param->stack[2] = MARUCAM_CTRL_VALUE_MAX;  /* maximum */\r
+    param->stack[3] = MARUCAM_CTRL_VALUE_STEP; /*  step   */\r
+    param->stack[4] = MARUCAM_CTRL_VALUE_MID;  /* default_value */\r
     param->stack[5] = V4L2_CTRL_FLAG_SLIDER;\r
     /* name field setting */\r
     memcpy(&param->stack[6], (void*)name, sizeof(name)/sizeof(name[0]));\r
@@ -2001,16 +2039,16 @@ void marucam_device_enum_fintv(MaruCamState* state)
 \r
     param->top = 0;\r
 \r
-    // switch by index(param->stack[0])\r
+    /* switch by index(param->stack[0]) */\r
     switch (param->stack[0]) {\r
     case 0:\r
-        param->stack[1] = 30;   // denominator\r
+        param->stack[1] = 30; /* denominator */\r
         break;\r
     default:\r
         param->errCode = EINVAL;\r
         return;\r
     }\r
-    param->stack[0] = 1;    // numerator\r
+    param->stack[0] = 1; /* numerator */\r
 }\r
 \r
 void v4lconvert_yuyv_to_yuv420(const unsigned char *src, unsigned char *dest,\r