@Petrol Checked that ULONG thing you ask before edit your post : nope, that not it as well.
As for WritePixelArrayAlpha(), graphics.library didn't have such function, so it can't be mixed.
But yes, its all feels something about alpha/colors changes when we use png1.6 instead of 1.2. And it leave some artefacts like it works, just nothing visibly.
There one odyssey at bottom with old libpng (see compas animatino works) and one at top with new libpng (instead of compas, there just a dots). But images sure loads, i can see it from snoopy.
EDIT: I think what we see on video it just "fallback" mode. See in those files i point out :
// Fall back to builtin animation
if(!src || !stride)
{
src = (char *) &Throbber;
stride = THROBBER_WIDTH * sizeof(ULONG);
}
So maybe we not in if(data->surface) now by some reassons, and fallback to built in animation (those small dots). And "throbber.cpp" file looks very much as those dots i have now.
(re. my crashes with the Unread feature on Amiga.org)
Quote: @nbache
After a moment, I only had two new messages, but clicking on these only worked as if intended. Hmm, interesting.
This made me try it out under a clean "public" installation of 4.1FEu1, and there I couldn't reproduce it (so far). It seems it only happens under OS4 beta. I have seen it for a long time, though, so it's not anything that arrived with the latest beta components (nor with the new Odyssey release).
With the second beta, it looks like my crashes using the Unread/New buttons on Amiga.org is gone! At least I haven't seen it happen since I upgraded.
Also, it seems in general more stable and faster than ever.
Both sites have problem with latest r5 beta_02, but works fine with stable official version of odyssey .. i fear in end will be forced to revert a library
@samo79 Try to unpack beta02 to ram, and then retestest everything again.
Quote:
Both sites have problem with latest r5 beta_02, but works fine with stable official version of odyssey .. i fear in end will be forced to revert a library
All the libraries should be updated, because its the only way move forward, be it 1.25, or new core, or whatever else.
Try everything from RAM: , fresh unpacked beta02. Then if issue there, fresh unpack to RAM beta01 and try that one. You know how to test things i am sure :) And i shomehow sure you mess with spoofing options at night. And plz, at moment wait till other will read/help with PNG issues plz, as topic will be flooded.
@All About png issues with png-animation images when swapped from 1.2 to 1.6 its as i expect tomorrow: when we compile with 1.2, then we inside of "if(data->surface)". When compile with 1.6, then we have no data->surface there, and fallback to to builtin animation.
Now need to understand why. Interesting that it happens only with animation pngs, not with pure ones, all other pngs loads and shows fine.
I do search in whole odysseys code just on "if(data->surface)", to see if it used anywhere else and it used in 4 classes: 2 for animation (tabtransferanimclass.cpp and transferanimclass.cpp) and 2 for icons (faciconclass.cpp and iconclass.cpp). As icons in the tabs, and icons in the hotlinks are works, it mean that "data->surface" thing works with libpng1.6, just by some reassons fail for those 2 anim classes.
Any ideas ?:)
The things i change in the Odyssey's code to compile it with 1.6, its only there (see commented at end of 2 strings, that what i added for 1.6):
But then i even use the 1.6 way, and compile with 1.2png (and 1.2 includes, no 1.6 of course), and it also works. So if something to blame, its new png includes differences and/or classes itself.
EDIT2: i also checked today's webkit code and they use the same way for 1.6 build. It seems that issue can be inside of amiga-mui code, as png-decoder seems almost the same in today's webkit. At least in that png-decoder part.
Maybe something should be also changed in cairo parts of odyssey code ..
And when i compile with includes/lib from 1.2, then i go inside of "if(cairo_surface_status(data->surface) == CAIRO_STATUS_SUCCESS)". But when i compile with 1.6, then i go to "else", so fallback later in DEFMMETHOD(Draw) to default animation, as no data->surface of course.
By some reassons with 1.6 we have !=CAIRO_STATUS_SUCCESS. Maybe cairo_image_surface_create_from_png fail somehow
Edited by kas1e on 2020/3/15 11:18:12 Edited by kas1e on 2020/3/15 11:43:48 Edited by kas1e on 2020/3/15 11:46:19 Edited by kas1e on 2020/3/15 11:47:28
-- fixed bug in Odyssey with WebP rendering being in blue color (Cairo expect ARGB, no needs for byteswap) (c) Petrol. Also, rebuild with newer libWebP v1.1.0 -- major PNG decoding changes: 1). Odyssey compiled with 1.6.37 instead of old 1.2.50 libpng + necessary changes in Odyssey's code 2). added APNG (animated png) support. Code taken from today's WebKit source code and adapted to our version + added .apng mime-type as well. Changes applied: https://trac.webkit.org/changeset/181553/webkit https://trac.webkit.org/changeset/194503/webkit For test visit https://en.wikipedia.org/wiki/APNG and see if animation works -- Ouch! The current version of Cairo we use till now didn't use Semaphores as expected, but pthreads instead ! Removed pthreads usage in favor of os4 semaphores. That theoretically can bring some speed and may have some impact on MediaPlayer. Also recompiled Cairo with libpng16 as well (but it still old version of cairo, some more work should be done before updating it) -- actual build dates for $VER: everywhere (version, aboutbox, and about.html) -- fix "download-font" script by adding --no-check-certificates to wget (c) khayoz
All updates are on github, so if morphos guys will be not that stubborn they can just copy+paste apng related parts. Probabaly if they have issues with webp then our fix can fits into to. Updated not only odyssey's code, but also SDK (new cairo lib/includes, new libpng lib/includes), so if you will build things from github, then SDK update are must and whole rebuild of whole Odyssey from scratch are must 100% (as it use cairo in all the places, and if you will keep old objects compiled with old cairo includes, it will then bring all sort of bugs). So fresh full recompilation with whole update of SDK are must.
Just did some quick testing of APNG's and webm videos. All worked quite well. Did a google search on animated PNG graphics and play many of the APNG files that came up in the search without any problems.
Found a couple of websites to test the embedded webm playback. The good old Buck Bunny embedded webm video can be found here:https://www.webmfiles.org/demo-files/
360p plays great with the X1000. 480p starts to struggle a bit. The Webm videos I tried so far seem to work great! This sitle also allows switching to vp9 format and they play but they are much more prossesor intensive so the sound can get lost.
Can i just replace the new version over the older one?
I tried that and received a lot of crashes. I then kept beta3 on its original directory and copied the key preferences files over from beta2 and it runs very stable. Even playing a lot of videos.
@joeled Better fresh install all the time, that will save us from all kind of possible issues which may happens because of different lbraries and their new/old config files. Different fontconfig caches, .db files, fonts libs, and co, everything can be cause of issues. So fresh install is must.
@ktadd In case with beta3 there was added new filetype/mimetype, so if you has for example some manually added things in prefs, then new binary may cause issues yep, as things shifts/changes. Better all the time fresh install for sure.
Would it be possible to upload your RC's to github instead? That way it would be in it s central place and people wouldn't have to remember your personal webspace