Opened 3 years ago

Closed 2 years ago

#7945 closed defect (fixed)

regression in interplay MVE decoding

Reported by: criezy Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

There is a regression playing some interplay MVE movies and git bisect points to commit 8f86e66 being the culprit. It's parent is fine. And I have tested that the issue is still present in 714c8b0 (I can't compile anything more recent and created a separate bug about that).

I reproduced the issue using a video from the video game Kingdom: The Far Reaches. See the two attached images showing a frame from video KING060.MVE, the bad one using commit 8f86e66 and the good one using its parent.

I have tested all the MVE videos from http://samples.mplayerhq.hu/game-formats/interplay-mve/ but unfortunately none of those show the issue. However as I am not sure if attaching supposedly copyrighted material is fine, I have opted not to attached one from the Kingdom video game to this ticket until told I can do so. Otherwise the game is available to buy on https://www.gog.com/game/kingdom_the_far_reaches

This is on macOS 10.12, but others have seen the issue on other systems.

Attachments (3)

mve_good.png (52.6 KB ) - added by criezy 3 years ago.
Frame of KING060.MVE with good revision
mve_bad.png (53.4 KB ) - added by criezy 3 years ago.
Frame of KING060.MVE with bad revision
KING178.MVE (199.0 KB ) - added by criezy 2 years ago.
Movie from the Interplay game Kingdom: The Far Reaches

Download all attachments as: .zip

Change History (10)

by criezy, 3 years ago

Attachment: mve_good.png added

Frame of KING060.MVE with good revision

by criezy, 3 years ago

Attachment: mve_bad.png added

Frame of KING060.MVE with bad revision

comment:1 by criezy, 3 years ago

The command used is simply ./ffplay KING060.MVE.

Also here is more info:

iMac:FFmpeg criezy$ ./ffmpeg -v 9 -loglevel 99 -i /Volumes/LaCie/ScummVM/Other\ Games/Kingdom\ -\ The\ Far\ Reaches.harddisk/MOVIES/KING060.MVE 
ffmpeg version N-89593-g8f86e66238 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --disable-x86asm
  libavutil      56.  7.100 / 56.  7.100
  libavcodec     58.  8.100 / 58.  8.100
  libavformat    58.  3.100 / 58.  3.100
  libavdevice    58.  0.100 / 58.  0.100
  libavfilter     7.  7.100 /  7.  7.100
  libswscale      5.  0.101 /  5.  0.101
  libswresample   3.  0.101 /  3.  0.101
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '9'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument '99'.
Reading option '-i' ... matched as input url with argument '/Volumes/LaCie/ScummVM/Other Games/Kingdom - The Far Reaches.harddisk/MOVIES/KING060.MVE'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 9.
Successfully parsed a group of options.
Parsing a group of options: input url /Volumes/LaCie/ScummVM/Other Games/Kingdom - The Far Reaches.harddisk/MOVIES/KING060.MVE.
Successfully parsed a group of options.
Opening an input file: /Volumes/LaCie/ScummVM/Other Games/Kingdom - The Far Reaches.harddisk/MOVIES/KING060.MVE.
[NULL @ 0x7f8390000000] Opening '/Volumes/LaCie/ScummVM/Other Games/Kingdom - The Far Reaches.harddisk/MOVIES/KING060.MVE' for reading
[file @ 0x7f838f40e8c0] Setting default whitelist 'file,crypto'
Probing ipmovie score:100 size:2048
[ipmovie @ 0x7f8390000000] Format ipmovie probed with size=2048 and score=100
[ipmovie @ 0x7f8390000000] chunk type 0x0002, 0x02C2 bytes: initialize video
[ipmovie @ 0x7f8390000000]   opcode type 0A, version 0, 0x0006 bytes: initialize video mode
[ipmovie @ 0x7f8390000000]   opcode type 05, version 2, 0x0008 bytes: initialize video buffers
[ipmovie @ 0x7f8390000000] video resolution: 224 x 144
[ipmovie @ 0x7f8390000000]   opcode type 0C, version 0, 0x02A4 bytes: set palette
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] chunk type 0x0000, 0x0010 bytes: initialize audio
[ipmovie @ 0x7f8390000000]   opcode type 03, version 0, 0x0008 bytes: initialize audio buffers
[ipmovie @ 0x7f8390000000] audio: 8 bits, 11025 Hz, mono, PCM format
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] Before avformat_find_stream_info() pos: 756 bytes read:32768 seeks:0 nb_streams:2
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03A0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x038E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 0 (904 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 904 (1824 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 1824 (2744 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 2744 (3664 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 3664 (4584 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 4584 (5504 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 5504 (6424 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 6424 (7344 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 7344 (8264 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 8264 (9184 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0001, 0x03B0 bytes: audio only
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 9184 (10104 audio frames)
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 02, version 0, 0x0006 bytes: create timer
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 10104 (11024 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 0
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2BF0 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x038E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 11024 (11928 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 83328
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 11928 (12848 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 166656
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 12848 (13768 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 249984
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 13768 (14688 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 333312
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 14688 (15608 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 416640
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 15608 (16528 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 499968
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 16528 (17448 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 583296
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 17448 (18368 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 666624
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 18368 (19288 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 749952
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 19288 (20208 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 833280
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 20208 (21128 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 916608
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 21128 (22048 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 999936
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2BF0 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x038E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 22048 (22952 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1083264
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 22952 (23872 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1166592
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 23872 (24792 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1249920
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 24792 (25712 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1333248
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 25712 (26632 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1416576
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 26632 (27552 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1499904
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 27552 (28472 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1583232
[ipmovie @ 0x7f8390000000] chunk type 0x0003, 0x2C00 bytes: video (and audio)
[ipmovie @ 0x7f8390000000]   opcode type 08, version 0, 0x039E bytes: audio frame
[ipmovie @ 0x7f8390000000]   opcode type 09, version 0, 0x0006 bytes: silence frame
[ipmovie @ 0x7f8390000000]   opcode type 06, version 0, 0x283E bytes: set video data format 0x06
[ipmovie @ 0x7f8390000000]   opcode type 04, version 0, 0x0000 bytes: start/stop audio
[ipmovie @ 0x7f8390000000]   opcode type 07, version 1, 0x0006 bytes: send buffer
[ipmovie @ 0x7f8390000000]   opcode type 01, version 0, 0x0000 bytes: end of chunk
[ipmovie @ 0x7f8390000000] sending audio frame with pts 28472 (29392 audio frames)
[ipmovie @ 0x7f8390000000] sending video frame with pts 1666560
[ipmovie @ 0x7f8390000000] All info found
[ipmovie @ 0x7f8390000000] Setting avg frame rate based on r frame rate
[ipmovie @ 0x7f8390000000] stream 0: start_time: 0.000 duration: -9223372036854.775
[ipmovie @ 0x7f8390000000] stream 1: start_time: 0.000 duration: -836587032821294.875
[ipmovie @ 0x7f8390000000] format: start_time: 0.000 duration: -9223372036854.775 bitrate=0 kb/s
[ipmovie @ 0x7f8390000000] After avformat_find_stream_info() pos: 247746 bytes read:688128 seeks:9 frames:53
Input #0, ipmovie, from '/Volumes/LaCie/ScummVM/Other Games/Kingdom - The Far Reaches.harddisk/MOVIES/KING060.MVE':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0, 21, 1/1000000: Video: interplayvideo, 1 reference frame, pal8, 224x144, 0/1, 12 fps, 12 tbr, 1000k tbn, 1000k tbc
    Stream #0:1, 32, 1/11025: Audio: pcm_u8, 11025 Hz, mono, u8, 88 kb/s
Successfully opened the file.
At least one output file must be specified
[AVIOContext @ 0x7f838f40ea40] Statistics: 688128 bytes read, 9 seeks

comment:2 by Carl Eugen Hoyos, 2 years ago

Keywords: regression added
Priority: normalimportant
Resolution: needs_more_info
Status: newclosed

Please reopen this ticket if you can provide a sample file.

by criezy, 2 years ago

Attachment: KING178.MVE added

Movie from the Interplay game Kingdom: The Far Reaches

comment:3 by criezy, 2 years ago

Resolution: needs_more_info
Status: closedreopened

I have attached a small movie that exhibits the issue described in this ticket.

The movie is from the demo version of the Interplay game Kingdom: The Far Reaches, and more movies that have the same issue can be found in this demo, which is available on archive.org: https://archive.org/details/Kingdom_demo

Note: I saw the instructions on https://ffmpeg.org/bugreports.html that ask to upload samples on upload.ffmpeg.org, but the connection to that server times out for me. Hopefully attaching the file to this ticket is fine.

comment:4 by Elon Musk, 2 years ago

Are you sure this file is valid? I tried it with initial 0x06 patch and it does not work at all. Feel free to upload more sample via any sane uploading service.

comment:5 by criezy, 2 years ago

I am not sure how you define valid, but this file is present in both the demo and full game version of the Interplay game Kingdom: The Far Reaches. I have also downloaded the file from this ticket just now to check that it had not been corrupted by the upload and I can confirm it is still identical to the original file.

This file is properly displayed in the game, and I can also play it without issue using ffplay from commit e2218ed8ce. The next commit however (8f86e66, avcodec: add stride alignment needed for AVX-512) breaks playback of this file. The same happens with may other files from that game.

I have uploaded some of those to my dropbox: https://www.dropbox.com/sh/3mrqwxb5l3pzvga/AACaWn4rvdgg2V-rKee3Wi4da?dl=0

It may be worth noting that all these videos have in common that support for them was added through a series of patches by hpvp in June and July 2017. You can see the patches there: https://patchwork.ffmpeg.org/project/ffmpeg/list/?submitter=363&state=*
So playback for those only worked for a few months until 8f86e66 came along in November 2017.

Note that when switching from e2218ed8ce to 8f86e66 a simple recompile is not sufficient and I need to clean and run configure again for the issue to appear. If I just recompile without running configure then the video still play properly in 8f86e66.

Last edited 2 years ago by criezy (previous) (diff)

comment:6 by Carl Eugen Hoyos, 2 years ago

Component: undeterminedavcodec
Reproduced by developer: set
Status: reopenedopen

Indeed a regression since 8f86e6623811f7713d5e72c13797e20fffb3df62
frame->linesize[0] is 256 instead of the expected 224 for the sample if the compiler supports AVX-512.

comment:7 by Carl Eugen Hoyos, 2 years ago

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