Opened 7 years ago
Closed 7 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 , 7 years ago
Attachment: | svq3_decoding_regression.mov added |
---|
comment:1 by , 7 years ago
Keywords: | edts regression added |
---|---|
Priority: | normal → important |
Status: | new → open |
comment:2 by , 7 years ago
comment:3 by , 7 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.