Mirror only. Please do not send pull requests. See https://chromium.googlesource.com/webm/libwebp/+/HEAD/CONTRIBUTING.md.
Go to file
Pascal Massimino 6a37a2aaa9 fancy chroma upscaling
When FANCY_UPSCALING is defined, use a smoothing filter for upscaling
the U/V chroma fields. The filter used is a separable t[1 3 3 1] x [1 3 3 1]
filter. It can be easily changed in macros MIX_*.

The upscaling code reside on the thing shell between user and core
decoding (in webp.c), and not in the core decoder. As such, this smoothing
process can still be offloaded to GPU in some future and is not integral
part of the decoding process.

Coincidentaly: changed the way data is tranfered to user. For profile 2 (no
filtering), it used to be on a per-block basis. Now, for all profiles, we
emit rows of pixels (between 8 and 24 in height) when they are ready.
This makes the upscaling code much easier.

Will update the test vectors MD5 sums soon (as they'll be broken
after this change)

Change-Id: I2640ff12596cb8b843a4a376d7347447d9b9f778
2010-11-03 15:05:48 -07:00
examples convert to plain-C 2010-10-31 00:36:33 -07:00
src fancy chroma upscaling 2010-11-03 15:05:48 -07:00
aclocal.m4 Initial commit 2010-09-30 09:55:07 -04:00
Android.mk convert to ANSI-C 2010-10-06 14:37:28 -07:00
AUTHORS convert to ANSI-C 2010-10-06 14:37:28 -07:00
autogen.sh Initial commit 2010-09-30 09:55:07 -04:00
ChangeLog Initial commit 2010-09-30 09:55:07 -04:00
config.guess Initial commit 2010-09-30 09:55:07 -04:00
config.h.in Initial commit 2010-09-30 09:55:07 -04:00
config.sub Initial commit 2010-09-30 09:55:07 -04:00
configure for cross_compiling=yes to prevent executing any binary 2010-11-01 13:36:01 -07:00
configure.ac convert to ANSI-C 2010-10-06 14:37:28 -07:00
COPYING Initial commit 2010-09-30 09:55:07 -04:00
depcomp Initial commit 2010-09-30 09:55:07 -04:00
INSTALL Initial commit 2010-09-30 09:55:07 -04:00
install-sh Initial commit 2010-09-30 09:55:07 -04:00
ltmain.sh Initial commit 2010-09-30 09:55:07 -04:00
Makefile.am Initial commit 2010-09-30 09:55:07 -04:00
Makefile.in Initial commit 2010-09-30 09:55:07 -04:00
Makefile.vc add vc9+ makefile 2010-11-01 06:48:36 -04:00
missing Initial commit 2010-09-30 09:55:07 -04:00
NEWS Initial commit 2010-09-30 09:55:07 -04:00
PATENTS Initial commit 2010-09-30 09:55:07 -04:00
README Initial commit 2010-09-30 09:55:07 -04:00

          __   __  ____  ____  ____
         /  \\/  \/  _ \/  _ )/  _ \
         \       /   __/  _  \   __/
          \__\__/\____/\_____/__/ _________   ____ ____
               \    \ /  _ \/ _/ /    \    \ /  _ \  _ \
               /   \ \   __/  \_/   / /   \ \   __/    /_
               \_____/_____/____/____/\_____/_____/_/\__/v0.1
             
Description:
============

WEBP decoder: libwebpdecode.so is a simple library for
decoding WEBP image files. 

See http://code.google.com/speed/webp


It is released under the same license as the WebM project.
See http://www.webmproject.org/license/software/ or the
file "COPYING" file for details. An additional intellectual
property rights grant can be found in the file PATENTS.


API:
====

This is mainly just one function to call, so just have a look at
the file src/webp/decode.h for the details and variants:

#include "webp/decode.h"
uint8_t* WebPDecodeRGB(const uint8_t* data, uint32_t data_size,
                       int *width, int *height);

A lower-level API is available from the header file <webp/decode_vp8.h>


Building:
=========

If everything goes right, then:

./configure
make
make install

should be all you need to have the following files

/usr/local/include/webp/decode.h
/usr/local/include/webp/decode_vp8.h
/usr/local/lib/libwebpdecode.*

installed.


Decoding example:
=================

there's a decoding example in example/dwebp.c which will take a .webp file and
decode it to a PPM image file. This is simply to demonstrate use of the API.
You can verify the file test.webp decodes to exactly the same as test_ref.ppm:
  `cd examples && ./dwebp test.webp -o test.ppm && diff test.ppm test_ref.ppm`

Bugs:
=====

Please report all bugs to our issue tracker:
    http://code.google.com/p/webp/issues
Patches welcome! See this page to get started:
    http://www.webmproject.org/code/contribute/submitting-patches/

Discuss:
========

Email: webp-discuss@webmproject.org