From 052ab208059ccb30e6bb73866995ef1aabf2feb6 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 17 Apr 2012 03:16:40 +0200 Subject: [PATCH] ffmpeg: fix regression with jpeg pix fmts Signed-off-by: Michael Niedermayer --- ffmpeg.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ffmpeg.c b/ffmpeg.c index 3e20d44aa0..64132794a9 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; }