[Ffmpeg-devel] Comparison of gray codecs

Michel Bardiaux mbardiaux
Tue Sep 19 19:20:46 CEST 2006


Philippe De Muyter wrote:
> 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

The default bitrate is 200kbits, much too low for practical use. *Of 
course* you get bad quality if you encode MPEG1 at 200kbits! 
Seat-of-the-pants, 1200kbits at least for MPEG1/2, 600kbits for MPEG4 & 
Bros. That's with color, so you might get away using somewhat less in 
grayscale, but certainly not 200.

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


-- 
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux at mediaxim.be

Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
http://www.mediaxim.com/




More information about the ffmpeg-devel mailing list