Opened 15 years ago
Closed 15 years ago
#699 closed defect (fixed)
BMP: support BMP OS/2 v2 with RLE compression
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | bmp |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
The attached file decodes correctly in IrfanView/Photoshop.
Seems like header check should be modified to support this file:
libavcodec/bmp.c:
depth = bytestream_get_le16(&buf);
// if(ihsize == 40)
comp = bytestream_get_le32(&buf);
// else
// comp = BMP_RGB;
if(comp != BMP_RGB && comp != BMP_BITFIELDS && comp != BMP_RLE4 && comp != BMP_RLE8){
Attachments (1)
Change History (5)
comment:1 by , 15 years ago
by , 15 years ago
comment:2 by , 15 years ago
"the major difference between v1.x and v2.x files is the size of the bitmap header. This header is 14 bytes in length in v1.x BMP files and is 64 bytes in length in v2.x files."
and this seems to work
if(ihsize == 40 || ihsize == 64)
comment:3 by , 15 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | bmp added |
| Reproduced by developer: | set |
| Status: | new → open |
| Version: | unspecified → git-master |
Please consider sending a patch to ffmpeg-devel.
comment:4 by , 15 years ago
| Resolution: | → fixed |
|---|---|
| Status: | open → closed |
Fixed by ami_stuff and Peter Ross.
Note:
See TracTickets
for help on using tickets.



C:\>ffmpeg -i bmp.bmp ffmpeg version N-35295-gb55dd10, Copyright (c) 2000-2011 the FFmpeg developers built on Nov 30 2011 00:52:52 with gcc 4.6.2 configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger - -enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable- libxvid --enable-zlib libavutil 51. 29. 1 / 51. 29. 1 libavcodec 53. 39. 1 / 53. 39. 1 libavformat 53. 22. 0 / 53. 22. 0 libavdevice 53. 4. 0 / 53. 4. 0 libavfilter 2. 50. 0 / 2. 50. 0 libswscale 2. 1. 0 / 2. 1. 0 libpostproc 51. 2. 0 / 51. 2. 0 Input #0, image2, from 'bmp.bmp': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: bmp, pal8, 1023x767, 25 tbr, 25 tbn, 25 tbc At least one output file must be specified