[Ffmpeg-devel] Comparison of gray codecs
Philippe De Muyter
phdm
Tue Sep 19 19:01:35 CEST 2006
Hi all,
I have tried to compress a 2.1G grayscale (y8) rawvideo 640x480 30fps video
(about 4 minutes) with all codecs found in the ffmpeg distro (SVN-r6290),
with the following command line :
./ffmpeg -y -i /tmp/rawvideo.avi -vcodec $codec /tmp/gray-$codec.avi
Below are the results.
All comparisons are made using an avi format output file :
Announced Replay
Output Quality
asv1 gray - - encode crash
asv2 gray - - encode crash
dvvideo gray - - decode failure
ffv1 gray - - format not supported
ffvhuff yuv420p 1.7G Good 0m34.954s
flv yuv420p 9.8M Bad 0m47.803s
h261 gray - - only YUV420 is supported
h263 yuv420p - - size not valid
h263p yuv420p 9.9M Bad 0m46.182s
h264 yuv420p 13M Bad 4m43.499s
huffyuv yuv422p 2.0G Good 0m46.260s
jpegls gray - - decode crash
ljpeg gray - - colorspace not supported
mjpeg yuvj420p 63M Bad 0m33.014s
mpeg1video yuv420p 6.6M Bad 0m45.269s
mpeg2video yuv420p 7.7M Bad 0m45.328s
mpeg4 yuv420p - - timebase not supported
msmpeg4 yuv420p 6.0M Bad 0m49.557s
msmpeg4v1 yuv420p - - decode failure
msmpeg4v2 yuv420p 7.0M Bad 0m48.596s
rv10 yuv420p 9.8M Black 0m48.872s
rv20 yuv420p 6.7M Black 1m0.391s
snow gray - - codec under development
svq1 yuv410p 440M Good 68m0.614s
wmv1 yuv420p 6.2M Bad 0m49.620s
wmv2 gray - - only YUV420 is supported
zlib gray - - Format 11 not supported
Summary :
None of the tested codec succeeds in compressing gray video preserving
gray pixels.
Many codecs fail for various reason at encoding or decoding stage, either
by crashing or by refusing to work for some reason, given in the table.
rv10 and rv20 do not crash, but give a black screen when replayed.
All the codecs that succeeds in compressing to a readable file first
convert to some yuv4* variant thus actually producing y4 compressed
files.
Of the one that make a visually good-looking compressed file, ffvhuff and
huffyuv actually produce files that are larger than what an equivalent y4 file
would be, and svq1 takes a ridiculous amount of time (68 minutes on a 2.60GHz
Pentium 4).
The remaining ones produce big squares when replayed, even when the original
picture does not change for several seconds, but I admit I did not give
any special parameter when compressing.
Can anyone give me some advice to other codecs that I should test or some
parameters I should give, or some codecs that could easily be modified to
actually accept working with my source stream ?
Thanks in advance
Philippe
--
More information about the ffmpeg-devel
mailing list