Opened 5 years ago

Closed 4 years ago

#1915 closed defect (fixed)

mjpeg: fix/support morgan not interleaved

Reported by: ami_stuff Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: avi mjpeg
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

decodes ok with "-f mjpeg"

C:\>ffmpeg -i not_interleaved.avi out.avi
ffmpeg version N-46616-g3a7f008 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 12 2012 02:22:44 with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.
0-1.fc14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snap
shots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/s
napshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3
--enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-
libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
  libavutil      52.  5.100 / 52.  5.100
  libavcodec     54. 71.100 / 54. 71.100
  libavformat    54. 36.100 / 54. 36.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 22.101 /  3. 22.101
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
Input #0, avi, from 'not_interleaved.avi':
  Duration: 00:00:00.10, start: 0.000000, bitrate: 29015 kb/s
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 1024x768, 10 tbr, 1
0 tbn, 10 tbc
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.36.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1024x768, q=2-31, 20
0 kb/s, 10 tbn, 10 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=       6kB time=00:00:00.00 bitrate=   0.0kbits/
s
video:0kB audio:0kB subtitle:0 global headers:0kB muxing overhead inf%
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters i
f used)
C:\>ffmpeg -f mjpeg -i not_interleaved.avi out.avi
ffmpeg version N-46616-g3a7f008 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 12 2012 02:22:44 with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.
0-1.fc14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snap
shots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/s
napshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3
--enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-
libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
  libavutil      52.  5.100 / 52.  5.100
  libavcodec     54. 71.100 / 54. 71.100
  libavformat    54. 36.100 / 54. 36.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 22.101 /  3. 22.101
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
[mjpeg @ 0x1edc3a0] Estimating duration from bitrate, this may be inaccurate
Input #0, mjpeg, from 'not_interleaved.avi':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj422p, 1024x384, 25 tbr, 1200k tbn, 25 tbc
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.36.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1024x384, q=2-31, 20
0 kb/s, 25 tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
Press [q] to stop, [?] for help
frame=    1 fps=0.0 q=5.6 Lsize=      47kB time=00:00:00.04 bitrate=9706.4kbits/
s
video:42kB audio:0kB subtitle:0 global headers:0kB muxing overhead 13.323682%

Attachments (2)

interleaved.avi (700.2 KB) - added by ami_stuff 5 years ago.
not_interleaved.avi (354.2 KB) - added by ami_stuff 5 years ago.

Download all attachments as: .zip

Change History (9)

Changed 5 years ago by ami_stuff

Changed 5 years ago by ami_stuff

comment:1 follow-up: Changed 5 years ago by cehoyos

  • Keywords avi mjpeg added
  • Reproduced by developer set
  • Status changed from new to open
  • Version changed from unspecified to git-master

Is the problem also reproducible with longer streams (more than one frame)?

comment:2 in reply to: ↑ 1 Changed 5 years ago by ami_stuff

Replying to cehoyos:

Is the problem also reproducible with longer streams (more than one frame)?

yes

http://www.datafilehost.com/download-78bae83b.html

C:\>ffmpeg -i m_noint.avi out.avi
ffmpeg version N-46616-g3a7f008 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov 12 2012 02:22:44 with gcc 4.5.0 (GCC) 20100414 (Fedora MinGW 4.5.
0-1.fc14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm -lpthread' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snap
shots/build/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/s
napshots/build/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3
--enable-nonfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-
libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
  libavutil      52.  5.100 / 52.  5.100
  libavcodec     54. 71.100 / 54. 71.100
  libavformat    54. 36.100 / 54. 36.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 22.101 /  3. 22.101
  libswscale      2.  1.102 /  2.  1.102
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
[mp3 @ 0x1fc6ac0] Header missing
Input #0, avi, from 'm_noint.avi':
  Duration: 00:00:02.71, start: 0.000000, bitrate: 19242 kb/s
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 23.97 tbr,
 23.97 tbn, 23.97 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 128 kb
/s
File 'out.avi' already exists. Overwrite ? [y/N] y
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf54.36.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 640x480, q=2-31, 200
 kb/s, 23.97 tbn, 23.97 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16p
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> mpeg4)
  Stream #0:1 -> #0:1 (mp3 -> libmp3lame)
Press [q] to stop, [?] for help
[mp3 @ 0x1fc6ac0] Header missing
Error while decoding stream #0:1: Invalid data found when processing input
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mjpeg @ 0x1edcb40] Can not process SOS before SOF, skipping
[mjpeg @ 0x1edcb40] Found EOI before any SOF, ignoring
[mp3 @ 0x1fc6ac0] incomplete frame
Error while decoding stream #0:1: Invalid data found when processing input
frame=    0 fps=0.0 q=0.0 Lsize=      54kB time=00:00:02.69 bitrate= 164.9kbits/
s
video:0kB audio:42kB subtitle:0 global headers:0kB muxing overhead 28.797417%

comment:3 Changed 5 years ago by michael

  • Component changed from undetermined to avcodec
  • Resolution set to fixed
  • Status changed from open to closed

comment:4 Changed 5 years ago by ami_stuff

The big file decodes ok now, but 1-framed not.

comment:5 Changed 5 years ago by ami_stuff

or maybe this is a bug of the codec/VirtualDub that it stored only one field for interlaced frame? If that's the case then maybe an error message could be added (skipping frame, only one field found or something).

comment:6 Changed 5 years ago by cehoyos

  • Resolution fixed deleted
  • Status changed from closed to reopened
$ ffmpeg -i not_interleaved.avi out.jpg
ffmpeg version N-47402-g5e2be27 Copyright (c) 2000-2012 the FFmpeg developers
  built on Dec  3 2012 05:17:20 with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --disable-indev=jack --disable-yasm --disable-asm
  libavutil      52. 11.101 / 52. 11.101
  libavcodec     54. 78.101 / 54. 78.101
  libavformat    54. 42.100 / 54. 42.100
  libavdevice    54.  3.102 / 54.  3.102
  libavfilter     3. 23.105 /  3. 23.105
  libswscale      2.  1.103 /  2.  1.103
  libswresample   0. 17.101 /  0. 17.101
  libpostproc    52.  2.100 / 52.  2.100
Input #0, avi, from 'not_interleaved.avi':
  Duration: 00:00:00.10, start: 0.000000, bitrate: 29015 kb/s
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 1024x768, 10 tbr, 10 tbn, 10 tbc
Output #0, image2, to 'out.jpg':
  Metadata:
    encoder         : Lavf54.42.100
    Stream #0:0: Video: mjpeg, yuvj422p, 1024x768, q=2-31, 200 kb/s, 90k tbn, 10 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
Press [q] to stop, [?] for help
frame=    0 fps=0.0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=   0.0kbits/s
video:0kB audio:0kB subtitle:0 global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

comment:7 Changed 4 years ago by michael

  • Resolution set to fixed
  • Status changed from reopened to closed

informational Message added in dabfa80ce27f1e93e3d265db9d3f38a819e144af

Note: See TracTickets for help on using tickets.