Opened 5 years ago

Closed 5 years ago

#1250 closed defect (fixed)

shorten: block size

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

Description

currectly ffmpeg is able to decode correctly files with block sizes like 128, 256, but not 512, 1024...
older version of ffmpeg happened to decode correctly 512, but failed as well with 1024 because of overread

C:\>ffmpeg -i 512.shn out.wav
ffmpeg version N-40040-gc047afb Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 22 2012 02:36:31 with gcc 4.5.0 20100414 (Fedora MinGW 4.5.0-1.fc
14)
  configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch=
x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min
gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect
--enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 -
lwinmm' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapshots/buil
d/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/snapshots/b
uild/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --enable-n
onfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-libvorbis
--enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-libopencor
e-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx
  libavutil      51. 47.100 / 51. 47.100
  libavcodec     54. 15.100 / 54. 15.100
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 71.102 /  2. 71.102
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
[shorten @ 0x1db2320] 2 header bytes unparsed
Input #0, shn, from '512.shn':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Audio: shorten, 44100 Hz, 2 channels, s16
Guessed Channel Layout for  Input Stream #0.0 : stereo
Output #0, wav, to 'out.wav':
  Metadata:
    encoder         : Lavf54.3.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16
, 1411 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (shorten -> pcm_s16le)
Press [q] to stop, [?] for help
[shorten @ 0x1db2320] 2 header bytes unparsed
Multiple frames in a packet from stream 0
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] unknown shorten function 26
[shorten @ 0x1db2320] unknown shorten function 15
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] unknown shorten function 17
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
[shorten @ 0x1db2320] overread: 1
Error while decoding stream #0:0
size=      48kB time=00:00:00.27 bitrate=1412.6kbits/s
video:0kB audio:48kB global headers:0kB muxing overhead 0.093450%
C:\>ffmpeg -i 512.shn out.wav
ffmpeg version N-32355-g4f7dfe1, Copyright (c) 2000-2011 the FFmpeg developers
  built on Sep  6 2011 13:06:48 with gcc 4.6.1
  configuration: --enable-gpl --enable-version3 --enable-memalign-hack --enable-
runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libo
pencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --
enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger
 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enabl
e-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil    51. 16. 0 / 51. 16. 0
  libavcodec   53. 13. 0 / 53. 13. 0
  libavformat  53. 11. 0 / 53. 11. 0
  libavdevice  53.  3. 0 / 53.  3. 0
  libavfilter   2. 39. 0 /  2. 39. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
[shn @ 01EB8C60] parser not found for codec shorten, packets or times may be inv
alid.
[shorten @ 01EB2320] 2 header bytes unparsed
[shn @ 01EB8C60] max_analyze_duration 5000000 reached at 5005400
[shn @ 01EB8C60] Estimating duration from bitrate, this may be inaccurate
Input #0, shn, from '512.shn':
  Duration: 00:00:06.81, start: 0.000000, bitrate: 1411 kb/s
    Stream #0.0: Audio: shorten, 44100 Hz, 2 channels, s16, 1411 kb/s
Output #0, wav, to 'out.wav':
  Metadata:
    encoder         : Lavf53.11.0
    Stream #0.0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels,
 s16, 1411 kb/s
Stream mapping:
  Stream #0.0 -> #0.0 (shorten -> pcm_s16le)
Press [q] to stop, [?] for help
[shorten @ 01EB2320] 2 header bytes unparsed
Multiple frames in a packet from stream 0
size=    1724kB time=00:00:10.00 bitrate=1411.2kbits/s
video:0kB audio:1724kB global headers:0kB muxing overhead 0.002492%

Attachments (6)

128.shn (1.2 MB) - added by ami_stuff 5 years ago.
256.shn (1.1 MB) - added by ami_stuff 5 years ago.
512.shn (1.1 MB) - added by ami_stuff 5 years ago.
1024.shn (1.1 MB) - added by ami_stuff 5 years ago.
out_285.shn (1.1 MB) - added by ami_stuff 5 years ago.
out_286.shn (1.1 MB) - added by ami_stuff 5 years ago.

Change History (10)

Changed 5 years ago by ami_stuff

Changed 5 years ago by ami_stuff

Changed 5 years ago by ami_stuff

Changed 5 years ago by ami_stuff

comment:1 Changed 5 years ago by cehoyos

  • Component changed from undetermined to avcodec
  • Keywords shorten regression added
  • Priority changed from normal to important
  • Reproduced by developer set
  • Status changed from new to open
  • Version changed from unspecified to git-master

For 512.shn, this is a regression since 1baa25c.

comment:2 Changed 5 years ago by richardpl

I do not see how this could happen looking at code. Blocksize is read from file for version 1 and higher and used when decoding.
The only explanation i have is that you are creating version 0 files.

comment:3 Changed 5 years ago by ami_stuff

the problem start to happen with blocksize 286 (285 decodes correctly)

shorten -b 286 file.wav out_286.shn

Changed 5 years ago by ami_stuff

Changed 5 years ago by ami_stuff

comment:4 Changed 5 years ago by michael

  • Resolution set to fixed
  • Status changed from open to closed
Note: See TracTickets for help on using tickets.