diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index 375c8b6..48859ef 100755
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -144,7 +144,7 @@
 
   /* two planes -- one Y, one Cr + Cb interleaved  */
   {V4L2_PIX_FMT_NV12, TRUE, GST_V4L2_RAW},
-  {V4L2_PIX_FMT_NV12_10BIT, TRUE, GST_V4L2_RAW},
+//  {V4L2_PIX_FMT_NV12_10BIT, TRUE, GST_V4L2_RAW},
   {V4L2_PIX_FMT_NV12M, TRUE, GST_V4L2_RAW},
   {V4L2_PIX_FMT_NV12MT, TRUE, GST_V4L2_RAW},
   {V4L2_PIX_FMT_NV12MT_16X16, TRUE, GST_V4L2_RAW},
@@ -1060,7 +1060,7 @@
       break;
 
     case V4L2_PIX_FMT_NV12:    /* 12  Y/CbCr 4:2:0  */
-    case V4L2_PIX_FMT_NV12_10BIT:    /* 12  Y/CbCr 4:2:0  */
+//    case V4L2_PIX_FMT_NV12_10BIT:    /* 12  Y/CbCr 4:2:0  */
     case V4L2_PIX_FMT_NV12M:   /* Same as NV12      */
     case V4L2_PIX_FMT_NV12MT:  /* NV12 64x32 tile   */
     case V4L2_PIX_FMT_NV21:    /* 12  Y/CrCb 4:2:0  */
@@ -1329,9 +1329,9 @@
     case V4L2_PIX_FMT_NV12M:
       format = GST_VIDEO_FORMAT_NV12;
       break;
-    case V4L2_PIX_FMT_NV12_10BIT:
-      format = GST_VIDEO_FORMAT_NV12_10LE;
-      break;
+//    case V4L2_PIX_FMT_NV12_10BIT:
+//      format = GST_VIDEO_FORMAT_NV12_10LE;
+//      break;
     case V4L2_PIX_FMT_NV12MT:
       format = GST_VIDEO_FORMAT_NV12_64Z32;
       break;
@@ -1486,7 +1486,7 @@
     case V4L2_PIX_FMT_XBGR32:
     case V4L2_PIX_FMT_ABGR32:
     case V4L2_PIX_FMT_NV12:    /* 12  Y/CbCr 4:2:0  */
-    case V4L2_PIX_FMT_NV12_10BIT:    /* 12  Y/CbCr 4:2:0  */
+//    case V4L2_PIX_FMT_NV12_10BIT:    /* 12  Y/CbCr 4:2:0  */
     case V4L2_PIX_FMT_NV12M:
     case V4L2_PIX_FMT_NV12MT:
     case V4L2_PIX_FMT_NV21:    /* 12  Y/CrCb 4:2:0  */
@@ -1739,9 +1739,9 @@
         fourcc = V4L2_PIX_FMT_NV12;
         fourcc_nc = V4L2_PIX_FMT_NV12M;
         break;
-      case GST_VIDEO_FORMAT_NV12_10LE:
-        fourcc = V4L2_PIX_FMT_NV12_10BIT;
-        break;
+//      case GST_VIDEO_FORMAT_NV12_10LE:
+//        fourcc = V4L2_PIX_FMT_NV12_10BIT;
+//        break;
       case GST_VIDEO_FORMAT_NV12_64Z32:
         fourcc_nc = V4L2_PIX_FMT_NV12MT;
         break;
@@ -3956,17 +3956,14 @@
   GstFlowReturn res;
   struct v4l2_event evt;
 
-  GST_ERROR_OBJECT (v4l2object, "dequeueing a event");
   if ((res = gst_v4l2_object_poll (v4l2object)) != GST_FLOW_OK)
     goto poll_failed;
 
-  GST_ERROR_OBJECT (v4l2object, "1equeueing a event");
 
   memset (&evt, 0x00, sizeof (struct v4l2_event));
   if (v4l2object->ioctl (v4l2object->video_fd, VIDIOC_DQEVENT, &evt) < 0)
     goto dqevent_failed;
 
-  GST_ERROR_OBJECT (v4l2object, "2equeueing a event: %d", evt.type);
   switch (evt.type)
   {
     case V4L2_EVENT_SOURCE_CHANGE:
