On Sat, Sep 25, 2021 at 10:34:32PM +0200, Michael Niedermayer wrote: > On Sat, Sep 25, 2021 at 03:46:25PM +0000, Soft Works wrote: > > > > > > > -----Original Message----- > > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > > > Michael Niedermayer > > > Sent: Saturday, 25 September 2021 16:30 > > > To: FFmpeg development discussions and patches <ffmpeg- > > > de...@ffmpeg.org> > > > Subject: Re: [FFmpeg-devel] Scaling PAL8 images with alpha > > > > > > On Sat, Sep 25, 2021 at 10:23:56AM +0200, Hendrik Leppkes wrote: > > > > On Sat, Sep 25, 2021 at 5:00 AM Soft Works <softwo...@hotmail.com> > > > wrote: > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf > > > Of > > > > > > Soft Works > > > > > > Sent: Friday, 24 September 2021 19:03 > > > > > > To: FFmpeg development discussions and patches <ffmpeg- > > > > > > de...@ffmpeg.org> > > > > > > Subject: Re: [FFmpeg-devel] Scaling PAL8 images with alpha > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On > > > Behalf Of > > > > > > Michael > > > > > > > Niedermayer > > > > > > > Sent: Friday, 24 September 2021 17:40 > > > > > > > To: FFmpeg development discussions and patches <ffmpeg- > > > > > > de...@ffmpeg.org> > > > > > > > Subject: Re: [FFmpeg-devel] Scaling PAL8 images with alpha > > > > > > > > > > > > > > On Fri, Sep 24, 2021 at 10:30:31AM +0000, Soft Works wrote: > > > > > > > > Hi, > > > > > > > > > > > > > > > > for a new filter, I want to rescale PAL8 subtitle bitmaps > > > where > > > > > > the palette > > > > > > > includes > > > > > > > > colors with alpha. > > > > > > > > > > > > > > > > From what I’ve seen, swscale doesn’t support PAL8-to-PAL8, > > > only > > > > > > PAL8-to- > > > > > > > BGR8 > > > > > > > > which doesn’t support alpha and the palette is fixed with > > > 256 > > > > > > entries > > > > > > > defined by > > > > > > > > convention, while I would ideally like to be able to allow > > > the > > > > > > following: > > > > > > > > > > > > > > > > - constrain the output to use the same palette as the input > > > > > > > > - adaptively quantize it to a palette with a configurable > > > number > > > > > > of colors > > > > > > > > > > > > > > > > Thus it's about the palette quantization (with or without > > > > > > dithering) after > > > > > > > > scaling in RGBA. (or some cool algorithmic trick I'm not > > > aware > > > > > > of) > > > > > > > > > > > > > > > > Is there any existing code that I could reuse? The closest > > > I > > > > > > could find > > > > > > > > is pngenc, but I'm wondering whether there's something > > > > > > else/better > > > > > > > > somewhere in the ffmpeg libs that I haven't seen? > > > > > > > > > > > > > > There are some non linear scaling filters which may make > > > sense when > > > > > > you do > > > > > > > not have the full linear space available see: > > > > > > > hqx, epx, xbr > > > > > > > you could also try some neural net stuff > > > > > > > > > > > > Photoshop can perfectly do what is needed, but their algorithms > > > are > > > > > > not > > > > > > public. > > > > > > > > > > I've put a few thing together to illustrate what I'm talking > > > about: > > > > > > > > > > > > > https://gist.github.com/softworkz/deef5c2a43d3d629c3e17f9e21544a8f > > > > > > > > > > > > > > > Meanwhile I found what I need: > > > https://github.com/ImageOptim/libimagequant > > > > > > > > > > Interestingly, they are comparing their lib specifically to the > > > > > Photoshop feature that I mentioned: > > > https://pngquant.org/vsphotoshop.html > > > > > In the 2000's, the PS implementation for image quantization, > > > optimization > > > > > and compression (profanely named "Save for Web") had remained > > > > > unparalleled for years, that's why it was one of my first > > > thoughts. > > > > > > > > > > I hadn't heard about libimagequant before, but it seems to do > > > exactly > > > > > what is needed for rescaling PAL8 to PAL8 at a high quality. > > > > > > > > > > Before spending any time on it, I wanted ask whether that library > > > > > would be acceptable for adding it as a (GPLv3) reference to the > > > > > project and as a dependency to my filter? > > > > > > > > > > > > > External dependencies for what is supposed to be a rather base > > > feature > > > > are not ideal. > > > > > > +1 > > > > > > i see no reason why this would need an external dependancy > > > we have filters implementing much more complex things than scaling a > > > pal8 > > > image > > > > I dislike GPL3 as well and needing a library for this might > > seem to be a bit too much for solving the problem. > > I'm just not sure whether it can be solved easily. I mean it > > can easily be solved in a basic way, but I'm not sure whether > > it would be possible to achieve the same quality in results. > > > > I've put up here some examples and also a comparison of results > > from palettegen+paletteuse and Photoshop(which I assume to > > be at the same level of quality like libimagequant). > > > > https://gist.github.com/softworkz/deef5c2a43d3d629c3e17f9e21544a8f > > is this comparing RGB vs RGBA palettes ? > I would imagine that for smooth edges of subtitles you need partly > transparent pixels. I am not sure palettegen supports that > > please fix palettegen if that is the issue. Limiting a palette to > 0% transparent and having 1 100% transparent color hardcoded may be the > problem here. Try handling alpha the same way red / green / blue is handled > > Anyway i do not buy that palette generation is a super hard problem.
also if palettegen with alpha fixed (and this should be attempted) isnt good. see elbg, also that too needs alpha to be not ignored thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have often repented speaking, but never of holding my tongue. -- Xenocrates
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".