LGPL H.265 Codec Implementation Available; Encoding To Come Later 141
New submitter Zyrill writes "The German company Stuttgarter Struktur AG has released a free and open source implementation of the H.265 codec, also termed 'High Efficiency Video Coding (HEVC)' which is now available on Github. At the same video quality, H.265 promises roughly half the bitrate as compared to H.264. Also, resolutions up to 8K UHD (7680 × 4320 px) are supported. The software is licensed under LGPL. Quoting from the homepage where the software is also available for download: '[This software] is written from scratch in plain C for simplicity and efficiency. Its simple API makes it easy to integrate it into other software. Currently, libde265 only decodes intra frames, inter-frame decoding is under construction. Encoding is planned to be added afterwards.'"
Codec? (Score:5, Funny)
If there's no encoding, isn't it just a dec?
Re: (Score:1, Troll)
Re: (Score:3)
> codec is an abbreviation coder/decoder
Or alt. compression/decompression.
http://oxforddictionaries.com/us/definition/american_english/codec [oxforddictionaries.com]
Agreed that the mods are ignorant.
Re: (Score:3, Informative)
Mods often have to work with the limited options they have at their disposal. For example, you were moderated "-1, Troll", whereas "-1, No sense of humor" would be more appropriate.
Re: (Score:2)
Re: (Score:2)
Maybe because it is funny?
It is possible to be correct and humorous at the same time, you know.
Re:Codec? (Score:5, Informative)
Re:Codec? (Score:4, Informative)
If there's no encoding, isn't it just a dec?
Nice joke. Although in the current vernacular of media encoding and playback, codec is commonly used to describe modules or libraries that provide EITHER encoding or decoding (or both). For example, if you get a "codec" pack to play media formats, it's often just the decoders. And when you list codecs in FFMPEG, it tells you whether it supports encoding or decoding as separate flags.
Re: (Score:2)
Re:Codec? (Score:5, Informative)
It's not even that. The current version is basically just a glorified slideshow viewer.
The way most video codecs work is they start by storing a full picture once every second or two. These are called key-frames, or intra-frames. The frames in between key-frames are called inter-frames, and this is where 90+% of the real work of a codec happens. These frames are stored as a short description of how the current frame is different than the last key-frame. Instead of storing the full picture you just describe what parts of the picture are moving, or if part of the picture is getting brighter or darker, or if colors are shifting.
Currently, libde265 only decodes intra frames, inter-frame decoding is under construction.
It's essentially a slideshow viewer, showing something akin to a series of JPEG pictures. Basically the entire CODEC is missing, the part that compresses and decompresses all the video frames in between.
-
Re: (Score:2)
I'm admittedly totally nitpicking.
Is it really as little as every second or two? I thought typically it was at least 2/second, at least for MPEG 2. (The wikipedia page mentions every 15th frame, then shows a shorter sequence in its IBP example.)
Also, is it really "how the current frame is different than the last key-frame"? Isn't it "how the current frame is different than the PREVIOUS frame"? (and the previous frame of course would require decoding from the previous I-frame up through that frame). Bas
Re: (Score:2)
Is it really as little as every second or two?
That is configurable, and typically ranges between about a half second and ten seconds. In fact I've been seeing about ten seconds between key-frames in some of the movies on my cable TV. It's visible as a faint fog that creeps up in very dark scenes, and abruptly vanishes to black at the next key-frame. The sudden jump is distracting, but it's even more distracting consciously realizing I'm "watching a CODEC" rather than "watching a movie. Chuckle.
Isn't it "how the current frame is different than the PREVIOUS frame"?
Yeah, my description was a little sloppy.
-
Re: (Score:2)
Re:x265? (Score:5, Interesting)
Erm... you should have done more research (or know more about the field).
x265 is an encoder (open source one, even!), and it *does* support encoding the full way - intraframes + interframes (p,b). It's frame-threading is currently in the works along with lookahead - at the end of that, rate control should be there, hopefully. The development is pretty active - well, MCW has employees doing it actually, so duh :D
As fir decoding, naturally there is a libav/ffmpeg code for that, and it is also reasonably feature-complete. It should basically decode standard streams (intra+inter) pretty well. It however hasn't been merged - in august, there was a first call for that on the ML (http://lists.libav.org/pipermail/libav-devel/2013-August/049750.html), but as you can see, it was promptly ignored by the rest of the developers, who mostly prefer to indulge in rewriting some existing code, polishing cosmetics, and implementing 1-purpose game codecs from early 1990s that nobody really cares about :) (Okay, that was a troll - hello elenril o/ - but the factual parts of my posts were meant seriously).
Re: (Score:1)
I tried, but the x265 site is undeniably devoid of any useful information.
Re: (Score:1)
Hardware acceleration? (Score:2)
Re: (Score:2)
I think the problem is drivers. Not until the standard gets more use will the GPU makers add support for the new format.
Other than that, I'm sure the actual decoding work could be implemented on their hardware. Really, as long as the work is massively parallel, they can get the job done with a quickness.
Re:Hardware acceleration? (Score:4, Interesting)
"I have never seen really stable frame-rates in video replay without hardware acceleration"
My only recommendation is to stop using substandard hardware or switch to a better software player.. I've been doing 1080p video rendering in software just fine using VLC since the days of my 2.4GHz P4 with a 64MB GeForce 2 and 2GB PC2700 DDR1.
Re:Hardware acceleration? (Score:4, Informative)
Let me know when I can slap a desktop class processor in my Nexus10 / netbook / other portable device that doesn't chug down battery like my i5 laptop ( that lasts maybe 5 hours doing light work @ 50% brightness ). And before you say anything about 1366x768 and down-scaling the N10 at least has a higher resolution than 1080P.
There are tons of devices out there that need to be able to hardware decode anything above 720P H.264. That is the same reason I absolutely hate that more an more video is being released in the 10bit H.264 format, supposedly for smaller file sizes without visual distortions. Especially by the idiots who way over bitrate their encodes, not only can very few devices hardware decode 10bit, but I can transcode to "shitty" xvid with smaller file sizes ( literally shaving off GBs of 1080P encodes) and no visual quality loss.
If you are going to encode with huge bitrate overages you might as well use 8bit that pretty much anyone and everyone nowadays can easily decode....
Re: (Score:1)
Let me know when I can slap a desktop class processor in my Nexus10 / netbook / other portable device that doesn't chug down battery like my i5 laptop ( that lasts maybe 5 hours doing light work @ 50% brightness ). And before you say anything about 1366x768 and down-scaling the N10 at least has a higher resolution than 1080P.
There are tons of devices out there that need to be able to hardware decode anything above 720P H.264. That is the same reason I absolutely hate that more an more video is being released in the 10bit H.264 format, supposedly for smaller file sizes without visual distortions. Especially by the idiots who way over bitrate their encodes, not only can very few devices hardware decode 10bit, but I can transcode to "shitty" xvid with smaller file sizes ( literally shaving off GBs of 1080P encodes) and no visual quality loss.
If you are going to encode with huge bitrate overages you might as well use 8bit that pretty much anyone and everyone nowadays can easily decode....
I suppose you're an anime fan ? Well you can always reencode the 10bit to 8bit and use that.
But I agree, it's pretty shitty that most fansubbers have gone with a format that can't be decoded entirely in hardware. Even on the desktop, only professional cards like Nvidia Quadro have hardware decoding for 10 bit. Everyone else has to rely on software.
On the other hand most HD rips of films are done in 8bit so no worry there.
Re: (Score:2)
Actually it's not only anime groups, some BlueRay rip groups are starting release more and more 10bit, I ran across a few rips that are 10bit so couldn't watch them on the netbook or nexus. And I do transcode to either 8bit or as I said xvid. Either that or I have to watch it on a more powerful but less battery efficient ( portable ) machine or a desktop.
Re: (Score:3, Interesting)
"Let me know when I can slap a desktop class processor in my Nexus10 / netbook / other portable device that doesn't chug down battery like my i5 laptop"
The processor in your Nexus 10 and netbook are likely already far more powerful than my old P4. The Atom D510 smashes the shit out of a 3.2GHz HT-Enabled P4 in 3DMark CPU Bench, and totally dominates in Sandra (excepting memory bandwidth test.)
Which means you should've been able to do 1080p stutter-free for AGES on CPU alone. Your software is the issue here,
Re: (Score:2, Redundant)
> Let me know when I can slap a desktop class processor in my Nexus10
Well that's what you get for using lame hardware and trying to pretend that it's anything but a bad joke.
ARM hardware sucks. Plenty of us will happily point out this fact given any opportunity. You don't even need to use the most extreme examples to demonstrate this either.
"Mobile" devices are like a blast from the past (90s) when it comes to performance.
Re: (Score:2)
Re: (Score:2)
To be fair to them, animated content with its frequent use of simple gradients does get a bigger advantage out of 10-bit encoding (avoiding banding) than film content does. Then again, the ffdshow deband filter (GradFun2DB) does a fantastic job at sorting out banding issues on playback without degrading image quality regardless of content type, so that certainly limits the utility of 10-big encoding.
Re: (Score:2)
At the default threshold of 1.2, I've never seen it do any of those things (have any negative impact on low-contrast areas or lineart). Even on very low-contrast textures. And yet at those same settings it significantly reduces the appearance of banding. Perhaps you're applying it at a much much higher threshold than I am?
Re: (Score:2)
And before you say anything about 1366x768 and down-scaling the N10 at least has a higher resolution than 1080P.
So instead we're talking about upscaling any video you might be trying to play, since nobody publishes video in anything higher than 1080p for wide distribution.
Still CPU intensive.
Re: (Score:3, Insightful)
My Galaxy Tab 7.7 is MUCH more convenient to use on a train/bus than a desktop/"normal PC" (and it plays regular 1080p H.264 files perfectly, thank you very much). More convenient than any laptop as well. Just because YOU have the time to sit in front of a desktop to watch a video doesn't mean that everyone has to do the same.
My media consumption is made either on my tablet or on my TV's internal H.264 player. I'll probably get a media player to replace the TV's player when its capabilities no longer suit m
Re: (Score:2)
Well shit, we better just stop the advance of all video tech, because nobody is going to ever upgrade anything, ever again.
People said the same thing about H.264 once - "Why use that when we already have MPEG-1 and Sorenson?!"
Who uses MPEG-1 now?
Signed, someone with a view of a horizon that is farther than 6 months ahead.
Re: (Score:1)
Really?
I've always had obvious stutter (apperent when credits are rolling), and never was able to get mildly acceptable playback at blueray level bitrates without hardware that was dramatically more powerful.
Re: (Score:1)
You probably got a crappy encode with a bitrate far higher than it needed to be or you're using a crappy codec.
Re: (Score:2)
It was a Blue Ray Rip that I tested for high bitrate.
The quality of the encoding may be low, but commercial movies (purchased legally) are part of what I want to view.
Short of DVD or Blue Ray players I am yet to see smooth scrolling text or credits (netflix on my PS3 is the worse for this, software rendered VLC on older hardware coming next, even on an SD H.264 conversion off of a blue ray rip).
I've found that sub 10 Mbps leads to pretty bad artifacting at 1080P during high-contrast (lightning strikes, HBO'
Re: (Score:2)
If you observed it during a credits sequence it is almost certainly due to the refresh rate of your display/video card not being matched to the refresh rate of the source. (Credits sequences are very easy to encode and decode and shouldn't run into a bottleneck anywhere).
The best way to start analysing this issue is to use MediaPlayer Classic Home Cinema or Black Editon (a fork of MPC-HC), and check the stats with CTRL+J (using Custom EVR as renderer):
https://trac.mpc-hc.org/attachment/ticket/2682/screensho [mpc-hc.org]
Re: (Score:2)
Re: (Score:2)
"VDPAU (Video Decode and Presentation API for Unix) is an open source library (libvdpau) and API originally designed by Nvidia for its GeForce 8 series and later GPU hardware"
Note, my rig had a GeForce 2 MX, so no to VDPAU and VAAPI. XvMC only available on a GeForce 2 card (if possible) using the proprietary linux blob (which only supports up to the 7000 series GPUs) and would not be available in Windows 2000 due to the locked down DMA for video memory.
Actually, checking the wikis on all three of what you
Re: (Score:2)
> I have never seen really stable frame-rates in video replay without hardware acceleration
Then you're not trying hard enough.
Re: (Score:3)
Soon new hardware will be necessary... (Score:2)
Re:Soon new hardware will be necessary... (Score:5, Informative)
So far, the FSF promoted Ogg-Theora as the standard that they wanted to push as the liberated standard for video encoding & decoding. Since h.264 is more standardized, it's good that they have at least an FOSS equivalent of it - if it can decode existing h.264 encoded videos out there, it's off to a good start.
What I wonder is - if it's LGPL, how different is LGPL3 from GPL3? The FSF made radical changes in version 3, and made GPL3 almost unusable for anyone who wants to lock things in hardware. Is LGPL3 any looser in terms of allowing hardware locking of the code than GPL3? Also, Ogg Theora itself - is it GPL3?
Also, would the new standard be supportable under HTML5?
Re: (Score:3)
Theora uses a BSD-style license.
http://www.theora.org/faq/#14 [theora.org]
WebM also uses a BSD-style license.
http://www.webmproject.org/about/faq/#licensing [webmproject.org]
IMHO, if you are trying to make a standard for media encoding, it just makes sense for the reference code to be BSD-licensed. The point of GPL is to make sure that people can't lock users in to a proprietary code base, with no way to make changes; with a media format, the users can always grab their own copy of the reference code. (And a proprietary version that is
Re:Soon new hardware will be necessary... (Score:5, Informative)
As long as you have an intermediary to transcode to a supported format, why is that a problem? Plex does a perfectly fine job right now delivering h.264 with AAC audio to less capable mobile devices that I own, as do a number of DLNA servers that are scattered around my apartment. Presumably if you're watching on a device with sub-optimal functionality, you're going to be less concerned about overall source fidelity in the first place; it's not like you care that you aren't getting the full bit rate and eight channel audio from your blu-ray sources when you're watching them on a 4" iThing screen with a $10 pair of headphones.
Re: (Score:1)
Re: (Score:2)
The point is that Plex does it on-demand and doesn't store the resulting transcode.
Re: (Score:1)
Re: (Score:3)
Plex is a literal Swiss Army knife for this stuff. As long as you have a reasonably powerful back end like a retired Core i or even a Core 2 Quad, you're probably good to go on arbitrary amounts of real time transcoding for a typical home setup. If your Plex Media Server is on some kind of ARM or Atom-powered NAS, you have work to do, but even then there are pretty straightforward tools (e.g. Format Factory on Windows or Handbrake on whatever) that can whip a media collection in to shape if you absolutely n
Re: (Score:2)
currently I have several devices with hardware support to decode h.264... With this new codec they'll need to decode in software
Maybe not.
The hardware support for H.264 is probably in the form of general-purpose DSP (Digital Signal Processing) combined with some code. Basically, your devices have some sort of DSP capability, and someone wrote DSP code to offload much of the decoding work from the general-purpose CPU to the DSP core(s) [wikipedia.org].
So, it is probably possible to write additional code for H.265 and offer
Re: (Score:3)
Can't flash in hardware support. Gotta change the hardware for that.
Re: (Score:2)
The very definition of FPGA [wikipedia.org]. See Xilinx.
Re: (Score:2)
So, all consumer devices that aren't based on FPGAs are shitty?
Re: (Score:2)
Decoding is simple (Score:3, Informative)
Decoding is simple, just implement the spec. Encoding is much more difficult, there is no spec - only a requirement that your encoded output can be decoded by a spec compliant decoder.
Re:Decoding is simple (Score:4, Informative)
You've got that entirely backwards. Encoding requires you only to handle your own implementation - with as little or as many of the features as you decide to implement. Decoding means you have to handle the quirks of the entire spec and possibly the bugs of other encoders.
Re: (Score:3)
You've got that entirely backwards.
Only pedantically speaking.
Pedantically speaking you could just encode a bunch of I frames and have done with it.
In practice, making an encoder that is remotely worth making is far harder.
Re: (Score:2)
Even if you implement a relatively complete encoder, what I said still applies.
Re: (Score:1)
Only intra frames? (Score:1)
Currently, libde265 only decodes intra frames, inter-frame decoding is under construction.
Wait... so basicaly they have implemented an h265 decoder which only works if the supposedly existing encoder is configured to use only I-frames.
How is this news? It is like saying you implemented something but actualy only 25% of it works...
Re: (Score:2)
They implemented MJPEG decoding in 2013... Not worthy of much to be honest. Shitty bitrate!
Patents. (Score:5, Interesting)
An open source library in the codec world is meaningless if the codec itself is covered by patents, because this means that no one can use the library in any country that enforces software patents. Last I saw H.265 is blanketed by over 500 patents. And in this case it's even worse than H.264 because they're not all held by one group, but by all kinds of different groups who all say they want royalties.
Re:Patents. (Score:5, Insightful)
You are wrong. It's not meaningless, because in the country where I live we don't have software patents. I understand how you may feel it's meaningless for you though but that doesn't mean that it's meaningless in general. Also, I believe that this is distributed in source form and thus is not violating any patents. This makes it even less meaningless.
Re: (Score:1)
What country would that be?
New Zealand is now one of those countries.
Re:Patents. (Score:5, Informative)
New Zealand is now one of those countries.
No. The New Zealand bill was a scam, and all the news coverage screwed up and fell for the scam. The main body of the bill directly stated that software was not patentenable, but Supplementary Order Paper No 237 [legislation.govt.nz] provided "clarification" that only software-as-such was not patentable, and further "clarified" that software-as-such ONLY included patent claims which merely added on-a-computer to something old. In legalese, they excluded patent claims who's sole contribution was that it was a program.
10A Computer programs
(1) A computer program is not an invention and not a manner of manufacture for the purposes of this Act.
(2) Subsection (1) prevents anything from being an invention or a manner of manufacture for the purposes of this Act only to the extent that a claim in a patent or an application relates to a computer program as such.
(3) A claim in a patent or an application relates to a computer program as such if the actual contribution made by the alleged invention lies solely in it being a computer program.
This means the bill actually MANDATED pure software patents, so long as the patent claim described some new math or something.
For example the classic pure-software patent catastrophe was the GIF patent... that patent claimed some new mathematics for converting one series of numbers (representing a picture) into a shorter series of numbers (a GIF compressed picture). The patent described (contributed) new mathematics, therefore the it's patentable. The RSA public-key crypto software patent is also still patentable, it claims new math for encrypting stuff. All audio and video codec patents, all patentable in New Zealand.
The only patents they excluded was the stupidest level stuff like "fill out your tax form exactly the same way you filled it out last year, but I want a patent on doing it with software".
-
Re: (Score:1)
It's gotten to the stage where I've become so cynical about the tech industry, that if I hear what sounds like good news, it's probably not, or is more upbeat than it actually is. I don't even need to do any in-depth research - it's probably going to be an accurate assumption, and generally is. As end-users (I hate the term consumers, as if that's all anyone does anymore) we have very few genuine victories for ou
Re:Patents. (Score:4, Interesting)
You are wrong. It's not meaningless, because in the country where I live we don't have software patents. I understand how you may feel it's meaningless for you though but that doesn't mean that it's meaningless in general. Also, I believe that this is distributed in source form and thus is not violating any patents. This makes it even less meaningless.
This is why New Zealand is region code 4, but pretty much all the content is region code 1. You've been sent to "we can't enforce software patents on you so you don't get content until after everyone else has paid for it" Coventry. It's also why the same content costs more there: out of spite, by the content production companies.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
IOW: we have another JPEG2000: A great idea destroyed by greed.
In this case, the math and numbers are owned by a bunch of different entities.
Re: (Score:3)
h.264 is massively patented, and it is huge success. JPEG2000 was a failure because it wasn't actually good enough to be worth dealing with the patents for, unlike h.264.
Re: (Score:2)
It's certainly NOT "meaningless" to have an open source codec for a patented standard. They still get the benefits of multiple vendors focusiing all their efforts on a common code base. And let's not forget that not every country enforces software patents like the US.
That said, it's sad that here on /. We've had a couple of stories about H.265 with NO mention of VP9 which Google has frozen the bitstream on, claims matches or slightly exceeds H.265 across the board, and has a working decoder in Chrome...
Re: (Score:2)
That test doesn't include H.265 at all...
"x265's development is currently too rapid for reliable testing, so I didn't want to focus on it"
Re: (Score:2)
True, but the AC is still right. I've looked at the comparisons and like it has been said elsewhere: VP9 is better than VP8, but that's about it.
See for yourself:
http://forum.doom9.org/showthread.php?p=1620230#post1620230 [doom9.org]
The third line in that posts links to this image, showing snapshots from the comparison between VP8, VP9, AVC (x264) and HEVC (HM10): http://i3.minus.com/i5vzrESbfwCmX.png [minus.com]
HEVC is just an absolute beast in (perceptual) video compression. If you look at the bitrates here [divx.com], you assume that the
Re: (Score:2)
The author correctly called it: "a single (admittedly non-useful) data point."
I see no "previous results"...
That's nonsense. VP8 was only released to the public MANY, MANY YEARS after H.264. Now VP9 is there right from the start, on equal-footing with
Re: (Score:2)
The situation wasn't REMOTELY the same...
As I KEEP FUCKING SAYING to you:
"That's nonsense. VP8 was only released to the public MANY, MANY YEARS after H.264. Now VP9 is there right from the start, on equal-footing with H.265. This is a very different situation that EVER before, which was the point of my original post you apparently dismissed out of hand."
You seem to be so far biased
Re: (Score:2)
I don't see how that makes it meaningless in the other 90% of the world that has sane IP laws.
open source H.265 (HEVC) encoder (Score:5, Interesting)
WebM / VP9 (Score:1)
libvpx contains BSD-licensed VP9 codec (here [webmproject.org]) which is not infected by patents. VP9 is the VP8 (the current WebM) successor, HEVC level competitor. But Google has not paid for slashvertisement so no article about VP9 here.
OSS (+Commercial) Encoder (Score:2)
Guess this is different from yesterday's story in Streaming Media, Telestream Helps Launch Open Source x265/HEVC Project [streamingmedia.com], which offers a H.265 encoder, available under either GPL or commerical license.
HEVC/H.265 BSD-licensed reference implementation (Score:2)
A BSD-licensed C++ reference implementation of both HEVC/H.265 encoding and decoding is available. This implementation is focused on research and features and not on speed. Especially the encoder is very slow, a few frames per minute is completely normal, even on good machines.
But many people have optimized the reference implementation by adding SIMD and parallelizing the decoder and have reached 4K real time decoding and >100fps for 1080p decoding, even on low end machines.
A C-based reimplementation is
Re: (Score:1)
Re: (Score:2)
Somehow the link was removed: http://hevc.hhi.fraunhofer.de/ [fraunhofer.de]
Re: (Score:3, Informative)
The decoder is open source, with the open source encoder to follow afterwards. That doesn't mean that there isn't a proprietary encoder already available.
Re:chicken and the egg problem? (Score:5, Insightful)
Presumably somebody out in the world currently has a non-open H.265 encoder. You're being obtuse even by AC standards.
Re: (Score:1)
Re: (Score:1)
> it is all about stealing from those who work hard
Who would that be exactly?
This is an implementation of a standard. In some cases, this will be embedded in national standards that are dictated by national governments.
Ultimately, this will allow you to use those things that you have PAID for like services you've subscribed to or creative media you have PAID for or home grown content that you created yourself.
This is something that will allow you to use your own property.
You have to be a real moron to e
Re: (Score:1)
There is no "property" here.
The relevant patents are part of an industry standard.
Taxes may be government theft, but patents are corporate theft. They allow scum like you to try to claim ownership of the work of others without even the pretense of trying to work for the greater good.
You're an idiot. You are the statist here. Without a state monopoly on coercive force, a patent cannot exist at all.
They say that possession is 9/10th of the law. There is a certain logic to that. To hold something is to own it
Re: (Score:1)
So people who invent stuff for a living are not entitled to the fruits of their labor just because some hippie retards on slashdot think everyone should be free to steal it based on their own NOT libertarian definition of what is and isn't property?
WTF?
This is why modern libertarianism has failed, when the most outspoken adherents are not able to understand BASIC economics and instead keep changing their ideas just to try to appeal to statists.
Re:like taxes, open source is theft (Score:4, Informative)