diff --git a/sys/v4l2/ext/videodev2.h b/sys/v4l2/ext/videodev2.h
index 14685d3..4aab32b 100644
--- a/sys/v4l2/ext/videodev2.h
+++ b/sys/v4l2/ext/videodev2.h
@@ -620,6 +620,11 @@
 #define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */
 #define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') /* H264 MVC */
 #define V4L2_PIX_FMT_HEVC     v4l2_fourcc('H', 'E', 'V', 'C') /* H.265 HEVC video */
+#define V4L2_PIX_FMT_RV       v4l2_fourcc('R', 'V', '0', '0') /* RV8/9/10 */
+#define V4L2_PIX_FMT_VP6      v4l2_fourcc('V', 'P', '6', '0') /* VP6 */
+#define V4L2_PIX_FMT_AVS      v4l2_fourcc('A', 'V', 'S', '0') /* AVS */
+#define V4L2_PIX_FMT_SPK      v4l2_fourcc('S', 'P', 'K', '0') /* Sorenson Spark */
+#define V4L2_PIX_FMT_DIVX     v4l2_fourcc('D', 'I', 'V', 'X') /* DivX */
 #define V4L2_PIX_FMT_H263     v4l2_fourcc('H', '2', '6', '3') /* H263          */
 #define V4L2_PIX_FMT_MPEG1    v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES     */
 #define V4L2_PIX_FMT_MPEG2    v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES     */
diff --git a/sys/v4l2/gstv4l2object.c b/sys/v4l2/gstv4l2object.c
index 48859ef..d09ec6a 100755
--- a/sys/v4l2/gstv4l2object.c
+++ b/sys/v4l2/gstv4l2object.c
@@ -173,6 +173,11 @@
   {V4L2_PIX_FMT_H264_NO_SC, FALSE, GST_V4L2_CODEC},
   {V4L2_PIX_FMT_H264_MVC, FALSE, GST_V4L2_CODEC},
   {V4L2_PIX_FMT_HEVC, FALSE, GST_V4L2_CODEC},
+  {V4L2_PIX_FMT_RV, FALSE, GST_V4L2_CODEC},
+  {V4L2_PIX_FMT_VP6, FALSE, GST_V4L2_CODEC},
+  {V4L2_PIX_FMT_AVS, FALSE, GST_V4L2_CODEC},
+  {V4L2_PIX_FMT_SPK, FALSE, GST_V4L2_CODEC},
+  {V4L2_PIX_FMT_DIVX, FALSE, GST_V4L2_CODEC},
   {V4L2_PIX_FMT_H263, FALSE, GST_V4L2_CODEC},
   {V4L2_PIX_FMT_MPEG1, FALSE, GST_V4L2_CODEC},
   {V4L2_PIX_FMT_MPEG2, FALSE, GST_V4L2_CODEC},
@@ -1458,10 +1463,27 @@
           "stream-format", G_TYPE_STRING, "byte-stream", "alignment",
           G_TYPE_STRING, "au", NULL);
       break;
+    case V4L2_PIX_FMT_RV:
+      structure = gst_structure_new_empty ("video/x-pn-realvideo");
+      break;
+    case V4L2_PIX_FMT_VP6:
+      structure = gst_structure_new_empty ("video/x-vp6-flash");
+      break;
+    case V4L2_PIX_FMT_AVS:
+      structure = gst_structure_new_empty ("video/x-cavs");
+      break;
+    case V4L2_PIX_FMT_SPK:
+      structure = gst_structure_new ("video/x-flash-video",
+          "flvversion", G_TYPE_INT, 1, NULL);
+      break;
+    case V4L2_PIX_FMT_DIVX:
+      structure = gst_structure_new ("video/x-divx",
+          "divxversion", G_TYPE_INT, 3, NULL);
+      break;
     case V4L2_PIX_FMT_VC1_ANNEX_G:
     case V4L2_PIX_FMT_VC1_ANNEX_L:
       structure = gst_structure_new ("video/x-wmv",
-          "wmvversion", G_TYPE_INT, 3, "format", G_TYPE_STRING, "WVC1", NULL);
+          "wmvversion", G_TYPE_INT, 3, NULL);
       break;
     case V4L2_PIX_FMT_VP8:
       structure = gst_structure_new_empty ("video/x-vp8");
@@ -1840,6 +1862,24 @@
         fourcc = V4L2_PIX_FMT_H264;
     } else if (g_str_equal (mimetype, "video/x-h265")) {
       fourcc = V4L2_PIX_FMT_HEVC;
+    } else if (g_str_equal (mimetype, "video/x-pn-realvideo")) {
+      fourcc = V4L2_PIX_FMT_RV;
+    } else if (g_str_equal (mimetype, "video/x-vp6-flash")) {
+      fourcc = V4L2_PIX_FMT_VP6;
+    } else if (g_str_equal (mimetype, "video/x-cavs")) {
+      fourcc = V4L2_PIX_FMT_AVS;
+    } else if (g_str_equal (mimetype, "video/x-flash-video")) {
+      fourcc = V4L2_PIX_FMT_SPK;
+    } else if (g_str_equal (mimetype, "video/x-divx")) {
+      fourcc = V4L2_PIX_FMT_DIVX;
+    } else if (g_str_equal (mimetype, "video/x-wmv")) {
+      const gchar *format = gst_structure_get_string (structure, "format");
+      if (format) {
+        if (!g_ascii_strcasecmp (format, "WMV3"))
+          fourcc = V4L2_PIX_FMT_VC1_ANNEX_G;
+        else if (!g_ascii_strcasecmp (format, "WVC1"))
+          fourcc = V4L2_PIX_FMT_VC1_ANNEX_L;
+      }
     } else if (g_str_equal (mimetype, "video/x-vp8")) {
       fourcc = V4L2_PIX_FMT_VP8;
     } else if (g_str_equal (mimetype, "video/x-vp9")) {
diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index b04c163..b0eea9f 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -1155,6 +1155,16 @@
     SET_META ("H264");
   } else if (gst_structure_has_name (s, "video/x-h265")) {
     SET_META ("H265");
+  } else if (gst_structure_has_name (s, "video/x-pn-realvideo")) {
+    SET_META ("RV");
+  } else if (gst_structure_has_name (s, "video/x-vp6-flash")) {
+    SET_META ("VP6");
+  } else if (gst_structure_has_name (s, "video/x-cavs")) {
+    SET_META ("AVS");
+  } else if (gst_structure_has_name (s, "video/x-flash-video")) {
+    SET_META ("SPK");
+  } else if (gst_structure_has_name (s, "video/x-divx")) {
+    SET_META ("DIVX");
   } else if (gst_structure_has_name (s, "video/x-wmv")) {
     SET_META ("VC1");
   } else if (gst_structure_has_name (s, "video/x-vp8")) {
