]> git.sesse.net Git - ffmpeg/commitdiff
Add support for V4L2 compressed formats in the table used for converting
authorLuca Abeni <lucabe72@email.it>
Mon, 14 Dec 2009 10:33:24 +0000 (10:33 +0000)
committerLuca Abeni <lucabe72@email.it>
Mon, 14 Dec 2009 10:33:24 +0000 (10:33 +0000)
between V4L2 formats and ffmpeg's formats/codecs.
Patch by klchxbec AT freenet DOT de.

Originally committed as revision 20857 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavdevice/v4l2.c

index 5091cd4725623cf5c653d7ebc81d01dc2980de3f..e06a91f11b9cb74d6df471d1767574d69a9ab77e 100644 (file)
@@ -72,58 +72,81 @@ struct buff_data {
 
 struct fmt_map {
     enum PixelFormat ff_fmt;
+    enum CodecID codec_id;
     uint32_t v4l2_fmt;
 };
 
 static struct fmt_map fmt_conversion_table[] = {
     {
         .ff_fmt = PIX_FMT_YUV420P,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_YUV420,
     },
     {
         .ff_fmt = PIX_FMT_YUV422P,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_YUV422P,
     },
     {
         .ff_fmt = PIX_FMT_YUYV422,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_YUYV,
     },
     {
         .ff_fmt = PIX_FMT_UYVY422,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_UYVY,
     },
     {
         .ff_fmt = PIX_FMT_YUV411P,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_YUV411P,
     },
     {
         .ff_fmt = PIX_FMT_YUV410P,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_YUV410,
     },
     {
         .ff_fmt = PIX_FMT_RGB555,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_RGB555,
     },
     {
         .ff_fmt = PIX_FMT_RGB565,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_RGB565,
     },
     {
         .ff_fmt = PIX_FMT_BGR24,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_BGR24,
     },
     {
         .ff_fmt = PIX_FMT_RGB24,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_RGB24,
     },
     {
         .ff_fmt = PIX_FMT_BGRA,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_BGR32,
     },
     {
         .ff_fmt = PIX_FMT_GRAY8,
+        .codec_id = CODEC_ID_RAWVIDEO,
         .v4l2_fmt = V4L2_PIX_FMT_GREY,
     },
+    {
+        .ff_fmt = PIX_FMT_NONE,
+        .codec_id = CODEC_ID_MJPEG,
+        .v4l2_fmt = V4L2_PIX_FMT_MJPEG,
+    },
+    {
+        .ff_fmt = PIX_FMT_NONE,
+        .codec_id = CODEC_ID_MJPEG,
+        .v4l2_fmt = V4L2_PIX_FMT_JPEG,
+    },
 };
 
 static int device_open(AVFormatContext *ctx, uint32_t *capabilities)