summaryrefslogtreecommitdiff
path: root/libavdevice
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2012-02-05 20:06:12 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2012-02-05 20:06:12 +0100
commit5fa1a1d8fc35cfcec14454ae07432b91839d2309 (patch)
treee0bd3ea4bfd832f6451726db83de786fcef2a2d2 /libavdevice
parent42ae83c196d5747e8a87772a50a02a7b3f2855c3 (diff)
Support YV12 from video4linux2 devices.
Reviewed-by: Luca Abeni
Diffstat (limited to 'libavdevice')
-rw-r--r--libavdevice/v4l2.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c
index ca8a61dbf7..642df1d08a 100644
--- a/libavdevice/v4l2.c
+++ b/libavdevice/v4l2.c
@@ -108,6 +108,7 @@ struct fmt_map {
static struct fmt_map fmt_conversion_table[] = {
//ff_fmt codec_id v4l2_fmt
{ PIX_FMT_YUV420P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV420 },
+ { PIX_FMT_YUV420P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YVU420 },
{ PIX_FMT_YUV422P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV422P },
{ PIX_FMT_YUYV422, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUYV },
{ PIX_FMT_UYVY422, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_UYVY },
@@ -793,6 +794,8 @@ static int v4l2_read_header(AVFormatContext *s1)
if (codec_id == CODEC_ID_RAWVIDEO)
st->codec->codec_tag =
avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt);
+ if (desired_format == V4L2_PIX_FMT_YVU420)
+ st->codec->codec_tag = MKTAG('Y', 'V', '1', '2');
st->codec->width = s->width;
st->codec->height = s->height;
st->codec->bit_rate = s->frame_size * 1/av_q2d(st->codec->time_base) * 8;