From e00f1e39111f43916d1b1a31887fc8e029dc70a0 Mon Sep 17 00:00:00 2001 From: Alexander Reshetnikov Date: Fri, 30 Mar 2012 14:30:24 +0000 Subject: [PATCH] Fixed a problem with CODEC_ID_RAWVIDEO in FFMPEG (ticket #1400) --- modules/highgui/src/cap_ffmpeg_impl.hpp | 6 ++++-- modules/highgui/src/cap_ffmpeg_impl_v2.hpp | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/highgui/src/cap_ffmpeg_impl.hpp b/modules/highgui/src/cap_ffmpeg_impl.hpp index ecb1d42..7d1be9c 100644 --- a/modules/highgui/src/cap_ffmpeg_impl.hpp +++ b/modules/highgui/src/cap_ffmpeg_impl.hpp @@ -1262,8 +1262,10 @@ bool CvVideoWriter_FFMPEG::open( const char * filename, int fourcc, bitrate_scale = 128; break; case CODEC_ID_RAWVIDEO: - codec_pix_fmt = input_pix_fmt; - break; + codec_pix_fmt = input_pix_fmt == PIX_FMT_GRAY8 || + input_pix_fmt == PIX_FMT_GRAY16LE || + input_pix_fmt == PIX_FMT_GRAY16BE ? input_pix_fmt : PIX_FMT_YUV420P; + break; default: // good for lossy formats, MPEG, etc. codec_pix_fmt = PIX_FMT_YUV420P; diff --git a/modules/highgui/src/cap_ffmpeg_impl_v2.hpp b/modules/highgui/src/cap_ffmpeg_impl_v2.hpp index 80fb2a5..ab9f648 100755 --- a/modules/highgui/src/cap_ffmpeg_impl_v2.hpp +++ b/modules/highgui/src/cap_ffmpeg_impl_v2.hpp @@ -1372,8 +1372,10 @@ bool CvVideoWriter_FFMPEG::open( const char * filename, int fourcc, bitrate_scale = 128; break; case CODEC_ID_RAWVIDEO: - codec_pix_fmt = input_pix_fmt; - break; + codec_pix_fmt = input_pix_fmt == PIX_FMT_GRAY8 || + input_pix_fmt == PIX_FMT_GRAY16LE || + input_pix_fmt == PIX_FMT_GRAY16BE ? input_pix_fmt : PIX_FMT_YUV420P; + break; default: // good for lossy formats, MPEG, etc. codec_pix_fmt = PIX_FMT_YUV420P; -- 2.7.4