From be7c323176e2e5fcf30e3d2ff20975b2f936811b Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Fri, 22 Nov 2013 11:05:13 -0500 Subject: Add a libwebp encoder --- doc/encoders.texi | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/general.texi | 4 ++-- 2 files changed, 63 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/encoders.texi b/doc/encoders.texi index d6f4bcedbb..6068662b4c 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -446,6 +446,67 @@ Same as 3, but with extra processing enabled - corresponding to the wavpack @chapter Video Encoders @c man begin VIDEO ENCODERS +@section libwebp + +libwebp WebP Image encoder wrapper + +libwebp is Google's official encoder for WebP images. It can encode in either +lossy or lossless mode. Lossy images are essentially a wrapper around a VP8 +frame. Lossless images are a separate codec developed by Google. + +@subsection Pixel Format + +Currently, libwebp only supports YUV420 for lossy and RGB for lossless due +to limitations of the format and libwebp. Alpha is supported for either mode. +Because of API limitations, if RGB is passed in when encoding lossy or YUV is +passed in for encoding lossless, the pixel format will automatically be +converted using functions from libwebp. This is not ideal and is done only for +convenience. + +@subsection Options + +@table @option + +@item -lossless @var{boolean} +Enables/Disables use of lossless mode. Default is 0. + +@item -compression_level @var{integer} +For lossy, this is a quality/speed tradeoff. Higher values give better quality +for a given size at the cost of increased encoding time. For lossless, this is +a size/speed tradeoff. Higher values give smaller size at the cost of increased +encoding time. More specifically, it controls the number of extra algorithms +and compression tools used, and varies the combination of these tools. This +maps to the @var{method} option in libwebp. The valid range is 0 to 6. +Default is 4. + +@item -qscale @var{float} +For lossy encoding, this controls image quality, 0 to 100. For lossless +encoding, this controls the effort and time spent at compressing more. The +default value is 75. Note that for usage via libavcodec, this option is called +@var{global_quality} and must be multiplied by @var{FF_QP2LAMBDA}. + +@item -preset @var{type} +Configuration preset. This does some automatic settings based on the general +type of the image. +@table @option +@item none +Do not use a preset. +@item default +Use the encoder default. +@item picture +Digital picture, like portrait, inner shot +@item photo +Outdoor photograph, with natural lighting +@item drawing +Hand or line drawing, with high-contrast details +@item icon +Small-sized colorful images +@item text +Text-like +@end table + +@end table + @section libx264 x264 H.264/MPEG-4 AVC encoder wrapper diff --git a/doc/general.texi b/doc/general.texi index e34fabdff1..a5282804b4 100644 --- a/doc/general.texi +++ b/doc/general.texi @@ -415,8 +415,8 @@ following image formats are supported: @tab YUV, JPEG and some extension is not supported yet. @item Truevision Targa @tab X @tab X @tab Targa (.TGA) image format -@item WebP @tab @tab X - @tab WebP image format +@item WebP @tab E @tab X + @tab WebP image format, encoding supported through external library libwebp @item XBM @tab X @tab @tab X BitMap image format @item XWD @tab X @tab X -- cgit v1.2.3