Code Monkey home page Code Monkey logo

Comments (14)

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
dwebp behaves the same.


$ examples/dwebp examples/mytest.webp -o foo.ppm
Assertion failed: (v >= -255 && v <= 255 + 255), function clip_8b, file dsp.c, 
line 54.
Abort trap

Original comment by [email protected] on 30 Oct 2010 at 11:00

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
thanks for the bug report. Before we test further, it seems you have a newer 
version of libvpx than the libpwebp version. can you go to an earlier build of 
libvpx to try?

also, can you try the standalone lightweight decoder? libwebp-decode available 
on
www.webmproject.com

Original comment by [email protected] on 31 Oct 2010 at 1:57

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
Hi Rob

libvpx is not used for decoding in my program. Also, as you see from my 
follow-up comment, dwebp in libwebp is affected identically. Does that help?

--Toby

Original comment by [email protected] on 31 Oct 2010 at 2:15

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
yes, thanks. will investigate

Original comment by [email protected] on 31 Oct 2010 at 2:24

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
I misspoke when I said "correctly decodes test.webp" -- it decodes, but 
incorrectly per #23. I should have said, it just does not abort.

Original comment by [email protected] on 31 Oct 2010 at 2:38

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
Toby,

hmm... can't reproduce here with 10.4.0 and gcc 4.2.1 (both bugs).

Could you try upgrading you gcc system if possible? Otherwise, could you send 
the full
call stack (with, e.g., gdb)?

Here's mine:
> gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Original comment by [email protected] on 31 Oct 2010 at 2:53

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
Pascal,

The problem manifests on PowerPC (not on Intel) - running natively on a 10.4 or 
10.5 system only.

Latest Xcode Tools for these systems are 2.5 and 3.1.4 respectively, which 
include gcc versions 4.0.1 and 4.2.1 respectively.

On both these systems, I see either Abort, or a corrupt image, when I run:

  $ examples/dwebp examples/test.webp -o foo.ppm

The only way you could reproduce this on an Intel Mac, or 10.6, is by the 
following:

mb:libwebp toby$ CFLAGS="-arch ppc" ./configure
checking for a BSD-compatible install... /usr/bin/install -c
...
mb:libwebp toby$ make
make  all-recursive
Making all in src
/bin/sh ../libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..  
-I/src   -arch ppc -MT bits.lo -MD -MP -MF .deps/bits.Tpo -c -o bits.lo bits.c
mkdir .libs
 gcc -DHAVE_CONFIG_H -I. -I.. -I/src -arch ppc -MT bits.lo -MD -MP -MF .deps/bits.Tpo -c bits.c  -fno-common -DPIC -o .libs/bits.o
...
gcc -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o 
.libs/libwebpdecode.0.0.0.dylib  .libs/bits.o .libs/dsp.o .libs/frame.o 
.libs/quant.o .libs/tree.o .libs/vp8.o .libs/webp.o .libs/yuv.o   -arch ppc 
-install_name  /usr/local/lib/libwebpdecode.0.dylib -compatibility_version 1 
-current_version 1.0 -Wl,-single_module
dsymutil .libs/libwebpdecode.0.0.0.dylib || :
warning: no debug symbols in executable (-arch ppc7400)
(cd .libs && rm -f libwebpdecode.0.dylib && ln -s libwebpdecode.0.0.0.dylib 
libwebpdecode.0.dylib)
(cd .libs && rm -f libwebpdecode.dylib && ln -s libwebpdecode.0.0.0.dylib 
libwebpdecode.dylib)
ar cru .libs/libwebpdecode.a  bits.o dsp.o frame.o quant.o tree.o vp8.o webp.o 
yuv.o
ranlib .libs/libwebpdecode.a
creating libwebpdecode.la
(cd .libs && rm -f libwebpdecode.la && ln -s ../libwebpdecode.la 
libwebpdecode.la)
Making all in examples
gcc -DHAVE_CONFIG_H -I. -I..  -I../src   -arch ppc -MT dwebp.o -MD -MP -MF 
.deps/dwebp.Tpo -c -o dwebp.o dwebp.c
mv -f .deps/dwebp.Tpo .deps/dwebp.Po
/bin/sh ../libtool --tag=CC   --mode=link gcc  -arch ppc   -o dwebp dwebp.o 
../src/libwebpdecode.la 
mkdir .libs
gcc -arch ppc -o .libs/dwebp dwebp.o  ../src/.libs/libwebpdecode.dylib 
creating dwebp
mb:libwebp toby$ file src/.libs/*
src/.libs/bits.o:                         Mach-O object ppc
src/.libs/dsp.o:                          Mach-O object ppc
src/.libs/frame.o:                        Mach-O object ppc
src/.libs/libwebpdecode.0.0.0.dylib:      Mach-O dynamically linked shared 
library ppc
src/.libs/libwebpdecode.0.0.0.dylib.dSYM: directory
src/.libs/libwebpdecode.0.dylib:          Mach-O dynamically linked shared 
library ppc
src/.libs/libwebpdecode.a:                current ar archive random library
src/.libs/libwebpdecode.dylib:            Mach-O dynamically linked shared 
library ppc
src/.libs/libwebpdecode.la:               libtool library file
src/.libs/libwebpdecode.lai:              libtool library file
src/.libs/quant.o:                        Mach-O object ppc
src/.libs/tree.o:                         Mach-O object ppc
src/.libs/vp8.o:                          Mach-O object ppc
src/.libs/webp.o:                         Mach-O object ppc
src/.libs/yuv.o:                          Mach-O object ppc
mb:libwebp toby$ examples/dwebp examples/test.webp -o foo.ppm
Assertion failed: (v >= -255 && v <= 255 + 255), function clip_8b, file dsp.c, 
line 54.
Abort trap
mb:libwebp toby$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

mb:libwebp toby$ uname -a
Darwin mb.local 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 
2010; root:xnu-1504.7.4~1/RELEASE_I386 i386




Here's a log of testing with gcc-4.2 on 10.5.8 (G5):


g5:libwebp toby$ CC=gcc-4.2 ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking build system type... powerpc-apple-darwin9.8.0
checking host system type... powerpc-apple-darwin9.8.0
checking for style of include used by make... GNU
checking for gcc... gcc-4.2
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc-4.2 accepts -g... yes
checking for gcc-4.2 option to accept ISO C89... none needed
checking dependency style of gcc-4.2... gcc3
checking for a sed that does not truncate output... 
/Volumes/data/Users/toby/bin/gsed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ld used by gcc-4.2... 
/usr/libexec/gcc/powerpc-apple-darwin9/4.2.1/ld
checking if the linker (/usr/libexec/gcc/powerpc-apple-darwin9/4.2.1/ld) is GNU 
ld... no
checking for /usr/libexec/gcc/powerpc-apple-darwin9/4.2.1/ld option to reload 
object files... -r
...
g5:libwebp toby$ make -j4
make  all-recursive
Making all in src
/bin/sh ../libtool --tag=CC   --mode=compile gcc-4.2 -DHAVE_CONFIG_H -I. -I..  
-I/src   -g -O2 -MT bits.lo -MD -MP -MF .deps/bits.Tpo -c -o bits.lo bits.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc-4.2 -DHAVE_CONFIG_H -I. -I..  
-I/src   -g -O2 -MT dsp.lo -MD -MP -MF .deps/dsp.Tpo -c -o dsp.lo dsp.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc-4.2 -DHAVE_CONFIG_H -I. -I..  
-I/src   -g -O2 -MT frame.lo -MD -MP -MF .deps/frame.Tpo -c -o frame.lo frame.c
/bin/sh ../libtool --tag=CC   --mode=compile gcc-4.2 -DHAVE_CONFIG_H -I. -I..  
-I/src   -g -O2 -MT quant.lo -MD -MP -MF .deps/quant.Tpo -c -o quant.lo quant.c
mkdir .libs
mkdir .libs
mkdir .libs
mkdir: .libs: File exists
mkdir: .libs:  gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I/src -g -O2 -MT frame.lo -MD 
-MP -MF .deps/frame.Tpo -c frame.c  -fno-common -DPIC -o .libs/frame.o
File exists
 gcc-4.2 -DHAVE_CONFIG_H -I. -I.. -I/src -g -O2 -MT quant.lo -MD -MP -MF .deps/quant.Tpo -c quant.c  -fno-common -DPIC -o .libs/quant.o
...
gcc-4.2 -dynamiclib ${wl}-flat_namespace ${wl}-undefined ${wl}suppress -o 
.libs/libwebpdecode.0.dylib  .libs/bits.o .libs/dsp.o .libs/frame.o 
.libs/quant.o .libs/tree.o .libs/vp8.o .libs/webp.o .libs/yuv.o   -install_name 
 /usr/local/lib/libwebpdecode.0.dylib -compatibility_version 1 -current_version 
1.0
(cd .libs && rm -f libwebpdecode.dylib && ln -s libwebpdecode.0.dylib 
libwebpdecode.dylib)
(cd .libs && rm -f libwebpdecode.0.0.0.dylib && ln -s libwebpdecode.0.dylib 
libwebpdecode.0.0.0.dylib)
ar cru .libs/libwebpdecode.a  bits.o dsp.o frame.o quant.o tree.o vp8.o webp.o 
yuv.o
ranlib .libs/libwebpdecode.a
creating libwebpdecode.la
(cd .libs && rm -f libwebpdecode.la && ln -s ../libwebpdecode.la 
libwebpdecode.la)
Making all in examples
gcc-4.2 -DHAVE_CONFIG_H -I. -I..  -I../src   -g -O2 -MT dwebp.o -MD -MP -MF 
.deps/dwebp.Tpo -c -o dwebp.o dwebp.c
mv -f .deps/dwebp.Tpo .deps/dwebp.Po
/bin/sh ../libtool --tag=CC   --mode=link gcc-4.2  -g -O2   -o dwebp dwebp.o 
../src/libwebpdecode.la 
mkdir .libs
gcc-4.2 -g -O2 -o .libs/dwebp dwebp.o  ../src/.libs/libwebpdecode.0.0.0.dylib 
creating dwebp
g5:libwebp toby$ examples/dwebp examples/test.webp -o foo.ppm
Assertion failed: (v >= -255 && v <= 255 + 255), function clip_8b, file dsp.c, 
line 54.
Abort trap

Original comment by [email protected] on 31 Oct 2010 at 5:06

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
So, in summary, on ANY PowerPC system, I always see either Abort or corrupt 
image, regardless of the version of gcc used (and in all cases using latest gcc 
available for 10.4, 10.5).

As shown above, I *also* see the problem in Rosetta emulation on 10.6/Intel, 
also using latest gcc with ppc as the target architecture. If you don't have 
PowerPC hardware around, that may be the easiest route to reproduce it...

Original comment by [email protected] on 31 Oct 2010 at 5:09

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
would using the libvpx decoder for Power PC unblock you for now?

Original comment by [email protected] on 31 Oct 2010 at 4:34

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
I can certainly look at that route.

Btw, I implied at first that the Abort only happened on streams that I 
generated. But through further testing I see that I usually get it on the 
test.webp as well. I am not sure under what exact circumstances I get the 
corrupt image (#23) from test.webp - the best I can say right now is that I 
always get one or the other, on PPC.

Original comment by [email protected] on 31 Oct 2010 at 4:59

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
Richard, re (9)

I switched the plugin to use libvpx for decode and it works perfectly on 
PowerPC.

Original comment by [email protected] on 8 Nov 2010 at 2:31

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
ok, cool. i also saw your update on the mailing list. Can you try the 
libwebp-decode again? Pascal seems to have fixed the power pc endian issue

Original comment by [email protected] on 9 Nov 2010 at 5:23

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
I confirm this is solved by https://review.webmproject.org/1132
Thankyou!

Original comment by [email protected] on 12 Nov 2010 at 12:07

from webp.

GoogleCodeExporter avatar GoogleCodeExporter commented on June 24, 2024
great!

Original comment by [email protected] on 12 Nov 2010 at 6:06

  • Changed state: Fixed

from webp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.