-
Notifications
You must be signed in to change notification settings - Fork 65
PictView plugin switch to WIC #263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
I overlooked a few changes that the Codex introduced, but I didn't want to change this.
I overlooked a few changes that the Codex introduced, but I didn't want to change this.
|
I noticed that Codex made several unwanted changes to the translation files, I still have to revert them. Also I have some comments from Codex in review which I need to solve. But it's on the right track :) |
…-and-disposal-handling Fix GIF frame metadata usage in WIC backend
|
That’s absolutely great, thank you! |
|
I agree the pictview plugin is the most popular. This is an awesome change and gets rid of the proprietary DLL? |
I found that there is some issue when playing animated gif - so I need to solve that. Also I have 2 comments from Codex in review, so will handle also that. |
|
@KRtekTM we should probably remove the Email and URL from the About box for PictView as if this no longer uses the DLL those email and URL's are no longer valid. |
I wanted to do the changes just in the backend library used, not in the texts and translations itself (I admit that until yesterday I didn't know about the existence of the website opensalamander.org 😅). With my experiments, there is inconsistency in the copyright, website url, support e-mail addresses, which I am not currently focusing on (I consider these to be small things that can be completed at once during one task.) |
|
understood! |
* Respect PVSaveImageInfo encoder options * Handle TIFF JPEG compression constant availability * Respect Save As transformations * Fix crop dimension min selection * Respect Save As encoder configuration * Fix WIC encoder palette and mapping declarations * Fix GIF transparent index metadata type * Use indexed format converter as GIF frame source * Set GIF encoder palette before writing * Fix GIF Save As palette setup before encoding * Write indexed GIF frames with explicit pixel buffers * Encode GIF frames from indexed bitmaps * Use WritePixels for indexed encodes * Adapt palette encoding to encoder pixel formats * Set GIF palette before initializing frames * Register GIF palette before creating frames * Write indexed frames through WIC WriteSource * Write indexed frames via WritePixels * Use WriteSource for indexed encodes * Refresh GIF palette after pixel format alignment * Log WIC save failures with detailed stages * Fix GIF property bag failure and write version metadata * Set GIF interlace through metadata to avoid property bag failure * Write GIF version metadata via encoder writer * Set GIF logical screen metadata before version tag * Write GIF version metadata as a byte vector * Tolerate unsupported GIF version metadata * Preserve JPEG palette quantization * Handle encoders without DPI support
|
The PictView plugin uses the WIC API (Windows Imaging Component) as its backend.
Support for saving to these older formats is not available in the current WIC backend. Selecting any other format will result in an error, because PVSaveImage only looks for mappings for these supported types and otherwise returns PVC_UNSUP_OUT_PARAMS. The Windows Imaging Component itself does not expose encoders for formats such as CEL, IFF/LBM, PNM/PPM, RGB, RAS, TGA, RLE, SKA, or PCX, so adding support for them would require entirely custom encoders or integration of an additional library outside of WIC. |
|
Personally I am ok with dropping those old formats 😀 |
|
I've left the old formats in the Save As dialog for now. The comments from Codex are resolved, I tested it on my files including webp. |
Uh oh!
There was an error while loading. Please reload this page.