|
yurume
|
2023-02-02 04:36:08
|
I have played lots of music video games and keysounds are really important for them (though they are hard to produce), playing 100s of them is not that uncommon...
|
|
|
zamfofex
|
2023-02-02 05:47:09
|
Not sure if this is the right channel, but for a project of mine (a simple game), I’m looking for a simple image format that I can use to compress images. The format should be relatively simple, but still be able to decompress images easily and efficiently (compression complexity doesn’t matter). I’m looking to implement the decompression myself. I don’t mind coming up with a format myself, but I don’t want to invest a long time writing an implementation. The images aren’t very big, and they use a predetermined 256‐color palette. Yet, as I (by preference) have them in the project in C source form, they end up taking more than I hope they would, besides being uncompressed in the binaries themselves, which, albeit currently not so, seems to be increasingly growing more significant, specially because I serve the files to be playable in a browser.
|
|
|
_wb_
|
2023-02-02 06:03:01
|
Why not just use any format a browser supports and let the browser do the decoding? You want the game to be portable and compilable to native code too?
|
|
|
zamfofex
|
|
improver
|
2023-02-02 06:08:38
|
browsers are not particularly good for game engines
|
|
|
zamfofex
|
2023-02-02 06:08:59
|
Also, I have the rendering set up in a specific way that (by design) doesn’t allow colors ourside of my palette to be represented without modifications.
|
|
|
improver
|
2023-02-02 06:09:04
|
depending on kind of game ofc
|
|
2023-02-02 06:09:57
|
if you need browser support then something like lossless webp or png sounds kinda okay
|
|
2023-02-02 06:10:30
|
but if you wanna offline game to be packaged w your own format then it's a bit different...
|
|
|
zamfofex
|
2023-02-02 06:11:08
|
It is a pixel‐art game, so rendering is done on the CPU, and that works sufficiently well. It renders to a 512×256 bytes buffer (one byte per color), then JavaScript code takes that buffer and converts it to an `ImageData` and puts into into the canvas.
|
|
2023-02-02 06:16:57
|
Ah, sorry, I changed it in the last version and forgot (like an idiot). It actually converts it to a 4‐byte per color RGB buffer in C code, (which is then set to an `ImageData` and to a canvas from JavaScript like before). (Though it’s not like this matters for my purposes.)
At any rate, I don’t want to have the images be separate from the binary file, because I want for the binary file to be enough to run the game (or at most have a small driving code).
|
|
|
_wb_
|
2023-02-02 06:23:10
|
Maybe just some simple RLE like PackBits could work for you? That's quite easy to implement, compression is of course not great but it's not horrible either for pixel art...
|
|
|
Nova Aurora
|
2023-02-02 08:48:27
|
Does QOI use RLE? it's conceptually very simple
|
|
|
|
JendaLinda
|
2023-02-02 09:04:12
|
Back in the day, PCX format was pretty popular. Decoder could be easily written in assembly as well.
|
|
|
Reddit • YAGPDB
|
2023-02-02 10:26:36
|
|
|
2023-02-03 12:27:51
|
|
|
|
Fraetor
|
2023-02-03 01:11:47
|
Audio is sort of a done thing compression wise. You use opus for lossy and FLAC for lossless.
|
|
|
Nova Aurora
|
|
|
|
2023-02-03 02:28:28
|
Can someone translate this? What part of AV1 is he asking about?
|
|
|
|
afed
|
2023-02-03 02:37:06
|
aom fork
and like how much better the extra parameters can be
https://github.com/Clybius/aom-av1-lavish
|
|
|
Reddit • YAGPDB
|
|
BlueSwordM
|
|
yurume
https://phoboslab.org/log/2023/02/qoa-time-domain-audio-compression oh well
|
|
2023-02-03 05:01:32
|
Oh god.
|
|
|
Nova Aurora
Can someone translate this? What part of AV1 is he asking about?
|
|
2023-02-03 05:01:45
|
aom-av1-lavish = aom-av1-psy continued 🙂
|
|
|
Reddit • YAGPDB
|
|
zamfofex
|
|
_wb_
Maybe just some simple RLE like PackBits could work for you? That's quite easy to implement, compression is of course not great but it's not horrible either for pixel art...
|
|
2023-02-03 10:12:23
|
Thank you three for your suggestions, I will take a look into those options! I feel like QOI isn’t the most suitable for what I want because my images are not arbitrary “truecolor” RGB, but rather one‐byte indexed into a color palette. I don’t know if PCX would be similar in this regard.
|
|
|
_wb_
|
2023-02-03 10:37:00
|
PackBits is very simple and works ok for planar byte-based data. It's just one byte to say either "run of 2..128 same values" followed by one byte (which is repeated that many times when decoding) or "now come 1..127 literals" followed by that many raw bytes.
|
|
2023-02-03 10:37:47
|
This is what TIFF and PSD often use
|
|
2023-02-03 10:39:05
|
(they can also do just uncompressed, or deflate with optional Left filtering, but PackBits is what I see a lot, for 8-bit images at least)
|
|
|
Reddit • YAGPDB
|
2023-02-04 10:45:44
|
|
|
2023-02-04 10:49:15
|
|
|
2023-02-04 08:14:34
|
|
|
2023-02-05 08:46:59
|
|
|
|
DZgas Ж
|
|
|
|
2023-02-05 11:29:38
|
lossless is bigger than lossy 😳 😳 😳 😳 😳
|
|
2023-02-05 08:01:22
|
ZPEG ?
|
|
|
Reddit • YAGPDB
|
2023-02-06 10:18:24
|
|
|
2023-02-07 10:52:40
|
|
|
|
VEG
|
2023-02-08 09:29:33
|
https://gdcc.tech/results2020/
|
|
2023-02-08 09:29:37
|
|
|
2023-02-08 09:30:23
|
pglz looks very interesting: much faster than Brotli and Zstd, and compression is better 🤔
|
|
|
Reddit • YAGPDB
|
2023-02-08 10:57:15
|
|
|
2023-02-09 08:34:05
|
|
|
2023-02-09 08:47:10
|
|
|
|
|
afed
|
2023-02-09 12:19:18
|
some old talk, but on the topic arguing formats complexity and about av1/av2
https://youtu.be/3qL5FdEBiGA
|
|
2023-02-09 12:19:32
|
|
|
2023-02-09 12:20:06
|
|
|
|
DZgas Ж
|
2023-02-09 04:25:42
|
🤔 https://svgwg.org/svg2-draft/
|
|
|
afed
|
|
2023-02-09 04:29:50
|
🥱 It's all the lie
|
|
2023-02-09 04:32:16
|
svt-av1 -preset 10 enable-cdef=0 SPEED be like x264 veryslow on 960x540
|
|
|
afed
|
|
2023-02-09 04:33:53
|
there is no indication what exactly the parameters are used. as well as the complete absence of the designation of the properties of the video, what is the frame size, what kind of content. what functions were used for parallelization. these are not tests, this is bullshit
|
|
2023-02-09 04:37:17
|
so I did tests with the owner of AVX, and it turned out that my SSE AV1 encodes 20% slower than AVC, but AVX AV1 has the same parameters 30% faster than AVX AVC - and how to create presets with "the same speed" in such a situation
No how, welcome
|
|
|
|
afed
|
2023-02-09 04:44:50
|
this is old video, so the graphs are not very relevant anyway, also it's a 48-core cpu, but the main point is that the new gen formats should be better even with the same complexity as the old ones, not just increasing efficiency at the expense of complexity
|
|
|
DZgas Ж
|
|
afed
this is old video, so the graphs are not very relevant anyway, also it's a 48-core cpu, but the main point is that the new gen formats should be better even with the same complexity as the old ones, not just increasing efficiency at the expense of complexity
|
|
2023-02-09 04:45:31
|
that doesn't mean anything to me
|
|
2023-02-09 04:48:01
|
AV1 be like if you have the strength to lift 100 kg at a time, I congratulate you, but real people prefer to take 2x6 liters in bottles maximum
|
|
|
|
afed
|
2023-02-09 04:57:00
|
for me svt-av1 is pretty fast, faster and better for low bitrates than x264 and x265, but, for high fidelity I still prefer x265/x264, but only because the encoders have more options for tweaking and better psy-rd modes
current av1 encoders are faster for any relatively modern systems, if taking a 30-year old cpu, then like anything more complex than mpeg1 will be bad and slow, it doesn't work that way
|
|
|
DZgas Ж
|
2023-02-09 04:59:34
|
according to my small test for ~100 people, people do not see the ass at all, between AVC and AV1 At the same encoding speed and identical file size
|
|
2023-02-09 04:59:40
|
ofc av1 is better
|
|
2023-02-09 05:02:18
|
<@794205442175402004> <@1034873369314730065> the problem will be much more obvious there is just asking where is AVC and where is AV1. Without asking which picture is better
|
|
2023-02-09 05:03:13
|
👉 👀
|
|
2023-02-09 05:05:43
|
of course, about 90% of people say simply - yes, there is no difference here
|
|
|
|
afed
|
2023-02-09 05:09:24
|
if someone knows what artifacts are typical for a specific encoder, it is not too difficult, if it is not very high bitrates and not transparent quality (when any encoding is difficult to differ from the source)
|
|
|
DZgas Ж
|
2023-02-09 05:10:28
|
yehh.... I can distinguish about ~6 video codecs only by artifacts
|
|
|
fab
|
2023-02-09 05:33:31
|
The First is SVT
|
|
2023-02-09 05:33:43
|
I'm fully decided
|
|
2023-02-09 05:35:07
|
I looked at hair
|
|
2023-02-09 05:35:22
|
And it has heavy svt artifacts
|
|
2023-02-09 05:35:39
|
Looks like an old version
|
|
2023-02-09 05:35:48
|
1.4.0?
|
|
|
DZgas Ж
|
2023-02-09 05:49:00
|
lasted
|
|
|
fab
|
2023-02-09 06:37:15
|
Last you mean the second image or latest svt
|
|
|
gb82
|
2023-02-10 09:28:34
|
Second is avc?
|
|
|
Reddit • YAGPDB
|
2023-02-10 10:17:04
|
|
|
2023-02-10 08:49:45
|
|
|
|
Demiurge
|
|
afed
this is old video, so the graphs are not very relevant anyway, also it's a 48-core cpu, but the main point is that the new gen formats should be better even with the same complexity as the old ones, not just increasing efficiency at the expense of complexity
|
|
2023-02-11 07:45:15
|
I agree. If new codecs can't do more than old codecs can when given the same amount of wall time to work with, then it's not a very impressive algorithm.
|
|
2023-02-11 07:46:33
|
If they require 10x the amount of time but only barely at best get 2x better compression, then "maybe one day it will be useful"
|
|
|
w
|
2023-02-11 07:56:23
|
the "maybe one day it will be useful" is definitely worth it. see machine learning
|
|
|
|
afed
|
2023-02-11 07:56:44
|
50% better efficiency in reality is also mostly only for very high resolutions and lower bitrates, for higher fidelity the current encoders may be even worse than the old ones (but I think if comparing theoretically perfect encoders, they will be better, but still marginally)
|
|
|
_wb_
|
2023-02-11 08:15:25
|
What is useful or not depends a lot on the use case. Storage has a cost that is proportional to how long you want to store it, while encode is a one-time cost. For long-time storage, spending a lot of compute to save a few percent of space can be worth it, and latency is not very important. For realtime one-to-one communication, the trade-offs are very different.
|
|
|
|
nec
|
2023-02-11 10:31:01
|
Grain synthesis is a good example of making smaller, having decent fidelity and not increasing complexity very much. I've tried different settings, but seems like x264-265 simply can't beat av1 in grain settings. Quite often it's double size difference at the same speed and quality.
|
|
|
|
afed
|
2023-02-11 10:43:44
|
yeah, but it's still not high fidelity and there is a lot of content where the grain is noticeably different from synthesized, at higher bitrates x264/x265 preserves the original grain and details much better, which any of the av1 encoders without grain synthesis can't
and especially on very heavy grain the synthesized patterns become very noticeable
also svt-av1 has better grain synthesis than other av1 encoders
|
|
|
joppuyo
|
2023-02-11 12:47:59
|
How’s the workflow when using grain synthesis? Is there an automated process or do you have to manually denoise the video and configure the correct amount of noise?
|
|
|
|
afed
|
2023-02-11 12:51:58
|
automated or by manually specifying photon-noise or with some tools, but this is a very approximate synthesis
|
|
|
diskorduser
|
2023-02-11 05:09:31
|
https://www.phoronix.net/image.php?id=2023&image=fosdem_vvenc_1
|
|
2023-02-11 05:09:43
|
xpsnr?
|
|
|
|
afed
|
|
_wb_
|
2023-02-11 05:57:46
|
XPSNR? What is that?
|
|
|
|
afed
|
2023-02-11 06:00:09
|
`The logarithmic XPSNR output values are in a similar range as those of traditional PSNR assessments but better reflect human impressions of visual coding quality`
https://github.com/fraunhoferhhi/xpsnr
|
|
|
_wb_
|
2023-02-11 06:00:12
|
Also: why another patent encumbered codec?
|
|
2023-02-11 06:02:45
|
Interesting. I will have to check if XPSNR is any good for still images.
|
|
2023-02-11 06:06:56
|
I doubt it though, looks like it is very much aimed at video
|
|
|
|
afed
|
2023-02-11 06:07:48
|
~14:00 about XPSNR
https://mirrors.dotsrc.org/fosdem/2023/K.3.401/om_vvc.webm
|
|
2023-02-11 06:13:43
|
and why make a codec for VVC/H.266?
i think because it's Fraunhofer HHI
|
|
|
_wb_
|
2023-02-11 06:25:02
|
Open source software for patent-encumbered codecs feels a bit silly imo. You can see the code, but if you want to use it, you possibly have to pay royalties, or at least get a lawyer involved to check...
|
|
|
|
afed
|
2023-02-11 06:36:04
|
yeah, but it's nothing new though, the same as for mp3, aac, avc, hevc, ... there is a lot of open source software and I don't think anything will change for patent-encumbered formats
|
|
2023-02-11 06:44:15
|
vvc probably won't be widely used for streaming (although afaIk it's already used in china and india by some big streaming services)
but for other professional uses I don't think everyone will refuse mpeg and other proprietary formats in the near future
|
|
|
Reddit • YAGPDB
|
|
DZgas Ж
|
2023-02-11 09:12:58
|
do you have the power to encode aomenc speed 8 (maximum fast) - use it. don't use svt-av1 <:AV1:805851461774475316>
|
|
|
fab
|
2023-02-11 09:25:29
|
Aomenc cpu 8 is much better for colours
|
|
2023-02-11 09:25:35
|
Better White
|
|
2023-02-11 09:25:50
|
Compared to svt preset 12
|
|
2023-02-11 09:26:29
|
Svt hasn't surprised me
|
|
2023-02-11 09:26:36
|
But now weight half
|
|
|
DZgas Ж
|
|
fab
Compared to svt preset 12
|
|
2023-02-12 07:10:48
|
Off cdef, use hierarchical-levels=2. For use preset 9 or minimum 10
|
|
2023-02-12 07:11:11
|
preset 12 is just bullshit
|
|
|
|
afed
|
2023-02-12 07:40:05
|
aomenc also has faster modes with `--rt`
and at comparable speeds svt-av1 is usually better at fast and medium encoding speeds and has better multithreading, also depending on content at higher bitrates svt-av1 might be better at the slowest modes, have less smoothing, better details
also svt-av1 has better grain synthesis
but, aomenc has better tuning potential, has some forks with additional options and better on average at slower speeds (like 1-4), though for some videos I got better results with svt-av1 (preset 1-2)
|
|
|
DZgas Ж
|
|
afed
aomenc also has faster modes with `--rt`
and at comparable speeds svt-av1 is usually better at fast and medium encoding speeds and has better multithreading, also depending on content at higher bitrates svt-av1 might be better at the slowest modes, have less smoothing, better details
also svt-av1 has better grain synthesis
but, aomenc has better tuning potential, has some forks with additional options and better on average at slower speeds (like 1-4), though for some videos I got better results with svt-av1 (preset 1-2)
|
|
2023-02-12 08:20:46
|
But I'll just say ATOM -cpu-used 8 destroys any SVT-AV1 mode from 5 to 12
|
|
|
afed
aomenc also has faster modes with `--rt`
and at comparable speeds svt-av1 is usually better at fast and medium encoding speeds and has better multithreading, also depending on content at higher bitrates svt-av1 might be better at the slowest modes, have less smoothing, better details
also svt-av1 has better grain synthesis
but, aomenc has better tuning potential, has some forks with additional options and better on average at slower speeds (like 1-4), though for some videos I got better results with svt-av1 (preset 1-2)
|
|
2023-02-12 08:22:38
|
But I'll be honest, in the 5 years I've been working with AV1, this is the first time I've heard that AOM has a Real Time mode
|
|
|
DZgas Ж
But I'll just say ATOM -cpu-used 8 destroys any SVT-AV1 mode from 5 to 12
|
|
2023-02-12 08:26:37
|
I want to say that even in conditions when SVT-AV1 is encoded slower than AOM, for some reason it has such a large number of stupid artifacts, problems with color gradient, problems with the rendering of the cell/grid, problems with block Jitter, it's all very noticeable....
|
|
|
DZgas Ж
But I'll be honest, in the 5 years I've been working with AV1, this is the first time I've heard that AOM has a Real Time mode
|
|
2023-02-12 08:38:34
|
I checked this mode, and yes, as I thought, it just like bullshit
|
|
2023-02-12 08:45:43
|
And AOM encodes 2-4 times faster flat 2d frames
|
|
|
|
afed
|
2023-02-12 09:00:27
|
yeah, and mostly such problems on live streaming speeds 8-10 and `tune=0` (modes -2-0, 11-13 shouldn't be used in general, it's like debug dev modes), though some are fixed in new versions
I still notice some random blocking or even corrupted blocks on some frames, but it's almost unnoticeable during normal viewing, only when comparing static frames
also only svt-av1 is capable for real time encoding with good quality, aom is much worse and slower on --rt modes
on slow svt-av1 modes and higher bitrates I haven't noticed any problems yet, also I usually disable some of this filtering: `--film-grain-denoise 0 --film-grain 0 --enable-cdef 0 --enable-restoration 0`, but at low bitrates quality might get worse
|
|
|
DZgas Ж
|
2023-02-12 09:05:48
|
--film-grain-denoise 0 --film-grain 0 Deflaut Off
|
|
|
|
afed
|
2023-02-12 09:07:12
|
`--film-grain` is needed for grain synthesis (with non-zero values), but it noticeably slows down encoding and also decoding
`--enable-restoration` does not affect visually as much, but sometimes, also disabling it usually lowers the most metrics scores
|
|
|
DZgas Ж
|
2023-02-12 09:08:00
|
I know all this
|
|
2023-02-12 09:08:53
|
cdef really strained me when AV1 just came out, both then and now it Use too much when decoding, an inconceivably much, about half of the entire decoding time is a CDEF filter
|
|
|
|
afed
|
|
DZgas Ж
--film-grain-denoise 0 --film-grain 0 Deflaut Off
|
|
2023-02-12 09:09:34
|
no, denoise is on by default, but synthesis is off
`--film-grain-denoise Apply denoising when film grain is ON, default is 1 [0: no denoising, film grain data is still in frame header, 1: level of denoising is set by the film-grain parameter]`
|
|
|
DZgas Ж
|
|
afed
no, denoise is on by default, but synthesis is off
`--film-grain-denoise Apply denoising when film grain is ON, default is 1 [0: no denoising, film grain data is still in frame header, 1: level of denoising is set by the film-grain parameter]`
|
|
2023-02-12 09:11:11
|
it's on, but it doesn't work
|
|
2023-02-12 09:11:41
|
same like enable-restoration
|
|
|
|
afed
|
2023-02-12 09:16:55
|
they are working, but in auto mode, maybe they are turned off when not needed or at very high speeds
enable-restoration also works, disabling/enabling it slightly changes the metrics scores
|
|
|
DZgas Ж
|
|
afed
they are working, but in auto mode, maybe they are turned off when not needed or at very high speeds
enable-restoration also works, disabling/enabling it slightly changes the metrics scores
|
|
2023-02-12 09:25:01
|
no, they don't work. they just don't work.
|
|
2023-02-12 09:25:43
|
while the other modes are off, these modes simply don't work. they can't work on their own
|
|
2023-02-12 09:27:18
|
AOM sharpness=0 is good function
|
|
|
|
afed
|
2023-02-12 09:44:23
|
same bitrate, same settings (except film-grain-denoise and film-grain not specified) preset 6
film-grain-denoise 0
|
|
2023-02-12 09:44:36
|
film-grain-denoise 1
|
|
|
DZgas Ж
|
|
afed
same bitrate, same settings (except film-grain-denoise and film-grain not specified) preset 6
film-grain-denoise 0
|
|
2023-02-12 09:52:27
|
Are you sure it's called working?
|
|
|
|
afed
|
2023-02-12 09:56:31
|
works, but it doesn't mean it always does something good, also it's a limited bitrate just for testing
|
|
|
DZgas Ж
|
|
|
afed
|
2023-02-12 09:59:02
|
and also `enable-restoration` on and off graphs
so something is changing
|
|
|
DZgas Ж
|
2023-02-12 09:59:15
|
film-grain: Invalid parameter hm for aom another name?
|
|
|
|
afed
|
2023-02-12 10:00:50
|
yeah, aom has different options
```--denoise-noise-level=<arg> Amount of noise (from 0 = don't denoise, to 50)
--enable-dnl-denoising=<arg>```
|
|
|
DZgas Ж
|
|
afed
yeah, aom has different options
```--denoise-noise-level=<arg> Amount of noise (from 0 = don't denoise, to 50)
--enable-dnl-denoising=<arg>```
|
|
2023-02-12 10:01:45
|
what
|
|
2023-02-12 10:02:36
|
which of these functions is responsible for disabling the generation of noise?
|
|
|
|
afed
|
2023-02-12 10:07:02
|
something like that
`--film-grain-denoise` = `--enable-dnl-denoising`
`--film-grain` = `--denoise-noise-level`
|
|
2023-02-12 10:09:36
|
so for aomenc
`--enable-dnl-denoising=0 --denoise-noise-level=0`
|
|
|
DZgas Ж
|
2023-02-12 10:10:38
|
denoise-noise-level=0:enable-dnl-denoising=0
denoise-noise-level=0:enable-dnl-denoising=100
|
|
|
|
afed
|
2023-02-12 10:12:28
|
aomenc does not make grain synthesis by default, afaIk
|
|
|
DZgas Ж
|
2023-02-12 10:12:53
|
I think it's not necessary to say that the frames are completely identical
|
|
|
afed
aomenc does not make grain synthesis by default, afaIk
|
|
2023-02-12 10:13:07
|
and what?
|
|
2023-02-12 10:13:29
|
the noise reduction function does not work without generating noise
|
|
2023-02-12 10:13:43
|
|
|
2023-02-12 10:14:38
|
It does nothing
|
|
2023-02-12 10:17:01
|
exactly the same result with
enable-cdef=0:enable-restoration=1
enable-cdef=0:enable-restoration=0
|
|
2023-02-12 10:18:22
|
In general, I have never checked it, only spent time on it. It's already written in the documentation why check it?
|
|
|
|
afed
|
2023-02-12 10:18:54
|
I haven't compared these settings for aomenc, but `enable-dnl-denoising` can still do denoising for slower modes, even without synthesis, as far as I've seen other comparisons (but this needs to be tested for the current version)
|
|
|
DZgas Ж
|
|
afed
I haven't compared these settings for aomenc, but `enable-dnl-denoising` can still do denoising for slower modes, even without synthesis, as far as I've seen other comparisons (but this needs to be tested for the current version)
|
|
2023-02-12 10:20:14
|
well I just did it on the newest version. it doesn't work the way you think it does.
|
|
2023-02-12 10:20:58
|
maybe it works only on SVT-AV1, because they have poor noise reduction algorithms.
|
|
|
|
afed
|
2023-02-12 10:21:49
|
well, maybe need a noisy or grainy source or a slower mode (but maybe that doesn't work by default for aom)
|
|
|
DZgas Ж
|
2023-02-12 10:22:09
|
I don't want to check SVT-AV1 because in the last month of tests I realized only that it is shit, suitable exclusively for streaming on 6+ core processors
|
|
2023-02-12 10:23:19
|
I would say that SVT-AV1 is a replacement for Real Time AOM
|
|
|
afed
well, maybe need a noisy or grainy source or a slower mode (but maybe that doesn't work by default for aom)
|
|
2023-02-12 10:25:08
|
libaom v3.0.0 2021
Added option --enable-dnl-denoising to skip applying denoising with denoise-noise-level. **This option only takes effect when --denoise-noise-level > 0.** When --enable-dnl-denoising is 1 (default), the encoder denoises the frame for noise modeling and encodes the denoise frame with film grain synthesis. When 0, the encoder denoises the frame for noise modeling, but encodes the original (noisy) frame with film grain synthesis.
|
|
2023-02-12 10:27:08
|
fun stat
|
|
2023-02-12 10:28:08
|
that's why I'm using the latest ffmpeg build
|
|
|
DZgas Ж
I want to say that even in conditions when SVT-AV1 is encoded slower than AOM, for some reason it has such a large number of stupid artifacts, problems with color gradient, problems with the rendering of the cell/grid, problems with block Jitter, it's all very noticeable....
|
|
2023-02-12 10:33:55
|
and I want to remind you how many things AOM has that SVT-AV1 doesn't have https://api.encoding.com/reference/adv-av1-libaom
|
|
2023-02-12 10:53:26
|
of course, I have check almost all these parameters, and I think that the AOM Engineers have set everything perfectly by default
|
|
|
w
|
2023-02-12 12:38:20
|
what is this chat... the denoise options are *for* film grain. SVT: apply denoise *when* film grain. aom: it's in the name, dnl= denoise noise level
|
|
2023-02-12 12:38:45
|
also I'm pretty sure they're in the visual diagrams for their pipelines
|
|
|
|
afed
|
2023-02-12 12:52:12
|
the thing is that denoise in some encoders works without using grain synthesis, for better compression, but this is not always needed and good, it makes everything too smoothed
and also grain synthesis works without denoise, I sometimes use something like `enable-dnl-denoising=0 denoise-noise-level=15` or `film-grain-denoise=0 film-grain=20`, so the artificial grain is applied without trying to remove the original grain
|
|
|
w
|
2023-02-12 12:54:45
|
yeah but the options enable-dnl-denoising=0 and film-grain-denoise=0 dont do anything unless you have denoise-noise-level=>0/film-grain=>0
|
|
2023-02-12 12:55:52
|
those options are for using the denoised clip (acquired when calculating the noise for noise synth) to encode
|
|
2023-02-12 12:56:22
|
you wouldnt have a denoised clip if you dont have noise synth on
|
|
|
|
afed
|
2023-02-12 12:58:37
|
maybe it should work that way, but for svt-av1 above I showed that it doesn't and `film-grain-denoise 1` works even without film-grain
https://canary.discord.com/channels/794206087879852103/805176455658733570/1074264702672195675
|
|
|
w
|
2023-02-12 01:01:20
|
you sure it's not just quantization noise
|
|
2023-02-12 01:01:35
|
great another reason to not use svt-av1
|
|
|
|
afed
|
2023-02-12 01:07:33
|
maybe the encoder does something else, but the results are different, and just in case I always add `film-grain-denoise=0 film-grain=0` when I don't need denoise or grain synthesis, or if the default settings will change in some version
and actually denoise is very rarely needed, only for very low bitrates or mini-encodings, even if grain synthesis is used, almost all av1 encoders are very bad at retaining small details even without denoising, unless it is very heavy and big grain
|
|
|
_wb_
|
2023-02-12 01:09:14
|
Av1 automatically denoises whether you want that or not
|
|
|
|
afed
|
2023-02-12 01:18:29
|
and svt-av1 has its best sides, basically there is no single av1 encoder that is best for everything, so I use several
svt-av1 is the fastest and best in quality/speed balance, also it can smooth less when bitrate is enough when aom keeps smoothing, rav1e is only good at slowest speeds and for higher fidelity, but it's very slow
svt-av1 is also only for yuv420, it cannot encode yuv422/444/...
|
|
|
_wb_
|
2023-02-12 01:34:30
|
It's a messy situation from an end-user perspective. There's also the proprietary av1 encoder by visionular (aurora). One of the things I am currently investigating at Cloudinary is leveraging AI to choose which avif encoder and what settings to use for a given image and fidelity target...
|
|
|
Reddit • YAGPDB
|
2023-02-12 05:30:05
|
|
|
2023-02-12 08:39:09
|
|
|
2023-02-13 02:07:54
|
|
|
2023-02-13 04:21:20
|
|
|
2023-02-13 11:12:45
|
|
|
2023-02-13 03:56:00
|
|
|
|
fab
|
2023-02-13 07:01:49
|
https://www.adorama.com/alc/what-is-codec/
|
|
|
DZgas Ж
|
|
w
great another reason to not use svt-av1
|
|
2023-02-13 10:13:11
|
🥹
|
|
|
gb82
|
|
|
|
2023-02-14 01:22:16
|
<:BlobYay:806132268186861619>
|
|
|
DZgas Ж
|
2023-02-14 01:04:12
|
AVIF XYB? <:ReeCat:806087208678588437>
|
|
2023-02-14 01:26:11
|
yes XYB AVIF
|
|
2023-02-14 01:27:01
|
and.... in fact, there is almost zero difference with the standart AVIF
|
|
|
Reddit • YAGPDB
|
2023-02-14 08:22:24
|
|
|
2023-02-15 01:05:24
|
|
|
|
Demiurge
|
|
DZgas Ж
yes XYB AVIF
|
|
2023-02-15 10:25:12
|
why does the xyb version look noticeably worse then?
|
|
|
DZgas Ж
|
|
Demiurge
why does the xyb version look noticeably worse then?
|
|
2023-02-15 10:25:56
|
No, I don't see any difference in quality
|
|
|
Demiurge
|
2023-02-15 10:26:30
|
I do. The xyb version is slightly more smeared and blurry for some reason.
|
|
|
DZgas Ж
|
2023-02-15 10:26:58
|
it will be obvious to say - AVIF is not made for XYB
|
|
2023-02-15 10:27:30
|
Although as far as I know, AVIF uses an objective quality metric, so there should be no difference.
|
|
|
Demiurge
|
2023-02-15 10:28:07
|
If you look at the parts of grass that have the finest texture, and if you look at some of the tiny clouds that get smeared away in the XYB version
|
|
|
DZgas Ж
|
|
Demiurge
I do. The xyb version is slightly more smeared and blurry for some reason.
|
|
2023-02-15 10:28:09
|
https://discord.com/channels/794206087879852103/1020724883241574472/1075038909140045834
|
|
2023-02-15 10:28:31
|
here I did tests with guetzli
|
|
|
Demiurge
|
2023-02-15 10:28:38
|
There's no such thing an objective quality :)
|
|
|
DZgas Ж
|
2023-02-15 10:29:01
|
it uses a subjective quality metric. And he turned everything into a blurred
|
|
|
Demiurge
There's no such thing an objective quality :)
|
|
2023-02-15 10:29:19
|
Are you serious?
|
|
2023-02-15 10:30:03
|
there is mathematics. mathematics is objective. based on it, there are 2 objective metrics: PNSR and SSIM. learn the theory
|
|
2023-02-15 10:31:54
|
there are many subjective metrics, like VMAF, MSA (hevc), Butteraugli (jpeg xl)
|
|
2023-02-15 10:32:39
|
they destroy details based on the fact that the human eye may not see them
|
|
2023-02-15 10:33:29
|
<@1028567873007927297> ✍️
|
|
2023-02-15 10:34:36
|
I don't like all these metrics, of course. personally, I use SSIM wherever possible
|
|
|
Demiurge
|
2023-02-15 10:36:41
|
Mathematics does seem to be pretty objective.
|
|
|
DZgas Ж
there are many subjective metrics, like VMAF, MSA (hevc), Butteraugli (jpeg xl)
|
|
2023-02-15 10:37:20
|
These are known as "objective metrics" not subjective because they are defined by math.
|
|
|
DZgas Ж
|
2023-02-15 10:38:13
|
SSIM is the best thing that has been invented so far, no one else has done other objective metrics, because SSIM itself is already very complex. but PNSR, though old, and worse than SSIM. it can easily be represented by different formulas depending on the situation
|
|
|
Demiurge
These are known as "objective metrics" not subjective because they are defined by math.
|
|
2023-02-15 10:39:14
|
no, these are subjective metrics. Do you not understand why this is so?
|
|
|
Demiurge
|
2023-02-15 10:40:09
|
Everyone else calls them "objective metrics." Because it is calculated by a computer algorithm
|
|
|
DZgas Ж
|
2023-02-15 10:40:18
|
The RGB color space is objective, and the XYB color space is subjective.
|
|
|
Demiurge
|
2023-02-15 10:40:32
|
Math is objective remember? :)
|
|
|
DZgas Ж
|
2023-02-15 10:40:52
|
You don't know what you're talking about
|
|
|
Demiurge
|
2023-02-15 10:41:22
|
You sure?
|
|
2023-02-15 10:42:42
|
When people say "subjective" they usually mean it's judged by humans and not computer vision.
|
|
|
DZgas Ж
|
2023-02-15 10:43:01
|
well, look, suppose if you take all the colors of the image, and swap them. then an objective metric will say that the quality has not changed. But the subjective metric will say that there is not the same quality as it was before
|
|
|
Demiurge
|
2023-02-15 10:43:05
|
in the context of image comparison
|
|
2023-02-15 10:43:51
|
"subjective analysis" = "human analysis"
|
|
2023-02-15 10:44:19
|
Typically a blind test with human judges.
|
|
|
DZgas Ж
|
|
Demiurge
When people say "subjective" they usually mean it's judged by humans and not computer vision.
|
|
2023-02-15 10:44:37
|
That is why you should understand that nowadays it is what Subjective algorithms create, which ideally should coincide with the quality of evaluation from real people.
|
|
|
Demiurge
|
2023-02-15 10:45:05
|
subjective algorithm sounds like an oxymoron. Didn't you just say math is objective?
|
|
|
DZgas Ж
|
|
Demiurge
subjective algorithm sounds like an oxymoron. Didn't you just say math is objective?
|
|
2023-02-15 10:45:42
|
you found fault with the words and did not understand the essence
|
|
|
DZgas Ж
SSIM is the best thing that has been invented so far, no one else has done other objective metrics, because SSIM itself is already very complex. but PNSR, though old, and worse than SSIM. it can easily be represented by different formulas depending on the situation
|
|
2023-02-15 10:47:00
|
<@1028567873007927297> this math
|
|
|
Demiurge
|
|
DZgas Ж
you found fault with the words and did not understand the essence
|
|
2023-02-15 10:47:17
|
That is a good way of saying it.
|
|
2023-02-15 10:47:39
|
Still, I have heard VMAF etc being referred to as "objective metrics"
|
|
2023-02-15 10:47:50
|
in scientific papers
|
|
2023-02-15 10:48:10
|
Because technically they ARE objective.
|
|
|
DZgas Ж
|
|
Demiurge
Still, I have heard VMAF etc being referred to as "objective metrics"
|
|
2023-02-15 10:48:36
|
*It predicts subjective video quality based on a reference and distorted video sequence.*
|
|
|
Demiurge
|
2023-02-15 10:48:59
|
The GOAL is to STRIVE to predict subjective video quality.
|
|
2023-02-15 10:49:25
|
But you can say the same thing with simpler metrics too
|
|
2023-02-15 10:50:06
|
Like you said it's a problem with words.
|
|
2023-02-15 10:51:33
|
I just consider ALL of those to be classified as "objective metrics"
|
|
2023-02-15 10:52:03
|
And that's how I have personally seen the term being used in literature
|
|
2023-02-15 10:53:06
|
I don't think it's good to assume that VMAF etc are special
|
|
2023-02-15 10:53:19
|
I don't think they are special either.
|
|
|
DZgas Ж
|
2023-02-15 10:54:00
|
I don't like that VMAF uses neural networks.
|
|
2023-02-15 10:54:28
|
at any step of creating a metric
|
|
|
DZgas Ж
SSIM is the best thing that has been invented so far, no one else has done other objective metrics, because SSIM itself is already very complex. but PNSR, though old, and worse than SSIM. it can easily be represented by different formulas depending on the situation
|
|
2023-02-15 10:55:51
|
and I like that the metric is just the formula
|
|
|
Demiurge
And that's how I have personally seen the term being used in literature
|
|
2023-02-15 10:57:55
|
Having studied this topic for more than 7 years, I can't turn my tongue to say that VMAF is an Objective metric.
|
|
2023-02-15 11:00:13
|
by the way, Butteraugli does not use any of these concepts, neither subjective nor objective, not a word on their github
|
|
2023-02-15 11:03:01
|
"psychovisual"
|
|
2023-02-15 11:03:08
|
be like subjective
|
|
|
Demiurge
|
2023-02-15 11:07:49
|
"Objective comparison" = computers, "subjective comparison" = people
|
|
2023-02-15 11:08:02
|
"neural network" = matrix multiplication
|
|
2023-02-15 11:08:34
|
That's my undestanding anyways.
|
|
2023-02-15 11:09:29
|
The NN weights are a value matrix.
|
|
|
DZgas Ж
|
|
Demiurge
"Objective comparison" = computers, "subjective comparison" = people
|
|
2023-02-15 11:14:02
|
"psychovisual" ?
|
|
|
Demiurge
|
2023-02-15 11:18:54
|
psychovisual = how does your brain and eyes process visual stimuli.
|
|
2023-02-15 11:19:37
|
psychovisual model = a model of (see above)
|
|
2023-02-15 11:20:26
|
models are theoretical and objective
|
|
2023-02-15 11:20:49
|
But they are not necessarily correct
|
|
|
|
nec
|
2023-02-15 06:56:47
|
Isn't that more about goals? If we want to preserve, it would be better to use lossless or something close to it. Less about perception and more about mathematical similarity. But if we want to simply reduce size, then it's less about math and more about perception, we aim to get maximum reduction without significant visual difference. Like if we move some object in a frame, mathematically it's awful, because all values are different, but visually it might be fine.
|
|
2023-02-15 07:32:14
|
From my experience, metrics like PSNR aren't always good. For example, if we change subsampling, PSNR might give a decent number, but bad visual result. The reason for that is a huge PSNR difference between layers. It's very common with a text on magazine covers. In such cases if we want to convert something in auto mode, we need to use some kind of analyzer. For example, in case of jpeg, the best result I had with checking a picture on presence of gradient, sharp edges, color and other things. Gradient can produce blocking artifacts, sharp edges can produce mosquito noise and in case of color we need to check PSNR on all layers. I had to check for all kinds of artifacts in places where it's common to occur, and my program was doing something similar to subjective visual test. If we don't use lossless, then metrics like PSNR simply can't judge such artifacts at all.
|
|
|
DZgas Ж
|
2023-02-15 07:36:18
|
AOM magic
|
|
2023-02-15 07:36:27
|
3.6.0 update
|
|
|
_wb_
|
2023-02-15 08:23:26
|
Not much new for avif though, seems mostly stuff that makes realtime video coding faster...
|
|
|
DZgas Ж
|
|
_wb_
Not much new for avif though, seems mostly stuff that makes realtime video coding faster...
|
|
2023-02-15 09:03:07
|
AOM realtime mode be like shit. real. But I consider cpu-used 8 to be The key of the future for the next 5 years
|
|
|
_wb_
|
2023-02-15 09:18:09
|
For avif, I think aom at s6 is quite good now, in terms of speed vs compression.
|
|
2023-02-15 09:19:31
|
But consistency is an issue, some images look great at some cq setting, others look fake and plastic
|
|
2023-02-15 09:20:57
|
It's like libjpeg q70 can be fine or it can be crap, depending on the image content — but there at least you kind of know it's things like hard edges and text that will cause ringing artifacts
|
|
2023-02-15 09:22:25
|
With avif it's harder to know what will happen
|
|
|
DZgas Ж
|
2023-02-15 11:28:48
|
**now** I do not know what to use AVIF for at all. it's too long.
|
|
|
Traneptora
|
|
DZgas Ж
SSIM is the best thing that has been invented so far, no one else has done other objective metrics, because SSIM itself is already very complex. but PNSR, though old, and worse than SSIM. it can easily be represented by different formulas depending on the situation
|
|
2023-02-16 12:31:23
|
no it's not, it corrects for gamma twice, which is not something you want to or should be doing
|
|
|
|
afed
|
|
_wb_
|
2023-02-16 06:38:56
|
Any metric has adversarial examples like that (though ones that use low norms like psnr and ssim will allow crazier stuff than ones that use high norms like butteraugli and ssimulacra2). If you make an encoder that optimizes very well for a metric, you will find some of those examples 🙂
|
|
2023-02-16 06:43:10
|
(of course with classical codecs you won't find the cat changing into a dog, more like certain artifacts that the metric doesn't mind will be introduced and others that are maybe visually not too bad but the metric hates will be avoided at the cost of lots of bits)
|
|
2023-02-16 06:44:26
|
(with AI based codecs you might also find artifacts of the "face turns into different face" kind, which are kind of fun but makes me very hesitant to trust such codecs)
|
|
|
DZgas Ж
|
|
Traneptora
no it's not, it corrects for gamma twice, which is not something you want to or should be doing
|
|
2023-02-16 08:38:44
|
Sounds good!
|
|
|
afed
|
|
2023-02-16 08:41:06
|
It may well be. But only in video codecs, ssim is counted for each block separately👍
|
|
2023-02-16 08:45:18
|
well...
|
|
2023-02-16 08:47:13
|
well well
|
|
2023-02-16 08:48:45
|
what kind of compilation hell do have to go through to get ffmpeg.exe on windows with libaom butteraugli
|
|
|
gb82
|
2023-02-16 09:06:20
|
just use wsl
|
|
2023-02-16 09:07:05
|
& I'd use the aom-lavish fork which has had butteraugli quantization for a while, & the mainline patch was prob merged from there
|
|
|
|
afed
|
2023-02-16 09:16:43
|
yeah, tune=butteraugli is very slow anyway, doesn't work for 10-bit and needs tuning in the mainline libaom
so it is better to use aom-lavish
and psnr, ssim and other simpler metrics are used by the encoders internally for some choices, but not because they are best, but because they are fast and it's better than nothing
|
|
|
DZgas Ж
|
|
gb82
just use wsl
|
|
2023-02-16 09:21:58
|
<:AngryCry:805396146322145301> no
|
|
|
gb82
|
2023-02-16 09:23:11
|
fair enough
|
|
2023-02-16 09:23:12
|
https://discord.gg/EP6ZV4GX
|
|
2023-02-16 09:23:25
|
they provide community builds, so maybe you'll find an exe here. idk, im on linux
|
|
|
DZgas Ж
|
|
afed
yeah, tune=butteraugli is very slow anyway, doesn't work for 10-bit and needs tuning in the mainline libaom
so it is better to use aom-lavish
and psnr, ssim and other simpler metrics are used by the encoders internally for some choices, but not because they are best, but because they are fast and it's better than nothing
|
|
2023-02-16 09:23:40
|
dead
|
|
|
gb82
|
2023-02-16 09:24:14
|
you have to use the endless_merging branch
|
|
2023-02-16 09:24:22
|
I know the dev, it is VERY not dead lol
|
|
|
DZgas Ж
|
|
gb82
https://discord.gg/EP6ZV4GX
|
|
2023-02-16 09:24:26
|
<:Thonk:805904896879493180> well. i'll have to do it.
|
|
|
afed
yeah, tune=butteraugli is very slow anyway, doesn't work for 10-bit and needs tuning in the mainline libaom
so it is better to use aom-lavish
and psnr, ssim and other simpler metrics are used by the encoders internally for some choices, but not because they are best, but because they are fast and it's better than nothing
|
|
2023-02-16 09:24:46
|
butteraugli maybe only for 10 bit
|
|
|
gb82
|
2023-02-16 09:25:05
|
|
|
|
DZgas Ж
butteraugli maybe only for 10 bit
|
|
2023-02-16 09:26:01
|
I'd prefer tune=ssim at cpu 3 over tune=butteraugli at cpu 4
|
|
|
w
|
2023-02-16 09:26:25
|
it looks pretty dead
|
|
2023-02-16 09:26:34
|
last time i tried that fork it did effectively nothing
|
|
|
gb82
|
2023-02-16 09:27:01
|
<@138804598365224961> lmao
|
|
|
w
|
2023-02-16 09:28:42
|
maybe it does something for smaller files, but at larger, default tune ssim was better
|
|
|
|
afed
|
|
DZgas Ж
butteraugli maybe only for 10 bit
|
|
2023-02-16 09:32:05
|
I mean, the main aom does not work with 10-bit butteraugli support for windows (fork works)
and it's not for fast encodings (faster than 4), these modes are very slow, even with 2x downscaling
|
|
|
DZgas Ж
|
2023-02-16 09:34:03
|
i use only cpu used 8
|
|
|
gb82
|
2023-02-16 09:36:43
|
I would only use 4 or below
|
|
|
|
afed
|
|
w
maybe it does something for smaller files, but at larger, default tune ssim was better
|
|
2023-02-16 09:37:27
|
for some encodings tune=butteraugli gives much more stable results, but this is still a very experimental mode and needs further tuning
|
|
|
gb82
|
|
DZgas Ж
i use only cpu used 8
|
|
2023-02-16 09:37:30
|
at these speeds, use svt-av1
|
|
|
DZgas Ж
|
|
gb82
at these speeds, use svt-av1
|
|
2023-02-16 09:42:31
|
no. he's shit. complete shit.
|
|
|
gb82
|
2023-02-16 09:42:48
|
compared to aomenc speed 8? lmao
|
|
2023-02-16 09:42:56
|
so much for our "compression specialist"
|
|
|
w
|
2023-02-16 09:43:09
|
just use nvenc
|
|
|
DZgas Ж
|
|
gb82
compared to aomenc speed 8? lmao
|
|
2023-02-16 09:43:23
|
absolutely right.
|
|
2023-02-16 09:43:43
|
EVEN if SVT-AV1 is encoded slower
|
|
|
gb82
|
2023-02-16 09:43:54
|
I'll compare ssimu2 scores tomorrow between the two
|
|
2023-02-16 09:44:10
|
an equivalent svt-av1 speed to aom speed 8
|
|
|
DZgas Ж
|
2023-02-16 09:44:37
|
I do not know what kind of shit those who test it smoke. on SVT-AV1, it allows such stupid artifacts that I do not know what the developers are doing there
|
|
|
gb82
|
2023-02-16 09:44:58
|
we'll see what ssimu2 says tomorrow :)
|
|
|
DZgas Ж
|
|
gb82
we'll see what ssimu2 says tomorrow :)
|
|
2023-02-16 09:46:07
|
I definitely definitely read on the SVT-AV1 gitlab that they are very far from AOM. it's good that the main developer says this
|
|
2023-02-16 09:47:39
|
SVT-AV1 is exclusively an option when AOM is too slow, and for some reason there is an idea to use AOM real time mode (dont do it just use SVT-AV1)
|
|
|
w
just use nvenc
|
|
2023-02-16 09:48:00
|
have 🥹 4090
|
|
|
w
|
2023-02-16 09:48:15
|
yeah it's great
|
|
|
gb82
|
|
DZgas Ж
I definitely definitely read on the SVT-AV1 gitlab that they are very far from AOM. it's good that the main developer says this
|
|
2023-02-16 09:48:39
|
I agree, but just use cpu4
|
|
|
DZgas Ж
|
|
w
yeah it's great
|
|
2023-02-16 09:48:43
|
No, I only have gt440
|
|
|
gb82
|
2023-02-16 09:48:47
|
CPU 8 is way too fast
|
|
|
DZgas Ж
|
|
gb82
CPU 8 is way too fast
|
|
2023-02-16 09:49:00
|
...?
|
|
|
gb82
|
2023-02-16 09:49:13
|
Anything above speed 6 is realtime mode
|
|
|
DZgas Ж
i use only cpu used 8
|
|
2023-02-16 09:49:31
|
So ur using realtime mode
|
|
|
DZgas Ж
|
2023-02-16 09:49:31
|
dont use realtime mode
|
|
|
w
|
2023-02-16 09:49:49
|
obviously cpu 7 is too slow
|
|
2023-02-16 09:49:52
|
so they use cpu 8
|
|
|
DZgas Ж
|
2023-02-16 09:49:57
|
realtime mode turns AV1 into VP8
|
|
|
gb82
|
|
DZgas Ж
dont use realtime mode
|
|
2023-02-16 09:49:58
|
This is what I am telling you <:kekw:808717074305122316>
|
|
|
DZgas Ж
|
|
gb82
|
|
w
obviously cpu 7 is too slow
|
|
2023-02-16 09:50:21
|
Use av1an. Anything above cpu4 is a waste
|
|
2023-02-16 09:50:39
|
Anything above cpu6 is automatically realtime mode
|
|
|
w
|
2023-02-16 09:50:43
|
the problem is you are assuming they can use anything lower than cpu8
|
|
|
gb82
|
2023-02-16 09:51:02
|
I am assuming they have a device with more than two cores
|
|
|
w
|
2023-02-16 09:51:12
|
that is the problem
|
|
|
gb82
|
2023-02-16 09:51:36
|
I encoded with rav1e on my phone
|
|
|
w
|
2023-02-16 09:51:47
|
phones are powerful nowaday
|
|
|
gb82
|
|
w
that is the problem
|
|
2023-02-16 09:51:47
|
Then why is svt-av1 not viable
|
|
|
w
|
2023-02-16 09:53:03
|
it's so annoying when people use real time as performance measure
|
|
|
gb82
|
2023-02-16 09:53:46
|
Using av1an with even just two aom workers at a lower speed will dramatically increase your encoding efficiency as opposed to using speed 8. Additionally, rav1e is faster & better at higher speeds (like speed 6+) & svt-av1 will produce better results than aom rt
|
|
|
w
|
2023-02-16 09:54:02
|
so saying to use av1an is cringe
|
|
2023-02-16 09:54:02
|
stop
|
|
|
gb82
|
|
w
|
2023-02-16 09:55:19
|
it doesnt improve your encoding "efficiency"
|
|
|
gb82
|
2023-02-16 09:56:10
|
Also, considering DZ claims to be on Windows, I think I can safely assume >2 cores are present on their system. Av1an is a fantastic utility that will increase encoding speed irrespective of circumstance (given you can parallelize)
|
|
|
w
it doesnt improve your encoding "efficiency"
|
|
2023-02-16 09:56:37
|
Yeah, that's what lower encoder speeds do
|
|
|
w
|
2023-02-16 09:56:52
|
no. you are suggesting using more workers
|
|
2023-02-16 09:56:58
|
but that only saves real time
|
|
2023-02-16 09:57:00
|
not cpu time
|
|
|
gb82
|
2023-02-16 09:57:49
|
yeah, you're right, I'll concede there for sure
|
|
|
w
|
2023-02-16 09:58:07
|
and we're talking about dzgas here
|
|
2023-02-16 09:58:15
|
who has funny pc specs and windows install
|
|
2023-02-16 09:59:15
|
<:troll:705997697424949249>
|
|
|
|
afed
|
2023-02-16 09:59:29
|
chunked encoding is always more efficient than using threading in the encoder, especially when there are a lot of available threads (this is true even for x264/x265)
|
|
|
w
|
2023-02-16 10:00:03
|
maybe space efficient
|
|
2023-02-16 10:00:06
|
but not time efficient :)
|
|
2023-02-16 10:00:35
|
wait i read that wrong
|
|
2023-02-16 10:00:48
|
it's technically always worse in cpu time
|
|
|
gb82
|
|
w
it's technically always worse in cpu time
|
|
2023-02-16 10:12:01
|
who cares tho
|
|
|
w
|
|
|
afed
|
2023-02-16 10:13:48
|
if there is enough memory to load all threads, it's more efficient both in quality and mostly in overall encoding speed (if there are enough cores), because encoder multithreading is limited, also quality when using frame-threads is worse, like `--frame-threads 1` for x265 will always be better in metrics and quality
some like svt-av1 have very good thread scaling, but this still requires using threaded frames (so accuracy suffers), using tiles (each new tile is also worse for quality), also some better modes are very poorly parallelized
|
|
|
afed
if there is enough memory to load all threads, it's more efficient both in quality and mostly in overall encoding speed (if there are enough cores), because encoder multithreading is limited, also quality when using frame-threads is worse, like `--frame-threads 1` for x265 will always be better in metrics and quality
some like svt-av1 have very good thread scaling, but this still requires using threaded frames (so accuracy suffers), using tiles (each new tile is also worse for quality), also some better modes are very poorly parallelized
|
|
2023-02-16 10:31:03
|
for example, i have 16 cores and if i take aomenc/rav1e as not very good scalable encoders, what will be faster when only 4-5 cores are 100% utilized or when all 16 with a chunked encoding?
besides with chunked encoding I don't care about options which are good for multithreading but worse for quality
it might be not better for performance per power consumption but for overall performance it's almost always better (also for quality)
|
|
|
DZgas Ж
|
|
gb82
Also, considering DZ claims to be on Windows, I think I can safely assume >2 cores are present on their system. Av1an is a fantastic utility that will increase encoding speed irrespective of circumstance (given you can parallelize)
|
|
2023-02-16 10:31:56
|
I know this newfangled way - divide the video into 4 parts and encode each in 1 thread - no thanks. AOM use 3 cores per video and I'm fine with that
|
|
|
w
|
2023-02-16 10:36:35
|
obviously it's faster real time if you can use more cores
|
|
2023-02-16 10:36:48
|
but if you only have one core it's not
|
|
2023-02-16 10:36:55
|
or if you pay per core utilization it's not
|
|
|
|
afed
|
|
afed
for example, i have 16 cores and if i take aomenc/rav1e as not very good scalable encoders, what will be faster when only 4-5 cores are 100% utilized or when all 16 with a chunked encoding?
besides with chunked encoding I don't care about options which are good for multithreading but worse for quality
it might be not better for performance per power consumption but for overall performance it's almost always better (also for quality)
|
|
2023-02-16 10:37:37
|
also av1an and similar tools usually have good scene change detection (for splitting), so I can worry less about wrong encoder scene detection
|
|
|
w
|
2023-02-16 10:37:50
|
we're not arguing that
|
|
|
|
afed
|
|
w
but if you only have one core it's not
|
|
2023-02-16 10:57:49
|
for this use case, maybe, but basically, except for the time for splitting, nothing changes
and it's possible to encode each chunk sequentially even in single-threaded mode, and it gives more options
like I can encode with different encoders or different settings and then swap the worst quality chunks for better quality chunks
or reencode only the bad segments instead of reencoding the whole video
it is not useful only for multi-pass encoding to the required size (actually, it's possible, but worse for quality than doing it for the whole video)
|
|
|
w
|
2023-02-16 10:58:49
|
yeah i get it. i was there at the start of the whole thing
|
|
|
|
afed
|
2023-02-16 11:11:38
|
there are also interesting things using prediction (with nn or even something simpler), when each chunk is identified by type and complexity and then encoded with different settings
and this gives better quality and less overall encoding time
than encoding the whole video with the same slowest or fastest settings
but, sadly, there are no such open source solutions
|
|
|
DZgas Ж
|
|
w
who has funny pc specs and windows install
|
|
2023-02-16 11:25:40
|
✍️ I have 4 gb of ram
|
|
|
afed
chunked encoding is always more efficient than using threading in the encoder, especially when there are a lot of available threads (this is true even for x264/x265)
|
|
2023-02-16 11:27:03
|
Yes. Great idea. when will this appear in FFmpeg?
|
|
2023-02-16 11:27:08
|
🙂
|
|
|
|
afed
|
|
w
but not time efficient :)
|
|
2023-02-16 11:33:19
|
and I forgot another important thing, aomenc is still an unstable encoder and for very slow or some custom settings it can cause a segfault and all the encoding time wasted, and especially for slow modes the time spent can be huge, even weeks or months for long videos
and av1an allows to continue encoding from unfinished chunks
|
|
|
BlueSwordM
|
|
w
not cpu time
|
|
2023-02-16 05:56:45
|
Actually, because of imperfect scaling in almost all cases, you save CPU time and real time :)
|
|
|
DZgas Ж
|
|
DZgas Ж
what kind of compilation hell do have to go through to get ffmpeg.exe on windows with libaom butteraugli
|
|
2023-02-16 05:59:40
|
some person responded to this request. he said that he would do such the thing. Well, I'll be waiting.
|
|
|
gb82
|
|
afed
and I forgot another important thing, aomenc is still an unstable encoder and for very slow or some custom settings it can cause a segfault and all the encoding time wasted, and especially for slow modes the time spent can be huge, even weeks or months for long videos
and av1an allows to continue encoding from unfinished chunks
|
|
2023-02-16 06:24:18
|
it seems like you know what you're talking about
|
|
2023-02-16 06:24:30
|
bc even if u use one chunk with av1an, it can just retry
|
|
|
|
afed
|
2023-02-16 06:39:48
|
I haven't used encoding for just one chunk, but theoretically it depends for what cause the encoder is crashed and it could corrupt the encoded chunk, but at least finished chunks will be fine
|
|
|
gb82
|
2023-02-16 06:43:12
|
oh sorry not one chunk, one worker*
|
|
|
w
|
|
BlueSwordM
Actually, because of imperfect scaling in almost all cases, you save CPU time and real time :)
|
|
2023-02-16 07:57:40
|
1 worker x 1 thread is always less total cpu time than 2 workers x 1 thread. I am not comparing it with using more threads in the encoder
|
|
|
DZgas Ж
|
2023-02-16 08:09:23
|
My FLAC compress key
```flac.exe -p -e -f -l 12 -b 4608 -r 0,8 -m -A tukey(0) -A tukey(5e-1) -A tukey(1) -A tukey(2) -A tukey(3) -A tukey(4) -A tukey(5) -A partial_tukey(0) -A partial_tukey(1) -A partial_tukey(2) -A partial_tukey(3) -A partial_tukey(4) -A partial_tukey(5) -A punchout_tukey(0) -A punchout_tukey(1) -A punchout_tukey(2) -A punchout_tukey(3) -A punchout_tukey(4) -A punchout_tukey(5) -A bartlett -A bartlett_hann -A blackman -A blackman_harris_4term_92db -A connes -A flattop -A hamming -A hann -A kaiser_bessel -A nuttall -A rectangle -A triangle```
|
|
|
Reddit • YAGPDB
|
|
Traneptora
|
|
BlueSwordM
Actually, because of imperfect scaling in almost all cases, you save CPU time and real time :)
|
|
2023-02-17 05:28:10
|
nah, doing chunked encoding is always less cpu time than doing it single-threaded
|
|
2023-02-17 05:28:32
|
cause there's some small overhead to starting a new process
|
|
2023-02-17 05:28:47
|
it's just that the cpu time overlaps with itself cause parallelism woooo
|
|
|
BlueSwordM
|
|
Traneptora
nah, doing chunked encoding is always less cpu time than doing it single-threaded
|
|
2023-02-17 06:20:37
|
I should have been clearer: I'm comparing against all other threading methods.
|
|
|
Demiurge
|
|
afed
|
|
2023-02-17 09:47:27
|
This is why the only way to compare codecs is to see what they actually look like at the same size, or alternatively, see what bitrate they end up being when you can no longer ABX them apart from the original in a blind ABX test.
|
|
|
|
afed
|
2023-02-17 10:12:10
|
there are no perfect metrics, but there are metrics that are better than others, which are confirmed by better correlation with subjective evaluations
but, even the best metrics should not be the only quality indicator, but they are good as automated helpers
like, i can visually compare some images or videos, and what if i need to compare millions of such images or videos?
but with metrics I can notice a quality drop in an image or even some frames, same for encoders, they don't have human eyes, but with metrics they have some correlation with visual quality
also subjective quality is subjective and it can't be the best estimate either, some people might like av1 smoothing more than the source, some people like over-sharpness, etc.
|
|
|
Demiurge
|
2023-02-17 10:47:00
|
They're good in theory but if they can't be relied upon, then they can't be relied upon.
|
|
2023-02-17 10:50:13
|
I guess the only exception would be if you could predict the metrics weaknesses and how it could potentially be fooled. And then, completely rule it out before measuring.
|
|
2023-02-17 10:51:44
|
Like if you theoretically knew for a fact that the type of distortion you will be introducing is not what the metric is bad at measuring
|
|
2023-02-17 10:52:23
|
Which in practice I doubt is possible most of the time
|
|
|
spider-mario
|
|
Demiurge
This is why the only way to compare codecs is to see what they actually look like at the same size, or alternatively, see what bitrate they end up being when you can no longer ABX them apart from the original in a blind ABX test.
|
|
2023-02-17 03:14:56
|
it feels to me as though the latter would be harder to estimate
|
|
2023-02-17 03:18:07
|
in principle, as bitrate increases, you would expect the frequency at which people get the A/B/X test right to decrease asymptotically to 50%
|
|
2023-02-17 03:18:24
|
you would then try to estimate what those frequencies might plausibly be at various bitrates,
|
|
2023-02-17 03:18:54
|
and finally, determine “at roughly which bitrate does this (presumably quite horizontal) curve get ‘close enough’ to 50%?”
|
|
2023-02-17 03:19:18
|
it seems that realistically, this would be very uncertain
|
|
2023-02-17 03:20:21
|
whereas picking just one bitrate and estimating the frequency of getting the test right with one codec and with the other, and thereby a probability distribution of the difference, would be much more straightforward
|
|
|
BlueSwordM
|
|
Demiurge
They're good in theory but if they can't be relied upon, then they can't be relied upon.
|
|
2023-02-17 05:16:47
|
So what you're saying is that unless a metric is perfect, then it shouldn't be used?
|
|
2023-02-17 05:17:13
|
I mean, it might as well be the same thing for subjective visual comparisons on anything but wide gamut high contrast high brightness displays.
|
|
|
_wb_
|
2023-02-17 06:11:02
|
Metrics should be used, but always with care and with eyeballs too.
|
|
2023-02-17 06:12:03
|
It's effectively an arms race where codecs learn to fool metrics and metrics get better at avoiding getting fooled.
|
|
|
Reddit • YAGPDB
|
|
DZgas Ж
|
|
DZgas Ж
some person responded to this request. he said that he would do such the thing. Well, I'll be waiting.
|
|
2023-02-18 09:51:52
|
nop
|
|
2023-02-18 01:37:39
|
well. the AV1 community server turned out to be just useless. After 2 days of my tortures, I started to get something
|
|
2023-02-18 01:56:15
|
oh well
|
|
2023-02-18 02:50:57
|
libaom
.a(butteraugli.c.o):butteraugli.c:(.text+0x170): undefined reference to `__imp_JxlButteraugliApiCreate'
|
|
2023-02-18 02:54:08
|
truly zero answers in google on request
|
|
2023-02-18 02:55:23
|
I conclude that in the last 2 years no one has compiled AOM with butteraugli on windows
|
|
|
DZgas Ж
what kind of compilation hell do have to go through to get ffmpeg.exe on windows with libaom butteraugli
|
|
2023-02-18 10:47:35
|
after spending 2 days, I came to the conclusion that AOMENC (not ffmpeg aom) with butteraugli cannot be compiled for windows at all. Neither AOM 3.1.0 nor 3.4.0 nor 3.6.0, nor with libjxl 0.6 0.7 0.8
|
|
|
gb82
|
2023-02-18 11:16:25
|
The AV1 community server was useless? I wouldn't be so rude, they acknowledged your question & offered some guidance which I think was very nice of them
|
|
|
DZgas Ж
|
|
gb82
The AV1 community server was useless? I wouldn't be so rude, they acknowledged your question & offered some guidance which I think was very nice of them
|
|
2023-02-18 11:18:22
|
THE offered ? everything that is in the first lines of google "how to compile AOM"??
|
|
2023-02-18 11:18:46
|
No, absolutely useless community.
|
|
|
gb82
|
2023-02-18 11:19:12
|
they're not obligated to help you for any reason, the fact that they answered at all was just out of their interest in being kind & helpful people
|
|
2023-02-18 11:19:48
|
I've faced roadblocks similar to the one you're facing now, & I think it's best to not be angry about it & let yourself move on
|
|
|
DZgas Ж
|
|
gb82
they're not obligated to help you for any reason, the fact that they answered at all was just out of their interest in being kind & helpful people
|
|
2023-02-18 11:20:05
|
Well, if they don't have to and don't want to help about AV1, then what did they forget there?
|
|
2023-02-18 11:20:46
|
Any 1 developer is more active here than AV1 server with 500 online
|
|
|
gb82
|
2023-02-18 11:21:07
|
I don't understand your question, & I'm not going to entertain this conversation anymore if your only interest is to talk negatively about another community that shares goals & ideals with this one
|
|
|
DZgas Ж
|
|
gb82
I don't understand your question, & I'm not going to entertain this conversation anymore if your only interest is to talk negatively about another community that shares goals & ideals with this one
|
|
2023-02-18 11:22:34
|
To be a part of the community, it must be proved by deed. and I saw there only a bunch of lazy people who poke at the terminal to compress for fun.
|
|
|
gb82
|
2023-02-18 11:24:31
|
Please don't ping me about external server drama. As I voiced above, I am not willing to entertain this conversation if your only interest is to talk negatively about them.
|
|
|
DZgas Ж
|
2023-02-18 11:30:53
|
well, it is necessary to inform that -- when you write about help for 2 days. and when you write 3 messages. they will close access to the channel where they are build soft. and delete your message.
and they will write to you, do everything yourself. here are a couple of links from Google. no one has to help you here.
|
|
|
sklwmp
|
|
DZgas Ж
libaom
.a(butteraugli.c.o):butteraugli.c:(.text+0x170): undefined reference to `__imp_JxlButteraugliApiCreate'
|
|
2023-02-19 02:23:00
|
i'm getting similar errors, not sure why it can't find the symbols
|
|
|
BlueSwordM
|
|
DZgas Ж
To be a part of the community, it must be proved by deed. and I saw there only a bunch of lazy people who poke at the terminal to compress for fun.
|
|
2023-02-19 03:53:08
|
lmao
|
|
|
sklwmp
|
2023-02-19 06:22:55
|
okay, i seem to have finally done it
|
|
2023-02-19 06:23:29
|
needed to patch third_party libyuv (which for some reason is required by butteraugli) to build properly on msys2
|
|
2023-02-19 06:23:33
|
now to get a static build going
|
|
2023-02-19 06:27:42
|
maybe later... it's tiring, in short just change that file and add `-DLIBYUV_STATIC` to your CFLAGS if you wanna compile mainline aomenc (for whatever reason) with butteraugli
|
|
|
_wb_
|
|
DZgas Ж
Any 1 developer is more active here than AV1 server with 500 online
|
|
2023-02-19 07:14:38
|
I think most of the people on the av1 discord are not av1 devs but rather people interested in using av1 to encode videos. The devs/users ratio is probably higher on this discord.
|
|
|
DZgas Ж
|
|
_wb_
I think most of the people on the av1 discord are not av1 devs but rather people interested in using av1 to encode videos. The devs/users ratio is probably higher on this discord.
|
|
2023-02-19 08:06:40
|
Look this 👉 <@557099078337560596> Why is this happening here? I write about it for 2 days on the av1 server, but the person who really wants to figure it out and do it is here.
|
|
|
_wb_
|
2023-02-19 08:18:40
|
I am continuously amazed by how many very intelligent and very friendly people are on this discord.
|
|
|
sklwmp
|
2023-02-19 08:32:11
|
hm, i can't seem to replicate my success like before, i can't figure out what's going on anymore
|
|
2023-02-19 08:32:22
|
i might need a few more days to figure this out... but there at least is some info
|
|
|
DZgas Ж
|
|
sklwmp
hm, i can't seem to replicate my success like before, i can't figure out what's going on anymore
|
|
2023-02-19 08:35:28
|
As I understand it, the build is not being built?
|
|
|
sklwmp
|
2023-02-19 08:36:15
|
I'm encountering the same error again as before with the missing dllimport symbols. I already patched the files and I'm defining LIBYUV_STATIC, but for some reason it's just not working.
I'll figure it out in a bit, but all I could figure out is posted above.
|
|
|
DZgas Ж
|
|
sklwmp
I'm encountering the same error again as before with the missing dllimport symbols. I already patched the files and I'm defining LIBYUV_STATIC, but for some reason it's just not working.
I'll figure it out in a bit, but all I could figure out is posted above.
|
|
2023-02-19 08:37:28
|
Well, I'm absolutely not a C programmer, so I'll be waiting for you
|
|
|
sklwmp
|
2023-02-19 09:21:53
|
Neither am I honestly, I'm just experimenting and figuring things out.
Turns out I was building in the wrong repo, for some reason the aomenc forks can't compile statically even with the patch, but the mainline ones can. Weird.
Anyway, I still need to figure out how to get it to build statically. It still links to the dlls.
|
|
|
DZgas Ж
|
|
sklwmp
Neither am I honestly, I'm just experimenting and figuring things out.
Turns out I was building in the wrong repo, for some reason the aomenc forks can't compile statically even with the patch, but the mainline ones can. Weird.
Anyway, I still need to figure out how to get it to build statically. It still links to the dlls.
|
|
2023-02-19 09:27:13
|
dlls doesn't matter at all, you have the worker aomenc.exe ?
|
|
2023-02-19 09:29:10
|
This is my aomenc without butteraugli, it just compiled and just works
|
|
|
sklwmp
|
2023-02-19 09:29:26
|
yes, but i compiled it with avx2 support, so i need to recompile it since i just looked up your processor and it does not have avx2
|
|
|
DZgas Ж
|
|
sklwmp
yes, but i compiled it with avx2 support, so i need to recompile it since i just looked up your processor and it does not have avx2
|
|
2023-02-19 09:30:09
|
That is , you have set the compilation function AVX only ??
|
|
|
sklwmp
|
2023-02-19 09:30:22
|
yes, i set `-march=x86-64-v3` which AFAIK sets AVX2
|
|
2023-02-19 09:30:39
|
since usually that's what they recommend for best performance with these av1 encoders
|
|
|
DZgas Ж
|
2023-02-19 09:31:06
|
I think it's better do it by default.
|
|
|
sklwmp
|
2023-02-19 09:32:07
|
I'm pretty sure that only tests if the compiler supports -mavx2, not necessarily if your CPU supports it.
|
|
|
DZgas Ж
|
|
sklwmp
since usually that's what they recommend for best performance with these av1 encoders
|
|
2023-02-19 09:32:38
|
it's true. the codec works well on AVX
|
|
|
sklwmp
yes, but i compiled it with avx2 support, so i need to recompile it since i just looked up your processor and it does not have avx2
|
|
2023-02-19 10:16:07
|
well?
|
|
|
sklwmp
|
2023-02-19 11:47:33
|
sorry about the delay, had to take care of irl stuff, here's the shared build since i couldn't get static to work, aomenc is *really* fragile about getting butter to work on windows
|
|
|
DZgas Ж
|
|
sklwmp
sorry about the delay, had to take care of irl stuff, here's the shared build since i couldn't get static to work, aomenc is *really* fragile about getting butter to work on windows
|
|
2023-02-19 12:36:56
|
not work...
|
|
|
sklwmp
|
2023-02-19 12:37:01
|
how so?
|
|
|
DZgas Ж
|
2023-02-19 12:37:19
|
simple, even as a regular encoder
|
|
|
sklwmp
|
2023-02-19 12:37:31
|
i don't quite understand
|
|
|
DZgas Ж
|
|
sklwmp
i don't quite understand
|
|
2023-02-19 12:39:10
|
the normal encoder, up, works, and your encoder - just exits the program
|
|
|
sklwmp
|
2023-02-19 12:39:26
|
that's odd...
|
|
2023-02-19 12:39:28
|
hmm
|
|
|
DZgas Ж
|
|
sklwmp
|
2023-02-19 12:39:33
|
i'm not very sure what's going on
|
|
2023-02-19 12:39:40
|
i remember turning off avx
|
|
2023-02-19 12:39:46
|
let me check on my machine rq
|
|
|
DZgas Ж
|
|
sklwmp
|
2023-02-19 12:41:44
|
it works fine on my machine, let me go through the logs and see if avx was really disabled
|
|
2023-02-19 12:44:26
|
okay it looks like aom somehow forces avx2 even if i set cflags...
|
|
2023-02-19 12:44:30
|
using its own flags
|
|
2023-02-19 12:44:33
|
that's annoying
|
|
|
DZgas Ж
|
2023-02-19 12:44:52
|
heh
|
|
2023-02-19 12:45:55
|
the surprising thing is that it build only in AVX mode, ignoring SSE, although the AOMENC assembly should be universal...
|
|
|
sklwmp
|
2023-02-19 12:47:12
|
ah wait, which version of windows are you running
|
|
2023-02-19 12:47:22
|
im pretty sure aomenc has runtime detection to see if you can use avx2 or not
|
|
|
DZgas Ж
|
2023-02-19 12:48:21
|
not all programs do this, for some reason
|
|
2023-02-19 12:48:43
|
Windows 10 21H2
|
|
|
sklwmp
|
2023-02-19 12:48:59
|
okay, so the runtime isn't the issue either...
|
|
2023-02-19 12:49:20
|
it doesn't pop up any errors at all when you just double click the file?
|
|
2023-02-19 12:49:32
|
maybe windows is detecting it as a virus, i really don't know at this point
|
|
|
DZgas Ж
|
2023-02-19 12:49:45
|
in fact, I don't even know any programs that give an error about AVX, except for paq8px
|
|
|
sklwmp
maybe windows is detecting it as a virus, i really don't know at this point
|
|
2023-02-19 12:50:21
|
I don't have any antiviruses (and I cut out the built-in one)
|
|
|
sklwmp
it doesn't pop up any errors at all when you just double click the file?
|
|
2023-02-19 12:51:38
|
the program shell is working. and even --help works, but running something causes it to be end
|
|
|
sklwmp
|
2023-02-19 12:51:45
|
okay that's unusual
|
|
2023-02-19 12:52:45
|
i really am at a loss right now...
|
|
|
DZgas Ж
|
2023-02-19 12:53:39
|
for my universal compile i use ```cmake .. -DBUILD_SHARED_LIBS=0 -DCMAKE_BUILD_TYPE=Release -G "MSYS Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_FLAGS="-flto -O3 -march=native" -DCMAKE_C_FLAGS="-flto -O3 -march=native" -DCMAKE_C_FLAGS_INIT="-flto=16 -static -static-libgcc -static-libstdc++" -DCMAKE_EXE_LINKER_FLAGS="-flto -static -static-libgcc -static-libstdc++" -DENABLE_DOCS=0 -DENABLE_TESTS=0 -DCONFIG_AV1_DECODER=0```
|
|
2023-02-19 12:53:55
|
maybe there is a key here that will help you
|
|
|
sklwmp
|
2023-02-19 12:53:57
|
well it's not really universal if you use "march=native"
|
|
|
sklwmp
sorry about the delay, had to take care of irl stuff, here's the shared build since i couldn't get static to work, aomenc is *really* fragile about getting butter to work on windows
|
|
2023-02-19 12:55:02
|
if anyone here can try this exe to see if it breaks on their machine too, that would be great!
i can't test this on a clean environment at the moment
this is just aomenc mainline compiled with x86-64-v2 as well as small patch to get it to find JXL in MinGW
|
|
|
DZgas Ж
|
2023-02-19 12:56:53
|
I have a friend with avx, he will try
|
|
|
sklwmp
if anyone here can try this exe to see if it breaks on their machine too, that would be great!
i can't test this on a clean environment at the moment
this is just aomenc mainline compiled with x86-64-v2 as well as small patch to get it to find JXL in MinGW
|
|
2023-02-19 01:04:48
|
well AVX moment
|
|
2023-02-19 01:11:06
|
**FINALLY, the first results of butteraugli AOM *- it is 5 times slower than SSIM***
|
|
2023-02-19 01:14:08
|
aomenc.exe --cpu-used=8 -h 540 -w 960 k.yuv --tune=butteraugli --output=test2.ivf
butteraugli 1.2 FPS
SSIM 6 FPS
|
|
2023-02-19 01:23:37
|
the
|
|
2023-02-19 01:28:01
|
|
|
2023-02-19 01:31:44
|
|
|
2023-02-19 01:33:48
|
it may be difficult to notice, but the quality of butteraugli is really higher than SSIM. however, its speed makes it impossible to encode fast content. judging by the speed, the butteraugli setting should be applied somewhere after compression speed level 2 or 1
|
|
2023-02-19 01:37:35
|
|
|
2023-02-19 01:39:04
|
considering that the files have literally the same weight, it's amazing how butteraugli affects the sharp edges of the blocks, and the halo around the hair
|
|
2023-02-19 01:41:29
|
when I was told that butteraugli was slow. they still haven't told me what time? I thought well, one and a half times, maybe 2 times slower... 100 times
|
|
2023-02-19 01:48:43
|
Continue to use SSIM
|
|
2023-02-19 01:50:08
|
|
|
|
diskorduser
|
2023-02-19 01:52:58
|
Maybe it's faster on avx2 cpu.
|
|
2023-02-19 01:53:04
|
Idk
|
|
|
DZgas Ж
|
|
diskorduser
Maybe it's faster on avx2 cpu.
|
|
2023-02-19 01:58:46
|
it was AVX
|
|
|
_wb_
|
2023-02-19 01:59:08
|
Probably some shortcuts can be made to speed things up, but it's kind of unavoidable to be slower than super simple metrics like psnr
|
|
|
yoochan
|
|
DZgas Ж
Continue to use SSIM
|
|
2023-02-19 03:09:30
|
You can also try ssimulacra2 😁
|
|
|
sklwmp
|
2023-02-19 03:13:04
|
the results you're getting with mainline aomenc are probably why everyone recommends just using the forks like aom-av1-lavish
|
|
|
DZgas Ж
|
|
yoochan
You can also try ssimulacra2 😁
|
|
2023-02-19 03:21:02
|
🥴 no thx
|
|
|
sklwmp
the results you're getting with mainline aomenc are probably why everyone recommends just using the forks like aom-av1-lavish
|
|
2023-02-19 03:23:38
|
I've seen it. But in order not to use it, it was enough for me Not to see speed time on their github page.
|
|
2023-02-19 03:23:58
|
about ssimulacra2
|
|
2023-02-19 03:25:38
|
<@794205442175402004> you also do the ssimulacra2 project, how many times speed is it less if use it instead of SSIM?
|
|
|
_wb_
|
2023-02-19 03:26:49
|
Computationally the main difference is the colorspace in which they operate
|
|
|
DZgas Ж
|
|
_wb_
Computationally the main difference is the colorspace in which they operate
|
|
2023-02-19 03:28:00
|
Is it possible to say the speed difference in a simple number?
|
|
|
_wb_
|
2023-02-19 03:29:54
|
Depends on how you implement it. If you are doing encoding in xyb, and ignore the multiscale thing, then ssimulacra2 is probably implementable with very similar speed as ssim, maybe 10% slower or something
|
|
|
DZgas Ж
|
|
DZgas Ж
the
|
|
2023-02-19 03:31:15
|
At some point, the AOMENC encoder enters an infinite loop of calculating something, and cannot get out of it, infinitely performing some kind of cyclic calculation. unfortunately, AOMENC with butteraugli just Broke <@557099078337560596>
|
|
|
sklwmp
|
2023-02-19 03:31:43
|
in any case, at least some good experiments were made
|
|
|
DZgas Ж
|
2023-02-19 03:31:59
|
<:AV1:805851461774475316> 👍
|
|
|
sklwmp
|
2023-02-19 03:32:21
|
if it interests you, here's a build which i think finally disables avx
|
|
2023-02-19 03:32:43
|
that's probably the end of my adventures with aomenc for now, it's getting annoying trying to compile things
|
|
|
DZgas Ж
|
|
sklwmp
if it interests you, here's a build which i think finally disables avx
|
|
2023-02-19 03:34:45
|
nope. it's also AVX and doesn't work
|
|
|
sklwmp
|
2023-02-19 03:35:04
|
weird, i swear it disabled all AVX files, i didn't see any get compiled
|
|
2023-02-19 03:35:24
|
anyway that's the end of my rope for real
|
|
|
DZgas Ж
|
|
sklwmp
that's probably the end of my adventures with aomenc for now, it's getting annoying trying to compile things
|
|
2023-02-19 03:35:48
|
I think yes you should stop already, you've done everything need to
|
|
2023-02-19 03:36:40
|
by the way, on linux it takes 20 minutes. That is all. after I asked one person to make such a build for linux.
|
|