Live data from Hacker News

H.264 is Magic (2016)

sidbala.com

181–190 of 229 posts

Re: H.264 is Magic (2016)

#181
post #133

Earlier quoted context omitted.

With only a slight compression, the image would go shit or totally unrecognizable. A quick album (there are captions): https://imgur.com/a/7yHPzRH

> 4:2:0 chroma subsample the fft This is hilarious but I don't think it makes any sense.

yeah, just wanted to try a 'typical' one.

I also tried 70% 444, still unrecognizable.

Re: H.264 is Magic (2016)

#182
post #104

Earlier quoted context omitted.

What I think the AV1 initiative neglects as a way of spreading their tech would be giving away a great open implementation of an encoder. x265 and x264 spread their respective codecs all over the internet through pirated content, which forced adoption. The fact that you can play .mkv files almost anywhere now is a testament to that.

There's 3 that I know of, libaom https://aomedia.googlesource.com/aom , the reference implementation. https://gitlab.com/AOMediaCodec/SVT-AV1 - from the Alliance for Open Media, which Intel is deeply involved with and is spending a lot of time optimising. https://github.com/xiph/rav1e - written in rust, also subject to a lot of optimising. It's not complete coverage of all features, intended to be used for places whe…

I have used x265 fairly easily to encode a 4K Bluray. None of the AV1 options seem to have the required performance (both quality and encoding speed) and ease of use.

Re: H.264 is Magic (2016)

#183
post #12
post #2

The article starts off with talking about "raw" video containing 3 bytes for every pixel. However, most video is YUV, which is typically 1.5 bytes/pixel. https://en.wikipedia.org/wiki/YUV

YUV alone is still 3 bytes per pixel and can be converted back to rgb without any loss. But YUV is almost always combined with color subsampling, which gets you to 1.5 or 2 bytes per pixel.

No post body was provided.

Re: H.264 is Magic (2016)

#184

Earlier quoted context omitted.

What does it mean for developers that it is patented?

You could write a complete from-scratch decoder, and be sued if you distribute it. This is the case with MPEG-2 formats used in DVD Video, and the reason that the VLC Media Player exists as a French student research project distributed as source code instead of a normal library. Related: https://www.gnu.org/philosophy/software-patents.en.html

This was the case for MPEG-2. The last patents in the pool expired in 2018.

Re: H.264 is Magic (2016)

#185
post #9

Earlier quoted context omitted.

Yeah, in this era of mobile device dominance i think hardware decoding is key. Suspect Apple will add it then suddenly the Android SoC folks will suddenly consider it a priority and not before.

Apple won't add it; they traditionally ignore free codecs, and even if they implement them, it is so limited, so it is usable only in the narrow situation, where it is required (see Opus, for example). On the PC side, decoding is supported by Intel (since Tiger Lake), Nvidia (since 30x0) and AMD (since RDNA2). On the mobile side, it is supported by bunch of mobile chip vendors, like Mediatek or Samsung; so you can ha…

A14 supports AV1 decode. Qualcomm is criminal in this case.

Re: H.264 is Magic (2016)

#186
post #12
post #2

The article starts off with talking about "raw" video containing 3 bytes for every pixel. However, most video is YUV, which is typically 1.5 bytes/pixel. https://en.wikipedia.org/wiki/YUV

YUV alone is still 3 bytes per pixel and can be converted back to rgb without any loss. But YUV is almost always combined with color subsampling, which gets you to 1.5 or 2 bytes per pixel.

Yes, OP might want to say YUV422 or YUV420 that most videos are encoded.

Re: H.264 is Magic (2016)

#187
post #182

Earlier quoted context omitted.

There's 3 that I know of, libaom https://aomedia.googlesource.com/aom , the reference implementation. https://gitlab.com/AOMediaCodec/SVT-AV1 - from the Alliance for Open Media, which Intel is deeply involved with and is spending a lot of time optimising. https://github.com/xiph/rav1e - written in rust, also subject to a lot of optimising. It's not complete coverage of all features, intended to be used for places whe…

I have used x265 fairly easily to encode a 4K Bluray. None of the AV1 options seem to have the required performance (both quality and encoding speed) and ease of use.

SVT-AV1 has been both faster and higher quality than x265 for awhile now though? For ease of use, you can just use ffmpeg, or one of the many CLIs or GUIs that support AV1 (preferably either Av1an for CLI, or a gui that uses it under the hood eg. nmkoder).

https://i.imgur.com/hHs2qz9.png

Re: H.264 is Magic (2016)

#188
post #182

Earlier quoted context omitted.

There's 3 that I know of, libaom https://aomedia.googlesource.com/aom , the reference implementation. https://gitlab.com/AOMediaCodec/SVT-AV1 - from the Alliance for Open Media, which Intel is deeply involved with and is spending a lot of time optimising. https://github.com/xiph/rav1e - written in rust, also subject to a lot of optimising. It's not complete coverage of all features, intended to be used for places whe…

I have used x265 fairly easily to encode a 4K Bluray. None of the AV1 options seem to have the required performance (both quality and encoding speed) and ease of use.

This is false, relative to x265, there is some preset which provides both faster encoding and higher "quality", iso-bitrate, across the whole gamut of x265 settings, and I believe x264 as well, although I am not entirely sure about what is available at the extreme inefficient/fast end (the usefulness of which is questionable).

Re: H.264 is Magic (2016)

#189
post #154

Earlier quoted context omitted.

I think you might have that backwards. JPEG can be losslessly converted to JPEG XL with better compression (~20% smaller), but I haven't seen anything about going the other direction. I'm not sure how it would be possible with JPEG XL's different sized blocks and different available transforms. https://en.wikipedia.org/wiki/JPEG_XL

The JPEG -> JXL conversion is reversible, so you can encode JPEG -> convert JXL -> convert back to JPEG as needed. You could potentially encode a JPEG-XL directly with the subset that can be converted back to JPEG, but it's not clear to me if libjxl currently implements that. Either way, it's not that useful for anyone that's already deploying post-JPEG formats; even WebP should save more than 20%. Mostly it's useful…

Do you mean that you would want that to happen on the web server, if they detect a user-agent that doesn't support JXL, they would convert back to JPEG? That seems pointlessly costly in CPU.

Also like mkl said, there doesn't seem to be any evidence that JXL->JPEG can be done losslessly.

Re: H.264 is Magic (2016)

#190

> Suppose you have some strange coin - you've tossed it 10 times, and every time it lands on heads. How would you describe this information to someone? You wouldn't say HHHHHHHHH. You would just say "10 tosses, all heads" - bam! You've just compressed some data! Easy. I saved you hours of mindfuck lectures. This is obviously an oversimplification, but you've transformed some data into another shorter representation o…

It's curious because where do you draw the line between an algorithm that compresses information and an algorithm that just stores the inforamtion in the algorithm.

You can't "store the information in the algorithm" unless you write the algorithm after knowing the data.
Post reply on HN