From 9a26ba971387a348e14f363ddcdcb5bba0b413d1 Mon Sep 17 00:00:00 2001 From: Luca Barbato Date: Fri, 27 Feb 2015 01:34:52 +0100 Subject: [PATCH] v4l2: Add support for h264 --- libavdevice/v4l2.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavdevice/v4l2.c b/libavdevice/v4l2.c index d2707e6848..3631c1f240 100644 --- a/libavdevice/v4l2.c +++ b/libavdevice/v4l2.c @@ -111,6 +111,9 @@ static struct fmt_map fmt_conversion_table[] = { { AV_PIX_FMT_NV12, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_NV12 }, { AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_MJPEG }, { AV_PIX_FMT_NONE, AV_CODEC_ID_MJPEG, V4L2_PIX_FMT_JPEG }, +#ifdef V4L2_PIX_FMT_H264 + { AV_PIX_FMT_NONE, AV_CODEC_ID_H264, V4L2_PIX_FMT_H264 }, +#endif }; static int device_open(AVFormatContext *ctx) @@ -782,8 +785,10 @@ static int v4l2_read_header(AVFormatContext *s1) if (s->pixel_format) { AVCodec *codec = avcodec_find_decoder_by_name(s->pixel_format); - if (codec) + if (codec) { s1->video_codec_id = codec->id; + st->need_parsing = AVSTREAM_PARSE_HEADERS; + } pix_fmt = av_get_pix_fmt(s->pixel_format);