Unified · Split
| @@ -241,9 +241,14 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, · 240 unmodified lines | ||
| 241 | 241 | avio_w8(pb, 0); |
| 242 | 242 | } else if (raw_pal_avi) { |
| 243 | 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 | 247 | for (i = 0; i < 1 << enc->bits_per_coded_sample; i++) { |
| 245 | 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 | 252 | avio_wl32(pb, 0xffffff); |
| 248 | 253 | else |
| 249 | 254 | avio_wl32(pb, 0); |