On 26/04/2020 21:26, David Manouchehri wrote: > Resubmit of a previous patch, not sure why the diff didn't come through. > > From d125fea410dea1c2d4bd791a7472a72822de54a3 Mon Sep 17 00:00:00 2001 > From: David Manouchehri <david.manouche...@riseup.net> > Date: Sat, 4 Nov 2017 16:32:41 -0400 > Subject: [PATCH] avdevice/v4l2enc: Allow writing non-rawvideos to v4l2. > > Signed-off-by: David Manouchehri <david.manouche...@riseup.net> > --- > libavdevice/v4l2enc.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/libavdevice/v4l2enc.c b/libavdevice/v4l2enc.c > index 1c36f81f90..f89ff50dbb 100644 > --- a/libavdevice/v4l2enc.c > +++ b/libavdevice/v4l2enc.c > @@ -47,8 +47,7 @@ static av_cold int write_header(AVFormatContext *s1) > } > > if (s1->nb_streams != 1 || > - s1->streams[0]->codecpar->codec_type != AVMEDIA_TYPE_VIDEO || > - s1->streams[0]->codecpar->codec_id != AV_CODEC_ID_RAWVIDEO) { > + s1->streams[0]->codecpar->codec_type != AVMEDIA_TYPE_VIDEO) { > av_log(s1, AV_LOG_ERROR, > "V4L2 output device supports only a single raw video > stream\n"); > return AVERROR(EINVAL); > @@ -56,7 +55,13 @@ static av_cold int write_header(AVFormatContext *s1) > > par = s1->streams[0]->codecpar; > > - v4l2_pixfmt = ff_fmt_ff2v4l(par->format, AV_CODEC_ID_RAWVIDEO); > + if(s1->streams[0]->codecpar->codec_id == AV_CODEC_ID_RAWVIDEO) { > + v4l2_pixfmt = ff_fmt_ff2v4l(par->format, AV_CODEC_ID_RAWVIDEO); > + } > + else { > + v4l2_pixfmt = ff_fmt_ff2v4l(AV_PIX_FMT_NONE, > s1->streams[0]->codecpar->codec_id); > + } > + > if (!v4l2_pixfmt) { // XXX: try to force them one by one? > av_log(s1, AV_LOG_ERROR, "Unknown V4L2 pixel format equivalent for > %s\n", > av_get_pix_fmt_name(par->format)); > -- > 2.17.1
LGTM. If noone else has any comments I'll apply this in two days. Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".