12 ms·
FFmpeg now supports JPEG XL
- gyan 5y agoThe linked commit simply adds the codec id. By itself, that won't do much. FFmpeg relies on libjxl for decoding and encoding. Support added in https://git.videolan.org/?p=ffmpeg.git;a=commit;h=458cc7e314e1a00017dd090db388db6659d1bb5f https://git.videolan.org/?p=ffmpeg.git;a=commit;h=458cc7e314... https://git.videolan.org/?p=ffmpeg.git;a=commit;h=5f0b4e9c709761eafe0775c1c1791b09462a91e0 https://git.videolan.org/?p=ffmpeg.git;a=commit;h=5f0b4e9c70... The Windows static builds have binaries with this support. The linux and MacOS builds don't, as yet.
- dusted 5y agoThanks, that answered my question before I asked it! :)
- Kelteseth 5y agoNot directly related, but looking at this commit: Why do people still write raw Makefiles?
- mort96 5y agoI use raw makefiles because I know (GNU) make and all the alternatives I've used are worse.
- gyan 5y agoLegacy methods in large projects need a big motivation to change. Every couple of years, someone proposes a new build system. The conversation usually dies within a week or two.
- lifthrasiir 5y agoFor starters, ffmpeg does not use raw Makefile; it has to be generated by running configure. Historically configure (and autoconf etc.) was required due to the variety of platforms to support, which is increasingly less relevant today. The real "raw" Makefile---where you are supposed to run just `make` to build---is not as cumbersome as you may think; even the dependency among source files can be automatically generated.
- capableweb 5y agoTurning the question around (from someone who does write "raw" makefiles): What's the problem with writing "raw" makefiles? If it works, it works. Haven't encountered any major issues with writing them in my years.
- jcelerier 5y agoYou're lucky to not have a name with spaces in it as make does not support that
- th3typh00n 5y agoWhy would you have spaces in source code filenames? It's just a bad idea in general and makes things more complicated for no reason, regardless of what build system you're using.
- jcelerier 5y agoThe spaces may be in parent folders, such as c:\Users\Jean-Michaël Celerier\Documents\Visual Studio Projects\Project 1\... Which your uni's group policy would make it so that you can only write there (thankfully mine was sane, but I've seen it aha). And even then, a build system that does not support arbitrary file names is just terminally broken and should not be used, even less encouraged.
- stavros 5y agoSpaces in filenames aren't inherently bad, they become bad because tools that don't support them are bad. Saying "why would you have spaces?" as a counterargument to "make doesn't support spaces" doesn't work, because the problem with spaces is exactly that make doesn't support them.
- bsenftner 5y agoMakefiles are extremely powerful. I used to write them myself by hand, for a lot more than program generation. Makefiles can be used to recognize data events, and trigger responses - which I used for years in scientific visualization. In grad school, in the inevitable group projects where people lag and do the work at the last possible minute, I used makefiles to recognize when their contribution landed in the share folder so I could review and incorporate. Makefiles are the IFTTT of the pre-Internet era.
- coldpie 5y agoMakefiles are excellent, but I think they're hampered a bit by their extremely terse syntax (see also: perl). I wonder if a slightly different dialect would help modern users who are used to more verbose languages work with them. Off the top of my head, take this make example: %.o: %.c %.h gcc -o $@ $< mkdir $* cp $@ $* and spell it out a bit more: $MATCH$.o <- $MATCH$.c $MATCH$.h gcc -o $OUT$ $FIRST_DEPEND$ mkdir $MATCH$ cp $OUT$ $MATCH$ Obviously this needs a lot more thought than that, but I think newbies would find the 2nd format much more friendly than the first.
- mrlonglong 5y agoI like it, reduces the need to browse through documentation to find out the exact syntax. Been there, got the t shirt many times.
- jedisct1 5y agoBecause if something works, and the actual project developers are comfortable with it, why change it? For new projects, people may prefer to use something like Zig as the build system. But a build system is not what will make the project faster or magically add new features and fix bugs. What makes that happen is developers being comfortable with the source code, including its build system.
- blurred 5y agohttps://www.phoronix.com/scan.php?page=news_item&px=FFmpeg-JPEG-XL-Lands https://www.phoronix.com/scan.php?page=news_item&px=FFmpeg-J...
- thrdbndndn 5y agoKinda off-topic: which one is the "main" domain for FFMPEG repo, git.ffmpeg.org or git.videolan.org?
- mr_sturd 5y agoThey both look like they're in sync, but at the top of git.videolan.org shows a notice saying they're moving their projects over to GitLab. The list of projects being moved over doesn't include FFmpeg, so I guess ultimate ownership is at ffmpeg.org.
- deleted 5y ago[deleted]
- ducktective 5y agoSo what does it mean? FFmpeg can now do what imagemagick does?
- mort96 5y agoThe biggest consequence would be that this opens the door for all software built on top of ffmpeg to add support for JPEG XL. Some might even support it automatically if they're linked against an ffmpeg which supports it.
- yboris 5y agoI've been waiting to use JPEG XL (.jxl) in my Video Hub App for over a year now! I even have a PR that shows that it works, but was waiting for FFmpeg to catch up. https://github.com/whyboris/Video-Hub-App/pull/702 https://github.com/whyboris/Video-Hub-App/pull/702 My software extracts screenshots from videos and shows them in a nice browsable searchable gallery.
- 149764 5y agoIn particular mpv can now open jxl images, there is also a recent commit that adds support to make jxl screenshots. As I use mpv both as a video player and as an image viewer, this is great news for me.
- LinAGKar 5y agoIt's not designed for still images, so it probably doesn't have all the features ImageMagick has for that. But it can convert between video files and loose numbered image files, and it can convert cover art. And there is animated JPEG XL.
- qwerty456127 5y agoNice but we still need at least cameras, ideally also OSes' default picture viewers and major web browsers to support it OOTB or it will never become a thing.
- bick_nyers 5y agohttps://www.npmjs.com/package/jxl-wasm https://www.npmjs.com/package/jxl-wasm Perhaps this means it can be shoehorned in anyways?
- qwerty456127 5y agoBrowsers are the least important part. People use ordinary JPEG because that's what their cameras produce without asking and that also is what they can just click and open on all their PCs/whatever using their default picture viewer app. E.g. WebP still opens a browser when you click it and that's weird.
- zokier 5y agoCameras are moving to support HEIF. Sony, Canon, and Nikon cameras support HEIF, as do iPhones. Android cameras may support HEIF depending on the vendor.
- qwerty456127 5y agoHEIF is a separate format, right? If so JPEG XL probably is doomed.
- jonsneyers 5y agoHEIF and in particular HEIC is a patent encumbered codec though...
- qwerty456127 5y agoWhy patent-encumbered codecs use to end owning the market? E.g. nobody but Google itself ever seemed enthusiastic about WebM.
- declnz 5y agoTIL about JPEG XL itself, looks pretty cool. Thanks!
- elevaet 5y agoSounds like this particular piece of news is underwhelming, but from my own casual experimentation, JPEG XL delivers much better quality vs compression ratio than Google's WebP (and the lossless compression is really good too). I look forward to the day when JPEG XL is widely supported by web browsers. https://caniuse.com/jpegxl https://caniuse.com/jpegxl
- NavinF 5y agoYou should compare it to AVIF (already supported on chrome and firefox). WebP is much older and already supported everywhere.
- elevaet 5y agoThanks, I didn't know AVIF was well supported alreadyA I remember I couldn't decide if I liked AVIF or JPEG XL better quality-wise, but the support would make AVIF the clear winner.
- theandrewbailey 5y agoI've been using AVIF on my blog for about a year. It's worth noting that AVIF seems to have better quality at lower sizes (~0.5 bits per pixel, ~120KB at 1080p) than JPEG XL (at least for right now), so even if browsers supported JPEG XL, you still might get better optimization with AVIF.
- JyrkiAlakuijala 5y agoOn the average AVIFs are 1.5 BPP and JPEGs about 2.2 BPP in the internet. If you average at 0.5 BPP, you will differentiate by having blurrier images than competing blogs.
- theandrewbailey 5y agoA few reasons: 1. The vast majority of images on my blog are game screenshots. Often, a good portion of them are solid colors/gradients[0] or have blurry textures[1], which helps. When I played around with AVIF, 0.6 bpp was enough to keep the prominent parts, then tried less. For photos, unless it's a picture of grass, gravel, or trees[2], the same holds[3]. 2. I encode only high resolution (x2) images as AVIFs, so blurriness gets covered up by downscaling or high PPI screens almost all of the time. On a desktop 1080p screen, you're looking at up to 2 bpp effectively. 3. I keep individual image sizes below 160KB (0.61 bpp@1080p) to keep page load sizes at 1MB or less. Of course, I keep an archive of everything in PNG/RAW/etc format to redo if needed. Blog link: https://theandrewbailey.com/ https://theandrewbailey.com/ [0] https://theandrewbailey.com/fileImmutable/AXW_xuoI/post/2018_ShadowrunDragonfallCombat%C3%972.avif https://theandrewbailey.com/fileImmutable/AXW_xuoI/post/2018... [1] https://theandrewbailey.com/fileImmutable/AX3-7eYX/post/2021_GTA3%C3%972.avif https://theandrewbailey.com/fileImmutable/AX3-7eYX/post/2021... [2] https://theandrewbailey.com/coroner/404 https://theandrewbailey.com/coroner/404 [3] https://theandrewbailey.com/fileImmutable/AXW_xuox/post/2020_Chicken%C3%972.avif https://theandrewbailey.com/fileImmutable/AXW_xuox/post/2020...
- donatj 5y agoI’m still waiting for JPEG2000 to take off.
- elevaet 5y agoWavelet transforms!
- mpfundstein 5y agowell every cinema probably uses jpeg2000 (dcp) and the new interoperable master format is using it as well (though it also supports more mainstream codecs) dont see hollywood moving away from it pretty soon. problem is jpeg2k just is too heavy to compute.
- jahewson 5y agoHey, it’s supported inside PDFs.
- ksec 5y agoSpeaking of JPEG2000, anyone knows how long until its core patents expire? And Motion JPEG2000 ?
- jonsneyers 5y agoThe core part of j2k was always royalty-free, actually.
- jokoon 5y agoI managed to write a script to build a xstack command, that was great. I recently tried to build a command to automatically add a silent audio track on inputs, while also adding pause and concatenate 300 small videos, all of this in a single command, but I still have a lot of trouble understanding how stream selector work.
- delanded 5y agoDoes that mean I can convert a video to .jpg using JPEG XL now?
- Fudgel 5y agoAs an aside, for anyone on linux thats looking for a simple image viewer that supports the jpeg xl and the other new heif/heic and avif formats, check out gthumb: https://www.omgubuntu.co.uk/2021/09/thumb-3-12-avif-heif-image-support https://www.omgubuntu.co.uk/2021/09/thumb-3-12-avif-heif-ima...
- bondolo 5y agoFor more detail about JPEG XL: https://ds.jpeg.org/whitepapers/jpeg-xl-whitepaper.pdf https://ds.jpeg.org/whitepapers/jpeg-xl-whitepaper.pdf
- smiddereens 5y ago
- tomatowurst 5y agoReally wish https://github.com/phoboslab/jsmpeg-vnc https://github.com/phoboslab/jsmpeg-vnc would support this. The video compression from JPEG XL would be a huge boon. Wish audio was supported too so I can play Civ 5 on my tablet when I'm away from the PC