Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1814 closed defect (fixed)

MJPEG in ASF: Unable to parse option value "0/0"

Reported by: taeuber Owned by:
Priority: important Component: ffplay
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

I'm not sure if this is avformat or avcodec

How to reproduce:

% ffplay stream.dump 
ffplay version N-45494-gd310981 Copyright (c) 2003-2012 the FFmpeg developers
  built on Oct 14 2012 09:54:09 with gcc 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
  configuration: --enable-gpl --enable-pthreads --enable-libx264 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-nonfree --enable-shared --enable-pic --enable-libxvid --enable-libspeex --enable-librtmp --enable-libopenjpeg --disable-vdpau
  libavutil      51. 76.100 / 51. 76.100
  libavcodec     54. 65.100 / 54. 65.100
  libavformat    54. 32.100 / 54. 32.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 19.102 /  3. 19.102
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
[asf @ 0x1f42420] max_analyze_duration 5000000 reached at 5120000
[asf @ 0x1f42420] Estimating duration from bitrate, this may be inaccurate
Input #0, asf, from 'stream.dump':
  Duration: 00:01:34.10, start: 0.000000, bitrate: 31 kb/s
    Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 6.25 tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, 1 channels, s16p, 32 kb/s
Frame changed from size:0x0 to size:640x480B vq=   67KB sq=    0B f=0/0   
[buffer @ 0x20977a0] Unable to parse option value "0/0"

This is a stream dump of a webcam with fps=0.5.

I can provide a private http streaming test account on my private cam to a limited group of developpers when necessary.

[...]
[mjpeg @ 0xc49280] marker=d8 avail_size_in_buf=17310
[mjpeg @ 0xc49280] marker parser used 0 bytes (0 bits)
[mjpeg @ 0xc49280] marker=e0 avail_size_in_buf=17308
[mjpeg @ 0xc49280] marker parser used 18 bytes (144 bits)
[mjpeg @ 0xc49280] marker=c0 avail_size_in_buf=17287
[mjpeg @ 0xc49280] sof0: picture: 640x480
[mjpeg @ 0xc49280] component 0 2:1 id: 0 quant:0
[mjpeg @ 0xc49280] component 1 1:1 id: 1 quant:1
[mjpeg @ 0xc49280] component 2 1:1 id: 2 quant:1
[mjpeg @ 0xc49280] pix fmt id 21111100
[mjpeg @ 0xc49280] marker parser used 17 bytes (136 bits)
[mjpeg @ 0xc49280] marker=db avail_size_in_buf=17268
[mjpeg @ 0xc49280] index=0
[mjpeg @ 0xc49280] qscale[0]: 4
[mjpeg @ 0xc49280] index=1
[mjpeg @ 0xc49280] qscale[1]: 8
[mjpeg @ 0xc49280] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0xc49280] marker=c4 avail_size_in_buf=17134
[mjpeg @ 0xc49280] class=0 index=0 nb_codes=12
[mjpeg @ 0xc49280] class=1 index=0 nb_codes=251
[mjpeg @ 0xc49280] class=0 index=1 nb_codes=12
[mjpeg @ 0xc49280] class=1 index=1 nb_codes=251
[mjpeg @ 0xc49280] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0xc49280] escaping removed 34 bytes
[mjpeg @ 0xc49280] marker=da avail_size_in_buf=16714
[mjpeg @ 0xc49280] component: 0
[mjpeg @ 0xc49280] component: 1
[mjpeg @ 0xc49280] component: 2
[mjpeg @ 0xc49280] marker parser used 16677 bytes (133409 bits)
[mjpeg @ 0xc49280] marker=d9 avail_size_in_buf=0
[mjpeg @ 0xc49280] decode frame unused 0 bytes
Frame changed from size:0x0 to size:640x480
[buffer @ 0x7f04f80077a0] Setting entry with key 'video_size' to value '640x480'
[buffer @ 0x7f04f80077a0] Setting entry with key 'pix_fmt' to value '13'
[buffer @ 0x7f04f80077a0] Setting entry with key 'time_base' to value '1/1000'
[buffer @ 0x7f04f80077a0] Setting entry with key 'pixel_aspect' to value '0/0'
[buffer @ 0x7f04f80077a0] Unable to parse option value "0/0"
[AVIOContext @ 0xc48000] Statistics: 196608 bytes read, 0 seeks  0B f=0/0   

Attachments (1)

stream.dump (367.4 KB ) - added by taeuber 12 years ago.
created with mplayer http://URL -dumpstream

Download all attachments as: .zip

Change History (6)

by taeuber, 12 years ago

Attachment: stream.dump added

created with mplayer http://URL -dumpstream

comment:1 by Carl Eugen Hoyos, 12 years ago

Keywords: regression added
Priority: normalimportant

Could you confirm that you see the same problem with the stream you attached and if you try to decode the original http stream?

Or does the sample you attached show one problem (Unable to parse option value "0/0"), but there is another problem if you try to decode a stream from your camera?

comment:2 by taeuber, 12 years ago

I confirm, that there is the same error with the stream directly read by ffplay:

$ ffplay http://user:pw@url:port/videostream.asf?resolution=32&rate=18
ffplay version N-45494-gd310981 Copyright (c) 2003-2012 the FFmpeg developers
  built on Oct 14 2012 09:54:09 with gcc 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
  configuration: --enable-gpl --enable-pthreads --enable-libx264 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-nonfree --enable-shared --enable-pic --enable-libxvid --enable-libspeex --enable-librtmp --enable-libopenjpeg --disable-vdpau
  libavutil      51. 76.100 / 51. 76.100
  libavcodec     54. 65.100 / 54. 65.100
  libavformat    54. 32.100 / 54. 32.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 19.102 /  3. 19.102
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 16.100 /  0. 16.100
  libpostproc    52.  1.100 / 52.  1.100
[asf @ 0x25f8420] Format asf probed with size=2048 and score=100
[asf @ 0x25f8420] File position before avformat_find_stream_info() is 457
[asf @ 0x25f8420] parser not found for codec adpcm_ima_wav, packets or times may be invalid.
[mjpeg @ 0x264a6a0] marker=d8 avail_size_in_buf=18278
[mjpeg @ 0x264a6a0] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x264a6a0] marker=e0 avail_size_in_buf=18276
[mjpeg @ 0x264a6a0] marker parser used 18 bytes (144 bits)
[mjpeg @ 0x264a6a0] marker=c0 avail_size_in_buf=18255
[mjpeg @ 0x264a6a0] sof0: picture: 640x480
[mjpeg @ 0x264a6a0] component 0 2:1 id: 0 quant:0
[mjpeg @ 0x264a6a0] component 1 1:1 id: 1 quant:1
[mjpeg @ 0x264a6a0] component 2 1:1 id: 2 quant:1
[mjpeg @ 0x264a6a0] pix fmt id 21111100
[mjpeg @ 0x264a6a0] marker parser used 17 bytes (136 bits)
[mjpeg @ 0x264a6a0] marker=db avail_size_in_buf=18236
[mjpeg @ 0x264a6a0] index=0
[mjpeg @ 0x264a6a0] qscale[0]: 4
[mjpeg @ 0x264a6a0] index=1
[mjpeg @ 0x264a6a0] qscale[1]: 8
[mjpeg @ 0x264a6a0] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x264a6a0] marker=c4 avail_size_in_buf=18102
[mjpeg @ 0x264a6a0] class=0 index=0 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=0 nb_codes=251
[mjpeg @ 0x264a6a0] class=0 index=1 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=1 nb_codes=251
[mjpeg @ 0x264a6a0] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0x264a6a0] escaping removed 36 bytes
[mjpeg @ 0x264a6a0] marker=da avail_size_in_buf=17682
[mjpeg @ 0x264a6a0] component: 0
[mjpeg @ 0x264a6a0] component: 1
[mjpeg @ 0x264a6a0] component: 2
[mjpeg @ 0x264a6a0] marker parser used 17644 bytes (141149 bits)
[mjpeg @ 0x264a6a0] marker=d9 avail_size_in_buf=2
[mjpeg @ 0x264a6a0] decode frame unused 2 bytes
[asf @ 0x25f8420] parser not found for codec adpcm_ima_wav, packets or times may be invalid.
[asf @ 0x25f8420] max_analyze_duration 5000000 reached at 5120000
rfps: 1.166667 0.001017
    Last message repeated 1 times
rfps: 1.583333 0.000536
[...]
rfps: 59.083333 0.010758
    Last message repeated 1 times
rfps: 59.416667 0.012328
rfps: 59.500000 0.019289
rfps: 59.833333 0.008958
rfps: 11.988012 0.016747
    Last message repeated 1 times
[asf @ 0x25f8420] Estimating duration from bitrate, this may be inaccurate
[asf @ 0x25f8420] File position after avformat_find_stream_info() is 103507
Input #0, asf, from 'http://xxxxxx:xx@yyyyyyyy.dyndns.org:zz/videostream.asf?resolution=32&rate=18':
  Duration: N/A, start: 0.000000, bitrate: 32 kb/s
    Stream #0:0, 4, 1/1000: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 1/1000, 25 tbr, 1k tbn, 1k tbc
    Stream #0:1, 34, 1/1000: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, 1 channels, s16p, 32 kb/s
[mjpeg @ 0x264a6a0] marker=d8 avail_size_in_buf=18278
[mjpeg @ 0x264a6a0] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x264a6a0] marker=e0 avail_size_in_buf=18276
[mjpeg @ 0x264a6a0] marker parser used 18 bytes (144 bits)
[mjpeg @ 0x264a6a0] marker=c0 avail_size_in_buf=18255
[mjpeg @ 0x264a6a0] sof0: picture: 640x480
[mjpeg @ 0x264a6a0] component 0 2:1 id: 0 quant:0
[mjpeg @ 0x264a6a0] component 1 1:1 id: 1 quant:1
[mjpeg @ 0x264a6a0] component 2 1:1 id: 2 quant:1
[mjpeg @ 0x264a6a0] pix fmt id 21111100
[mjpeg @ 0x264a6a0] marker parser used 17 bytes (136 bits)=    0B f=0/0   
[mjpeg @ 0x264a6a0] marker=db avail_size_in_buf=18236
[mjpeg @ 0x264a6a0] index=0
[mjpeg @ 0x264a6a0] qscale[0]: 4
[mjpeg @ 0x264a6a0] index=1
[mjpeg @ 0x264a6a0] qscale[1]: 8
[mjpeg @ 0x264a6a0] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x264a6a0] marker=c4 avail_size_in_buf=18102
[mjpeg @ 0x264a6a0] class=0 index=0 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=0 nb_codes=251
[mjpeg @ 0x264a6a0] class=0 index=1 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=1 nb_codes=251
[mjpeg @ 0x264a6a0] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0x264a6a0] escaping removed 36 bytes
[mjpeg @ 0x264a6a0] marker=da avail_size_in_buf=17682
[mjpeg @ 0x264a6a0] component: 0
[mjpeg @ 0x264a6a0] component: 1
[mjpeg @ 0x264a6a0] component: 2
[mjpeg @ 0x264a6a0] marker parser used 17644 bytes (141149 bits)
[mjpeg @ 0x264a6a0] marker=d9 avail_size_in_buf=2
[mjpeg @ 0x264a6a0] decode frame unused 2 bytes
Frame changed from size:0x0 to size:640x480
[buffer @ 0x2756ae0] Setting entry with key 'video_size' to value '640x480'
[buffer @ 0x2756ae0] Setting entry with key 'pix_fmt' to value '13'
[buffer @ 0x2756ae0] Setting entry with key 'time_base' to value '1/1000'
[buffer @ 0x2756ae0] Setting entry with key 'pixel_aspect' to value '0/0'
[buffer @ 0x2756ae0] Unable to parse option value "0/0"
[AVIOContext @ 0x264d4a0] Statistics: 103507 bytes read, 0 seeks

regards
Lars

comment:3 by Elon Musk, 12 years ago

lavfi trips over 0/0 sample aspect ratio.

Possible solutions:
1st: modify mjpedec.c and make 0/0 into 0/1
2st: teach lavfi to assume invalid aspect ratios are 1/1

comment:4 by Michael Niedermayer, 12 years ago

Reproduced by developer: set
Resolution: fixed
Status: newclosed

comment:5 by Carl Eugen Hoyos, 12 years ago

Component: undeterminedFFplay
Note: See TracTickets for help on using tickets.