Fixes assertion failure
Fixes: 9eb9cf5b8c26dd0fa7107ed0348dcc1f/signal_sigabrt_7ffff6ae7c37_8926_4609a5c3f071d555d2d557625f9687b1.swf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 237207645b36fb79759d313c0399ee93ba467b9d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
... | ... |
@@ -204,8 +204,9 @@ static int raw_decode(AVCodecContext *avctx, void *data, int *got_frame, |
204 | 204 |
|
205 | 205 |
desc = av_pix_fmt_desc_get(avctx->pix_fmt); |
206 | 206 |
|
207 |
- if ((avctx->bits_per_coded_sample == 8 || avctx->bits_per_coded_sample == 4 |
|
208 |
- || avctx->bits_per_coded_sample <= 2) && |
|
207 |
+ if ((avctx->bits_per_coded_sample == 8 || avctx->bits_per_coded_sample == 4 || |
|
208 |
+ avctx->bits_per_coded_sample == 2 || avctx->bits_per_coded_sample == 1 || |
|
209 |
+ (avctx->bits_per_coded_sample == 0 && (context->is_nut_pal8 || context->is_mono)) ) && |
|
209 | 210 |
(context->is_mono || context->is_pal8) && |
210 | 211 |
(!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' ') || |
211 | 212 |
context->is_nut_mono || context->is_nut_pal8)) { |