Opened 12 years ago

Closed 12 years ago

#517 closed defect (fixed)

Some SFD Gamecube/Wii videos produce corrupted video output

Reported by: STaRGaZeR Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: SFD MPEG
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

The SFD container used in the Gamecube and Wii consoles seems to be MPEG-PS based, with MPEG1 video and different audio codecs. FFmpeg has no problem undestanding the format and playing it. However, most of the files produce corrupted video output, like you can see here (ffplay.exe capture):

http://img339.imageshack.us/img339/5809/corruption.png

I have extracted a lot of SFD files from GC/Wii discs, and all of them look like that EXCEPT one I found recently, that plays perfectly fine. Since this may be helpful for debugging, I've uploaded it too.

Sample with corrupted output: http://www.mediafire.com/?nkut3shs71cdc0m (story06B.sfd, 6MB)

Sample without corrupted output: http://www.mediafire.com/?q51sq1epk5az257 (story06A.sfd, 36MB)

Both samples are untouched, right form the disc. Let me know if you need more samples or anything.

Thanks!

Attachments (1)

story06B_cut.sfd (2.4 MB ) - added by Carl Eugen Hoyos 12 years ago.

Change History (5)

comment:1 by Carl Eugen Hoyos, 12 years ago

Complete, uncut output missing.

comment:2 by STaRGaZeR, 12 years ago

Indeed, here you have the two uncut outputs.

story06B.sfd, corrupted output:

C:\Users\STaRGaZeR\Desktop>ffmpeg -v 9 -loglevel 99 -i story06b.sfd
ffmpeg version N-32962-gcbf914c, Copyright (c) 2000-2011 the FFmpeg developers
  built on Sep 25 2011 21:35:29 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena
ble-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --ena
ble-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

  libavutil    51. 17. 0 / 51. 17. 0
  libavcodec   53. 17. 0 / 53. 17. 0
  libavformat  53. 13. 0 / 53. 13. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 5 /  2. 43. 5
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mpeg @ 00368A80] Format mpeg probed with size=8192 and score=52
[mpeg @ 00368A80] parser not found for codec adpcm_adx, packets or times may be
invalid.
[mpeg @ 00368A80] probing stream 1 pp:2500
[mpeg @ 00368A80] Probe with size=2018, packets=1 detected mpegvideo with score=
25
[mpeg @ 00368A80] probing stream 1 pp:2499
[mpeg @ 00368A80] Probe with size=4036, packets=2 detected mpegvideo with score=
25
[mpeg @ 00368A80] probing stream 1 pp:2498
[mpeg @ 00368A80] Probe with size=6054, packets=3 detected mpegvideo with score=
25
[mpeg @ 00368A80] probing stream 1 pp:2497
[mpeg @ 00368A80] probing stream 1 pp:2496
[mpeg @ 00368A80] Probe with size=10090, packets=5 detected mpegvideo with score
=25
[mpeg @ 00368A80] probing stream 1 pp:2495
[mpeg @ 00368A80] probing stream 1 pp:2494
[mpeg @ 00368A80] probing stream 1 pp:2493
[mpeg @ 00368A80] probing stream 1 pp:2492
[mpeg @ 00368A80] Probe with size=18162, packets=9 detected mpegvideo with score
=25
[mpeg @ 00368A80] probing stream 1 pp:2491
[mpeg @ 00368A80] probing stream 1 pp:2490
[mpeg @ 00368A80] probing stream 1 pp:2489
[mpeg @ 00368A80] probing stream 1 pp:2488
[mpeg @ 00368A80] probing stream 1 pp:2487
[mpeg @ 00368A80] probing stream 1 pp:2486
[mpeg @ 00368A80] probing stream 1 pp:2485
[mpeg @ 00368A80] probing stream 1 pp:2484
[mpeg @ 00368A80] Probe with size=34306, packets=17 detected mpegvideo with scor
e=25
[mpeg @ 00368A80] probing stream 1 pp:2483
[mpeg @ 00368A80] probing stream 1 pp:2482
[mpeg @ 00368A80] probing stream 1 pp:2481
[mpeg @ 00368A80] probing stream 1 pp:2480
[mpeg @ 00368A80] probing stream 1 pp:2479
[mpeg @ 00368A80] probing stream 1 pp:2478
[mpeg @ 00368A80] probing stream 1 pp:2477
[mpeg @ 00368A80] probing stream 1 pp:2476
[mpeg @ 00368A80] probing stream 1 pp:2475
[mpeg @ 00368A80] probing stream 1 pp:2474
[mpeg @ 00368A80] probing stream 1 pp:2473
[mpeg @ 00368A80] probing stream 1 pp:2472
[mpeg @ 00368A80] probing stream 1 pp:2471
[mpeg @ 00368A80] probing stream 1 pp:2470
[mpeg @ 00368A80] probing stream 1 pp:2469
[mpeg @ 00368A80] probing stream 1 pp:2468
[mpeg @ 00368A80] Probe with size=66594, packets=33 detected mpegvideo with scor
e=51
[mpeg @ 00368A80] probed stream 1
[mpeg1video @ 01A16A40] Unsupported bit depth: 0
[mpeg @ 00368A80] invalid dts/pts combination 180180
[mpeg @ 00368A80] invalid dts/pts combination 237294
[mpeg @ 00368A80] invalid dts/pts combination 240300
[mpeg @ 00368A80] invalid dts/pts combination 330390
[mpeg @ 00368A80] invalid dts/pts combination 405450
[mpeg @ 00368A80] max_analyze_duration 5000000 reached at 5005000
Input #0, mpeg, from 'story06b.sfd':
  Duration: 00:00:13.29, start: 0.000000, bitrate: 4056 kb/s
    Stream #0:0[0x1c0], 68, 1/90000: Audio: adpcm_adx, 24000 Hz, 2 channels, s16
, 216 kb/s
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg1video, yuv420p, 640x336 [SAR 2
00:219 DAR 8000:4599], 1001/30000, 104857 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 2
9.97 tbc
At least one output file must be specified

story06A.sfd, correct output:

C:\Users\STaRGaZeR\Desktop>ffmpeg -v 9 -loglevel 99 -i story06a.sfd
ffmpeg version N-32962-gcbf914c, Copyright (c) 2000-2011 the FFmpeg developers
  built on Sep 25 2011 21:35:29 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena
ble-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-
libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --ena
ble-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --en
able-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis
--enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib

  libavutil    51. 17. 0 / 51. 17. 0
  libavcodec   53. 17. 0 / 53. 17. 0
  libavformat  53. 13. 0 / 53. 13. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 43. 5 /  2. 43. 5
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[mpeg @ 01C58A80] Format mpeg probed with size=8192 and score=52
[mpeg @ 01C58A80] parser not found for codec adpcm_adx, packets or times may be
invalid.
[mpeg @ 01C58A80] probing stream 1 pp:2500
[mpeg @ 01C58A80] Probe with size=2018, packets=1 detected mpegvideo with score=
25
[mpeg @ 01C58A80] probing stream 1 pp:2499
[mpeg @ 01C58A80] Probe with size=4036, packets=2 detected mpegvideo with score=
25
[mpeg @ 01C58A80] probing stream 1 pp:2498
[mpeg @ 01C58A80] Probe with size=6054, packets=3 detected mpegvideo with score=
25
[mpeg @ 01C58A80] probing stream 1 pp:2497
[mpeg @ 01C58A80] probing stream 1 pp:2496
[mpeg @ 01C58A80] Probe with size=10090, packets=5 detected mpegvideo with score
=25
[mpeg @ 01C58A80] probing stream 1 pp:2495
[mpeg @ 01C58A80] probing stream 1 pp:2494
[mpeg @ 01C58A80] probing stream 1 pp:2493
[mpeg @ 01C58A80] probing stream 1 pp:2492
[mpeg @ 01C58A80] Probe with size=18162, packets=9 detected mpegvideo with score
=25
[mpeg @ 01C58A80] probing stream 1 pp:2491
[mpeg @ 01C58A80] probing stream 1 pp:2490
[mpeg @ 01C58A80] probing stream 1 pp:2489
[mpeg @ 01C58A80] probing stream 1 pp:2488
[mpeg @ 01C58A80] probing stream 1 pp:2487
[mpeg @ 01C58A80] probing stream 1 pp:2486
[mpeg @ 01C58A80] probing stream 1 pp:2485
[mpeg @ 01C58A80] probing stream 1 pp:2484
[mpeg @ 01C58A80] Probe with size=34306, packets=17 detected mpegvideo with scor
e=25
[mpeg @ 01C58A80] probing stream 1 pp:2483
[mpeg @ 01C58A80] probing stream 1 pp:2482
[mpeg @ 01C58A80] probing stream 1 pp:2481
[mpeg @ 01C58A80] probing stream 1 pp:2480
[mpeg @ 01C58A80] probing stream 1 pp:2479
[mpeg @ 01C58A80] probing stream 1 pp:2478
[mpeg @ 01C58A80] probing stream 1 pp:2477
[mpeg @ 01C58A80] probing stream 1 pp:2476
[mpeg @ 01C58A80] probing stream 1 pp:2475
[mpeg @ 01C58A80] probing stream 1 pp:2474
[mpeg @ 01C58A80] probing stream 1 pp:2473
[mpeg @ 01C58A80] probing stream 1 pp:2472
[mpeg @ 01C58A80] probing stream 1 pp:2471
[mpeg @ 01C58A80] probing stream 1 pp:2470
[mpeg @ 01C58A80] probing stream 1 pp:2469
[mpeg @ 01C58A80] probing stream 1 pp:2468
[mpeg @ 01C58A80] Probe with size=66594, packets=33 detected mpegvideo with scor
e=25
[mpeg @ 01C58A80] probing stream 1 pp:2467
[mpeg @ 01C58A80] probing stream 1 pp:2466
[mpeg @ 01C58A80] probing stream 1 pp:2465
[mpeg @ 01C58A80] probing stream 1 pp:2464
[mpeg @ 01C58A80] probing stream 1 pp:2463
[mpeg @ 01C58A80] probing stream 1 pp:2462
[mpeg @ 01C58A80] probing stream 1 pp:2461
[mpeg @ 01C58A80] probing stream 1 pp:2460
[mpeg @ 01C58A80] probing stream 1 pp:2459
[mpeg @ 01C58A80] probing stream 1 pp:2458
[mpeg @ 01C58A80] probing stream 1 pp:2457
[mpeg @ 01C58A80] probing stream 1 pp:2456
[mpeg @ 01C58A80] probing stream 1 pp:2455
[mpeg @ 01C58A80] probing stream 1 pp:2454
[mpeg @ 01C58A80] probing stream 1 pp:2453
[mpeg @ 01C58A80] probing stream 1 pp:2452
[mpeg @ 01C58A80] probing stream 1 pp:2451
[mpeg @ 01C58A80] probing stream 1 pp:2450
[mpeg @ 01C58A80] probing stream 1 pp:2449
[mpeg @ 01C58A80] probing stream 1 pp:2448
[mpeg @ 01C58A80] probing stream 1 pp:2447
[mpeg @ 01C58A80] probing stream 1 pp:2446
[mpeg @ 01C58A80] probing stream 1 pp:2445
[mpeg @ 01C58A80] probing stream 1 pp:2444
[mpeg @ 01C58A80] probing stream 1 pp:2443
[mpeg @ 01C58A80] probing stream 1 pp:2442
[mpeg @ 01C58A80] probing stream 1 pp:2441
[mpeg @ 01C58A80] probing stream 1 pp:2440
[mpeg @ 01C58A80] probing stream 1 pp:2439
[mpeg @ 01C58A80] probing stream 1 pp:2438
[mpeg @ 01C58A80] probing stream 1 pp:2437
[mpeg @ 01C58A80] probing stream 1 pp:2436
[mpeg @ 01C58A80] Probe with size=131170, packets=65 detected mpegvideo with sco
re=51
[mpeg @ 01C58A80] probed stream 1
[mpeg1video @ 03AB6A40] Unsupported bit depth: 0
[mpeg @ 01C58A80] invalid dts/pts combination 177264
[mpeg @ 01C58A80] invalid dts/pts combination 180180
[mpeg @ 01C58A80] invalid dts/pts combination 285300
[mpeg @ 01C58A80] max_analyze_duration 5000000 reached at 5005000
Input #0, mpeg, from 'story06a.sfd':
  Duration: 00:01:06.53, start: 0.000000, bitrate: 4606 kb/s
    Stream #0:0[0x1c0], 68, 1/90000: Audio: adpcm_adx, 24000 Hz, 2 channels, s16
, 216 kb/s
    Stream #0:1[0x1e0], 152, 1/90000: Video: mpeg1video, yuv420p, 640x336 [SAR 2
00:219 DAR 8000:4599], 1001/30000, 104857 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 2
9.97 tbc
At least one output file must be specified

by Carl Eugen Hoyos, 12 years ago

Attachment: story06B_cut.sfd added

comment:3 by Carl Eugen Hoyos, 12 years ago

Reproduced by developer: set
Status: newopen

comment:4 by Michael Niedermayer, 12 years ago

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