Support YV12 from video4linux2 devices.
Reviewed-by: Luca Abeni
This commit is contained in:
parent
42ae83c196
commit
5fa1a1d8fc
@ -108,6 +108,7 @@ struct fmt_map {
|
|||||||
static struct fmt_map fmt_conversion_table[] = {
|
static struct fmt_map fmt_conversion_table[] = {
|
||||||
//ff_fmt codec_id v4l2_fmt
|
//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_YUV420 },
|
||||||
|
{ PIX_FMT_YUV420P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YVU420 },
|
||||||
{ PIX_FMT_YUV422P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV422P },
|
{ PIX_FMT_YUV422P, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUV422P },
|
||||||
{ PIX_FMT_YUYV422, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUYV },
|
{ PIX_FMT_YUYV422, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_YUYV },
|
||||||
{ PIX_FMT_UYVY422, CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_UYVY },
|
{ 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)
|
if (codec_id == CODEC_ID_RAWVIDEO)
|
||||||
st->codec->codec_tag =
|
st->codec->codec_tag =
|
||||||
avcodec_pix_fmt_to_codec_tag(st->codec->pix_fmt);
|
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->width = s->width;
|
||||||
st->codec->height = s->height;
|
st->codec->height = s->height;
|
||||||
st->codec->bit_rate = s->frame_size * 1/av_q2d(st->codec->time_base) * 8;
|
st->codec->bit_rate = s->frame_size * 1/av_q2d(st->codec->time_base) * 8;
|
||||||
|
Loading…
Reference in New Issue
Block a user