buf = buf0 + hsize;
}
if(comp == BMP_RLE4 || comp == BMP_RLE8){
+ if(height < 0){
+ p->data[0] += p->linesize[0] * (avctx->height - 1);
+ p->linesize[0] = -p->linesize[0];
+ }
ff_msrle_decode(avctx, (AVPicture*)p, depth, buf, dsize);
+ if(height < 0){
+ p->data[0] += p->linesize[0] * (avctx->height - 1);
+ p->linesize[0] = -p->linesize[0];
+ }
}else{
switch(depth){
case 1:
uint16_t *dst = (uint16_t *) ptr;
for(j = 0; j < avctx->width; j++)
- *dst++ = le2me_16(*src++);
+ *dst++ = av_le2ne16(*src++);
buf += n;
ptr += linesize;
AVCodec bmp_decoder = {
"bmp",
- CODEC_TYPE_VIDEO,
+ AVMEDIA_TYPE_VIDEO,
CODEC_ID_BMP,
sizeof(BMPContext),
bmp_decode_init,
bmp_decode_end,
bmp_decode_frame,
CODEC_CAP_DR1,
+ .max_lowres = 5,
.long_name = NULL_IF_CONFIG_SMALL("BMP image"),
};