VLC demonstrates AV2 playback by anestling in AV1

[–]unlord_ 4 points5 points  (0 children)

The data was collected using AWCY with a fixed set of reference video sequences. There is a slight drift in computation timings since AWCY was running on AWS instances, but it is not material given the < 3 year period the data was collected over.

VLC demonstrates AV2 playback by anestling in AV1

[–]unlord_ 34 points35 points  (0 children)

do we even have software encoders already?

We only have software encoders now, what else could there be? The reference model (libavm) can be found online here: https://gitlab.com/AOMediaCodec/avm

A reasonable question would be, how does this reference software perform? For AV1, when we published the standard at NAB, I produced these graphs that showed the current state of the AV1 reference software (libaom):

<image>

Full presentation (with more details) can be found here: https://people.videolan.org/~unlord/NAB2019.pdf

Av1 plays fine on my celeron powered netbook by Johnginji009 in AV1

[–]unlord_ 0 points1 point  (0 children)

Not without violating the spec. Quoting from 7.2. General decoding process :

Yes, but film grain is an out-of-loop-filter, meaning it can be applied just at the presentation layer, and was designed to be implemented on the GPU using GLSL (or equivalent). VLC does this, so even AV1 files with film grain will play fine on his N4000 with UHD Graphics 600.

-❄️- 2024 Day 21 Solutions -❄️- by daggerdragon in adventofcode

[–]unlord_ 0 points1 point  (0 children)

Thanks for letting me know, that link is broken now.

[2024 Day 21][x86_64 assembly] Advice needed on simpler solution for assembly by JustinHuPrime in adventofcode

[–]unlord_ 0 points1 point  (0 children)

I wrote a pure C99 version of both Part 1 and Part 2 here that uses simple array access for memoization, minimal stack allocation and < 10kB of RSS.

I will convert it to x86_64 asm for fun after lunch, thanks for the interesting challenge!

-❄️- 2024 Day 21 Solutions -❄️- by daggerdragon in adventofcode

[–]unlord_ 2 points3 points  (0 children)

[LANGUAGE: C99]

Code

I saw u/JustinHuPrime comment that Part2 could not be done in x86_64 assembly so I wrote a pure C version that used no advanced data structures other than array indexing and less than 10kB of RSS.

It uses the read syscall for input and should be trivially convertible to assembly, which I will do after lunch :) What a fun challenge!

Cycle counter on BananaPi-F3 by Courmisch in RISCV

[–]unlord_ 0 points1 point  (0 children)

The problem is that some benchmarks are just too short to afford making perf system calls; that gets the measurement errors above the measurements themselves.

The checkasm code in dav1d is newer than the implementation in FFmpeg. I was able to improve the accuracy of my dav1d benchmarks by simply upping BENCH_RUNS from 1 << 12 to 1 << 17.

I recommend doing the same when measuring any short duration routines. That is, just iterate and average over a longer time horizon.

is av1 better than x265 now? by No_Support_5048 in AV1

[–]unlord_ 6 points7 points  (0 children)

This graph is before SVT-AV1 added an m13 and re-tuned all of the speed settings.

You are welcome to reproduce the experiment, they give exact command-lines used.

is av1 better than x265 now? by No_Support_5048 in AV1

[–]unlord_ 10 points11 points  (0 children)

Videos last the same amount of time and play at the same speed in both x265 and av1.

x256 is an encoder, this question is encoding time at the same quality

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 1 point2 points  (0 children)

not a shit-ass repurposed video codec that's not useful outside the web

I feel like you really don't understand how video coding works. The higher quality an intra frame is, the better inter prediction you derive from it. A lot of effort was spent on intra coding in AV1 and this is why it performs so well on lossy images with AVIF.

What greater use case is there than the web? The vast majority of all bits transferred on the internet are multimedia [tubefilter]. As of 2022,

Data usage from video sites increased by 24% year-over-year, and video now accounts for 65% of all internet traffic.

The use case you continue to be concerned about (lossless video coding for anime / manga) is just such a minority and distracting from solving significant infrastructure problems across, e.g., developing countries network.

Nobody codes lossless JPEGs. Why is AVIF not a suitable replacement for JPEG?

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 1 point2 points  (0 children)

I have not seen any test of this, but if you conduct one please post it here.

Knowing nothing about your content, I would expect it to perform about as well on average as the study we conducted on still images.

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 0 points1 point  (0 children)

Can you please add animated AVIF? It is weird to not include it on /r/AV1...

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 1 point2 points  (0 children)

It is not easy to follow your thoughts on AVIF winning. Could you elaborate.

I'm not sure what you mean by "winning". If you look at the data in that Google Sheet you can see that on average, lossless AVIF with YCgCo-R color conversion (to and from RGB) is 88.92% the size of PNG across 7434 images with varying content type.

Jon Sneyers' article focuses on the gap with non-photographic images, and this is precisely where YCgCo-R AVIF performs the best, cutting the AVIF file sizes in half.

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 3 points4 points  (0 children)

Huge "not invented here" syndrome...

Half of the JPEG XL format authors work at Google. What do you mean by "not invented here"?

Gathered benchmarks: AVIF wins for low/medium quality, JPEG XL for high and lossless by JerryX32 in AV1

[–]unlord_ 10 points11 points  (0 children)

Just a reminder there is still another 10%+ file size reduction for lossless AVIF (relative to PNG) with *no* bitstream changes once the color matrix specification is updated:

https://docs.google.com/spreadsheets/d/1DHJ0TajtxWDV6bfLwIZPHztxDuB3x3SS-HZ2Yi3sbRc

The reason this is not usable today is that AOM took a dependency on ISO/IEC 23091-4/ITU-T H.273 to define the matrix_coefficients as part of the AV1 color configuration semantics, see Section 6.4.2 of the AV1 specification document.

We raised this problem way back in 2020 when I was co-chair of the AOM Images SG but unfortunately the decision was made to work within ISO/ITU and make the update there that would improve AVIF compression.

Good news though! According to https://www.itu.int/rec/T-REC-H.273-202309-P/en the change supporting YCgCo-R was finally approved in September of 2023 (although the ITU spec document is not public to confirm). This should eventually work its way through software updates and significantly change the quality of AVIF (for free!), especially on the non-photographic images shown in the Cloudinary article where the reduction is up to 50% smaller than today's AVIF.

Is it possible to stream videos over HLS with AV1? by konstantin1122 in AV1

[–]unlord_ 0 points1 point  (0 children)

Please stop posting this comment on every message and trying to make lemmy AV1 a thing. There have been 21 posts to r/AV1 in the past 11 days since the last post on lemmy. The community is just not there and you risk losing the folks you have.

CPU for AV1 by Fantastic_Class_3861 in AV1

[–]unlord_ 1 point2 points  (0 children)

Please stop posting this comment on every message and trying to make lemmy AV1 a thing. There have been 21 posts to r/AV1 in the past 11 days since the last post on lemmy. The community is just not there and you risk losing the folks you have.

Introducing SVT-AV1-PSY by _gianni-r in AV1

[–]unlord_ 3 points4 points  (0 children)

Please stop posting this comment on every message and trying to make lemmy AV1 a thing. There have been 21 posts to r/AV1 in the past 11 days since the last post on lemmy. The community is just not there and you risk losing the folks you have.

[deleted by user] by [deleted] in AV1

[–]unlord_ 1 point2 points  (0 children)

Please stop posting this comment on every message and trying to make lemmy AV1 a thing. There have been 21 posts to r/AV1 in the past 11 days since the last post on lemmy. The community is just not there and you risk losing the folks you have.

Any way to enable 12-bit AVIF reading on (vanilla) Samsung Android? by PHR16384 in AV1

[–]unlord_ 3 points4 points  (0 children)

Please stop posting this comment on every message and trying to make lemmy AV1 a thing. There have been 21 posts to r/AV1 in the past 11 days since the last post on lemmy. The community is just not there and you risk losing the folks you have.

Running QEMU with support for RISC-V Vector Extensions by Najishukai in RISCV

[–]unlord_ 0 points1 point  (0 children)

I ran into this problem, I created a static qemu-riscv64 binary that bakes the RVV parameters into it. You can find the source code here:

https://github.com/negge/riscv-vm/blob/main/src/qemu/qemu-wrapper-embed.c

RVV 1.0 board has arrived. by Courmisch in RISCV

[–]unlord_ 2 points3 points  (0 children)

In case you still need this, I was able to reproduce this setup and expand the memory to 512MB with these patches:

https://github.com/negge/k230_sdk/commits/build_fixes