Unified · Split
| @@ -241,9 +241,14 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, · 240 unmodified lines | |||
| 241 | avio_w8(pb, 0); | 241 | avio_w8(pb, 0); |
| 242 | } else if (raw_pal_avi) { | 242 | } else if (raw_pal_avi) { |
| 243 | int i; | 243 | int i; |
| 244 | enum AVPixelFormat pix_fmt = enc->pix_fmt; | ||
| 245 | if (pix_fmt == AV_PIX_FMT_NONE && enc->bits_per_coded_sample == 1) | ||
| 246 | pix_fmt = AV_PIX_FMT_MONOWHITE; | ||
| 244 | for (i = 0; i < 1 << enc->bits_per_coded_sample; i++) { | 247 | for (i = 0; i < 1 << enc->bits_per_coded_sample; i++) { |
| 245 | /* Initialize 1 bpp palette to black & white */ | 248 | /* Initialize 1 bpp palette to black & white */ |
| 246 | if (!i && enc->bits_per_coded_sample == 1) | 249 | if (i == 0 && pix_fmt == AV_PIX_FMT_MONOWHITE) |
| 250 | avio_wl32(pb, 0xffffff); | ||
| 251 | else if (i == 1 && pix_fmt == AV_PIX_FMT_MONOBLACK) | ||
| 247 | avio_wl32(pb, 0xffffff); | 252 | avio_wl32(pb, 0xffffff); |
| 248 | else | 253 | else |
| 249 | avio_wl32(pb, 0); | 254 | avio_wl32(pb, 0); |