[FFmpeg-cvslog] Fix writing RGB 5:5:5 rawvideo into avi.

Carl Eugen Hoyos git at videolan.org
Mon Apr 14 16:44:01 CEST 2014


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Mon Apr 14 15:34:38 2014 +0200| [63c03ea98d90210886b818e503a39bb7e79e2be0] | committer: Carl Eugen Hoyos

Fix writing RGB 5:5:5 rawvideo into avi.

WMP expects bits per pixel to be set to 16 for RGB 5:5:5 rawvideo.

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

 libavformat/avienc.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index 5acc7c2..7d5aee0 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -308,6 +308,12 @@ static int avi_write_header(AVFormatContext *s)
                 if (stream->codec_id != AV_CODEC_ID_XSUB)
                     break;
             case AVMEDIA_TYPE_VIDEO:
+                /* WMP expects RGB 5:5:5 rawvideo in avi to have bpp set to 16. */
+                if (  !stream->codec_tag
+                    && stream->codec_id == AV_CODEC_ID_RAWVIDEO
+                    && stream->pix_fmt == AV_PIX_FMT_RGB555LE
+                    && stream->bits_per_coded_sample == 15)
+                    stream->bits_per_coded_sample = 16;
                 ff_put_bmp_header(pb, stream, ff_codec_bmp_tags, 0, 0);
                 pix_fmt = avpriv_find_pix_fmt(avpriv_pix_fmt_bps_avi,
                                               stream->bits_per_coded_sample);



More information about the ffmpeg-cvslog mailing list