Opened 3 years ago

Last modified 19 months ago

#4346 new defect

Uncompressed BGR24 AVIs are occasionally unusable

Reported by: ejlasota Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


Summary of the bug:
Converting to rawvideo BGR24 occasionally produces AVIs that can not be loaded by most Windows players. ffmpeg itself seems to be able to load them without issue though.

How to reproduce:

damaged_uncompressed_source.avi is the source video.
damaged_uncompressed_out.avi is the output from FFMPEG. This file will not open in MPC-HC or Windows Media Player 12.0.9600.17031. VirtualDub? 1.10.4 will open it, but it will not show any video.
damaged_uncompressed_out_vdub.avi is output from opening damaged_uncompressed_source.avi and saving it as Uncompressed using VirtualDub?. It plays back fine in all of the aforementioned programs.

Using -pix_fmt yuv420p instead does not cause this problem.

Using -vcodec bmp instead will allow VirtualDub? to open the video, but it will be upside-down and have severe artifacts. MPC-HC and WMP will still not load it.

% ffmpeg -i damaged_uncompressed_source.avi -pix_fmt bgr24 -vcodec rawvideo -y -report damaged_uncompressed_out.avi

Report log attached.

Attachments (1)

ffmpeg-20150302-140317.log (6.2 KB) - added by ejlasota 3 years ago.
Report log

Download all attachments as: .zip

Change History (5)

Changed 3 years ago by ejlasota

Report log

comment:1 Changed 3 years ago by ejlasota

Full console out, though it should be in the log:

D:\vids>ffmpeg\bin\ffmpeg.exe -i damaged_uncompressed_source.avi -pix_fmt bgr24
-vcodec rawvideo -y -report damaged_uncompressed_out.avi
ffmpeg started on 2015-03-02 at 20:16:40
Report written to "ffmpeg-20150302-201640.log"
ffmpeg version N-70358-g047fd98 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib
modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw
b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en
able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
 --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enab
  libavutil      54. 19.100 / 54. 19.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 23.106 / 56. 23.106
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from 'damaged_uncompressed_source.avi':
  Duration: 00:00:10.07, start: 0.000000, bitrate: 673 kb/s
    Stream #0:0: Video: cinepak (cvid / 0x64697663), rgb24, 70x58, 663 kb/s, 30
fps, 30 tbr, 30 tbn, 30 tbc
Output #0, avi, to 'damaged_uncompressed_out.avi':
    ISFT            : Lavf56.23.106
    Stream #0:0: Video: rawvideo, bgr24, 70x58, q=2-31, 200 kb/s, 30 fps, 30 tbn
, 30 tbc
      encoder         : Lavc56.26.100 rawvideo
Stream mapping:
  Stream #0:0 -> #0:0 (cinepak (native) -> rawvideo (native))
Press [q] to stop, [?] for help
frame=  302 fps=0.0 q=0.0 Lsize=    3605kB time=00:00:10.06 bitrate=2933.5kbits/
video:3592kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: 0.351515%

comment:2 Changed 19 months ago by richardpl

I can not reproduce this with VirtualDub? version 1.10.4.

comment:3 Changed 19 months ago by cehoyos

Still reproducible with WMP.
width % 4 vs. width % 2

comment:4 Changed 19 months ago by richardpl

I believe there is nothing to fix, use something better.

Note: See TracTickets for help on using tickets.