From 1dc4611a3ac1e4df44c59ad4b29469812d5a7d17 Mon Sep 17 00:00:00 2001 From: Pascal Massimino Date: Mon, 31 Jan 2011 22:00:33 -0800 Subject: [PATCH] add support for PNG output (default) regularize include guards Change-Id: Ia1d0fa49c8c98e2c11f775b839d04a24e5450170 --- Makefile.in | 6 +- README | 5 +- aclocal.m4 | 35 ++++ compile | 143 ++++++++++++++++ config.h.in | 6 + configure | 367 ++++++++++++++++++++++++++++++++++++++++-- configure.ac | 35 ++++ examples/Makefile.am | 3 +- examples/Makefile.in | 27 +++- examples/dwebp.c | 102 ++++++++++-- src/dec/Makefile.in | 3 + src/dec/bits.h | 6 +- src/dec/vp8i.h | 6 +- src/dec/yuv.h | 6 +- src/webp/decode.h | 6 +- src/webp/decode_vp8.h | 6 +- src/webp/types.h | 6 +- 17 files changed, 714 insertions(+), 54 deletions(-) create mode 100755 compile diff --git a/Makefile.in b/Makefile.in index 3ab1f17e..f06785d6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -37,7 +37,8 @@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ - config.guess config.sub depcomp install-sh ltmain.sh missing + compile config.guess config.sub depcomp install-sh ltmain.sh \ + missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ @@ -133,6 +134,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ +LIBPNG_CONFIG = @LIBPNG_CONFIG@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ @@ -154,6 +156,8 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PNG_INCLUDES = @PNG_INCLUDES@ +PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/README b/README index 22db0862..5484ab28 100644 --- a/README +++ b/README @@ -56,9 +56,10 @@ 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. +decode it to a PNG image file. This is simply to demonstrate use of the API. +It also decodes to PPM (or even PGM) format. 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` + `cd examples && ./dwebp test.webp -ppm -o test.ppm && diff test.ppm test_ref.ppm` Bugs: ===== diff --git a/aclocal.m4 b/aclocal.m4 index 91c7b241..2eaf3c46 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -8605,6 +8605,41 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# serial 6 + +# AM_PROG_CC_C_O +# -------------- +# Like AC_PROG_CC_C_O, but changed for automake. +AC_DEFUN([AM_PROG_CC_C_O], +[AC_REQUIRE([AC_PROG_CC_C_O])dnl +AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl +AC_REQUIRE_AUX_FILE([compile])dnl +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +dnl Make sure AC_PROG_CC is never called again, or it will override our +dnl setting of CC. +m4_define([AC_PROG_CC], + [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) +]) + # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 diff --git a/compile b/compile new file mode 100755 index 00000000..c0096a7b --- /dev/null +++ b/compile @@ -0,0 +1,143 @@ +#! /bin/sh +# Wrapper for compilers which do not understand `-c -o'. + +scriptversion=2009-10-06.20; # UTC + +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software +# Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +case $1 in + '') + echo "$0: No command. Try \`$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand `-c -o'. +Remove `-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file `INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; +esac + +ofile= +cfile= +eat= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as `compile cc -o foo foo.c'. + # So we strip `-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no `-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # `.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use `[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/config.h.in b/config.h.in index 423fcf8f..9f94c19f 100644 --- a/config.h.in +++ b/config.h.in @@ -34,6 +34,9 @@ */ #undef LT_OBJDIR +/* Define to 1 if your C compiler doesn't accept -c and -o together. */ +#undef NO_MINUS_C_MINUS_O + /* Name of package */ #undef PACKAGE @@ -60,3 +63,6 @@ /* Version number of package */ #undef VERSION + +/* Set to 1 if PNG library is installed */ +#undef WEBP_HAVE_PNG diff --git a/configure b/configure index 8c532fbf..588954bf 100755 --- a/configure +++ b/configure @@ -743,6 +743,9 @@ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +PNG_INCLUDES +PNG_LIBS +LIBPNG_CONFIG CPP OTOOL64 OTOOL @@ -858,6 +861,8 @@ enable_fast_install enable_dependency_tracking with_gnu_ld enable_libtool_lock +with_pngincludedir +with_pnglibdir ' ac_precious_vars='build_alias host_alias @@ -1501,6 +1506,8 @@ Optional Packages: --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] +--with-pngincludedir=DIR use PNG includes from DIR +--with-pnglibdir=DIR use PNG libraries from DIR Some influential environment variables: CC C compiler command @@ -1852,6 +1859,93 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} } # ac_fn_c_check_func + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. @@ -4364,13 +4458,13 @@ if test "${lt_cv_nm_interface+set}" = set; then : else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:4367: $ac_compile\"" >&5) + (eval echo "\"\$as_me:4461: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:4370: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:4464: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:4373: output\"" >&5) + (eval echo "\"\$as_me:4467: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -5576,7 +5670,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5579 "configure"' > conftest.$ac_ext + echo '#line 5673 "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7102,11 +7196,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7105: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7199: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7109: \$? = $ac_status" >&5 + echo "$as_me:7203: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7441,11 +7535,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7444: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7538: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7448: \$? = $ac_status" >&5 + echo "$as_me:7542: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7546,11 +7640,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7549: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7643: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7553: \$? = $ac_status" >&5 + echo "$as_me:7647: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -7601,11 +7695,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7604: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7698: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7608: \$? = $ac_status" >&5 + echo "$as_me:7702: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9985,7 +10079,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 9988 "configure" +#line 10082 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10081,7 +10175,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10084 "configure" +#line 10178 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10308,6 +10402,251 @@ CC="$lt_save_CC" # Only expand once: +if test "x$CC" != xcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 +$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 +$as_echo_n "checking whether cc understands -c and -o together... " >&6; } +fi +set dummy $CC; ac_cc=`$as_echo "$2" | + sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +# Make sure it works both with $CC and with simple cc. +# We do the test twice because some compilers refuse to overwrite an +# existing .o file with -o, though they will create one. +ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' +rm -f conftest2.* +if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; +then + eval ac_cv_prog_cc_${ac_cc}_c_o=yes + if test "x$CC" != xcc; then + # Test first that cc exists at all. + if { ac_try='cc -c conftest.$ac_ext >&5' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' + rm -f conftest2.* + if { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && + test -f conftest2.$ac_objext && { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; + then + # cc works too. + : + else + # cc exists but doesn't like -o. + eval ac_cv_prog_cc_${ac_cc}_c_o=no + fi + fi + fi +else + eval ac_cv_prog_cc_${ac_cc}_c_o=no +fi +rm -f core conftest* + +fi +if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h + +fi + +# FIXME: we rely on the cache variable name because +# there is no other way. +set dummy $CC +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi + + + + +PNG_INCLUDES="" +PNG_LIBS="" +# Extract the first word of "libpng-config", so it can be a program name with args. +set dummy libpng-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_path_LIBPNG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $LIBPNG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_LIBPNG_CONFIG="$LIBPNG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_LIBPNG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +LIBPNG_CONFIG=$ac_cv_path_LIBPNG_CONFIG +if test -n "$LIBPNG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBPNG_CONFIG" >&5 +$as_echo "$LIBPNG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +if test -n "$LIBPNG_CONFIG"; then + PNG_INCLUDES=`$LIBPNG_CONFIG --cflags` + PNG_PREFIX=`$LIBPNG_CONFIG --prefix` + if test "${PNG_PREFIX}/lib" != "/usr/lib" ; then + PNG_LIBS="-L${PNG_PREFIX}/lib" + fi +fi + + +# Check whether --with-pngincludedir was given. +if test "${with_pngincludedir+set}" = set; then : + withval=$with_pngincludedir; PNG_INCLUDES="-I$withval" +fi + + +# Check whether --with-pnglibdir was given. +if test "${with_pnglibdir+set}" = set; then : + withval=$with_pnglibdir; PNG_LIBS="-L$withval" +fi + + +ac_fn_c_check_header_mongrel "$LINENO" "png.h" "ac_cv_header_png_h" "$ac_includes_default" +if test "x$ac_cv_header_png_h" = x""yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpng" >&5 +$as_echo_n "checking for main in -lpng... " >&6; } +if test "${ac_cv_lib_png_main+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpng $MATH_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_png_main=yes +else + ac_cv_lib_png_main=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_png_main" >&5 +$as_echo "$ac_cv_lib_png_main" >&6; } +if test "x$ac_cv_lib_png_main" = x""yes; then : + PNG_LIBS="$PNG_LIBS -lpng" + PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG" + +$as_echo "#define WEBP_HAVE_PNG 1" >>confdefs.h + + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Optional png library not found" >&5 +$as_echo "$as_me: WARNING: Optional png library not found" >&2;} +fi + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: png library not available - no png.h" >&5 +$as_echo "$as_me: WARNING: png library not available - no png.h" >&2;} + +fi + + + + + ac_config_headers="$ac_config_headers config.h" diff --git a/configure.ac b/configure.ac index fec2437a..3fd9130b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,41 @@ AC_INIT([webpdecode], [0.1]) AM_INIT_AUTOMAKE AC_PROG_LIBTOOL +AM_PROG_CC_C_O + +dnl === check for PNG support === + +PNG_INCLUDES="" +PNG_LIBS="" +AC_PATH_PROG(LIBPNG_CONFIG, libpng-config) +if test -n "$LIBPNG_CONFIG"; then + PNG_INCLUDES=`$LIBPNG_CONFIG --cflags` + PNG_PREFIX=`$LIBPNG_CONFIG --prefix` + if test "${PNG_PREFIX}/lib" != "/usr/lib" ; then + PNG_LIBS="-L${PNG_PREFIX}/lib" + fi +fi + +AC_ARG_WITH(pngincludedir, + [--with-pngincludedir=DIR use PNG includes from DIR], + PNG_INCLUDES="-I$withval") +AC_ARG_WITH(pnglibdir, + [--with-pnglibdir=DIR use PNG libraries from DIR], + [PNG_LIBS="-L$withval"]) + +AC_CHECK_HEADER(png.h, + AC_CHECK_LIB(png, main, + [PNG_LIBS="$PNG_LIBS -lpng" + PNG_INCLUDES="$PNG_INCLUDES -DWEBP_HAVE_PNG" + AC_DEFINE(WEBP_HAVE_PNG, [1], [Set to 1 if PNG library is installed]) + ], + AC_MSG_WARN(Optional png library not found), + [$MATH_LIBS]), + AC_MSG_WARN(png library not available - no png.h) +) +AC_SUBST(PNG_LIBS) +AC_SUBST(PNG_INCLUDES) + AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile examples/Makefile src/dec/Makefile]) diff --git a/examples/Makefile.am b/examples/Makefile.am index f9973633..10be4ebd 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -1,6 +1,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/src dwebp_SOURCES = dwebp.c -dwebp_LDADD = ../src/dec/libwebpdecode.la +dwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) +dwebp_LDADD = ../src/dec/libwebpdecode.la $(PNG_LIBS) bin_PROGRAMS = dwebp diff --git a/examples/Makefile.in b/examples/Makefile.in index 075d3656..eea56a8a 100644 --- a/examples/Makefile.in +++ b/examples/Makefile.in @@ -47,9 +47,10 @@ CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) -am_dwebp_OBJECTS = dwebp.$(OBJEXT) +am_dwebp_OBJECTS = dwebp-dwebp.$(OBJEXT) dwebp_OBJECTS = $(am_dwebp_OBJECTS) -dwebp_DEPENDENCIES = ../src/dec/libwebpdecode.la +am__DEPENDENCIES_1 = +dwebp_DEPENDENCIES = ../src/dec/libwebpdecode.la $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -100,6 +101,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ +LIBPNG_CONFIG = @LIBPNG_CONFIG@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ @@ -121,6 +123,8 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PNG_INCLUDES = @PNG_INCLUDES@ +PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ @@ -181,7 +185,8 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/src dwebp_SOURCES = dwebp.c -dwebp_LDADD = ../src/dec/libwebpdecode.la +dwebp_CPPFLAGS = $(AM_CPPFLAGS) $(PNG_INCLUDES) +dwebp_LDADD = ../src/dec/libwebpdecode.la $(PNG_LIBS) all: all-am .SUFFIXES: @@ -269,7 +274,7 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwebp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dwebp-dwebp.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -292,6 +297,20 @@ distclean-compile: @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< +dwebp-dwebp.o: dwebp.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwebp-dwebp.o -MD -MP -MF $(DEPDIR)/dwebp-dwebp.Tpo -c -o dwebp-dwebp.o `test -f 'dwebp.c' || echo '$(srcdir)/'`dwebp.c +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dwebp-dwebp.Tpo $(DEPDIR)/dwebp-dwebp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dwebp.c' object='dwebp-dwebp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwebp-dwebp.o `test -f 'dwebp.c' || echo '$(srcdir)/'`dwebp.c + +dwebp-dwebp.obj: dwebp.c +@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT dwebp-dwebp.obj -MD -MP -MF $(DEPDIR)/dwebp-dwebp.Tpo -c -o dwebp-dwebp.obj `if test -f 'dwebp.c'; then $(CYGPATH_W) 'dwebp.c'; else $(CYGPATH_W) '$(srcdir)/dwebp.c'; fi` +@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/dwebp-dwebp.Tpo $(DEPDIR)/dwebp-dwebp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='dwebp.c' object='dwebp-dwebp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(dwebp_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o dwebp-dwebp.obj `if test -f 'dwebp.c'; then $(CYGPATH_W) 'dwebp.c'; else $(CYGPATH_W) '$(srcdir)/dwebp.c'; fi` + mostlyclean-libtool: -rm -f *.lo diff --git a/examples/dwebp.c b/examples/dwebp.c index 5a6a3651..1187f405 100644 --- a/examples/dwebp.c +++ b/examples/dwebp.c @@ -17,6 +17,10 @@ #include #include +#ifdef WEBP_HAVE_PNG +#include +#endif + #include "webp/decode.h" #if defined(__cplusplus) || defined(c_plusplus) @@ -25,10 +29,69 @@ extern "C" { //----------------------------------------------------------------------------- +#ifdef WEBP_HAVE_PNG +static void PNGAPI error_function(png_structp png, png_const_charp dummy) { + longjmp(png_jmpbuf(png), 1); +} + +static int WritePNG(FILE* out_file, unsigned char* rgb, int stride, + png_uint_32 width, png_uint_32 height) { + png_structp png; + png_infop info; + int y; + + png = png_create_write_struct(PNG_LIBPNG_VER_STRING, + NULL, error_function, NULL); + if (png == NULL) { + return 0; + } + info = png_create_info_struct(png); + if (info == NULL) { + png_destroy_write_struct(&png, NULL); + return 0; + } + if (setjmp(png_jmpbuf(png))) { + png_destroy_write_struct(&png, &info); + return 0; + } + png_init_io(png, out_file); + png_set_IHDR(png, info, width, height, 8, PNG_COLOR_TYPE_RGB, + PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT, + PNG_FILTER_TYPE_DEFAULT); + png_write_info(png, info); + for (y = 0; y < height; ++y) { + png_bytep row = rgb + y * stride; + png_write_rows(png, &row, 1); + } + png_write_end(png, info); + png_destroy_write_struct(&png, &info); + return 1; +} +#else + +typedef uint32_t png_uint_32; + +static int WritePNG(FILE* out_file, unsigned char* rgb, int stride, + png_uint_32 width, png_uint_32 height) { + printf("PNG support not compiled. Please use ./configure --enable-png\n"); + printf("You can run with -ppm flag to decode in PPM format.\n"); + return 0; +} +#endif + +typedef enum { + PNG = 0, + PPM, + PGM, +} OutputFileFormat; + static void help(const char *s) { printf("Usage: dwebp " - "[options] [in_file] [-h] [-raw] [-o ppm_file]\n\n" - " -raw: save the raw YUV samples as a grayscale PGM\n" + "[in_file] [-h] [-ppm] [-pgm] [-o out_file]\n\n" + "Decodes the WebP image file to PNG format [Default]\n" + "Use following options to convert into alternate image formats:\n" + " -ppm: save the raw RGB samples as color PPM\n" + " -pgm: save the raw YUV samples as a grayscale PGM\n" " file with IMC4 layout.\n" ); } @@ -36,20 +99,21 @@ static void help(const char *s) { int main(int argc, const char *argv[]) { const char *in_file = NULL; const char *out_file = NULL; - int raw_output = 0; int width, height, stride, uv_stride; uint8_t* out = NULL, *u = NULL, *v = NULL; - + OutputFileFormat format = PNG; int c; for (c = 1; c < argc; ++c) { - if (!strcmp(argv[c], "-h")) { + if (!strcmp(argv[c], "-h") || !strcmp(argv[c], "-help")) { help(argv[0]); return 0; } else if (!strcmp(argv[c], "-o") && c < argc - 1) { out_file = argv[++c]; - } else if (!strcmp(argv[c], "-raw")) { - raw_output = 1; + } else if (!strcmp(argv[c], "-ppm")) { + format = PPM; + } else if (!strcmp(argv[c], "-pgm")) { + format = PGM; } else if (argv[c][0] == '-') { printf("Unknown option '%s'\n", argv[c]); help(argv[0]); @@ -84,12 +148,20 @@ int main(int argc, const char *argv[]) { return -1; } - if (!raw_output) { - out = WebPDecodeRGB((const uint8_t*)data, data_size, &width, &height); - } else { - out = WebPDecodeYUV((const uint8_t*)data, data_size, &width, &height, - &u, &v, &stride, &uv_stride); + switch (format) { + case PNG: + case PPM: + out = WebPDecodeRGB((const uint8_t*)data, data_size, &width, &height); + break; + case PGM: + out = WebPDecodeYUV((const uint8_t*)data, data_size, &width, &height, + &u, &v, &stride, &uv_stride); + break; + default: + free(data); + return -1; } + free(data); } @@ -102,10 +174,12 @@ int main(int argc, const char *argv[]) { FILE* const fout = fopen(out_file, "wb"); if (fout) { int ok = 1; - if (!raw_output) { + if (format == PNG) { + ok &= WritePNG(fout, out, 3 * width, width, height); + } else if (format == PPM) { fprintf(fout, "P6\n%d %d\n255\n", width, height); ok &= (fwrite(out, width * height, 3, fout) == 3); - } else { + } else if (format == PGM) { // Save a grayscale PGM file using the IMC4 layout // (http://www.fourcc.org/yuv.php#IMC4). This is a very // convenient format for viewing the samples, esp. for diff --git a/src/dec/Makefile.in b/src/dec/Makefile.in index 8659b78b..5c7bd7a4 100644 --- a/src/dec/Makefile.in +++ b/src/dec/Makefile.in @@ -128,6 +128,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ +LIBPNG_CONFIG = @LIBPNG_CONFIG@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ @@ -149,6 +150,8 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ +PNG_INCLUDES = @PNG_INCLUDES@ +PNG_LIBS = @PNG_LIBS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ diff --git a/src/dec/bits.h b/src/dec/bits.h index f19530f1..6bf9296a 100644 --- a/src/dec/bits.h +++ b/src/dec/bits.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_BITS_H_ -#define WEBP_DECODE_BITS_H_ +#ifndef WEBP_DEC_BITS_H_ +#define WEBP_DEC_BITS_H_ #include #include "webp/decode_vp8.h" @@ -103,4 +103,4 @@ static inline int VP8GetSigned(VP8BitReader* const br, int v) { } // extern "C" #endif -#endif // WEBP_DECODE_BITS_H_ +#endif // WEBP_DEC_BITS_H_ diff --git a/src/dec/vp8i.h b/src/dec/vp8i.h index 76985b8a..cf1b436d 100644 --- a/src/dec/vp8i.h +++ b/src/dec/vp8i.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_VP8I_H_ -#define WEBP_DECODE_VP8I_H_ +#ifndef WEBP_DEC_VP8I_H_ +#define WEBP_DEC_VP8I_H_ #include // for memcpy() #include "bits.h" @@ -313,4 +313,4 @@ extern VP8ChromaFilterFunc VP8HFilter8i; } // extern "C" #endif -#endif // WEBP_DECODE_VP8I_H_ +#endif // WEBP_DEC_VP8I_H_ diff --git a/src/dec/yuv.h b/src/dec/yuv.h index 5a9fce24..039427ba 100644 --- a/src/dec/yuv.h +++ b/src/dec/yuv.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_YUV_H_ -#define WEBP_DECODE_YUV_H_ +#ifndef WEBP_DEC_YUV_H_ +#define WEBP_DEC_YUV_H_ #include "webp/decode_vp8.h" @@ -63,4 +63,4 @@ void VP8YUVInit(); } // extern "C" #endif -#endif // WEBP_DECODE_YUV_H_ +#endif // WEBP_DEC_YUV_H_ diff --git a/src/webp/decode.h b/src/webp/decode.h index a1352b02..e7198564 100644 --- a/src/webp/decode.h +++ b/src/webp/decode.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_WEBP_DECODE_H_ -#define WEBP_DECODE_WEBP_DECODE_H_ +#ifndef WEBP_WEBP_DECODE_H_ +#define WEBP_WEBP_DECODE_H_ #include "webp/types.h" @@ -96,4 +96,4 @@ uint8_t* WebPDecodeYUVInto(const uint8_t* data, uint32_t data_size, } // extern "C" #endif -#endif // WEBP_DECODE_WEBP_DECODE_H_ +#endif // WEBP_WEBP_DECODE_H_ diff --git a/src/webp/decode_vp8.h b/src/webp/decode_vp8.h index 2e1b657e..3709b61f 100644 --- a/src/webp/decode_vp8.h +++ b/src/webp/decode_vp8.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_WEBP_DECODE_VP8_H_ -#define WEBP_DECODE_WEBP_DECODE_VP8_H_ +#ifndef WEBP_WEBP_DECODE_VP8_H_ +#define WEBP_WEBP_DECODE_VP8_H_ #include "decode.h" @@ -112,4 +112,4 @@ void VP8Delete(VP8Decoder* const dec); } // extern "C" #endif -#endif // WEBP_DECODE_WEBP_DECODE_VP8_H_ +#endif // WEBP_WEBP_DECODE_VP8_H_ diff --git a/src/webp/types.h b/src/webp/types.h index 367aa41d..82fa7bbb 100644 --- a/src/webp/types.h +++ b/src/webp/types.h @@ -9,8 +9,8 @@ // // Author: Skal (pascal.massimino@gmail.com) -#ifndef WEBP_DECODE_WEBP_TYPES_H_ -#define WEBP_DECODE_WEBP_TYPES_H_ +#ifndef WEBP_WEBP_TYPES_H_ +#define WEBP_WEBP_TYPES_H_ #ifndef _MSC_VER #include @@ -25,4 +25,4 @@ typedef unsigned long long int uint64_t; #define inline __forceinline #endif /* _MSC_VER */ -#endif /* WEBP_DECODE_WEBP_TYPES_H_ */ +#endif /* WEBP_WEBP_TYPES_H_ */