#128 closed defect (fixed)
svq1 decoder is somehow buggy
| Reported by: | ami_stuff | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | svq1 |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
ftp://ftp.pigwa.net/stuff/other/vcsclip.mov
please compare attached screenshot (left = ffplay / right = qt player)
I found this with google, maybe related?
[Ffmpeg-user] A small but disastrous bug in SVQ1 Decoder
Hi, I am using ffmpeg repository source code for developing Sorenson
decoder and encountered a "break" statement missing in
"avcodec_align_dimensions()" function under "switch case
PIX_FMT_YUV410P" in file "utils.c". Due to this every time when
controls come to "case PIX_FMT_YUV410P" instead of breaking after
executing the required commands, it goes to the default case and
reset the values of w_align & h_align to 1. Which eventually change
the file size of output yuv file, resulting in corrupted output.
Please add the necessary "break" statement in appropriate switch case
in the new version.
C:\>ffmpeg -i C:\vcsclip.mov
FFmpeg version git-N-29181-ga304071, Copyright (c) 2000-2011 the FFmpeg develope
rs
built on Apr 18 2011 21:24:03 with gcc 4.5.2
configuration: --enable-gpl --enable-version3 --enable-runtime-cpudetect --ena
ble-memalign-hack --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 --cross-prefix=i686-w6
4-mingw32- --target-os=mingw32 --arch=x86_32 --extra-cflags=-I/home/kyle/softwar
e/ffmpeg/external-libraries/win32/include --extra-ldflags=-L/home/kyle/software/
ffmpeg/external-libraries/win32/lib --pkg-config=pkg-config
libavutil 50. 40. 1 / 50. 40. 1
libavcodec 52.120. 0 / 52.120. 0
libavformat 52.108. 0 / 52.108. 0
libavdevice 52. 4. 0 / 52. 4. 0
libavfilter 1. 79. 0 / 1. 79. 0
libswscale 0. 13. 0 / 0. 13. 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 01CEC000] max_analyze_duration reached
Seems stream 0 codec frame rate differs from container frame rate: 600.00 (600/1
) -> 12.00 (12/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\vcsclip.mov':
Metadata:
creation_time : 2000-08-17 00:28:08
album : Digital 2600
album-eng : Digital 2600
artist : Kevin Rodgers & Markus Karlus
artist-eng : Kevin Rodgers & Markus Karlus
copyright-eng : [C] 2000
comment : goldenshower@uia.com.br ]]]] www.goldenshower.gs
copyright : [C] 2000
comment-eng : goldenshower@uia.com.br ]]]] www.goldenshower.gs
Duration: 00:02:52.53, start: 0.000000, bitrate: 338 kb/s
Stream #0.0(eng): Video: svq1, yuv410p, 320x240, 289 kb/s, 12 fps, 12 tbr, 6
00 tbn, 600 tbc
Metadata:
creation_time : 2000-08-17 00:28:08
Stream #0.1(eng): Audio: qdm2, 44100 Hz, 1 channels, s16, 48 kb/s
Metadata:
creation_time : 2000-08-17 00:28:08
At least one output file must be specified
Attachments (4)
Change History (10)
by , 15 years ago
comment:1 by , 15 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | svq1 added |
| Status: | new → open |
| Version: | unspecified → git-master |
comment:2 by , 14 years ago
I have reencoded the original file and it seems that the problem is most visible when keyframes are set after every 24 frames (default) - see attached samples.
by , 14 years ago
by , 10 years ago
| Attachment: | 256kbps.mov added |
|---|
comment:3 by , 10 years ago
| Resolution: | → invalid |
|---|---|
| Status: | open → closed |
This is probably just how this codec works at lower bitrate.
follow-up: 5 comment:4 by , 10 years ago
| Resolution: | invalid |
|---|---|
| Status: | closed → reopened |
The artefacts visible with FFmpeg are not reproducible with QT.
by , 9 years ago
| Attachment: | svq1_set.7z added |
|---|
comment:5 by , 9 years ago
Replying to cehoyos:
The artefacts visible with FFmpeg are not reproducible with QT.
yes, attached one more set of samples
comment:6 by , 4 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |



There is a break in avcodec_align_dimensions() (w_align is not set to 1), but the problem is reproducible.
Not a regression, afaict.