Opened 13 years ago

Closed 17 months ago

Last modified 17 months ago

#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)

svq1.jpg (34.1 KB ) - added by ami_stuff 13 years ago.
svq1.rar (850.8 KB ) - added by ami_stuff 12 years ago.
256kbps.mov (664.4 KB ) - added by ami_stuff 7 years ago.
svq1_set.7z (628.6 KB ) - added by ami_stuff 7 years ago.

Change History (10)

by ami_stuff, 13 years ago

Attachment: svq1.jpg added

comment:1 by Carl Eugen Hoyos, 13 years ago

Component: undeterminedavcodec
Keywords: svq1 added
Status: newopen
Version: unspecifiedgit-master

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

Not a regression, afaict.

comment:2 by ami_stuff, 12 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 ami_stuff, 12 years ago

Attachment: svq1.rar added

by ami_stuff, 7 years ago

Attachment: 256kbps.mov added

comment:3 by ami_stuff, 7 years ago

Resolution: invalid
Status: openclosed

This is probably just how this codec works at lower bitrate.

comment:4 by Carl Eugen Hoyos, 7 years ago

Resolution: invalid
Status: closedreopened

The artefacts visible with FFmpeg are not reproducible with QT.

by ami_stuff, 7 years ago

Attachment: svq1_set.7z added

in reply to:  4 comment:5 by ami_stuff, 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 pross, 17 months ago

Resolution: fixed
Status: reopenedclosed
Last edited 17 months ago by Carl Eugen Hoyos (previous) (diff)
Note: See TracTickets for help on using tickets.