Opened 6 years ago

Closed 6 years ago

#7853 closed defect (fixed)

mp3 file without .mp3 filename extension is probed as vc1

Reported by: Mattias Wadman Owned by:
Priority: important Component: avformat
Version: git-master Keywords: probe mp3 vc1 regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Summary of the bug:

ffmpeg probes mp3 file as raw VC-1 video

How to reproduce:

# Download mp3 file (is the podcast "The Everything 80s Podcast" episode "Laserdisc: A Technology Ahead Of Its Time?")
$ curl -OLJ https://traffic.libsyn.com/secure/everything80spodcast/12Laserdisc.mp3

$ md5 12Laserdisc.mp3
MD5 (12Laserdisc) = d8b9d5ddc37d4b2758985c52f040ff38

# Make a copy without .mp3 extension
$ cp 12Laserdisc.mp3 12Laserdisc

# ffprobe file without extension 
$ ffmpeg -v trace 12Laserdisc
ffprobe version git-2019-04-17-2a50f1d Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 8.3.0 (Alpine 8.3.0)
  configuration: --enable-debug
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 51.100 / 58. 51.100
  libavformat    58. 27.102 / 58. 27.102
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
[NULL @ 0x7fefdb07b300] Opening '12Laserdisc' for reading
[file @ 0x561afc763cc0] Setting default whitelist 'file,crypto'
Probing mp3 score:12 size:2048
Probing mp3 score:12 size:4096
Probing mp3 score:12 size:8192
Probing mp3 score:12 size:16384
Probing mp3 score:12 size:32768
Probing mp3 score:12 size:65536
Probing mp3 score:12 size:131072
Probing vc1 score:26 size:131072
[vc1 @ 0x7fefdb07b300] Format vc1 probed with size=131072 and score=26
id3v2 ver:2 flags:00 len:1156830
[vc1 @ 0x7fefdb07b300] demuxer does not support additional id3 data, skipping
[vc1 @ 0x7fefdb07b300] Before avformat_find_stream_info() pos: 1156840 bytes read:1179276 seeks:0 nb_streams:1
[vc1 @ 0x7fefdb07b300] Failed to open codec in avformat_find_stream_info
[NULL @ 0x7fefdafe8500] Entry point: 34E9B1AA
[NULL @ 0x7fefdafe8500] [IMGUTILS @ 0x7ffdf56ff320] Picture size 0x0 is invalid
[NULL @ 0x7fefdafe8500] Failed to set dimensions 0 0
[NULL @ 0x7fefdafe8500] Entry point: 61246260
[NULL @ 0x7fefdafe8500] Chroma scaling is not supported, expect wrong picture
[NULL @ 0x7fefdafe8500] Entry point info:
BrokenLink=0, ClosedEntry=1, PanscanFlag=1
RefDist=0, Postproc=0, FastUVMC=0, ExtMV=0
DQuant=2, VSTransform=0, Overlap=1, Qmode=0
[NULL @ 0x7fefdafe8500] Entry point: 0E21FE67
[NULL @ 0x7fefdafe8500] [IMGUTILS @ 0x7ffdf56ff320] Picture size 0x0 is invalid
[NULL @ 0x7fefdafe8500] Failed to set dimensions 0 0
[vc1 @ 0x7fefdafe8500] Entry point: 34E9B1AA
[vc1 @ 0x7fefdafe8500] [IMGUTILS @ 0x7ffdf56ff3a0] Picture size 0x0 is invalid
[vc1 @ 0x7fefdafe8500] Failed to set dimensions 0 0
[NULL @ 0x7fefdafe8500] Header: 4F26CB16
[NULL @ 0x7fefdafe8500] Profile 1:
frmrtq_postproc=7, bitrtq_postproc=18
LoopFilter=0, MultiRes=1, FastUVMC=1, Extended MV=1
Rangered=0, VSTransform=1, Overlap=1, SyncMarker=1
DQuant=0, Quantizer mode=1, Max B-frames=1
[vc1 @ 0x7fefdb07b300] Probe buffer size limit of 5000000 bytes reached
[vc1 @ 0x7fefdb07b300] stream 0: start_time: -7686143364045.646 duration: -7686143364045.646
[vc1 @ 0x7fefdb07b300] format: start_time: -9223372036854.775 duration: -9223372036854.775 bitrate=0 kb/s
[vc1 @ 0x7fefdb07b300] Could not find codec parameters for stream 0 (Video: vc1, 1 reference frame, none): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
[vc1 @ 0x7fefdb07b300] After avformat_find_stream_info() pos: 7293580 bytes read:7306892 seeks:0 frames:6
Input #0, vc1, from '12Laserdisc':
  Metadata:
    TSS             : GarageBand 4.1.2
    iTunNORM        :  00000102 00000001 00007764 00000A8A 00013BD0 00013992 0000712D 000076B4 001ABBC6 001AC734
    iTunSMPB        :  00000000 00000210 00000AAF 0000000004A74EC1 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    genre           : Podcast
    album           : The Everything 80s Podcast
    TT3             : Laserdisc is an advanced technology that came out in the mid 80s. It actually goes much further back into the late 50s and the original intention was never specific for playing movies. In this episode you will learn how Laserdisc developed, the pros and c
    TBP             : 120
    title           : Laserdisc: A Technology Ahead Of Its Time?
    artist          : Jamie Logie
    TCM             : Jamie Logie
    date            : 2019-04-09 13:42
  Duration: N/A, bitrate: N/A
    Stream #0:0, 6, 1/1200000: Video: vc1, 1 reference frame, none, 25 fps, 25 tbr, 1200k tbn, 25 tbc
[vc1 @ 0x561afc7aefc0] Entry point: 34E9B1AA
[vc1 @ 0x561afc7aefc0] [IMGUTILS @ 0x7ffdf56ff770] Picture size 0x0 is invalid
[vc1 @ 0x561afc7aefc0] Failed to set dimensions 0 0
Could not open codec for input stream 0

# ffprobe file with extension
$ ffmpeg -v trace 12Laserdisc.mp3
ffprobe version git-2019-04-17-2a50f1d Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 8.3.0 (Alpine 8.3.0)
  configuration: --enable-debug
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 51.100 / 58. 51.100
  libavformat    58. 27.102 / 58. 27.102
  libavdevice    58.  7.100 / 58.  7.100
  libavfilter     7. 48.100 /  7. 48.100
  libswscale      5.  4.100 /  5.  4.100
  libswresample   3.  4.100 /  3.  4.100
[NULL @ 0x7fced06bb300] Opening '12Laserdisc.mp3' for reading
[file @ 0x562b1b52acc0] Setting default whitelist 'file,crypto'
Probing mp3 score:12 size:2048
[mp3 @ 0x7fced06bb300] Format mp3 probed with size=2048 and score=50
id3v2 ver:2 flags:00 len:1156830
[mp3 @ 0x7fced06bb300] Skipping 0 bytes of junk at 1156840.
[mp3 @ 0x7fced06bb300] Before avformat_find_stream_info() pos: 1156840 bytes read:1179276 seeks:0 nb_streams:2
[mjpeg @ 0x562b1b53bf80] marker=d8 avail_size_in_buf=1146172
[mjpeg @ 0x562b1b53bf80] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x562b1b53bf80] marker=e1 avail_size_in_buf=1146170
[mjpeg @ 0x562b1b53bf80] marker parser used 9652 bytes (77216 bits)
[mjpeg @ 0x562b1b53bf80] marker=ed avail_size_in_buf=1136515
[mjpeg @ 0x562b1b53bf80] marker parser used 12173 bytes (97384 bits)
[mjpeg @ 0x562b1b53bf80] marker=e1 avail_size_in_buf=1124339
[mjpeg @ 0x562b1b53bf80] marker parser used 4590 bytes (36720 bits)
[mjpeg @ 0x562b1b53bf80] marker=ee avail_size_in_buf=1119746
[mjpeg @ 0x562b1b53bf80] marker parser used 33 bytes (264 bits)
[mjpeg @ 0x562b1b53bf80] marker=db avail_size_in_buf=1119711
[mjpeg @ 0x562b1b53bf80] index=0
[mjpeg @ 0x562b1b53bf80] qscale[0]: 0
[mjpeg @ 0x562b1b53bf80] index=1
[mjpeg @ 0x562b1b53bf80] qscale[1]: 0
[mjpeg @ 0x562b1b53bf80] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x562b1b53bf80] marker=c2 avail_size_in_buf=1119577
[mjpeg @ 0x562b1b53bf80] Changing bps from 0 to 8
[mjpeg @ 0x562b1b53bf80] sof0: picture: 3000x3000
[mjpeg @ 0x562b1b53bf80] component 0 1:1 id: 0 quant:0
[mjpeg @ 0x562b1b53bf80] component 1 1:1 id: 1 quant:1
[mjpeg @ 0x562b1b53bf80] component 2 1:1 id: 2 quant:1
[mjpeg @ 0x562b1b53bf80] pix fmt id 11111100
[mjpeg @ 0x562b1b53bf80] Format yuvj444p chosen by get_format().
[mjpeg @ 0x562b1b53bf80] marker parser used 17 bytes (136 bits)
[mjpeg @ 0x562b1b53bf80] marker=c4 avail_size_in_buf=1119558
[mjpeg @ 0x562b1b53bf80] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 997672 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=1119191
[mjpeg @ 0x562b1b53bf80] marker parser used 121519 bytes (972152 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 934735 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=997483
[mjpeg @ 0x562b1b53bf80] marker parser used 62748 bytes (501984 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 870518 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=934543
[mjpeg @ 0x562b1b53bf80] marker parser used 64025 bytes (512200 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 788795 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=870294
[mjpeg @ 0x562b1b53bf80] marker parser used 81499 bytes (651992 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 598034 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=788468
[mjpeg @ 0x562b1b53bf80] marker parser used 190434 bytes (1523472 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 404066 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=597461
[mjpeg @ 0x562b1b53bf80] marker parser used 193395 bytes (1547160 bits)
[mjpeg @ 0x562b1b53bf80] escaping removed 1271 bytes
[mjpeg @ 0x562b1b53bf80] marker=da avail_size_in_buf=403388
[mjpeg @ 0x562b1b53bf80] marker parser used 402117 bytes (3216936 bits)
[mjpeg @ 0x562b1b53bf80] marker=d9 avail_size_in_buf=0
[mjpeg @ 0x562b1b53bf80] decode frame unused 0 bytes
[mp3 @ 0x7fced06bb300] All info found
[mp3 @ 0x7fced06bb300] Estimating duration from bitrate, this may be inaccurate
[mp3 @ 0x7fced06bb300] stream 0: start_time: 0.000 duration: 1770.449
[mp3 @ 0x7fced06bb300] stream 1: start_time: -102481911520608.625 duration: 1770.449
[mp3 @ 0x7fced06bb300] format: start_time: 0.000 duration: 1770.449 bitrate=133 kb/s
[mp3 @ 0x7fced06bb300] After avformat_find_stream_info() pos: 1178344 bytes read:1179276 seeks:0 frames:51
Input #0, mp3, from '12Laserdisc.mp3':
  Metadata:
    TSS             : GarageBand 4.1.2
    iTunNORM        :  00000102 00000001 00007764 00000A8A 00013BD0 00013992 0000712D 000076B4 001ABBC6 001AC734
    iTunSMPB        :  00000000 00000210 00000AAF 0000000004A74EC1 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    genre           : Podcast
    album           : The Everything 80s Podcast
    TT3             : Laserdisc is an advanced technology that came out in the mid 80s. It actually goes much further back into the late 50s and the original intention was never specific for playing movies. In this episode you will learn how Laserdisc developed, the pros and c
    TBP             : 120
    title           : Laserdisc: A Technology Ahead Of Its Time?
    artist          : Jamie Logie
    TCM             : Jamie Logie
    date            : 2019-04-09 13:42
  Duration: 00:29:30.45, start: 0.000000, bitrate: 133 kb/s
    Stream #0:0, 50, 1/14112000: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s
    Stream #0:1, 1, 1/90000: Video: mjpeg (Progressive), 1 reference frame, yuvj444p(pc, bt470bg/unknown/unknown, center), 3000x3000, 0/1, 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Other
[AVIOContext @ 0x7fced06bb940] Statistics: 1179276 bytes read, 0 seeks

# ffmpeg version
$ ffmpeg -version
ffprobe version git-2019-04-17-2a50f1d Copyright (c) 2007-2019 the FFmpeg developers
built with gcc 8.3.0 (Alpine 8.3.0)
configuration: --enable-debug
libavutil      56. 26.100 / 56. 26.100
libavcodec     58. 51.100 / 58. 51.100
libavformat    58. 27.102 / 58. 27.102
libavdevice    58.  7.100 / 58.  7.100
libavfilter     7. 48.100 /  7. 48.100
libswscale      5.  4.100 /  5.  4.100
libswresample   3.  4.100 /  3.  4.100

Change History (3)

comment:1 by Carl Eugen Hoyos, 6 years ago

Component: ffmpegavformat
Keywords: regression added
Priority: normalimportant
Reproduced by developer: set
Status: newopen

Patch sent.

comment:2 by Mattias Wadman, 6 years ago

Thanks cehoyos!

Last edited 6 years ago by Mattias Wadman (previous) (diff)

comment:3 by Carl Eugen Hoyos, 6 years ago

Resolution: fixed
Status: openclosed

Fixed in 32215b21407e2587af5fb24b4b67470d23852598, thank you for the report!

Note: See TracTickets for help on using tickets.