Opened 12 years ago

Closed 12 years ago

#676 closed defect (fixed)

unsupported interplay video

Reported by: Elon Musk Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: interplay
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Sample from here: http://samples.mplayerhq.hu/game-formats/interplay-mve/kpintro_error.mve does not play correctly.

Note that after few seconds size of video is changed.

This is bug happens because ipmovie.c demuxer registers change in video size but it is never passed to interplayvideo.c

Attachments (2)

patchticket676.diff (2.6 KB ) - added by Carl Eugen Hoyos 12 years ago.
hack.diff (3.1 KB ) - added by Elon Musk 12 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 by Carl Eugen Hoyos, 12 years ago

Component: avcodecundetermined
Keywords: interplay added
Reproduced by developer: set
Status: newopen
$ ffmpeg -i kpintro_error.mve
ffmpeg version N-35063-g2c28e26, Copyright (c) 2000-2011 the FFmpeg developers
  built on Nov 21 2011 23:10:43 with gcc 4.5.3
  configuration: --cc=/usr/local/gcc-4.5.3/bin/gcc
  libavutil    51. 26. 0 / 51. 26. 0
  libavcodec   53. 36. 0 / 53. 36. 0
  libavformat  53. 21. 0 / 53. 21. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 49. 0 /  2. 49. 0
  libswscale    2.  1. 0 /  2.  1. 0
[ipmovie @ 0x1395760] Estimating duration from bitrate, this may be inaccurate

Seems stream 0 codec frame rate differs from container frame rate: 1000000.00 (1000000/1) -> 14.99 (125000/8341)
Input #0, ipmovie, from 'kpintro_error.mve':
  Duration: 00:08:51.12, start: 0.000000, bitrate: 352 kb/s
    Stream #0:0: Video: interplayvideo, pal8, 640x320, 14.99 tbr, 1000k tbn, 1000k tbc
    Stream #0:1: Audio: interplay_dpcm, 22050 Hz, 2 channels, s16, 352 kb/s
At least one output file must be specified

by Carl Eugen Hoyos, 12 years ago

Attachment: patchticket676.diff added

comment:2 by Carl Eugen Hoyos, 12 years ago

POC attached.

comment:3 by Elon Musk, 12 years ago

Patch works but it is not perfect, there is one error in decoding.

Should avcodec_set_dimensions() be used for this?

by Elon Musk, 12 years ago

Attachment: hack.diff added

comment:4 by Elon Musk, 12 years ago

Attached patch does not have error while decoding and plays OK in ffplay and at least plays in mplayer bigger part of sample.
MPlayer for some reason dumps few last frames for reason yet to find.

comment:5 by Elon Musk, 12 years ago

Fixed in master.

comment:6 by Carl Eugen Hoyos, 12 years ago

Did you test?
It does not work correctly here...

comment:7 by Elon Musk, 12 years ago

Does work with ffplay, doesn't with ffmpeg. mplayer think it gets EOF and exits too early.

comment:8 by Carl Eugen Hoyos, 12 years ago

That's why I think the problem has not been fixed.
ffmpeg is the primary application.

comment:9 by Michael Niedermayer, 12 years ago

Resolution: fixed
Status: openclosed
Note: See TracTickets for help on using tickets.