[FFmpeg-cvslog] ffmpeg: fix regression with jpeg pix fmts

Michael Niedermayer git at videolan.org
Tue Apr 17 04:51:58 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Apr 17 03:16:40 2012 +0200| [052ab208059ccb30e6bb73866995ef1aabf2feb6] | committer: Michael Niedermayer

ffmpeg: fix regression with jpeg pix fmts

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=052ab208059ccb30e6bb73866995ef1aabf2feb6
---

 ffmpeg.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 3e20d44..6413279 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -704,9 +704,17 @@ static const enum PixelFormat *choose_pixel_fmts(OutputStream *ost)
     if (ost->st->codec->pix_fmt != PIX_FMT_NONE) {
         ost->pix_fmts[0] = choose_pixel_fmt(ost->st, ost->enc, ost->st->codec->pix_fmt);
         return ost->pix_fmts;
-    } else if (ost->enc->pix_fmts)
+    } else if (ost->enc->pix_fmts) {
+        if (ost->st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {
+            if (ost->st->codec->codec_id == CODEC_ID_MJPEG) {
+                return (const enum PixelFormat[]) { PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUV420P, PIX_FMT_YUV422P, PIX_FMT_NONE };
+            } else if (ost->st->codec->codec_id == CODEC_ID_LJPEG) {
+                return (const enum PixelFormat[]) { PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUV420P,
+                                                    PIX_FMT_YUV422P, PIX_FMT_YUV444P, PIX_FMT_BGRA, PIX_FMT_NONE };
+            }
+        }
         return ost->enc->pix_fmts;
-    else
+    } else
         return NULL;
 }
 



More information about the ffmpeg-cvslog mailing list