#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 , 14 years ago
comment:1 by , 14 years ago
Component: | undetermined → avcodec |
---|---|
Keywords: | svq1 added |
Status: | new → open |
Version: | unspecified → git-master |
comment:2 by , 13 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 , 13 years ago
by , 8 years ago
Attachment: | 256kbps.mov added |
---|
comment:3 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | open → closed |
This is probably just how this codec works at lower bitrate.
follow-up: 5 comment:4 by , 8 years ago
Resolution: | invalid |
---|---|
Status: | closed → reopened |
The artefacts visible with FFmpeg are not reproducible with QT.
by , 7 years ago
Attachment: | svq1_set.7z added |
---|
comment:5 by , 7 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 , 2 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.