Opened 9 years ago
Closed 9 years ago
#6714 closed defect (invalid)
MOV file with svq3 video fails to decode if edit list parsing is enabled
| Reported by: | James | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | avformat |
| Version: | git-master | Keywords: | mov edts regression |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
$ ./ffmpeg -loglevel debug -i ../samples/svq3/svq3_decoding_regression.mov -f null -
ffmpeg version N-87667-g712ee85816 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.2.0 (Rev1, Built by MSYS2 project)
configuration: --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libwebp --cpu=haswell --extra-cflags='-D_WIN32_WINNT=0x0602' --cc='ccache gcc' --x86asmexe=yasm --samples=../samples --prefix=/mingw64
libavutil 55. 77.101 / 55. 77.101
libavcodec 57.106.104 / 57.106.104
libavformat 57. 82.102 / 57. 82.102
libavdevice 57. 9.101 / 57. 9.101
libavfilter 6.106.100 / 6.106.100
libswscale 4. 7.103 / 4. 7.103
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument '../samples/svq3/svq3_decoding_regression.mov'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'null'.
Reading option '-' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url ../samples/svq3/svq3_decoding_regression.mov.
Successfully parsed a group of options.
Opening an input file: ../samples/svq3/svq3_decoding_regression.mov.
[NULL @ 00000000001f8960] Opening '../samples/svq3/svq3_decoding_regression.mov' for reading
[file @ 00000000024c2e00] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] ISO: File Type Major Brand: qt
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Processing st: 0, edit list 0 - media time: 20800, duration: 82463367283
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 0 @ 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 800 @ 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 1600 @ 2
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 2400 @ 3
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 3200 @ 4
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 4000 @ 5
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 4800 @ 6
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 5600 @ 7
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 6400 @ 8
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 7200 @ 9
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 8000 @ 10
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 8800 @ 11
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 9600 @ 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 10400 @ 13
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 11200 @ 14
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 12000 @ 15
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 12800 @ 16
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 13600 @ 17
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 14400 @ 18
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] drop a frame at curr_cts: 15200 @ 19
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Before avformat_find_stream_info() pos: 247510 bytes read:33704 seeks:1 nb_streams:1
[svq3 @ 00000000024d3f20] Unknown fields 0 0 1 1 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 2 with DTS 0, packet 3 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 3 with DTS 0, packet 4 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 4 with DTS 0, packet 5 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 5 with DTS 0, packet 6 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 6 with DTS 0, packet 7 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 7 with DTS 0, packet 8 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 8 with DTS 0, packet 9 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 9 with DTS 0, packet 10 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 10 with DTS 0, packet 11 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 11 with DTS 0, packet 12 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 12 with DTS 0, packet 13 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 13 with DTS 0, packet 14 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 14 with DTS 0, packet 15 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 15 with DTS 0, packet 16 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 16 with DTS 0, packet 17 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 17 with DTS 0, packet 18 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] Non-increasing DTS in stream 0: packet 18 with DTS 0, packet 19 with DTS 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000001f8960] After avformat_find_stream_info() pos: 246574 bytes read:281178 seeks:2 frames:20
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../samples/svq3/svq3_decoding_regression.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
artist : Mark Strube - SupaDupaStrube@msn.com
artist-eng : Mark Strube - SupaDupaStrube@msn.com
title : Movie-List Presents: The Abyss
title-eng : Movie-List Presents: The Abyss
encoder : Lavf57.66.101
copyright : © 1989 Twentieth Century Fox
copyright-eng : © 1989 Twentieth Century Fox
Duration: 00:00:00.83, bitrate: 2374 kb/s
Stream #0:0(eng), 20, 1/19200: Video: svq3, 1 reference frame (SVQ3 / 0x33515653), yuvj420p(pc), 480x257, 0/1, 2366 kb/s, 24 fps, 24 tbr, 19200 tbn, 19200 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Sorenson Video 3
Successfully opened the file.
Parsing a group of options: output url -.
Applying option f (force format) with argument null.
Successfully parsed a group of options.
Opening an output file: -.
Successfully opened the file.
[svq3 @ 00000000024d5180] Unknown fields 0 0 1 1 0
Stream mapping:
Stream #0:0 -> #0:0 (svq3 (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
Last message repeated 1 times
[svq3 @ 00000000024d5180] Missing reference frame.
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
Last message repeated 18 times
No more output streams to write to, finishing.
Finishing stream 0:0 without any data written to it.
detected 4 logical cores
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'video_size' to value '480x257'
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'pix_fmt' to value '12'
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'time_base' to value '1/19200'
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 00000000024c4160] Setting 'frame_rate' to value '24/1'
[graph 0 input from stream 0:0 @ 00000000024c4160] w:480 h:257 pixfmt:yuvj420p tb:1/19200 fr:24/1 sar:0/1 sws_param:flags=2
[AVFilterGraph @ 00000000025297c0] query_formats: 3 queried, 2 merged, 0 already done, 0 delayed
Output #0, null, to 'pipe:':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
artist : Mark Strube - SupaDupaStrube@msn.com
artist-eng : Mark Strube - SupaDupaStrube@msn.com
title : Movie-List Presents: The Abyss
title-eng : Movie-List Presents: The Abyss
copyright-eng : © 1989 Twentieth Century Fox
copyright : © 1989 Twentieth Century Fox
encoder : Lavf57.82.102
Stream #0:0(eng), 0, 1/24: Video: wrapped_avframe, 1 reference frame, yuvj420p, 480x257, 0/1, q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc (default)
Metadata:
handler_name : DataHandler
encoder : Lavc57.106.104 wrapped_avframe
frame= 0 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.00 bitrate=N/A speed= 0x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
Input file #0 (../samples/svq3/svq3_decoding_regression.mov):
Input stream #0:0 (video): 20 packets read (246538 bytes); 0 frames decoded;
Total: 20 packets (246538 bytes) demuxed
Output file #0 (pipe:):
Output stream #0:0 (video): 0 frames encoded; 0 packets muxed (0 bytes);
Total: 0 packets (0 bytes) muxed
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
0 frames successfully decoded, 0 decoding errors
[AVIOContext @ 00000000024cb0a0] Statistics: 281178 bytes read, 2 seeks
Adding "-ignore_editlist 1" to the demuxer options allows to decode the file.
Attachments (1)
Change History (4)
by , 9 years ago
| Attachment: | svq3_decoding_regression.mov added |
|---|
comment:1 by , 9 years ago
| Keywords: | edts regression added |
|---|---|
| Priority: | normal → important |
| Status: | new → open |
comment:2 by , 9 years ago
comment:3 by , 9 years ago
| Resolution: | → invalid |
|---|---|
| Status: | open → closed |
The file was cut to be as small as possible for the fate testing repository.
Please also look at the other related tickets if you have time.
Note:
See TracTickets
for help on using tickets.



The file has an edit-list that specifies to play from the 1.3s. offset, while it has only 1s. worth of samples.
Edit list:
Entry[0].SegmentDuration 4294967046
Entry[0].MediaTime 20800
Entry[0].MediaRateInteger 1
Entry[0].MediaRateFraction 0
While total duration in mdhd itself is 16000 only
mdhd:
Timescale 19200
Duration 16000
So, the edit list parsing code is doing the correct thing by not producing any frames. Please investigate why such an edit list has been introduced in the file.