From 9eb6e9d9d3387adf12a2517d68d458852f9232ef Mon Sep 17 00:00:00 2001 From: Luca Abeni Date: Mon, 14 Dec 2009 10:33:24 +0000 Subject: [PATCH] Add support for V4L2 compressed formats in the table used for converting 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 | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index 5091cd47256..e06a91f11b9 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -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) -- 2.39.2