|
A homosapien
|
2024-09-20 11:43:29
|
Ya know, to save on battery life and all that
|
|
|
CrushedAsian255
|
2024-09-20 11:44:27
|
maybe a bunch of e-cores could work on some types of server
|
|
|
A homosapien
|
2024-09-20 11:46:15
|
Yeah, assuming it's all e-cores it doesn't sound like a bad idea
|
|
2024-09-20 11:46:32
|
Since they're more power efficient
|
|
|
CrushedAsian255
|
2024-09-20 11:48:16
|
that's just called a pi cluster
|
|
|
A homosapien
|
2024-09-20 11:48:37
|
True
|
|
2024-09-20 11:48:51
|
No need to reinvent the wheel I guess
|
|
|
lonjil
|
2024-09-20 11:50:21
|
I think Intel has some CPU models with 8 P cores and 16 E cores
|
|
|
jonnyawsom3
|
2024-09-20 12:00:37
|
A key thing to remember is that the E cores don't have multithreading. So for the Silicon of the same chips, you could've had that many threads anyway
|
|
|
lonjil
|
2024-09-20 12:01:11
|
wrong
|
|
2024-09-20 12:01:23
|
SMT actually kinda sucks these days
|
|
2024-09-20 12:02:49
|
SMT is good at making use of unused parts of a CPU core, but since we're in an era of increasing transistor density *without* reducing the energy consumption of transistors, things being unused is literally necessary to not make the chip not overheat to hell and back.
|
|
|
CrushedAsian255
|
2024-09-20 12:03:11
|
is SMT like Hyper threading?
|
|
|
lonjil
|
2024-09-20 12:03:16
|
yes
|
|
2024-09-20 12:03:35
|
simultaneous multi-threading, one core multiple threads
|
|
|
lonjil
SMT is good at making use of unused parts of a CPU core, but since we're in an era of increasing transistor density *without* reducing the energy consumption of transistors, things being unused is literally necessary to not make the chip not overheat to hell and back.
|
|
2024-09-20 12:03:49
|
and in any case, Intel's E cores are SUPER TINY
|
|
2024-09-20 12:04:04
|
you get way more than two of them for every P core you replace
|
|
2024-09-20 12:04:23
|
The P cores would need to have like, 8x SMT to give you the same number of threads
|
|
|
CrushedAsian255
|
2024-09-20 12:04:48
|
we also don't want a repeat of bulldozer though
|
|
|
lonjil
|
2024-09-20 12:05:30
|
you would have to really fuck up to repeat that
|
|
|
lonjil
SMT is good at making use of unused parts of a CPU core, but since we're in an era of increasing transistor density *without* reducing the energy consumption of transistors, things being unused is literally necessary to not make the chip not overheat to hell and back.
|
|
2024-09-20 12:08:50
|
so with SMT, you don't duplicate functional units, like ALUs and FPUs, since the point is to make use of unused units. But there are some things that you need to duplicate for each hyperthread. Most importantly, registers. In order to have two hyperthreads that run well, you need to double the size of your register file, and you need to double the complexity of your register rename engine.
That's relatively cheap in terms of transistors, so back in the day, it made sense. But today, the biggest cost isn't transistors, it's power. And the register rename logic is the single most power hungry part of the CPU that needs to be turned on 100% of the time. So as soon as you add SMT, you double the minimum power draw of your CPU core, but you way less than double your potential performance.
|
|
|
CrushedAsian255
|
|
lonjil
so with SMT, you don't duplicate functional units, like ALUs and FPUs, since the point is to make use of unused units. But there are some things that you need to duplicate for each hyperthread. Most importantly, registers. In order to have two hyperthreads that run well, you need to double the size of your register file, and you need to double the complexity of your register rename engine.
That's relatively cheap in terms of transistors, so back in the day, it made sense. But today, the biggest cost isn't transistors, it's power. And the register rename logic is the single most power hungry part of the CPU that needs to be turned on 100% of the time. So as soon as you add SMT, you double the minimum power draw of your CPU core, but you way less than double your potential performance.
|
|
2024-09-20 12:09:56
|
> you don't duplicate functional units, like ALUs and FPUs
that really just sounds like bulldozer
or i guess its fine because they're not marketing SMT as different cores, just different logical threads
|
|
|
lonjil
|
2024-09-20 12:10:32
|
the problem with bulldozer was that it was garbage in general, not just that it shared FPUs between cores
|
|
2024-09-20 12:10:47
|
I mean, it didn't share ALUs, but it still had shit integer performance
|
|
2024-09-20 12:11:29
|
Apple shares their ARM SME unit between 4 cores and I've never seen anyone complain about it
|
|
|
Quackdoc
|
|
CrushedAsian255
we also don't want a repeat of bulldozer though
|
|
2024-09-20 12:29:39
|
bulldozer was chad
|
|
2024-09-20 12:30:16
|
AMD got screwed because they didn't predict the future properly, and made a great workaround of a "just in case" strategy that panned out
|
|
|
CrushedAsian255
|
2024-09-20 01:01:31
|
Given modern compression formats like Brotli, does minifying JS still help significantly?
|
|
|
username
|
2024-09-20 01:05:38
|
isn't part of the benefit of minifying related to decreasing the time/effort to parse the JS? if so then stuff like Brotli would have no benefits to that effect since the JS would be decompressed and then the unminifyed JS would be parsed
|
|
|
CrushedAsian255
|
2024-09-20 01:07:35
|
Oh yeah that’s a thing
|
|
|
_wb_
|
2024-09-20 01:45:44
|
parsing is usually the cheapest thing compared to all the other stuff a JS engine has to do
|
|
|
DZgas Ж
|
|
frep
what res/bitrate/preset?
|
|
2024-09-20 02:11:41
|
preset 1 (I don't think it makes sense since I'm using my fork) on other presets, the speed difference is the same
|
|
2024-09-20 02:14:11
|
since SVT has a parameter that allows you to completely disable the native assembler optimizer, you can do this:
The effect of processor instructions on the encoding speed of SVT-AV1 with identical PROCESSOR/consumption/power
```
mmx |sse 1x
sse2 |sse3 1,32x
ssse3 1.44x
sse4_1|sse4_2|avx 5.3x
avx2 |avx512 6.9x
```
|
|
|
lonjil
SMT actually kinda sucks these days
|
|
2024-09-20 02:15:46
|
yep
|
|
2024-09-20 02:19:51
|
It makes logical sense that "more CPU area is occupied by work at a certain point.".. But it doesn't make sense if I just set the frequency boost to the temperature limits, without SMT. It comes out faster by ~5% when encoding.
since the CPU usage density is less filled/clogged with queues and all sorts of garbage instructions that wander/walk back and forth
|
|
2024-09-20 02:21:29
|
This is probably effective if something cannot fully load the processor, but since I use CPU only for compression and for the neural network. Situations where the processor cannot be loaded - doesn't happen
|
|
|
lonjil
someone needs to make a CPU with like, 8 to 16 "big" cores, and like 64 small cores for background processes
|
|
2024-09-20 02:24:41
|
The "little" cores are really the funniest thing I've seen.
|
|
2024-09-20 02:26:04
|
are so ____ that some are advised to turn them off so that more power goes to larger cores, as it will heat up less, giving more peak speed
|
|
|
frep
|
|
DZgas Ж
are so ____ that some are advised to turn them off so that more power goes to larger cores, as it will heat up less, giving more peak speed
|
|
2024-09-20 04:11:08
|
skill (cooling) issue
|
|
|
gb82
|
|
lonjil
you get way more than two of them for every P core you replace
|
|
2024-09-21 04:48:01
|
yeah you get 4 for every P-core die area
|
|
|
_wb_
|
2024-09-22 08:37:46
|
I guess I will renew flif.info one more year, and then I think I will stop renewing it. The site is on https://github.com/FLIF-hub/FLIF-hub.github.io so it will still be available, just with an uglier url
|
|
|
Meow
|
2024-09-22 08:54:23
|
Better to let someone take over the domain or it will become an online scam website
|
|
|
Demiurge
|
2024-09-22 08:57:28
|
.info is one of the cheapest right?
|
|
|
Meow
|
2024-09-22 08:58:51
|
And it's quite old
|
|
|
_wb_
|
2024-09-22 09:00:41
|
If someone wants to take it over, let me know. As long as you don't plan to make it an online scam website 🙂
|
|
|
Meow
|
2024-09-22 09:03:53
|
The original domain of an old wiki software was transferred to a scam as its owner forgot renewing
|
|
|
CrushedAsian255
|
2024-09-22 09:17:52
|
Maybe make it a redirect to jpegxl.info
|
|
2024-09-22 01:33:18
|
How many people are going to FLIF.info ?
|
|
|
Meow
|
|
CrushedAsian255
How many people are going to FLIF.info ?
|
|
2024-09-22 02:59:34
|
From Wikipedia
|
|
|
yoochan
|
|
CrushedAsian255
How many people are going to FLIF.info ?
|
|
2024-09-22 03:52:47
|
I did a lot before the jpeg xl era 😅 I found the progressive loading demo (with the fish) so relaxing
|
|
|
Cacodemon345
|
|
gb82
|
|
_wb_
If someone wants to take it over, let me know. As long as you don't plan to make it an online scam website 🙂
|
|
2024-09-22 05:25:04
|
I'd be happy to take it over & redirect it to a page on the Codec Wiki covering FLIF
|
|
|
AccessViolation_
|
|
Meow
From Wikipedia
|
|
2024-09-22 06:16:12
|
Someone should probably replace them with archived links
|
|
2024-09-22 06:16:27
|
I would do it, but now that I've said this it would doxx me <:galaxybrain:821831336372338729>
|
|
|
RaveSteel
|
2024-09-22 06:46:16
|
Since JXL is partially based on FLIF it would maybe make sense to archive the original site on the info website for jxl and either refer to it if it is discussed on the main page or possibly create a subpage/section where the creation of JPEG XL is documented. There the FLIF stuff would be fitting
|
|
|
yoochan
|
|
RaveSteel
Since JXL is partially based on FLIF it would maybe make sense to archive the original site on the info website for jxl and either refer to it if it is discussed on the main page or possibly create a subpage/section where the creation of JPEG XL is documented. There the FLIF stuff would be fitting
|
|
2024-09-22 07:05:02
|
on FUIF to be precise, even if FUIF is a work based on FLIF
|
|
|
Meow
|
|
AccessViolation_
Someone should probably replace them with archived links
|
|
2024-09-23 06:55:52
|
It's been frequently archived so it's not urgent to replace http://web.archive.org/web/20240922105531/https://flif.info/
|
|
2024-09-23 06:58:37
|
Even if the link were dead, a bot would replace it automatically
|
|
|
DZgas Ж
|
2024-09-23 12:39:37
|
AV1 -- CDEF -- enable-restoration=1 increases the quality on super-super strong compression, but since it is a post-post-filter, it also takes away from 10% to 25% of the decoding speed
In 99% of cases, it is better to turn it off, 100% it needs to be turned off if it is a recording of the gameplay of the game
AV1 -- Temporal Filter -- enable-tf=1 by default, this is the most destructive thing in the codec, it kills smooth lines, low-gradient colors and details, and moves objects that should always be stationary. Must always be turned off for all parameters
The hidden **Warped Motion** level destroys the decoding speed. Completely violates the standards of the AV1 levels. In order to comply with the level 3.1 standard at 1280x720, it must be completely disabled. Since super-complex vercors heavily load decoding -- Because on the best presets the number of real blocks is many times greater, due to the more complex division of large blocks into small ones. Combined with 10 bits of color, this greatly reduces the decoding speed. -- this WM parameters do give a *micro bit* of quality in the case when an object is overlapped by another object, but on presets like -1 0 1 it is fully compensated by complex block separation. -- on presets like 4+, the number of small blocks is small enough that the overlap takes a maximum of 10% of the decoding, so WM can be good on weak presets
|
|
2024-09-23 12:44:13
|
The key frame
original frame
key frame with Temporal Filter
key frame whitout
|
|
2024-09-23 10:05:00
|
For a very long time, it seemed to me that my old amd processor had special instructions built in exclusively for encoding and decoding JPEG. It seemed logical. Although I don't have a graphics core either.
Many years later, well, it turned out to be true. (at the expense of 3DNow instructions!)
https://libjpeg-turbo.org/About/SIMDCoverage
|
|
2024-09-24 12:59:29
|
<:SadOrange:806131742636507177>
|
|
|
username
|
|
username
it's looking like the next release of libwebp might have some minor improvements to lossless encoding size https://github.com/webmproject/libwebp/commit/f2d6dc1eefdae4056de4ae0dfa513f2857d91693
LATE EDIT:
there's also this commit https://github.com/webmproject/libwebp/commit/1bf198a22bd11b15ce74085939757b3361404d89
|
|
2024-09-24 07:02:40
|
some more commits for libwebp that relate to better lossless compression:
https://github.com/webmproject/libwebp/commit/367ca938f11eda8d69c57530d0aa4e3df0bd0537
https://github.com/webmproject/libwebp/commit/7861947813b7ea02198f5d0b46afa5d987b797ae
(EDIT heres a third one) https://github.com/webmproject/libwebp/commit/220ee52967c121adf3c690fbd0605a7de6371943
seems like lossless compression is going to use more memory/ram (not sure by how much exactly but seems like a relatively low'ish increase).
|
|
2024-09-26 05:27:26
|
alright so a friend and I wanted to test the compression gains with all 5 of these commits and uhhh th first test image we tried compresses noticeably worse at max compression effort with the master branch of libwebp <:ReeCat:806087208678588437>
|
|
2024-09-26 05:48:52
|
they made libwebp compress **WORSE** with all these commits designed to "**IMPROVE**" compression
|
|
2024-09-26 05:49:57
|
we even triple checked with different compiles and binaries and the results still came out with the newer commits compressing worse
|
|
|
HCrikki
|
2024-09-26 05:54:13
|
worse for smaller filesize? wouldnt be surprising a video codec prioritizes discarding even more detail for small wins in a an excel table (just dont show the low quality image)
|
|
|
Demez
|
2024-09-26 05:54:35
|
this is lossless compression
|
|
|
username
|
2024-09-26 05:54:37
|
I forgot to say this is for lossless
|
|
2024-09-26 05:54:39
|
yeah
|
|
2024-09-26 05:55:24
|
testing the main branch with all the mentioned commits against version 1.4.0 and the main branch comes out with larger files
|
|
|
HCrikki
|
2024-09-26 05:55:44
|
does libwebp do *lossless* animations btw?
|
|
|
username
|
2024-09-26 05:56:22
|
yeh though it's annoying to create them with the libwebp tools
|
|
|
jonnyawsom3
|
2024-09-28 05:34:07
|
Discord now supports animated WebP
|
|
2024-09-28 05:35:47
|
|
|
|
username
|
2024-09-28 05:35:58
|
https://discord.com/channels/794206087879852103/794206087879852106/1289443266475069523
|
|
|
jonnyawsom3
|
|
username
|
2024-09-28 05:36:42
|
if only there was good tooling for animated WebPs
|
|
2024-09-28 05:38:20
|
the libwebp tools suck and FFmpeg sucks
|
|
2024-09-28 05:38:58
|
only converting GIFs to animated WebP is a seemless process
|
|
|
VEG
|
|
|
|
2024-09-28 05:50:59
|
It looks like a static image for me 🤷♂️
|
|
|
Meow
|
|
username
only converting GIFs to animated WebP is a seemless process
|
|
2024-09-28 06:42:04
|
Some softwares can directly export WebP animations
|
|
2024-09-28 06:43:20
|
https://help.clip-studio.com/en-us/manual_en/600_animation/Export_animation.htm#1428921
|
|
|
HCrikki
|
2024-09-28 07:20:18
|
as long as one skips the gif part, final webp/webm will be much higher quality and likely smaller too
|
|
|
Meow
|
2024-09-28 09:29:33
|
Although CSP users are somehow the group that hates WebP the most
|
|
|
CrushedAsian255
|
2024-09-28 10:51:53
|
Maybe their use case doesn’t work well with WebP
|
|
|
Meow
|
2024-09-28 10:58:02
|
Most of artists don't want to spend time on researching how to open and edit WebP
|
|
2024-09-28 10:59:01
|
They're especially furious about Chrome converting all their artworks to WebP and their audiences unable to open
|
|
|
|
JendaLinda
|
2024-09-28 05:00:59
|
Gimp supports animated WebP but doesn't support animated PNG.
|
|
2024-09-28 05:12:38
|
APNG is at least supported by ffmpeg.
|
|
|
Meow
|
2024-09-28 05:18:27
|
CSP has been supporting APNG for long time
|
|
|
|
JendaLinda
|
2024-09-28 05:23:36
|
The most useful tool for APNG is TwekPNG by my experience.
|
|
|
Quackdoc
|
|
Meow
Although CSP users are somehow the group that hates WebP the most
|
|
2024-09-28 05:26:32
|
that's because they kill quality when they export it lol
|
|
|
|
JendaLinda
|
2024-09-28 05:28:28
|
It's not that difficult to create good animated WebP, but convert it to something else is tricky.
|
|
|
HCrikki
|
2024-09-28 05:29:56
|
if you have the original videos, you go back to those and dont bother with converting from webp
|
|
|
|
JendaLinda
|
2024-09-28 05:32:05
|
What about AVIF? I was trying to create AVIF animation with transparent background but couldn't find any way to do it. Is it even possible?
|
|
|
Meow
|
|
Quackdoc
that's because they kill quality when they export it lol
|
|
2024-09-28 05:34:37
|
CSP didn't support WebP until this year
|
|
|
damian101
|
|
JendaLinda
What about AVIF? I was trying to create AVIF animation with transparent background but couldn't find any way to do it. Is it even possible?
|
|
2024-09-28 05:35:20
|
Yes, I can do it.
|
|
|
|
JendaLinda
|
2024-09-28 05:36:02
|
Everything I tried I got black background.
|
|
|
damian101
|
2024-09-28 05:36:34
|
maybe it's a decoding issue
|
|
2024-09-28 05:37:05
|
like, transparency for animated stuff is generally badly supported
|
|
2024-09-28 05:37:53
|
I have never created animated transparent AVIF, but I would know how to do that.
|
|
|
|
JendaLinda
|
2024-09-28 05:41:52
|
As AVIF is based on video, it's expected to be a good format for animation. It can take advantage of all video encoding techniques.
|
|
|
damian101
|
2024-09-28 06:10:08
|
yes
|
|
2024-09-28 06:11:04
|
Already waiting for AVIF support everywhere so I can make my profile picture 8 MB Shrek playing in real-time.
|
|
|
_wb_
|
2024-09-28 06:14:40
|
GIF is the original sin. Things would be easier if still images and animation would not be as conceptually mixed.
|
|
|
juliobbv
|
|
Already waiting for AVIF support everywhere so I can make my profile picture 8 MB Shrek playing in real-time.
|
|
2024-09-28 06:20:22
|
size: 16x9... pixels
|
|
|
damian101
|
|
_wb_
GIF is the original sin. Things would be easier if still images and animation would not be as conceptually mixed.
|
|
2024-09-28 06:21:02
|
I don't understand what you are talking about. GIF is a video format.
|
|
|
RaveSteel
|
|
JendaLinda
What about AVIF? I was trying to create AVIF animation with transparent background but couldn't find any way to do it. Is it even possible?
|
|
2024-09-28 06:21:26
|
ffmpeg is unable to create transparent avif, you can use avifenc for that. If the source is a video, you may be able to pipe it ti avifenc using ffmpeg's yuv4mpegpipe
|
|
|
juliobbv
|
|
I don't understand what you are talking about. GIF is a video format.
|
|
2024-09-28 06:22:16
|
before the PNG format became popular, GIFs were used way more for drawn/palletized stills
|
|
|
damian101
|
2024-09-28 06:22:46
|
(I was joking obviously...)
|
|
|
juliobbv
|
2024-09-28 06:22:58
|
ah gotcha 😄
|
|
|
damian101
|
2024-09-28 06:24:04
|
There is an important distinction between video and animation, though: Video has audio, animation does not.
|
|
2024-09-28 06:25:20
|
I mean, of course there can be standard video content without audio, but that's kinda rare...
|
|
|
_wb_
|
2024-09-28 06:37:52
|
Movies were silent for quite a while, historically 🙂
|
|
|
damian101
|
2024-09-28 06:38:59
|
usually played back with music, though
|
|
|
_wb_
|
2024-09-28 07:30:44
|
Yes, must have been fun to be a pianist back then
|
|
|
damian101
|
2024-09-28 08:16:09
|
if you had the skills, definitely
|
|
2024-09-28 08:16:44
|
Shostakovich got a lot his inspiration from his work as a cinema pianist.
|
|
|
|
JendaLinda
|
2024-09-28 08:37:09
|
GIF was actually not meant for animation. GIF was an image format and could do slides. Looping is an unofficial extension from Netscape.
|
|
2024-09-28 08:41:36
|
GIF was actually the only usable format for transparent images until the general adoption of Google Chrome because Internet Explorer didn't support transparency in PNG.
|
|
|
RaveSteel
ffmpeg is unable to create transparent avif, you can use avifenc for that. If the source is a video, you may be able to pipe it ti avifenc using ffmpeg's yuv4mpegpipe
|
|
2024-09-28 08:50:11
|
It would be much easier if avifenc could just read APNG directly.
|
|
2024-09-28 08:53:19
|
Read APNG with ffmpeg and piping it somehow to avifenc is kinda cumbersome.
|
|
|
RaveSteel
|
2024-09-28 09:14:40
|
Well, the other option would be to extract all video frames and use avifenc directly on those frames, but that is even more cumbersome
|
|
|
|
JendaLinda
|
2024-09-28 09:15:59
|
What about the transparency?
|
|
|
RaveSteel
|
|
JendaLinda
What about the transparency?
|
|
2024-09-28 09:16:18
|
In the latter case?
|
|
2024-09-28 09:16:33
|
It would be retained, if you extract the frames as PNGs
|
|
2024-09-28 09:19:49
|
According to `ffmpeg -h encoder=av1`
av1_nvenc supports alpha with bgra and rgba, but requires an Nvidia GPU. Try that if you have one
|
|
|
|
JendaLinda
|
2024-09-28 09:21:45
|
I guess GTX 1050ti won't do.
|
|
|
RaveSteel
|
2024-09-28 09:22:22
|
I would still try it, this is the only way to get an alpha AVIF with ffmpeg directly
|
|
|
|
JendaLinda
|
2024-09-28 09:22:51
|
No way, it can barely do HEVC
|
|
2024-09-28 09:23:49
|
Anyway, extracting to individual PNGs the frame timigs wouldn't be preserved, so piping RGB+alpha it is.
|
|
|
RaveSteel
|
2024-09-28 09:24:51
|
In case you don't know how:
`ffmpeg -i INPUT -f yuv4mpegpipe -strict -1 -pix_fmt yuva444p - | avifenc --stdin OUT.avif`
|
|
|
|
JendaLinda
|
2024-09-28 09:35:41
|
Couldn't I pipe RGB for lossless?
|
|
|
RaveSteel
|
2024-09-28 09:52:47
|
No, neither ffmpeg nor avifenc allow that
|
|
2024-09-28 09:53:03
|
You'll have to settle for yuva444p
|
|
|
A homosapien
|
2024-09-28 10:00:56
|
Why would you use lossless for avif?
|
|
|
|
JendaLinda
|
2024-09-28 10:18:46
|
Simple, in animation, AVIF can take advantage of AV1 interframes so in this particular case it might be better than other lossless formats.
|
|
|
RaveSteel
You'll have to settle for yuva444p
|
|
2024-09-28 10:19:28
|
That's unfortunate. I guess this is just limitation of the current implementation. Is it at least full range YUV?
|
|
|
RaveSteel
|
2024-09-28 10:20:12
|
AVIF lossless is often/sometimes trading blows with lossless WebP, so I would recommend you compare it with a few of the files you want to convert
|
|
|
JendaLinda
That's unfortunate. I guess this is just limitation of the current implementation. Is it at least full range YUV?
|
|
2024-09-28 10:20:37
|
Yes, yuva444p is full 4:4:4
|
|
2024-09-28 10:20:45
|
together with alpha that is
|
|
2024-09-28 10:21:33
|
FFmpeg supports alpha with WebP directly
|
|
|
|
JendaLinda
|
2024-09-28 10:21:47
|
I mean, if it's PC range or TV range.
|
|
|
RaveSteel
|
2024-09-28 10:22:24
|
`for y4m or stdin, range is retained`
|
|
2024-09-28 10:22:32
|
it will be the same as input
|
|
|
|
JendaLinda
|
2024-09-28 10:23:45
|
PC range pixel formats usually have "j" in the name.
|
|
|
RaveSteel
|
2024-09-28 10:38:28
|
Since your source files are APNG I can pretty much guarantuee that they are full range which will be retained with the command I sent, outputting full range AVIFs at the end
|
|
2024-09-28 10:46:58
|
No, I was wrong, it actually does output a TV range avif
|
|
|
spider-mario
|
|
JendaLinda
PC range pixel formats usually have "j" in the name.
|
|
2024-09-28 10:50:46
|
iirc, the “j” pix_fmts are deprecated; it’s a separate -color_range flag now
|
|
2024-09-28 10:52:01
|
in fact, I see discussions about their removal https://patchwork.ffmpeg.org/project/ffmpeg/cover/20240112082950.41637-1-ffmpeg@haasn.xyz/
|
|
2024-09-28 10:52:56
|
https://www.reddit.com/r/ffmpeg/comments/1c6nnsq/yuv_and_yuvj/l04i38c/
|
|
|
|
JendaLinda
|
2024-09-28 10:53:41
|
Alright, the importing thing is if the flag makes it all through the entire process.
|
|
|
spider-mario
|
2024-09-28 11:04:38
|
maybe it makes a difference to specify it explicitly?
|
|
|
RaveSteel
|
2024-09-28 11:07:40
|
<@688076786525143117> What sources do your APNGs have? Would you be able to share one of the APNGs here?
|
|
|
A homosapien
|
|
JendaLinda
Simple, in animation, AVIF can take advantage of AV1 interframes so in this particular case it might be better than other lossless formats.
|
|
2024-09-29 06:29:58
|
I did some testing with this test animation, RGBA lossless avif doesn't even beat animated png 🥲. YUVA avif landed in between apng and webp.
|
|
2024-09-29 06:30:21
|
Moral of the story, lossless avif sucks, always use lossy
|
|
2024-09-29 07:04:00
|
Here are the sizes:
```
rgb lossless avif --------- 1.07 MB
apng ---------------------- 934 KB
yuva "lossless" avif ------ 908 KB
webp ---------------------- 631 KB
jxl ----------------------- 521 KB
```
|
|
|
Meow
|
|
A homosapien
Here are the sizes:
```
rgb lossless avif --------- 1.07 MB
apng ---------------------- 934 KB
yuva "lossless" avif ------ 908 KB
webp ---------------------- 631 KB
jxl ----------------------- 521 KB
```
|
|
2024-09-29 07:38:23
|
Are WebP and JXL lossless too?
|
|
|
_wb_
|
2024-09-29 07:45:32
|
AVIF cannot exploit any correlation between alpha and color, since those are in separate codestreams.
|
|
|
A homosapien
|
|
Meow
Are WebP and JXL lossless too?
|
|
2024-09-29 08:08:32
|
all comparisons are lossless of course
|
|
|
CrushedAsian255
|
|
A homosapien
Here are the sizes:
```
rgb lossless avif --------- 1.07 MB
apng ---------------------- 934 KB
yuva "lossless" avif ------ 908 KB
webp ---------------------- 631 KB
jxl ----------------------- 521 KB
```
|
|
2024-09-29 09:02:14
|
Is lossless in quotes because it’s the annoying yuv rounding error thing?
|
|
|
A homosapien
|
2024-09-29 09:02:48
|
Converting RGB to YUV is an inherently lossy process
|
|
|
CrushedAsian255
Is lossless in quotes because it’s the annoying yuv rounding error thing?
|
|
2024-09-29 09:10:38
|
https://github.com/AOMediaCodec/libavif/wiki/Drift
|
|
|
|
JendaLinda
|
2024-09-29 09:32:08
|
I was questioning if lossless and/or transparent animated AVIF is possible at all. Apparently there are some ways to do it but it's not worth the trouble.
|
|
2024-09-29 09:49:25
|
WebP is apparently better for lossless.
|
|
|
jonnyawsom3
|
2024-09-29 09:50:38
|
AV1 doesn't even beat PNG most of the time, so naturally WebP and then JXL will beat it
|
|
|
RaveSteel
|
|
JendaLinda
WebP is apparently better for lossless.
|
|
2024-09-29 09:51:01
|
Not always, but as I said yesterday AVIF and WebP are ofen/sometimes trading blows, WebP is often better, but not always
|
|
|
|
JendaLinda
|
2024-09-29 09:51:20
|
Also, I think lossy WebP is perfectly fine for lossy animation, even with the 4:2:0 TV range. Most people don't seem to care about color fidelity in animation anyway, if they're using GIF.
|
|
2024-09-29 09:51:51
|
I fthey cared, they would use at least APNG.
|
|
|
jonnyawsom3
|
2024-09-29 09:53:07
|
Most animations are better stored lossless, with either limited color palette and sharp angles or smooth gradients in shading. Videos turned into GIFs on the other hand...
|
|
|
|
JendaLinda
|
2024-09-29 09:55:58
|
At the end, it depends on the application which format can be used. There are still websites that don't allow uploads in WebP.
|
|
2024-09-29 10:00:41
|
I was trying to optimize some GIFs by converting them to APNG. And it was both success and failure. Success if the GIF was using only global palette, failure if the GIF was using local palettes. In that case, APNG got bigger.
|
|
|
Cacodemon345
|
|
JendaLinda
WebP is apparently better for lossless.
|
|
2024-09-29 01:38:32
|
There's no intraframe coding utilized for animations if I read the source correctly.
|
|
|
|
JendaLinda
|
2024-09-29 02:29:06
|
But that doesn't help lossless AVIF much.
|
|
2024-09-29 02:30:11
|
WebP can still do simple difference frames like GIF does.
|
|
|
_wb_
|
2024-09-29 03:08:10
|
For natural video, av1 will be much better than anything intra-only (or only simple inter like gif/apng/webp/jxl)
|
|
2024-09-29 03:09:19
|
At least for delivery quality. For authoring workflows and high-end applications like digital cinema, intra-only is the way to go.
|
|
|
Cacodemon345
|
2024-09-29 03:10:11
|
I wish there was an alternate AVIF decoder library for C that didn't rely on libyuv.
|
|
2024-09-29 03:10:18
|
And still maintained.
|
|
|
damian101
|
|
_wb_
At least for delivery quality. For authoring workflows and high-end applications like digital cinema, intra-only is the way to go.
|
|
2024-09-29 03:47:10
|
Well, the current intra-only approach used in digital cinema delivers significantly degraded quality, much worse than what you get on UHD Blu-ray, 4K DCP is severely bit-starved on usual movie content. That's because each JPEG2000 frame can only be ~1.24 MB MiB in size max in a standard 24 fps digital cinema package, no matter if 4K or 2K, due to a hard bitrate limit of 250 Mbit/s.
|
|
2024-09-29 03:47:49
|
Even worse, every 4K DCP JPEG2000 frame needs to contain a 2K JPEG2000 frame for backwards compatibility reasons with older projectors, using the scalability feature of JPEG2000.
Really wouldn't be surprised if 2K cinema often looked significantly better than 4K, if supplied with a 2K-only DCP.
|
|
2024-09-29 03:49:08
|
3D and HFR have a 500 Mbit/s limit. At least those don't need to have the fallback 2K images. Still, with ~0.5 MiB per frame for 120fps content this probably means almost garbage tier quality at 4K... pointless to even support 120 fps with these restrictions...
|
|
|
_wb_
|
2024-09-29 03:52:29
|
I didn't realize the bitrate limit was that low, and not different for 4K than for 2K
|
|
|
damian101
|
|
_wb_
I didn't realize the bitrate limit was that low, and not different for 4K than for 2K
|
|
2024-09-29 03:53:14
|
The only JPEG2000 hardware decoder on the market back then (some FPGA by Xilinx) couldn't do more than that. Only reason why.
|
|
2024-09-29 03:54:59
|
And for 2K, it was ok.
|
|
|
_wb_
|
2024-09-29 04:09:53
|
Strange they didn't just bump up the limits
|
|
|
damian101
|
2024-09-29 04:17:55
|
They didn't want to complicate distribution.
Thus backwards-compatible 4K DCPs seemed like a great idea.
To the marketing people anyway.
And 4K digital cinema still is little more than a marketing gimmick, due to the old inherited constraints.
|
|
|
Quackdoc
|
|
Cacodemon345
I wish there was an alternate AVIF decoder library for C that didn't rely on libyuv.
|
|
2024-09-29 04:19:18
|
its just mp4 demux + av1 decode + yuv->rgb, wiring these together probably isn't too painful
|
|
|
Cacodemon345
|
2024-09-29 04:20:02
|
It requires libyuv to scale the tiles.
|
|
|
Quackdoc
|
2024-09-29 04:21:21
|
interesting, I bet libyuv could be replaced in crabbyavif without too much issues hmmmm
|
|
|
|
JendaLinda
|
2024-10-01 09:22:17
|
`jpegtran` has an oversight that it adds JFIF marker even if EXIF marker already exists in the JPEG file, resulting in non-compliant EXIF file.
EXIF is supposed to be the first marker in JPEG file, so is JFIF, that means if EXIF exists, there's simply nowhere to put JFIF.
|
|
|
Meow
|
2024-10-04 05:00:50
|
Seems the latest OpenEXR version breaks my jpegli
`dyld[15035]: Library not loaded: /usr/local/opt/openexr/lib/libOpenEXR-3_2.31.dylib
Referenced from: <1CFE580E-5732-368B-B23D-9B98B64AEBDC> /Users/meow/Tools/jpegli/build/tools/cjpegli
Reason: tried: '/usr/local/opt/openexr/lib/libOpenEXR-3_2.31.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/openexr/lib/libOpenEXR-3_2.31.dylib' (no such file), '/usr/local/opt/openexr/lib/libOpenEXR-3_2.31.dylib' (no such file), '/usr/local/Cellar/openexr/3.3.0/lib/libOpenEXR-3_2.31.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/openexr/3.3.0/lib/libOpenEXR-3_2.31.dylib' (no such file), '/usr/local/Cellar/openexr/3.3.0/lib/libOpenEXR-3_2.31.dylib' (no such file)`
|
|
|
spider-mario
|
2024-10-04 05:11:00
|
oh, yeah, there are sometimes annoying problems like that
|
|
2024-10-04 05:11:29
|
in first intention, I usually open `CMakeCache.txt`, remove all `*_OpenEXR_*` variables to force CMake to find it again, and then rerun it
|
|
2024-10-04 05:11:46
|
if that fails, I set `JPEGXL_ENABLE_OPENEXR` to false
|
|
2024-10-04 05:12:55
|
(ah, wait, jpegli)
|
|
2024-10-04 05:13:25
|
ah, the variable still has that name there
|
|
2024-10-04 05:14:04
|
I’m not sure OpenEXR input makes much sense for jpegli anyway, so maybe it’s best to just disable it
|
|
|
Meow
|
|
spider-mario
in first intention, I usually open `CMakeCache.txt`, remove all `*_OpenEXR_*` variables to force CMake to find it again, and then rerun it
|
|
2024-10-04 05:24:43
|
Should I do anything else after editing CMakeCache.txt?
|
|
|
spider-mario
|
2024-10-04 05:36:29
|
rebuilding should be enough: it will detect that CMakeCache.txt has changed and will rerun cmake automatically
|
|
2024-10-04 05:36:41
|
you can rerun cmake by hand if you prefer
|
|
|
Meow
|
2024-10-04 05:44:25
|
Seems rerunning cmake or rebuilding the entire library of jpegli or libjxl now results in the same error:
`CMake Error at cmake/FindAtomics.cmake:55 (message):
Neither lock free instructions nor -latomic found.
Call Stack (most recent call first):
CMakeLists.txt:212 (find_package)`
|
|
2024-10-04 05:45:29
|
And developers for Telegram already faced it last year for libjxl
https://github.com/TelegramMessenger/Telegram-iOS/issues/1235
|
|
2024-10-04 06:01:04
|
WTF the build problem is caused Xcode
|
|
2024-10-04 06:03:23
|
Reinstalling Xcode Command Line Tool can solve all problems above
|
|
2024-10-04 06:08:42
|
How Apple f ed its users
|
|
|
jonnyawsom3
|
2024-10-05 02:36:31
|
Curious if anyone has seen or tried compiling this before https://vivivi.leprd.space/software/gifthermal/
|
|
|
CrushedAsian255
|
2024-10-06 06:11:29
|
Can AVIF be a interframe predictive or is it intra only?
|
|
|
username
|
|
CrushedAsian255
Can AVIF be a interframe predictive or is it intra only?
|
|
2024-10-06 06:15:43
|
for animated ones? you can just shove a AV1 stream into a AVIF so I guess the answer is yes it can be interframe predictive
|
|
|
VEG
|
2024-10-06 06:58:43
|
I always thought that AVIF limits this
|
|
|
_wb_
|
2024-10-06 06:59:32
|
Originally it did, but they changed the spec and now AVIF can contain arbitrary AV1 payloads
|
|
2024-10-06 07:01:10
|
So it's basically just a video container that promises not to have audio (or subtitles, or whatever else goes into video containers besides the video itself)
|
|
|
VEG
|
2024-10-06 07:12:32
|
Oh, clear
|
|
2024-10-06 07:16:57
|
Does it support alpha channel in this mode? 🤔
|
|
|
Tirr
|
2024-10-06 07:20:43
|
I remember alpha channel in AVIF is stored in a different codestream unrelated to color channels
|
|
2024-10-06 07:21:56
|
so I guess there are essentially two encoded images when there's alpha
|
|
|
CrushedAsian255
|
|
_wb_
So it's basically just a video container that promises not to have audio (or subtitles, or whatever else goes into video containers besides the video itself)
|
|
2024-10-06 07:22:11
|
does it support exif/jumbf/xmp metadata?
|
|
|
Quackdoc
|
|
Tirr
so I guess there are essentially two encoded images when there's alpha
|
|
2024-10-06 07:22:59
|
that is correct, this is also just in general a common old way of encoding alpha
|
|
|
CrushedAsian255
|
|
Quackdoc
that is correct, this is also just in general a common old way of encoding alpha
|
|
2024-10-06 07:28:35
|
\*cough cough\* JNG
|
|
|
_wb_
|
|
Tirr
so I guess there are essentially two encoded images when there's alpha
|
|
2024-10-06 12:01:50
|
Yes, and I guess for animated avif with alpha you basically have a color av1 for the RGB plus a grayscale av1 for the alpha
|
|
|
CrushedAsian255
does it support exif/jumbf/xmp metadata?
|
|
2024-10-06 12:02:19
|
Exif and xmp yes, JUMBF I dunno
|
|
|
damian101
|
|
VEG
Does it support alpha channel in this mode? 🤔
|
|
2024-10-06 03:02:24
|
Yes, it's just a separate grayscale av1 stream that functions as the mask.
|
|
|
username
|
2024-10-06 04:17:56
|
does anyone know any JPEG decoders that take advantage of restart markers for multithreading?
|
|
|
_wb_
|
2024-10-06 08:46:57
|
I think there are some proprietary ones that even add an app marker with the offsets so if encoded that way the decoder doesn't need to parse the bitstream to look for restart markers, but can just seek. The same thing exists for PNG too. It only gives you parallel decode with stripes though, not tiles (so only of limited use for region of interest decoding).
|
|
|
|
JendaLinda
|
2024-10-07 02:09:02
|
Even mozjpeg jpegtran is adding APP0 JFIF when APP1 EXIF already exists. Seems nobody bothered fixing this bug.
|
|
|
DZgas Ж
|
|
spider-mario
half-frame? wasn’t the interlacing on a line basis in both cases?
|
|
2024-10-07 02:33:05
|
it's funny that I remembered that old conversation. I wanted to add that the interlaced PAL scan looked better than the half-frame scan of SECAM and was less annoying.
After the collapse of the USSR, television operated in two SECAM+PAL systems from region to region. But in general, there was rapid digitalization, and at the moment there are only a few analog television outlets in Russia, whose owners decided to pay extra for the rent of analog frequencies. 1-2 channels on country.
Another funny fact is that, since Russia is a country that is well with space. We never got Netflix or anything like that. About wires. Everything works by satellites. Because of this, multi-storey buildings are literally hung with 10-20 satellite dishes on the side of the multi-storey building
|
|
2024-10-07 02:43:26
|
This is more of a joke, of course. But still the photos are real. https://discord.com/channels/794206087879852103/803950138795622455/1292859688932741170
|
|
2024-10-07 02:49:58
|
While in neighboring Poland, television has long been HEVC 1080p. In Russia, it was decided that rebuilding the networks of the whole of Russia is so expensive that it is better not to change anything and stay on 960x540 AVC as it is now. Anyway, television is dying, switching to satellite and the Internet.
It's a pity that my satellite set-top box does not display any information about the codec that is received from the satellite. Perhaps HVEC use been there for a long time, even on low-quality transmission... but at least for 4k channels, it is definitely yes. <:H265_HEVC:805856045347242016>
|
|
|
username
|
2024-10-07 03:11:32
|
continuing from https://discord.com/channels/794206087879852103/803663417881395200/1292810554091507752:
https://github.com/Yellow-Dog-Man/FreeImage/pull/17#issuecomment-2397145502
<@238552565619359744> rather then going lower for lossless effort why not get it closer to what the FreeImage and or libwebp defaults are? I don't know how and where Resonite exactly uses WebP/Image encoding however speed complaints seem to have only came after the lossless cruncher was enabled so surely something closer to default rather then lower is fine right?
|
|
|
jonnyawsom3
|
|
username
continuing from https://discord.com/channels/794206087879852103/803663417881395200/1292810554091507752:
https://github.com/Yellow-Dog-Man/FreeImage/pull/17#issuecomment-2397145502
<@238552565619359744> rather then going lower for lossless effort why not get it closer to what the FreeImage and or libwebp defaults are? I don't know how and where Resonite exactly uses WebP/Image encoding however speed complaints seem to have only came after the lossless cruncher was enabled so surely something closer to default rather then lower is fine right?
|
|
2024-10-07 03:20:45
|
Going for a setting that's both faster and smaller seems like a more appealing change for Frooxius to accept than doubling the encode time for the same relative gains
|
|
2024-10-07 03:21:52
|
I brought it up in the past to him and he said he doesn't care if the files are 50% larger so long as they're fast
|
|
|
username
|
2024-10-07 03:23:08
|
hm. also what where you comparing method 1 quality 20 to? was it method 3 and quality 30 or method 0 and quality 100
|
|
|
jonnyawsom3
|
2024-10-07 03:23:33
|
Also hence why I even mentioned setting both to 0, since as a live game most people just care that it shows up fast rather than how long until their storage quota is full
|
|
|
username
hm. also what where you comparing method 1 quality 20 to? was it method 3 and quality 30 or method 0 and quality 100
|
|
2024-10-07 03:24:05
|
Method 0 Quality 100, which is what the game currently uses (Confirmed via a SHA256 match)
|
|
|
A homosapien
|
2024-10-07 03:26:44
|
Jeez, might as well be using PNG at that point if you want speed that bad
|
|
|
jonnyawsom3
|
2024-10-07 03:27:58
|
It was worse than an optimized PNG
|
|
2024-10-07 03:28:41
|
Naturally JXL was faster and denser
|
|
|
A homosapien
|
2024-10-07 03:31:57
|
What kind of media are we talking about?
|
|
2024-10-07 03:32:02
|
Non-photographic?
|
|
|
jonnyawsom3
|
2024-10-07 03:32:47
|
In-game photos/screenshots
|
|
|
username
|
2024-10-07 03:33:17
|
oh also I probably should have mentioned that I left a comment (the link I posted) on the github pull request before posting in here
|
|
2024-10-07 03:33:48
|
the majority of the comment is based around the idea that your results where against method 3 and quality 30
|
|
|
jonnyawsom3
|
2024-10-07 03:38:55
|
I know, I'm writing a reply
|
|
2024-10-07 03:39:51
|
I just wish I hadn't gone to bed early for once last night so I could've explained it to you better
|
|
|
username
|
2024-10-07 03:41:24
|
at the moment I'm leaning towards leaving it at `-z 4` (method 3 and quality 30) rather then lowering or raising it
|
|
2024-10-07 03:42:20
|
it's like 2.5 presets lower then the default FreeImage settings
|
|
|
jonnyawsom3
|
2024-10-07 04:19:42
|
I'm assuming encode speed changes based on image content, because I can't replicate the timings on the original issue in the Resonite github
|
|
|
DZgas Ж
|
|
DZgas Ж
https://evanhahn.com/worlds-smallest-png/
|
|
2024-10-07 07:45:16
|
Today, one person tried to compress a png smaller than 83 bytes, today is the first time I needed this site
|
|
2024-10-07 08:03:38
|
discord can not play
vlc can not
mpc-hc can
mpv can
|
|
|
RaveSteel
|
2024-10-07 08:11:03
|
3kbps lmao
|
|
|
DZgas Ж
|
2024-10-07 08:18:30
|
<:This:805404376658739230> vorbis best codec for this
|
|
|
Crite Spranberry
|
2024-10-07 08:21:35
|
wat about opus
|
|
|
CrushedAsian255
|
|
Crite Spranberry
wat about opus
|
|
2024-10-07 08:27:43
|
Opus at 3.2 kbps (only goes by 0.4) sounds really weird
|
|
|
DZgas Ж
|
|
Crite Spranberry
wat about opus
|
|
2024-10-07 08:27:52
|
for music compression at 10 kbps, it is worse than mp3
|
|
|
CrushedAsian255
|
2024-10-07 08:27:57
|
You have to force the encoder to go below 6kbps
|
|
|
DZgas Ж
|
2024-10-07 08:29:23
|
https://github.com/facebookresearch/encodec If you want to .... then use this. at 12 kbps, it sounds quite good on opus 64 kbps + stereo. I'm telling you why my vorbis file doesn't play everywhere
|
|
|
Crite Spranberry
|
2024-10-07 08:29:27
|
What if I told you could get a pretty long song at full 44100 or perhaps beyond under a MB
|
|
2024-10-07 08:30:18
|
This is 730KB <:t_:1240995769952112692>
(spectral is from 40MB FLAC conversion)
|
|
|
DZgas Ж
|
|
Crite Spranberry
What if I told you could get a pretty long song at full 44100 or perhaps beyond under a MB
|
|
2024-10-07 08:31:16
|
bruh. my link above
|
|
|
Crite Spranberry
|
2024-10-07 08:31:37
|
What if I told you this technology was older than me
|
|
|
DZgas Ж
|
2024-10-07 08:32:06
|
🥱
|
|
|
DZgas Ж
https://github.com/facebookresearch/encodec If you want to .... then use this. at 12 kbps, it sounds quite good on opus 64 kbps + stereo. I'm telling you why my vorbis file doesn't play everywhere
|
|
2024-10-07 08:32:50
|
|
|
|
Crite Spranberry
|
2024-10-07 08:33:14
|
<:t_:1240995769952112692>
|
|
2024-10-07 08:34:41
|
Basically this is what you would call a tracker, which basically is a collection of uncompressed WAV sounds with instructions on where they go
Basically the computer follows these instructions to play the song
Therefore you can have basically an infinitely long song in a small file
|
|
|
DZgas Ж
|
2024-10-07 08:35:02
|
doesn 't impress
|
|
|
Crite Spranberry
|
|
RaveSteel
|
|
Crite Spranberry
Basically this is what you would call a tracker, which basically is a collection of uncompressed WAV sounds with instructions on where they go
Basically the computer follows these instructions to play the song
Therefore you can have basically an infinitely long song in a small file
|
|
2024-10-07 08:36:52
|
aka a MIDI file
|
|
2024-10-07 08:37:04
|
or at least very similar lmao
|
|
|
Crite Spranberry
|
2024-10-07 08:37:15
|
I guess you could call it a midi with a bundled soundfont
|
|
|
damian101
|
|
CrushedAsian255
Opus at 3.2 kbps (only goes by 0.4) sounds really weird
|
|
2024-10-07 09:06:41
|
no wonder, it's purely optimized for voice down there
|
|
|
DZgas Ж
<:This:805404376658739230> vorbis best codec for this
|
|
2024-10-07 09:07:22
|
I think fdk-aac is probably better.
|
|
|
DZgas Ж
|
|
I think fdk-aac is probably better.
|
|
2024-10-07 09:08:13
|
8 kbps cbr minimum
|
|
|
damian101
|
2024-10-07 09:08:27
|
oh right...
|
|
2024-10-07 09:08:42
|
this is really dumb anyway
|
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
|
|
RaveSteel
aka a MIDI file
|
|
2024-10-08 12:58:48
|
the two are very different
|
|
|
I think fdk-aac is probably better.
|
|
2024-10-08 12:59:48
|
MP3 (liblame) < Vorbis (libvorbis) ~ AAC-LC (libfdk_aac) < AAC-LC (iTunes) < Opus (libopus)
|
|
|
damian101
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
MP3 (liblame) < Vorbis (libvorbis) ~ AAC-LC (libfdk_aac) < AAC-LC (iTunes) < Opus (libopus)
|
|
2024-10-08 01:00:11
|
this was for ~4 kbps
|
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
|
2024-10-08 01:00:26
|
darn I have no idea on extremely low bitrates
|
|
|
RaveSteel
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
the two are very different
|
|
2024-10-08 01:01:36
|
A strong similarity does exist, no? A tracker file and a MIDI file are interpreted by the software playing the file. Of course the tracker file has, at least according to above comment, I have never had tracker files or software installed, soundfiles which are then played according to the instructions, similar to a MIDI file. Right?
|
|
|
damian101
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
MP3 (liblame) < Vorbis (libvorbis) ~ AAC-LC (libfdk_aac) < AAC-LC (iTunes) < Opus (libopus)
|
|
2024-10-08 01:02:07
|
fdk-aac -m [3-5] beats anything qaac has to offer, and even Opus on very variable content at high quality
|
|
2024-10-08 01:02:15
|
just by having superior consistency
|
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
|
|
RaveSteel
A strong similarity does exist, no? A tracker file and a MIDI file are interpreted by the software playing the file. Of course the tracker file has, at least according to above comment, I have never had tracker files or software installed, soundfiles which are then played according to the instructions, similar to a MIDI file. Right?
|
|
2024-10-08 01:04:01
|
Tracker files are monophonic on each channel with voice control events. MIDI files are polyphonic, can contain arbitrary metadata and can include effect settings, device configurations and more.
|
|
2024-10-08 01:06:11
|
They may look similar on the surface because both have audio synthesized in real-time, but when you really dig into the rabbit hole...
|
|
|
jonnyawsom3
|
2024-10-08 01:08:48
|
Trackers actually came up the other day https://discord.com/channels/794206087879852103/806898911091753051/1290666110798270476
|
|
|
damian101
|
|
fdk-aac -m [3-5] beats anything qaac has to offer, and even Opus on very variable content at high quality
|
|
2024-10-08 01:09:47
|
Well, at least -m 4 and -m 5 can definitely beat Opus on diverse content, like movie audio.
|
|
|
Demiurge
|
2024-10-08 01:56:33
|
So in other words, trackers were designed for creating music and midi files were designed for controlling hardware?
|
|
|
DZgas Ж
|
2024-10-08 02:15:17
|
To compress the 3 ep of TADC, I had to write my own algorithm, an analog of AQ mode 3 in x264 and x265, to dynamically determine the brightness in the frame, to increase the bitrate
I split the episode into keyframes for 10 seconds and compress each one with its own CRF step
Because AV1 all dev apparently decided to give a f... about it all👍
|
|
|
|
afed
|
2024-10-08 02:19:51
|
<https://github.com/gianni-rosato/svt-av1-psy>
|
|
|
DZgas Ж
|
|
afed
<https://github.com/gianni-rosato/svt-av1-psy>
|
|
2024-10-08 02:39:25
|
full of code
|
|
2024-10-08 02:44:19
|
```python
def adjust_qindex(qindex, avg_luma, frame_luma_bias, temporal_layer_index):
return qindex + round(-((255 - avg_luma) / (1024.0 / (temporal_layer_index * 4 * (0.01 * frame_luma_bias)))) ** 0.5 * (qindex / 8.0)) if frame_luma_bias != 0 else qindex
initial_qindex = 62
avg_luma = 32
frame_luma_bias = 100
temporal_layer_index = 2
adjusted_qindex = adjust_qindex(initial_qindex, avg_luma, frame_luma_bias, temporal_layer_index)
print(f"out q: {adjusted_qindex}")
```
to check what quality will be given at what brightness, I wrote this function in python like this
|
|
2024-10-08 02:47:09
|
in fact, I'm not very happy with the flexibility of this func.
|
|
2024-10-08 02:49:07
|
I use much hard values... to implement using the psy method, will most likely have to change the entire logic of the psy function
|
|
2024-10-08 03:03:01
|
Although... in general, the code is written right inside the source code, so I can insert it into my fork with default parameters.
The problem is that the psy function changes the QP (frame-luma-bias 100) 10 times lower than I need. because I'm doing a very strong compression. So this feature will only help me a little by default.
|
|
2024-10-08 03:06:35
|
```c
qindex += (int32_t)rint(-pow((255 - pcs->ppcs->avg_luma) / (1024.0 / (pcs->temporal_layer_index * 4)), 0.5) * (qindex / 8.0));
```
|
|
2024-10-08 03:29:01
|
remove temporal_layer_index
`qindex += (int32_t)rint(-pow((255 - pcs->ppcs->avg_luma) / (256), 0.5) * (qindex / 8.0));`
|
|
2024-10-08 03:30:48
|
a very interesting thing that I did not want to add in any way is an increase in QP with strong brightness. I definitely didn't want that.
|
|
2024-10-08 05:29:32
|
The formula turned out to be not so simple
|
|
2024-10-08 05:31:26
|
|
|
2024-10-08 05:32:03
|
since QP is an integer, it little jumps
|
|
2024-10-08 07:43:16
|
It turned out to be a very difficult job on the eye. In addition, for some reason in function removes the effect for keyframes, which can cause a sharp jump in quality from the keyframe to the regular frame
|
|
|
afed
<https://github.com/gianni-rosato/svt-av1-psy>
|
|
2024-10-08 11:28:34
|
```C
qindex += (int32_t)rint(-pow((255 - pcs->ppcs->avg_luma) / (256.0), 12.0) * qindex);
```
As a result, after half a day of testing, I took the function in this form, on any default encoding
|
|
2024-10-09 08:38:27
|
an interesting bug mozjpeg-v4.1.1
DCT block in the 1280x7000 image is incorrectly rotated encoded
|
|
2024-10-09 08:41:15
|
mozjpeg-v4.1.1-win-x64\shared\Release\cjpeg.exe -baseline -notrellis -sample 2x2 -quality 50 -tune-psnr -quant-table 1 VK.png > VK.jpg
|
|
|
_wb_
|
2024-10-09 09:03:05
|
Woops how does that happen? Overflow in their deringing trick?
|
|
|
CrushedAsian255
|
2024-10-09 09:03:26
|
If anything looks more like it was inverted
|
|
|
_wb_
|
2024-10-09 09:03:43
|
Have you opened an issue for it? It should get fixed
|
|
|
username
|
2024-10-09 09:04:14
|
well first the latest version should probably be tested https://github.com/garyzyg/mozjpeg-windows/releases/latest
|
|
2024-10-09 09:05:10
|
the official mozjpeg repo can't do release tags anymore because they all lost permissions to do so
|
|
|
CrushedAsian255
|
|
_wb_
|
2024-10-09 09:06:25
|
This looks like the first AC coefficient got a sign flip, which you can totally get if you exaggerate coefficients and rely on decoder clamping to get sharp black/white edges without ringing, so you end up with an int16 overflow
|
|
2024-10-09 09:07:44
|
At least that is where I would look first to find this bug
|
|
|
username
|
|
CrushedAsian255
what
|
|
2024-10-09 09:08:09
|
https://github.com/mozilla/mozjpeg/issues/424#issuecomment-1249902681
|
|
|
DZgas Ж
|
|
_wb_
Have you opened an issue for it? It should get fixed
|
|
2024-10-09 11:21:44
|
I don't know, maybe I'm cursed. everything I touch is broken, codecs, browsers, operating systems. sometimes it seems to me that I am the only one who Uses. The only one who compresses, who plays games. the only user of manjaro. It's all such a disappointment.
I don't mind reporting it here, because there are people sitting here who care, but, I don't care, I showed a bug, you can repeat the bug and report it yourself
|
|
2024-10-09 11:32:15
|
for example, there is a bug in aac fdk, because of which my 2013 TV loses sound every 1-2 hours during playback, somewhere the legacy is broken, in some one byte. but no one knows about it
|
|
2024-10-09 11:34:21
|
Samsung J4 2018 does not support 10 bit AVC hardware decoder. but all AVC videos are decoded through a hardware decoder. Breaking 10 bits and YUV444 videos
|
|
2024-10-09 11:38:25
|
There were usually so many mistakes with manjaro that I'm surprised they haven't closed yet, they're so broken, part of life has become -- The only post on the entire Internet about error... without a solution
|
|
2024-10-09 11:39:00
|
Okay. here's a fun introduction to the ubuntu installer
|
|
|
RaveSteel
|
|
DZgas Ж
I don't know, maybe I'm cursed. everything I touch is broken, codecs, browsers, operating systems. sometimes it seems to me that I am the only one who Uses. The only one who compresses, who plays games. the only user of manjaro. It's all such a disappointment.
I don't mind reporting it here, because there are people sitting here who care, but, I don't care, I showed a bug, you can repeat the bug and report it yourself
|
|
2024-10-09 11:40:47
|
I know someone like that too lmao
|
|
|
DZgas Ж
|
2024-10-09 11:40:53
|
I am sure that I would write about errors in Jpeg XL every day. But so far I don't use Jpeg XL as I would like, only in Modular mode to archive photos once every half years
|
|
|
_wb_
|
2024-10-09 11:44:36
|
https://github.com/mozilla/mozjpeg/issues/444
|
|
|
DZgas Ж
|
|
_wb_
https://github.com/mozilla/mozjpeg/issues/444
|
|
2024-10-09 11:45:07
|
👍
|
|
2024-10-09 11:45:53
|
I'm surprised that didn't stop you
|
|
|
_wb_
|
2024-10-09 11:51:31
|
I didn't realize it had become that inactive. In any case a bug like that should be an easy fix, maybe I will look at it myself if it remains open for too long
|
|
|
DZgas Ж
|
2024-10-09 11:53:41
|
famously
|
|
|
RaveSteel
|
2024-10-09 11:54:01
|
Can the issue be replicated by using libjpeg-turbo? or does it only affect mozjpeg?
|
|
|
DZgas Ж
|
|
RaveSteel
Can the issue be replicated by using libjpeg-turbo? or does it only affect mozjpeg?
|
|
2024-10-09 11:55:01
|
the file is here, you can test it yourself https://discord.com/channels/794206087879852103/805176455658733570/1293674664798978150
|
|
|
_wb_
|
2024-10-10 12:01:45
|
Likely only mozjpeg, disabling the overshoot thing (which is a mozjpeg addition) solves the issue.
|
|
|
Demiurge
|
2024-10-10 12:04:16
|
Maybe use plain arch instead of manjaro 👀
|
|
|
DZgas Ж
|
|
Demiurge
Maybe use plain arch instead of manjaro 👀
|
|
2024-10-10 12:12:50
|
the inability to install without an internet connection is the funniest thing I've seen.
the instructions for moving the offline filesystem from a USB flash drive to a disk are more long than a bible
|
|
|
RaveSteel
|
2024-10-10 12:13:31
|
Use archinstall or EndeavourOS or one of the other Arch derivatives
|
|
|
Demiurge
|
2024-10-10 12:14:30
|
Why would you do that? You will have to download updates anyways. If you bootstrap arch with the latest online packages then you don't need to waste time downloading updates
|
|
|
DZgas Ж
|
|
RaveSteel
Use archinstall or EndeavourOS or one of the other Arch derivatives
|
|
2024-10-10 12:14:54
|
i use manjaro ok
just sudo systemctl disable --now lightdm.service --force
and kill every bad things
|
|
|
Demiurge
|
2024-10-10 12:15:29
|
The USB is meant as a bootable recovery and rescue disk, not as a template for your system
|
|
|
DZgas Ж
|
|
RaveSteel
Use archinstall or EndeavourOS or one of the other Arch derivatives
|
|
2024-10-10 12:15:45
|
> You will have to download updates anyways
no
|
|
|
Demiurge
|
2024-10-10 12:16:18
|
It has recovery and backup and partclone tools installed for system rescue
|
|
2024-10-10 12:17:22
|
It's a rescue disk, you're not meant to just copy it onto your hard drive...
|
|
|
DZgas Ж
|
|
Demiurge
The USB is meant as a bootable recovery and rescue disk, not as a template for your system
|
|
2024-10-10 12:17:26
|
You don't understand what I'm talking about. Arch cannot install itself. A bootable image to disk. can't. it does not have the ability to perform the installation. nothing at all. You need an internet connection
|
|
|
RaveSteel
|
2024-10-10 12:17:59
|
Do you not have an internet connection?
|
|
|
DZgas Ж
|
|
RaveSteel
Do you not have an internet connection?
|
|
2024-10-10 12:18:43
|
Why do I have to have it? it is not written on the ARCH website that this image is ONLINE-ONLY
|
|
2024-10-10 12:19:31
|
This is rather one of the funny problems. One of the hundreds I come across all the time
|
|
|
Demiurge
|
|
DZgas Ж
You don't understand what I'm talking about. Arch cannot install itself. A bootable image to disk. can't. it does not have the ability to perform the installation. nothing at all. You need an internet connection
|
|
2024-10-10 12:19:34
|
Yes, it's true. It's not designed to copy itself onto the drive. It's designed to be a rescue disk you can use for backup and repair purposes, and it's designed to retrieve packages from online
|
|
|
lonjil
|
2024-10-10 12:20:28
|
you don't need it to "copy itself onto the drive" to have a linux image that can do an installation without an internet connection
|
|
|
Demiurge
|
2024-10-10 12:20:37
|
It's designed that way because it saves time and disk space as long as you have an internet connection
|
|
|
DZgas Ж
|
2024-10-10 12:21:05
|
The problem was funnier when I found out that DEBIAN does not have a built-in SSH server in the CD image version. And I just couldn't connect the system local without an internet connection without install openssh server.
|
|
|
lonjil
|
2024-10-10 12:21:24
|
For example, Alpine Linux images simply have a large collection of package archives in a directory on the install image, which of course the package manager can install from just as well as from the Internet.
|
|
|
DZgas Ж
|
|
Demiurge
Yes, it's true. It's not designed to copy itself onto the drive. It's designed to be a rescue disk you can use for backup and repair purposes, and it's designed to retrieve packages from online
|
|
2024-10-10 12:22:31
|
That's why I call it more directly and offensively - not independent OS
|
|
|
Demiurge
|
2024-10-10 12:24:32
|
The arch iso has custom config designed to be a bootable rescue disk, you need different settings if it's only meant to stay on a single computer.
|
|
2024-10-10 12:25:06
|
It has lots of drivers for every type of system you could plug it into, but you only need the drivers for the system its being installed on
|
|
2024-10-10 12:25:34
|
What's wrong with installing it by downloading the latest packages online?
|
|
2024-10-10 12:25:50
|
Isn't that more logical?
|
|
2024-10-10 12:26:57
|
Personally I think Arch is not that great but it's probably the simplest Linux
|
|
2024-10-10 12:27:56
|
Debian is so bad it's tragic
|
|
|
DZgas Ж
|
|
lonjil
For example, Alpine Linux images simply have a large collection of package archives in a directory on the install image, which of course the package manager can install from just as well as from the Internet.
|
|
2024-10-10 12:28:32
|
as the person who knows more than me told me when I wrote to him, "what the fuck did I install Alpine on your advice and it can't run programs for me": --- Uh. glibc... localhost:~# ldd mysql libs (x86_64)1.2.4_git20230717 Oh, yes, that's what I was talking about... use manjaro... or something else)))
|
|
|
Demiurge
|
2024-10-10 12:31:12
|
Symbol not found just means you're trying to run a dynamic linked binary that has missing library dependencies.
|
|
2024-10-10 12:31:25
|
You are trying to run a binary that was compiled for glibc
|
|
|
RaveSteel
|
|
DZgas Ж
as the person who knows more than me told me when I wrote to him, "what the fuck did I install Alpine on your advice and it can't run programs for me": --- Uh. glibc... localhost:~# ldd mysql libs (x86_64)1.2.4_git20230717 Oh, yes, that's what I was talking about... use manjaro... or something else)))
|
|
2024-10-10 12:31:32
|
musl moment
|
|
|
Demiurge
|
2024-10-10 12:31:49
|
You should try running a non-glibc version
|
|
2024-10-10 12:31:53
|
Or compiling it
|
|
|
DZgas Ж
|
|
Demiurge
What's wrong with installing it by downloading the latest packages online?
|
|
2024-10-10 12:32:00
|
I believe that everything I can use should work offline too☄️
|
|
|
Demiurge
|
2024-10-10 12:32:10
|
Or sometimes installing gcompat helps
|
|
|
RaveSteel
|
|
DZgas Ж
I believe that everything I can use should work offline too☄️
|
|
2024-10-10 12:32:35
|
Luckily there are lots of installers providing an offline installer
|
|
2024-10-10 12:32:56
|
I.e. EndeavourOS, to just name one of them
|
|
|
Demiurge
|
|
DZgas Ж
I believe that everything I can use should work offline too☄️
|
|
2024-10-10 12:33:02
|
I mean it could work offline but the arch iso was just designed that way to save space on the ISO
|
|
|
DZgas Ж
|
2024-10-10 12:33:06
|
yep like this arch offline installer: manjaro
|
|
|
Demiurge
|
2024-10-10 12:34:09
|
Just a suggestion. It might be simpler for you to just use arch
|
|
2024-10-10 12:34:19
|
And install it online
|
|
|
DZgas Ж
|
2024-10-10 12:37:46
|
https://www.linux.org.ru/forum/linux-hardware/16090572 manjaro bug from 2021 (still work) --- The WI-FI device is turned off by the system. after opening the laptop lid. I checked it a week ago
|
|
|
Demiurge
Just a suggestion. It might be simpler for you to just use arch
|
|
2024-10-10 12:41:55
|
I don't think it meets my requirement to be offline. It's strange that you ignore it, giving an example of some advantages that I don't need at all.
|
|
|
RaveSteel
I.e. EndeavourOS, to just name one of them
|
|
2024-10-10 12:42:51
|
A system that I really just didn't get to, having found something sufficient
|
|
|
Demiurge
You should try running a non-glibc version
|
|
2024-10-10 12:44:52
|
No, the operating system is designed to run programs, the only task, not the other way around. Not in our time.
|
|
|
RaveSteel
I know someone like that too lmao
|
|
2024-10-10 01:00:17
|
ask him to become a speedrunner of games
|
|
|
Demiurge
|
2024-10-10 01:01:08
|
You can't run precompiled binaries that depend on things you don't have. A lot of games on steam no longer work on modern linux because they depend on old version of glibc
|
|
2024-10-10 01:02:09
|
You can't expect to be able to run some random dynamic linked binary file on any system
|
|
2024-10-10 01:02:41
|
Just use a different, compatible binary or make one
|
|
2024-10-10 01:03:19
|
And avoid glibc because it's a compatibility mess
|
|
|
DZgas Ж
|
|
Demiurge
You can't expect to be able to run some random dynamic linked binary file on any system
|
|
2024-10-10 01:03:33
|
i change os
|
|
|
Demiurge
|
2024-10-10 01:03:58
|
OS with new glibc can’t even run binaries compiled with old glibc
|
|
2024-10-10 01:04:24
|
glibc is one of the biggest problems with Linux as a whole
|
|
2024-10-10 01:05:04
|
Alpine also has a package called gcompat which allows some glibc programs to run
|
|
2024-10-10 01:05:22
|
Made by adelie linux developer
|
|
|
DZgas Ж
|
|
Demiurge
OS with new glibc can’t even run binaries compiled with old glibc
|
|
2024-10-10 01:05:28
|
this is the problem of the old one. it is not considered in my case. I'm not interested in that. the new software does not run on the new Linux. alpine moment
|
|
|
Demiurge
|
2024-10-10 01:06:10
|
Because it was compiled for a different system. You can't run Darwin binaries on Linux either
|
|
|
DZgas Ж
|
|
Demiurge
Because it was compiled for a different system. You can't run Darwin binaries on Linux either
|
|
2024-10-10 01:06:34
|
linux and linux
|
|
|
Demiurge
|
2024-10-10 01:06:43
|
Symbol not found errors are easy to fix
|
|
2024-10-10 01:06:52
|
Probably just install gcompat
|
|
2024-10-10 01:07:11
|
But you really ought to use a version that isn't compiled for glibc because that's inefficient
|
|
2024-10-10 01:07:46
|
It has a lot of extra symbols that don't need to be there and can be removed if you compile with musl
|
|
|
DZgas Ж
|
|
Demiurge
Because it was compiled for a different system. You can't run Darwin binaries on Linux either
|
|
2024-10-10 01:08:31
|
I don't agree with you. That's how I see it: I have a program. I can run it on manjaro, I can run it on ubuntu, on mint. But I can't run it on alpine. This means that apline is a broken OS. And I won't use it anymore. Do you understand?
|
|
2024-10-10 01:09:33
|
Even more specifically: the program itself is much more important than the OS that runs it.
|
|
|
Demiurge
|
2024-10-10 01:09:46
|
Not including glibc was an intentional tactical decision by the alpine devs
|
|
2024-10-10 01:11:09
|
I wouldn't consider it broken just because the default install doesn't have glibc. It's still linux and you can still run glibc on it if you wanted to, or use gcompat to replace glibc
|
|
|
DZgas Ж
|
|
Demiurge
Not including glibc was an intentional tactical decision by the alpine devs
|
|
2024-10-10 01:11:25
|
That it's his right.
> if you compile with m...
But I'm not going to do anything at all.
|
|
|
Demiurge
|
2024-10-10 01:13:24
|
There's even a whole page about this
https://wiki.alpinelinux.org/wiki/Running_glibc_programs
|
|
2024-10-10 01:13:54
|
Use flatpak, or just type "apk add gcompat" if that isn't too hard to do ;)
|
|
2024-10-10 01:15:24
|
Or, you know, avoid using binary files that weren't compiled for alpine
|
|
|
DZgas Ж
|
2024-10-10 01:15:57
|
the Linux application does not run on Linux, because this Linux is not the Linux that it should be to run the application. This is one of the reasons why Windows is popular, why x86 is popular. That's why. It just works
|
|
|
Demiurge
|
2024-10-10 01:15:59
|
Even on Ubuntu you don't usually use binaries, you usually run software compiled for ubuntu
|
|
2024-10-10 01:17:02
|
Using build tools designed and optimized for ubuntu, the platform it will run on. Same applies to all distros like Alpine. It's always most optimal that way
|
|
|
DZgas Ж
the Linux application does not run on Linux, because this Linux is not the Linux that it should be to run the application. This is one of the reasons why Windows is popular, why x86 is popular. That's why. It just works
|
|
2024-10-10 01:18:08
|
That's a legitimate problem with glibc and with Linux project refusing to include libc as part of Linux
|
|
2024-10-10 01:18:50
|
Linux is intentionally incomplete and some people think it's a virtue but I agree with you that it's not
|
|
|
DZgas Ж
|
|
Demiurge
Using build tools designed and optimized for ubuntu, the platform it will run on. Same applies to all distros like Alpine. It's always most optimal that way
|
|
2024-10-10 01:19:07
|
"But they call all this one common Linux." Although as I see it, you don't mind diversity to the extent that some programs don't run on different Linux distributions.
|
|
|
Demiurge
|
2024-10-10 01:19:26
|
Linux is successful in spite of its lack of included libc, not because of it
|
|
2024-10-10 01:19:45
|
Linux is successful in spite of gpl, not because
|
|
2024-10-10 01:20:20
|
A lot of things people consider strengths of Linux are not really helping it succeed
|
|
|
DZgas Ж
"But they call all this one common Linux." Although as I see it, you don't mind diversity to the extent that some programs don't run on different Linux distributions.
|
|
2024-10-10 01:20:47
|
No, I think it's a problem, but it's not the fault of Alpine
|
|
2024-10-10 01:21:02
|
It's a fault of the crappy state of Linux ecosystem
|
|
|
DZgas Ж
|
2024-10-10 01:21:06
|
the way
|
|
|
Demiurge
|
2024-10-10 01:22:27
|
And the arbitrary refusal of Linux to provide the bare minimum OS userspace library and tools
|
|
|
DZgas Ж
|
|
Demiurge
It's a fault of the crappy state of Linux ecosystem
|
|
2024-10-10 01:23:19
|
Oh wonderful world
|
|
|
Demiurge
|
2024-10-10 01:25:39
|
If Linux was more like BSD it would be more likely to succeed without sabotaging itself. People wrongly attribute Linux success to its flaws
|
|
|
DZgas Ж
|
2024-10-10 01:25:44
|
And yet, a linux binary file remains the most stable way for a program at the moment, it is always there as a file, and it will always run as a program. I have an OS and I have a program. And I'm pretty sure that it will start at any moment. On any computer, in any environment.
|
|
2024-10-10 01:26:22
|
I have never seen a living person who would work on BSD. Really.
|
|
2024-10-10 01:26:32
|
<:Linux_Tux:806135372739510282>
|
|
|
Demiurge
|
2024-10-10 01:28:05
|
It succeeded by being in the right place at the right time in spite of its major flaws. if it adopted good ideas from BSD it would be in a lot more powerful position but instead Linux is very stagnant
|
|
2024-10-10 01:28:35
|
And this compatibility mess is a direct result of Linux refusing to evolve
|
|
2024-10-10 01:29:08
|
Because it doesn't provide a bare minimum baseline that can be expected on every system.
|
|
2024-10-10 01:29:39
|
Instead glibc does, and a terrible job too, since it's the main source of cross distro compat errors
|
|
2024-10-10 01:29:57
|
Even before musl was created to be a simpler alternative
|
|
2024-10-10 01:31:04
|
If you need compatibility with glibc there are plenty of different ways to do that on alpine
|
|
|
DZgas Ж
|
2024-10-10 01:31:33
|
dietlibc, uClibc, Newlib, musl, Klibc
|
|
2024-10-10 01:32:11
|
very open very source
|
|
|
Demiurge
If you need compatibility with glibc there are plenty of different ways to do that on alpine
|
|
2024-10-10 01:35:01
|
I still live in a world where I can use neither arch nor alpine. and downloading and installing any linux is 5+5 minutes
|
|
|
Demiurge
|
2024-10-10 01:35:04
|
Completely abandoning glibc would be a step in the right direction. It's very telling that software compiled with musl can run on any system but software compiled with glibc can only run on certain versions of glibc.
|
|
2024-10-10 01:36:11
|
musl actually makes it possible to just have a "linux binary" that works everywhere, not a "glibc 2.19 linux binary"
|
|
2024-10-10 01:39:53
|
If you want Linux to evolve and become more universally compatible like that then you should support what the musl people are trying to accomplish for Linux... because Linus refuses to do it ;(
|
|
2024-10-10 01:41:21
|
It's really the fault and responsibility of Linus that we have this problem since he intentionally only wants to provide an incomplete and half baked system
|
|
2024-10-10 01:43:44
|
Some people actually argue that it would be a bad thing if Linux was less incomplete and try to justify the lack of effort
|
|
|
DZgas Ж
|
2024-10-10 01:44:46
|
It's good that I'm not a Linux developer
|
|
2024-10-10 01:45:04
|
and you too
|
|
|
Demiurge
|
2024-10-10 01:48:54
|
Considering how glacially slow the kernel gets improved it would be pretty frustrating I imagine
|
|
2024-10-10 01:49:43
|
It's basically just a collection of drivers with ancient glue code in between
|
|
2024-10-10 01:50:43
|
Ancient stagnant code that never gets refactored or replaced with more fault tolerant and cellular code
|
|
2024-10-10 01:52:36
|
Andy Tenenbaum's old criticism of Linux is still relevant today. Linus read his book but learned no lessons from it he said... the most basic and uninspired kernel with no separation and compartmentalization of code or fault-tolerant design paradigms
|
|
2024-10-10 01:53:18
|
Just a big monolithic kernel
|
|
2024-10-10 01:54:12
|
Only successful because there were no other alternatives at the time it was released
|
|
|
DZgas Ж
|
|
DZgas Ж
```C
qindex += (int32_t)rint(-pow((255 - pcs->ppcs->avg_luma) / (256.0), 12.0) * qindex);
```
As a result, after half a day of testing, I took the function in this form, on any default encoding
|
|
2024-10-10 03:34:23
|
As a result of another day of tests, the dark areas became too demanding, so I had to change the function a little more
||Plot3D[-((255 - x) / 256)^8.0 * (y/4), {x, 0, 255}, {y, 1, 64}]||
`qindex += (int32_t)rint(-pow((255 - pcs->ppcs->avg_luma) / (256.0), 8.0) * (qindex/4.0));`
|
|
|
Smegas
|
2024-10-11 08:19:10
|
When I use --xyb for option 420 or 422 in jpegli, the image is very blurry compared to the image without using --xyb.
|
|
2024-10-11 08:20:04
|
With high quality settings.
|
|
|
CrushedAsian255
|
2024-10-11 08:20:25
|
I don't think XYB is optimised for 4:2:2
|
|
|
Tirr
|
2024-10-11 08:21:48
|
that artifacts don't look like XYB at all for me, they are rather RGB artifacts. I guess something's going wrong
|
|
|
username
|
2024-10-11 08:22:59
|
chroma subsampling selection in jpegli is messed up in multiple ways. for example there are two different 4:2:0 (or was it 4:2:2 or both?) modes but good luck trying to intentionally switch between them
|
|
2024-10-11 08:23:34
|
also non-xyb defaults to 4:4:4
|
|
2024-10-11 08:24:45
|
iirc using XYB with no forced chroma subsampling results in a different 4:2:0 then if you force 4:2:0
|
|
2024-10-11 08:26:28
|
https://github.com/libjxl/libjxl/issues/3605
|
|
2024-10-11 08:28:41
|
wait here this comment explains what is actually happening with what I am remembering https://github.com/libjxl/libjxl/issues/3605#issuecomment-2132425056
|
|
|
jonnyawsom3
|
2024-10-11 12:40:31
|
I think the blue channel subsampling was disabled to make it compatible with JXL transcoding
|
|
|
_wb_
|
2024-10-11 01:34:28
|
https://gitlab.com/wg1/jpegxe/ctc_tools/
https://jpeg.org/jpegxe/documentation.html
Does anyone feel like making a submission to the JPEG XE call for proposals?
|
|
2024-10-11 01:40:48
|
The "uncompressed" format here is a sequence of 'events', where each event can be of different types and consists of bit-packed fields with an interpretation that depends on the event type.
|
|
|
lonjil
|
2024-10-11 01:41:49
|
what is JPEG XE?
|
|
|
_wb_
|
2024-10-11 01:43:03
|
something that doesn't exist yet, it's in exploration stage. It's for event-based vision. This document describes what they want to do: https://ds.jpeg.org/documents/jpegxe/wg1n100887-104-REQ-Use_Cases_and_Requirements_for_JPEG_XE_v2_0.pdf
|
|
|
yurume
|
2024-10-11 02:25:01
|
At this point we have too many JPEG X<alphabet> formats and more creative names would be preferred....
|
|
|
Cacodemon345
|
2024-10-11 03:11:33
|
I ain't interested in this. Not sure this will be useful as camera sensor standard...
|
|
|
Meow
|
2024-10-11 04:24:24
|
XI = 11
XV = 15
XL = 40
XC = 90
|
|
|
spider-mario
|
2024-10-11 04:26:31
|
“JPEG XV” would sound quite intriguing, I must admit
|
|
2024-10-11 04:26:34
|
extra value?
|
|
|
jonnyawsom3
|
2024-10-11 05:24:39
|
JPEG Extra Virgin
|
|
|
spider-mario
|
2024-10-11 05:46:13
|
like olive oil, right?
|
|
|
Tirr
|
2024-10-11 05:48:50
|
maybe JPEG 15
|
|
2024-10-11 05:49:04
|
ah I was late
|
|
|
jonnyawsom3
|
|
spider-mario
like olive oil, right?
|
|
2024-10-11 05:49:14
|
"Exclusivity deal signed with MindGeek"
|
|
|
|
Posi832
|
2024-10-11 09:30:30
|
Next format should be called JPEG XXL
|
|
|
spider-mario
|
2024-10-11 09:36:51
|
or JPEG XML
|
|
|
CrushedAsian255
|
|
_wb_
The "uncompressed" format here is a sequence of 'events', where each event can be of different types and consists of bit-packed fields with an interpretation that depends on the event type.
|
|
2024-10-11 09:41:05
|
JpegRTC
|
|
|
_wb_
The "uncompressed" format here is a sequence of 'events', where each event can be of different types and consists of bit-packed fields with an interpretation that depends on the event type.
|
|
2024-10-11 09:42:54
|
How does this have anything to do with encoding and compression of images though
|
|
2024-10-11 09:43:13
|
This just looks like generalised MIDI
|
|
|
_wb_
|
2024-10-11 09:43:53
|
It is image data, just sparse, not with full frames of rectangular pixel grids
|
|
|
CrushedAsian255
|
2024-10-11 09:45:34
|
So just JPEG XL patches and frames?
|
|
2024-10-11 09:45:52
|
This feels like something that could extend jpeg xl
|
|
|
_wb_
|
2024-10-11 09:50:26
|
More like single pixels. But compression should be much simpler than jxl, it's more like XS, low-complexity
|
|
|
CrushedAsian255
|
2024-10-11 09:51:08
|
Is it for real time or meant to be highly compressed
|
|
|
_wb_
|
2024-10-11 09:52:05
|
Most use cases real time, though I guess sometimes they also need archival and then you can do something more
|
|
|
CrushedAsian255
|
2024-10-11 09:52:35
|
You could just do brotli
|
|
2024-10-11 09:54:41
|
Is there a spec?
|
|
|
_wb_
|
2024-10-11 09:54:47
|
Probably you can do better than generic byte compression by exploiting the field structure
|
|
|
CrushedAsian255
Is there a spec?
|
|
2024-10-11 09:55:47
|
The uncompressed format is described here: https://ds.jpeg.org/documents/jpegxe/wg1n100891-104-CPM-Common_Test_Conditions_for_JPEG_XE_v2_0.pdf
|
|
|
CrushedAsian255
|
|
_wb_
The uncompressed format is described here: https://ds.jpeg.org/documents/jpegxe/wg1n100891-104-CPM-Common_Test_Conditions_for_JPEG_XE_v2_0.pdf
|
|
2024-10-11 09:56:54
|
So that is what has to be made as small as possible?
|
|
|
_wb_
|
2024-10-11 09:57:22
|
Yes, there are also some example data files in that format available
|
|
2024-10-11 09:58:22
|
I assume e.g. typically the x,y coordinates will be correlated so probably some kind of delta coding will be useful
|
|
|
Nova Aurora
|
|
Posi832
Next format should be called JPEG XXL
|
|
2024-10-11 09:59:20
|
We need another x to show how powerful it is 😉
|
|
|
DZgas Ж
|
2024-10-12 03:57:49
|
what is the most indestructible image format?
So that I can shooting it, delete bytes, replace bytes, add bytes and trim data.
It is quite possible to do this for MP3 because it is the most indestructible format created specifically for CD. But it's a sound. What about the pictures?
|
|
2024-10-12 03:59:17
|
Even though Jpeg XL is divided in blocks of 256x256. Changing 1 byte anywhere will completely break it for decoding
|
|
|
CrushedAsian255
|
2024-10-12 04:01:35
|
Maybe something like JPEG XS?
|
|
2024-10-12 04:01:54
|
That JPEG XE proposal probably would have high resilience to corruptions as well
|
|
2024-10-12 04:02:11
|
The thing is unlike video or sound there is usually no reason to steam an image
|
|
2024-10-12 04:02:29
|
You usually either want the whole image or you don’t want it all, and you can usually load the whole image in one go
|
|
2024-10-12 04:03:00
|
So there isn’t really any image formats with internal packet loss / corruption compensation like video or audio
|
|
2024-10-12 04:03:30
|
Something like PPM since it is uncompressed would naturally be relatively endurant
|
|
|
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
|
2024-10-12 04:18:52
|
Jia Tan XD
|
|
|
DZgas Ж
|
|
CrushedAsian255
So there isn’t really any image formats with internal packet loss / corruption compensation like video or audio
|
|
2024-10-12 04:20:12
|
🤔
|
|
2024-10-12 04:20:23
|
need to invent
|
|
|
lonjil
|
|
DZgas Ж
Even though Jpeg XL is divided in blocks of 256x256. Changing 1 byte anywhere will completely break it for decoding
|
|
2024-10-12 04:22:07
|
that's probably just the current decoder implementation choosing to bail if something is wrong
|
|
|
dogelition
|
|
DZgas Ж
what is the most indestructible image format?
So that I can shooting it, delete bytes, replace bytes, add bytes and trim data.
It is quite possible to do this for MP3 because it is the most indestructible format created specifically for CD. But it's a sound. What about the pictures?
|
|
2024-10-12 04:37:04
|
CD audio doesn't have anything to do with MP3 though
|
|
|
DZgas Ж
|
|
dogelition
CD audio doesn't have anything to do with MP3 though
|
|
2024-10-12 04:38:38
|
I didn't even talk about CD audio. I was talking about CDs
|
|
2024-10-12 04:38:54
|
the disc
|
|
|
dogelition
|
2024-10-12 04:39:39
|
as in just putting files on a CD?
|
|
|
DZgas Ж
|
2024-10-12 04:40:04
|
<:PepeGlasses:878298516965982308> mp3 on CD
|
|
|
dogelition
|
2024-10-12 04:40:21
|
i'm confused
|
|
|
DZgas Ж
|
2024-10-12 04:40:38
|
what
|
|
2024-10-12 04:41:25
|
How could MP3 become a super successful format, without the internet, or anything else. in 1993
|
|