[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