Bug#783616: /usr/bin/avconv: image2pipe ppm input corrupt when header spans fifo blocks

Andreas Cadhalpun andreas.cadhalpun at googlemail.com
Tue Apr 28 13:39:25 UTC 2015


Hi Claude,

On 28.04.2015 14:37, Claude Heiland-Allen wrote:
> piping PPM streams to avconv can cause image corruption in the
> (unlikely but possible) case that a frame header overlaps the fifo
> block size in such a way that the partial header is almost valid

You might want to try ffmpeg instead, where this problem seems
to be fixed.

> here is a test case that reliably reproduces the bug on my
> system:

If I change avconv to ffmpeg in your test, I get the following:

 ====8<====
ffmpeg version 2.6.2-1 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)
  configuration: --prefix=/usr --extra-version=1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --en
able-libx265
  libavutil      54. 20.100 / 54. 20.100
  libavcodec     56. 26.100 / 56. 26.100
  libavformat    56. 25.101 / 56. 25.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 11.102 /  5. 11.102
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, image2pipe, from 'pipe:':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: ppm, rgb24, 16x104, 25 fps, 25 tbr, 25 tbn, 25 tbc
Output #0, image2, to 'bug.2EUPKt.out/%d.ppm':
  Metadata:
    encoder         : Lavf56.25.101
    Stream #0:0: Video: ppm, rgb24, 16x104, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc56.26.100 ppm
Stream mapping:
  Stream #0:0 -> #0:0 (ppm (native) -> ppm (native))
frame=   50 fps=0.0 q=0.0 Lsize=N/A time=00:00:02.00 bitrate=N/A    
video:244kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
 ====8<====

I hope this helps you.

Best regards,
Andreas



More information about the pkg-multimedia-maintainers mailing list