[FFmpeg-devel] [PATCH v2 1/1] libavdevice/v4l2enc: support additional v4l2 output formats

2019-01-27 Thread james . hilliard1
From: James Hilliard 

The purpose of this patch is to fix a bug where ffmpeg would only
output rawvideo to a v4l2loopback device even though v4l2loopback
accepts other formats such as mjpeg.

Signed-off-by: James Hilliard 
---
 libavdevice/v4l2enc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavdevice/v4l2enc.c b/libavdevice/v4l2enc.c
index faf6e07..f778208 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,7 @@ static av_cold int write_header(AVFormatContext *s1)
 
 par = s1->streams[0]->codecpar;
 
-v4l2_pixfmt = ff_fmt_ff2v4l(par->format, AV_CODEC_ID_RAWVIDEO);
+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.7.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH 1/1] libavdevice/v4l2enc: support additional v4l2 output formats

2019-01-23 Thread james . hilliard1
From: James Hilliard 

Signed-off-by: James Hilliard 
---
 libavdevice/v4l2enc.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/libavdevice/v4l2enc.c b/libavdevice/v4l2enc.c
index faf6e07..f778208 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,7 @@ static av_cold int write_header(AVFormatContext *s1)
 
 par = s1->streams[0]->codecpar;
 
-v4l2_pixfmt = ff_fmt_ff2v4l(par->format, AV_CODEC_ID_RAWVIDEO);
+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.7.4

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel