Linked by Thom Holwerda on Sun 14th Nov 2010 21:04 UTC, submitted by Brooss
Java The WebP image format based on VP8 and released by Google recently now has a native Java decoder. The new decoder can be run in any browser with Java enabled and could help provide a solution for user otherwise unable to view WebP content. A demo applet of the decoder in action is also available.
Order by: Score:
Always makes me smile
by Lennie on Sun 14th Nov 2010 21:20 UTC
Lennie
Member since:
2007-09-22

Sorry for being a grammer nazy, but their is no such thing as native when talking about Java*. I mean Java isn't native on any platform. ;-)

It's all extra layers. You could say, a pure Java WebP decoder. That would make more sense.

* OK, their is JNI, but that is using native libraries from within Java

Reply Score: 2

RE: Always makes me smile
by nabil2199 on Sun 14th Nov 2010 21:36 UTC in reply to "Always makes me smile"
nabil2199 Member since:
2010-03-31

not if you think of java(JVM) as the platform ;)

Reply Score: 2

RE: Always makes me smile
by Bill Shooter of Bul on Mon 15th Nov 2010 16:48 UTC in reply to "Always makes me smile"
Bill Shooter of Bul Member since:
2006-07-14

No, its native to Java. Native and foreign are relative qualifiers.

I'll never forget this guy I met ( recent emigrant from another country to the us), who used to rail against all of the "foreigners" here, including a co-worker that was Cherokee. It would have been funnier, if he had not been so racist.

Reply Score: 4

Java ???
by evert on Sun 14th Nov 2010 21:28 UTC
evert
Member since:
2005-07-06

Why not C? Most system level software and many libraries are in C.

Reply Score: 1

RE: Java ???
by fran on Sun 14th Nov 2010 22:02 UTC in reply to "Java ???"
fran Member since:
2010-08-06

WebP is based from VP8 and VP8 is from Google.
From what I could gather Google is none too keen on C.
Calls it "unnecessary complicated" and is the reason it is developing Go.

I myself don’t know anything about C++ and can’t give an informed opinion on the legitimacy of Google's claims except from posts I read about C.
The gist of it is as I have it is that C++ is difficult to master but very robust.

Maybe other comments can enlighten us.

Reply Score: 0

RE[2]: Java ???
by benhonghu on Mon 15th Nov 2010 01:54 UTC in reply to "RE: Java ???"
benhonghu Member since:
2008-08-24

WebP is based from VP8 and VP8 is from Google.
From what I could gather Google is none too keen on C.
Calls it "unnecessary complicated" and is the reason it is developing Go.

I myself don’t know anything about C++ and can’t give an informed opinion on the legitimacy of Google's claims except from posts I read about C.
The gist of it is as I have it is that C++ is difficult to master but very robust.

Maybe other comments can enlighten us.


Yet they developed Google Chrome in...C++...

Reply Score: 1

RE[3]: Java ???
by drahca on Mon 15th Nov 2010 22:46 UTC in reply to "RE[2]: Java ???"
drahca Member since:
2006-02-23

Yet they developed Google Chrome in...C++...


Webkit was already C++ and there really is not a good alternative high performance language which works on all platforms since Objective-C is restricted to Apple platforms in practice, D is not ready (nor might ever be) and Java is, well, just plain awful for building client side applications. Go is just a toy language at the moment.

Reply Score: 1

RE[4]: Java ???
by Aragorn992 on Tue 16th Nov 2010 08:37 UTC in reply to "RE[3]: Java ???"
Aragorn992 Member since:
2007-05-27

"Yet they developed Google Chrome in...C++...


Webkit was already C++ and there really is not a good alternative high performance language which works on all platforms since Objective-C is restricted to Apple platforms in practice, D is not ready (nor might ever be) and Java is, well, just plain awful for building client side applications. Go is just a toy language at the moment.
"

Well it depends what you mean by client side. If you mean GUI's then this is a language agnostic thing. What really makes the difference here is the GUI toolkits (Qt being a particularly good one - which is available for both C++ and Java indirectly).

In terms of languages itself, C++ has inconsistent, ugly and very powerful syntax. Java is much more enjoyable to program in, allbeit slightly less powerful (pointers, memory access etc). Generally I agree with your point except about Java ;)

C++ is good enough and very widespread. There is simply no alternative that is that much better. For embedded C++ is the obvious choice due to its low-level capabilities. For very complex higher-level stuff, Java is a better choice.

P.S. I program daily in C/C++ for embedded things.

Edited 2010-11-16 08:39 UTC

Reply Score: 1

RE[5]: Java ???
by drahca on Wed 17th Nov 2010 15:39 UTC in reply to "RE[4]: Java ???"
drahca Member since:
2006-02-23

I develop in Qt and C++ daily. I agree that the C++ language syntax is ugly, but this is for a large part to to its C backwards compatibility. D is nicer, but we'll have to live with C++ and it's quirks for now.

Well it depends what you mean by client side.


Ok, maybe I should have explained myself a bit here. I personally do not like the Swing toolkit and think it looks ugly on every platform. It is lacking in functionality present in other toolkits such as Qt and it's responsiveness is also not great. It also seems to be pretty much abandoned.

QtJambi has been abandoned by Nokia, so that is not really an option anymore.

In terms of languages itself, Java is a pain to program in when you are dealing with things like codecs due to the lack of unsigned datatypes, which is still an incredibly stupid decision. Also there is no way to access the SIMD units of modern CPUs. So any codec written in Pure Java, as Sun liked to call it, is slow as hell compared to the optimized C version. So mostly you are stuck using external C libraries and bind them with JNI. Then of course the fun starts with the Java memory model. Anyway, I would never recommend Java to be used outside the server environment.

Reply Score: 1

RE[6]: Java ???
by Aragorn992 on Thu 18th Nov 2010 08:31 UTC in reply to "RE[5]: Java ???"
Aragorn992 Member since:
2007-05-27

I develop in Qt and C++ daily. I agree that the C++ language syntax is ugly, but this is for a large part to to its C backwards compatibility. D is nicer, but we'll have to live with C++ and it's quirks for now.

"Well it depends what you mean by client side.


Ok, maybe I should have explained myself a bit here. I personally do not like the Swing toolkit and think it looks ugly on every platform. It is lacking in functionality present in other toolkits such as Qt and it's responsiveness is also not great. It also seems to be pretty much abandoned.

QtJambi has been abandoned by Nokia, so that is not really an option anymore.

In terms of languages itself, Java is a pain to program in when you are dealing with things like codecs due to the lack of unsigned datatypes, which is still an incredibly stupid decision. Also there is no way to access the SIMD units of modern CPUs. So any codec written in Pure Java, as Sun liked to call it, is slow as hell compared to the optimized C version. So mostly you are stuck using external C libraries and bind them with JNI. Then of course the fun starts with the Java memory model. Anyway, I would never recommend Java to be used outside the server environment.
"

Fair points. I also do not like Swing (SWT is better)!

Reply Score: 1

RE: Java ???
by Valhalla on Sun 14th Nov 2010 22:11 UTC in reply to "Java ???"
Valhalla Member since:
2006-01-24

Why not C? Most system level software and many libraries are in C.

The original Webp decoder is in c (and some assembly iirc), I don't think this java decoder has anything to do with Google apart from it decoding Google's WebP format.

Reply Score: 6

RE: Java ???
by Quikee on Sun 14th Nov 2010 22:15 UTC in reply to "Java ???"
Quikee Member since:
2010-07-06

Why not C? Most system level software and many libraries are in C.

Because there already is a library written in C called libvpx - the same library used for VP8 encoding and decoding.

Reply Score: 4

RE: Java ???
by ggeldenhuys on Mon 15th Nov 2010 15:07 UTC in reply to "Java ???"
ggeldenhuys Member since:
2006-11-13

Why not C? Most system level software and many libraries are in C.

For one simple reason.... There are many better languages than C! ;-)

Edited 2010-11-15 15:07 UTC

Reply Score: 1

Java on web is slow
by FunkyELF on Sun 14th Nov 2010 21:51 UTC
FunkyELF
Member since:
2006-07-26

Sun never cared about it and neither does Oracle.
So you encode your pictures differently to save a new bytes of traffic but you're now serving a Java applet.

Also, its slow as hell to start up a vm in a web browser. Thats why Java applets, Java web start, and JavaFx never took off.

Reply Score: 1

RE: Java on web is slow
by Moochman on Mon 15th Nov 2010 00:06 UTC in reply to "Java on web is slow"
Moochman Member since:
2005-07-06

It's actually gotten a lot better on Windows in recent years. On Mac it is still kinda slow to start up. I totally agree though that embedding a Java applet in order to show an image in a different format is the definition of counter-intuitive....

Reply Score: 3

Whatâs impressive
by Beta on Sun 14th Nov 2010 22:16 UTC
Beta
Member since:
2005-07-06

If WebP is just a fourcc, a data chunk length, and the data… isn’t that a few lines of code in any language?
And then it feeds the data to the VP8 decoder!

It boggles my mind that this is news.

Reply Score: 0

RE: What�s impressive
by Brooss on Sun 14th Nov 2010 23:00 UTC in reply to "Whatâs impressive"
Brooss Member since:
2010-11-13

Right, all the hard work is writing the Java VP8 decoder. It's all part of the same project.

Reply Score: 3

RE: What�s impressive
by dvhh on Mon 15th Nov 2010 02:31 UTC in reply to "Whatâs impressive"
dvhh Member since:
2006-03-20

if a computer is just a bunch of wire and transistor anyway, isn't that a few number of switch in different form ?
And then it need the switch to be faster!

I boggles my mind that you are unimpressed.

Reply Score: 3

Not the point...
by smitty on Mon 15th Nov 2010 01:37 UTC
smitty
Member since:
2005-10-13

Reading the link, the point was never to create a WebP decoder in java. They're trying to port libvpx, and are using WebP as a testcase to show that decoding keyframes is now working (mostly) correctly.

Reply Score: 6

Comment by kaiwai
by kaiwai on Mon 15th Nov 2010 11:26 UTC
kaiwai
Member since:
2005-07-06

It would be great if they moved it forward so that it supported WebM so that one doesn't need to rely on the web browser developer to update their browser - it will also be good for those running browsers before Internet Explorer 9 as well. Reminds me very much of the vorbis audio player written in Java on Wikipedia ;)

Reply Score: 3

Comment by Fransexy
by Fransexy on Tue 16th Nov 2010 15:22 UTC
Fransexy
Member since:
2005-07-29

AmigaOS obtained WebP datatype the day after it was announced so the system and any application (that uses datatypes) can "view" webp images

http://freesoftwareando.com/wp-content/uploads/2010/10/webp3.png

Reply Score: 1

futile
by ddennedy on Wed 17th Nov 2010 00:51 UTC
ddennedy
Member since:
2009-07-07

Did the Java Cortado applet really help the adoption of Ogg Theora?

Reply Score: 1