diff --git a/libavcodec/bmp.c b/libavcodec/bmp.c index 14c070da8f..5de1c46b13 100644 --- a/libavcodec/bmp.c +++ b/libavcodec/bmp.c @@ -244,6 +244,8 @@ static int bmp_decode_frame(AVCodecContext *avctx, }else{ switch(depth){ case 1: + case 8: + case 24: for(i = 0; i < avctx->height; i++){ memcpy(ptr, buf, n); buf += n; @@ -261,20 +263,6 @@ static int bmp_decode_frame(AVCodecContext *avctx, ptr += linesize; } break; - case 8: - for(i = 0; i < avctx->height; i++){ - memcpy(ptr, buf, avctx->width); - buf += n; - ptr += linesize; - } - break; - case 24: - for(i = 0; i < avctx->height; i++){ - memcpy(ptr, buf, avctx->width*(depth>>3)); - buf += n; - ptr += linesize; - } - break; case 16: for(i = 0; i < avctx->height; i++){ const uint16_t *src = (const uint16_t *) buf;