Opened 4 years ago

Closed 4 years ago

#8381 closed defect (fixed)

Remuxing of AV1 WebM file to IVF creates unplayable file

Reported by: Ronald S. Bultje Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: ivf av1 regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description (last modified by Ronald S. Bultje)

$ aomdec ~/Downloads/autostitch-10s.webm -o - --md5 --rawvideo
5be667329ee6d684db4fc540d97f919c  -
$ ffmpeg -i ~/Downloads/autostitch-10s.webm -c:v copy /tmp/autostitch-10s.ivf
ffmpeg version N-95733-g73ee53f Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.38)
  configuration: --enable-gpl --samples=/Users/ronaldbultje/Movies/fate-suite-ff --enable-libvpx --enable-libx264 --disable-autodetect --enable-ffplay --enable-sdl2 --enable-version3 --enable-libaom --enable-libdav1d
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 62.100 / 58. 62.100
  libavformat    58. 35.100 / 58. 35.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[libdav1d @ 0x7fa351817c00] libdav1d 0.5.1-5-g14a67d7
Input #0, matroska,webm, from '/Users/ronaldbultje/Downloads/autostitch-10s.webm':
  Metadata:
    ENCODER         : Lavf58.20.100
  Duration: 00:00:10.00, start: 0.000000, bitrate: 867 kb/s
    Stream #0:0: Video: av1 (Main), yuv420p(tv), 852x480, SAR 1:1 DAR 71:40, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:00:10.000000000
Output #0, ivf, to '/tmp/autostitch-10s.ivf':
  Metadata:
    encoder         : Lavf58.35.100
    Stream #0:0: Video: av1 (Main) (AV01 / 0x31305641), yuv420p(tv), 852x480 [SAR 1:1 DAR 71:40], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      DURATION        : 00:00:10.000000000
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[AVBSFContext @ 0x7fa350d0dc00] Warning: skip_mode_present does not match inferred value: 1, but should be 0.
    Last message repeated 6 times
frame=  300 fps=0.0 q=-1.0 Lsize=    1060kB time=00:00:09.96 bitrate= 871.1kbits/s speed=1.57e+03x    
video:1056kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.391450%
$ aomdec /tmp/autostitch-10s.ivf -o - --md5 --rawvideo
Warning: Failed to decode frame 31: Corrupt frame detected
Warning: Additional information: Failed to decode tile data
c5d248aaadefebe05e6cfd58bbc92a65  -

Remuxing of this WebM appears broken, because the generated YUV for the WebM file by aomdec looks visually OK - the IVF decoded YUV looks broken, though. dav1d gives me a different md5, probably because it doesn't immediately abort but continues after the next keyframe, but it still looks broken.

$ dav1d -i /tmp/autostitch-10s.ivf --muxer=md5 -o -
dav1d 0.5.1-5-g14a67d7 - by VideoLAN
Decoded 300/300 frames (100.0%) - 369.41/30.00 fps (12.31x)
ceea0af45328eed2d53db7ff7d7e03dd

Or using ffmpeg (which I think also tries to resume at next keyframes for the IVF file), but also generates the correct MD5 for the WebM file:

$ ~/Projects/ffmpeg/x86-64-gpl/ffmpeg -reinit_filter 0 -i ~/Downloads/autostitch-10s.webm -f md5 -v error -nostats -
MD5=5be667329ee6d684db4fc540d97f919c
$ ~/Projects/ffmpeg/x86-64-gpl/ffmpeg -reinit_filter 0 -i /tmp/autostitch-10s.ivf -f md5 -v error -nostats -
MD5=ceea0af45328eed2d53db7ff7d7e03dd

ffmpeg uses libdav1d for decoding btw, in case you're wondering:

$ ffmpeg -reinit_filter 0 -i ~/Downloads/autostitch-10s.webm -f md5 -v info -nostats -
ffmpeg version N-95733-g73ee53f Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.38)
  configuration: --enable-gpl --samples=/Users/ronaldbultje/Movies/fate-suite-ff --enable-libvpx --enable-libx264 --disable-autodetect --enable-ffplay --enable-sdl2 --enable-version3 --enable-libaom --enable-libdav1d
[..]
[libdav1d @ 0x7fa101804400] libdav1d 0.5.1-5-g14a67d7
Input #0, matroska,webm, from '/Users/ronaldbultje/Downloads/autostitch-10s.webm':
[..]

Attachments (1)

autostitch-10s.webm (1.0 MB ) - added by Ronald S. Bultje 4 years ago.

Download all attachments as: .zip

Change History (4)

by Ronald S. Bultje, 4 years ago

Attachment: autostitch-10s.webm added

comment:1 by Ronald S. Bultje, 4 years ago

Description: modified (diff)

comment:2 by Carl Eugen Hoyos, 4 years ago

Keywords: ivf av1 regression added
Priority: normalimportant
Reproduced by developer: set
Version: unspecifiedgit-master

comment:3 by James, 4 years ago

Component: undeterminedavcodec
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.