Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#362 closed defect (fixed)

Interlaced mjpeg fails to decode

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

Description

Attached file plays fine with mplayer -vc m3jpeg (24 frames), ffmpeg fails to decode most of the frames.

ffmpeg -i test.avi -an -qscale 2 out.avi
ffmpeg version N-31630-g88084ee, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jul 25 2011 00:08:39 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 11. 0 / 51. 11. 0
  libavcodec   53.  9. 0 / 53.  9. 0
  libavformat  53.  6. 0 / 53.  6. 0
  libavdevice  53.  2. 0 / 53.  2. 0
  libavfilter   2. 27. 3 /  2. 27. 3
  libswscale    2.  0. 0 /  2.  0. 0
Input #0, avi, from 'test.avi':
  Duration: 00:00:09.60, start: 0.000000, bitrate: 2126 kb/s
    Stream #0.0: Video: mjpeg, yuvj422p, 608x464, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0.1: Audio: pcm_s16le, 44100 Hz, 2 channels, s16, 1411 kb/s
Incompatible pixel format 'yuvj422p' for codec 'mpeg4', auto-selecting format 'yuv420p'
[buffer @ 0x128a7c0] w:608 h:464 pixfmt:yuvj422p tb:1/1000000 sar:0/1 sws_param:
[buffersink @ 0x12843c0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
[scale @ 0x1285d00] w:608 h:464 fmt:yuvj422p -> w:608 h:464 fmt:yuv420p flags:0x4
Output #0, avi, to 'out.avi':
  Metadata:
    ISFT            : Lavf53.6.0
    Stream #0.0: Video: mpeg4, yuv420p, 608x464, q=2-31, 200 kb/s, 29.97 tbn, 29.97 tbc
Stream mapping:
  Stream #0.0 -> #0.0
Press [q] to stop, [?] for help
[mjpeg @ 0x1284440] EOI missing, emulating
    Last message repeated 3 times
frame=    4 fps=  0 q=2.0 Lsize=     154kB time=00:00:00.76 bitrate=1643.8kbits/s
video:148kB audio:0kB global headers:0kB muxing overhead 4.115993%

Attachments (1)

test.avi (2.4 MB) - added by cehoyos 5 years ago.

Change History (7)

Changed 5 years ago by cehoyos

comment:1 Changed 5 years ago by reimar

How did you conclude it fails to decode?
Both
ffmpeg -i test_mjpeg_362.avi -vc copy -f image2 raw%d.jpg
and
ffmpeg -i test_mjpeg_362.avi -vc png -f image2 raw%d.png
give 22 frames.
There seem to be quite a few duplicates, but -vc copy shouldn't really decode anything...

comment:2 Changed 5 years ago by reimar

Argh! It's -vcodec copy. -vc copy will try setting channel count for video (holy crap!).

comment:3 Changed 5 years ago by reimar

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

comment:4 Changed 5 years ago by cehoyos

  • Resolution fixed deleted
  • Status changed from closed to reopened

The output still looks significantly worse with mplayer -vc ffmjpeg than with mplayer -vc m3jpeg

comment:5 Changed 5 years ago by michael

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

should be fixed

comment:6 Changed 5 years ago by cehoyos

  • Keywords mjpeg added
Note: See TracTickets for help on using tickets.