Fixed a problem with CODEC_ID_RAWVIDEO in FFMPEG (ticket #1400)

This commit is contained in:
Alexander Reshetnikov 2012-03-30 14:30:24 +00:00
parent aea24ffcd5
commit e00f1e3911
2 changed files with 8 additions and 4 deletions

View File

@ -1262,8 +1262,10 @@ bool CvVideoWriter_FFMPEG::open( const char * filename, int fourcc,
bitrate_scale = 128; bitrate_scale = 128;
break; break;
case CODEC_ID_RAWVIDEO: case CODEC_ID_RAWVIDEO:
codec_pix_fmt = input_pix_fmt; codec_pix_fmt = input_pix_fmt == PIX_FMT_GRAY8 ||
break; input_pix_fmt == PIX_FMT_GRAY16LE ||
input_pix_fmt == PIX_FMT_GRAY16BE ? input_pix_fmt : PIX_FMT_YUV420P;
break;
default: default:
// good for lossy formats, MPEG, etc. // good for lossy formats, MPEG, etc.
codec_pix_fmt = PIX_FMT_YUV420P; codec_pix_fmt = PIX_FMT_YUV420P;

View File

@ -1372,8 +1372,10 @@ bool CvVideoWriter_FFMPEG::open( const char * filename, int fourcc,
bitrate_scale = 128; bitrate_scale = 128;
break; break;
case CODEC_ID_RAWVIDEO: case CODEC_ID_RAWVIDEO:
codec_pix_fmt = input_pix_fmt; codec_pix_fmt = input_pix_fmt == PIX_FMT_GRAY8 ||
break; input_pix_fmt == PIX_FMT_GRAY16LE ||
input_pix_fmt == PIX_FMT_GRAY16BE ? input_pix_fmt : PIX_FMT_YUV420P;
break;
default: default:
// good for lossy formats, MPEG, etc. // good for lossy formats, MPEG, etc.
codec_pix_fmt = PIX_FMT_YUV420P; codec_pix_fmt = PIX_FMT_YUV420P;