Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Who's Online
1 user(s) are online (1 user(s) are browsing Forum)

Members: 0
Guests: 1

more...

Browsing this Thread:   1 Anonymous Users



« 1 2 (3) 4 5 »


Re: AROS BMP Picture DataType

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 162
Offline
origami,

If you are running AROS Hosted and Native maybe I could send you some test BMP images to verify the issues?

Set up some test situations for AVIv1 and v0, Hosted, Native and Vesa vs. Native drivers. Open the 8bit and 24bit images in MultiView and save them to see what happens.

Would you mind doing some testing to narrow down the issues for the BMP Datatype?

For bmp images where biClrUsed in the bitmapInfoHeader is set to zero (ULONG) I only get a black image because there is no colormap. The colormap is assigned based on numcolors in the ColorMap function. If biClrUsed is set to 256(ULONG), all is well and we can see the colored image. We are sending a zero ULONG to a function that receives it as an int numcolors. Is there an inherent conversion between ULONG and int? Yes, there are some issues here.

I have some ideas about how to fix the Load BMP function for 8bit images. But it will need to be tested and confirmed to work on AROS Hosted, Native and even AROS 68k.

Posted on: 11/19 13:04
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 162
Offline
If, as you suggest, the artefacts that I'm seeing on ABIv0 are related to issues that have been corrected in ABIv1 then how are we to know what those issues were?

If ABIv1 is more advanced than ABIv0 why isn't every flavor of AROS using ABIv1? What are the differences?

Is Icaros Desktop limited only to ABIv0? Will it ever use ABIv1? Why are we using different subsets of the same code?

These are the things I'm having difficulty with. Compared to that fixing the code itself is relatively easy.

Posted on: 11/19 13:42
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
2014/10/31 7:36
From Madrid
Group:
Member
Posts: 64
Offline
Quote:

miker wrote:


If ABIv1 is more advanced than ABIv0 why isn't every flavor of AROS using ABIv1? What are the differences?

Is Icaros Desktop limited only to ABIv0? Will it ever use ABIv1? Why are we using different subsets of the same code?

These are the things I'm having difficulty with. Compared to that fixing the code itself is relatively easy.


Agree. I know the evolution of the situation, but right now it is becoming kind of absurd, and hurting development a lot, cause an already small group of devs have to choose between 4 different kernels. Pure fragmentation.

Posted on: 11/19 14:14
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 162
Offline
It's not easy trying to write code and test it for every scenario. So, at this point I don't feel it is worthwhile to try to fix whatever may be causing the distorted images I'm getting when loading 8 bit Bitmap (BMP) files. If no one else is having display issues, maybe it's just user error on my part?

I will pursue and correct the problems with Save_BMP. It doesn't work correctly. For my image viewer I will instead use Native Methods to load BMP images correctly.

I will try to put a few selected test bitmap images into the "test" directory so that anyone who is interested can merely open them in MultiView to see if there are any distortions in the 8 bit images.

Posted on: 11/19 19:29
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
2016/8/16 0:09
Group:
Member
Posts: 321
Offline
Hi Miker,

You're going faster then a tazmanian devil so forgive for not replying to all of them at the same time.

Quote:
miker wrote:
I haven't dis-counted possible driver issues, but I can't think of any obvious way a driver could cause the behavior I'm seeing.

Different hardware uses/supports different internal storage formats. Taking every tidbit into account can cause issues, and some of them might only pop up under certain circumstances.

There can be many things wrong on even so many levels that a combination of errors/issues stacking on top of each other is capable of driving someone insane.

Quote:

Maybe but I get the same errors with the Vesa driver. I even tested the BMP Images using the Icaros Desktop Live!DVD which I assume is still ABIvO?

Yes, icaros desktop is (still) abiv0.

afaik the Vesa and gma drivers are the most tested drivers out there (together with hosted, e.g. gdi fr windows).

Quote:

The AROS Hosted test setup was using ABIv1 though I'm not absolutely sure of that.

abiv0 is here and abiv1 is here.

Inside sys:prefs/env-archive you are able to find a environment variable named ABI. That either reads 0 (for v0 abi) or -1 (for v1 abi).

Quote:

I believe I'm using ABIv0 since I'm using Icaros Desktop 32 bit.

Yes, that is correct.

Quote:

I know the issues I'm having with 8bit BMP images on my AROS system. If someone else that is using AROS Hosted ABIv1 would like to test the images by opening in MultiView, that might help to narrow down the problem.

Although that should be sufficient i had issues with multiview from day 1 and don't believe that program anymore. A few manual test using the datatype manually usually yields better results for me (at least better then multiview is sometimes able to give me). I've got no idea if that is due to code in multiview itself.

Quote:

Again, you are correct. I don't have enough test information to form a definite conclusion about the causes of these display issues. I only know what happens on my end.

Safest choice imho would be to put your eggs in the vesa or hosted driver basket first in order to check your results. Preferably on v1 as that excludes already fixed issues.

After that see what it does on other setups, in order to be able to narrow down possible causes.

Quote:

Thanks for your input on that.

You're most welcome, even though i'm not sure what i did to help. Thank you for trying to improve things from current situation.

Posted on: 11/19 22:55
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
2016/8/16 0:09
Group:
Member
Posts: 321
Offline
Quote:
miker wrote:
origami,

If you are running AROS Hosted and Native maybe I could send you some test BMP images to verify the issues?

I've PM'ed you.

... in order to keep the thread/topic/support going and in short: No, i'm currently not in a position to help you out with serious testing and providing helpful feedback on the results.


Posted on: 11/19 23:24
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
2016/8/16 0:09
Group:
Member
Posts: 321
Offline
Quote:

miker wrote:
If, as you suggest, the artefacts that I'm seeing on ABIv0 are related to issues that have been corrected in ABIv1 then how are we to know what those issues were?

That is where version control can be used for.

For instance this is a history of changes towards a source file named isxxx.c (from locale).

Usually a commit contains the reason for change, so that you could for instance (virtual example) read: "fixes distorted bmp graphics with GMA driver".

Quote:

If ABIv1 is more advanced than ABIv0 why isn't every flavor of AROS using ABIv1?

Legacy reasons.

In short, v1 abi/api is not set in stone (yet), so for every change made to those, every piece of available software needs to be recompiled.

Download the icaros DVD and install everything to see the order of magnitude we're dealing with and then try to locate all it's authors/porters to ask to do a recompilation for every change made, the distro maintainer to update the distro and end-users to spot regression.

API/ABI change ? then repeat the process.

Quote:

What are the differences?

Too may too mention in a quick reply. svn diff between v0 and v1 gives ou a literal listing of the changes.

Quote:

Is Icaros Desktop limited only to ABIv0?

Currently, yes.

Quote:

Will it ever use ABIv1?

Probably, but not until v1 is stable. Mind you that a switch to v1 also means a switch to 64 bit (and many of the available software titles are not 64-bit friendly).

Quote:

Why are we using different subsets of the same code?

You would have to be more specific about what you meant by "subset".

If i would have to guess then i think you are referring to the different platforms that sometimes have the same-named c-source files but is used only for the specific architecture/platform.

Quote:

These are the things I'm having difficulty with. Compared to that fixing the code itself is relatively easy.

Not to belittle your knowledge but am i allowed to conclude from that question that you're not too familiar with subversion trees and build-systems ?

I ask because in case the answer would be yes then this can't be answered easily in a simple forum post as there would be too many things to mention. But we can give it a try ofc

fwiw: it took me almost 2 years (in hiding) before i was able to make sense of things (again) and started to show my face around here. Before that i was keeping an eyes on things, almost from the beginning of AROS (but i also have a large gap in there of a couple of years because i disappeared from the grid for a long time).

Posted on: 11/19 23:41
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 162
Offline
Thanks for your input. I'll get accustomed to the layout of the various versions (ABIv0, v1). I'll focus on the Save_BMP issues first. Then later go back to try to fix the rest. But I have several other things to do as well. I've started the Save_ILBM function for the IFF Datatype. I'll be working on that for a couple weeks at least.

Posted on: 11/20 2:15
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
2004/10/30 17:13
From Ireland
Group:
Member
Posts: 2648
Offline
Quote:

miker wrote:
I discovered that the Banding Effect that is seen in nearly every 8bit image, if it isn't black, happens when any 8bit image exceeds width=320, height=200. Anything larger than 320x200 will have the Banding Issue. So what causes it, and why are some images completely black? The blackness usually indicates no color palette associated with the image. Not sure at all why the weird banding effect is happening.


I have at least one counterexample: developer/debug/test/datatypes/bmp/neural.bmp from the SVN source tree is 463x339x8 and displays fine for me on pc-i386 (ABIv0) and darwin-i386 (ABIv1). It would be useful if you could provide links to your test images or upload them to the same SVN dir (if copyright allows).

Quote:

The code for the BMP datatype is overly and unnecessarily complicated. Even the smallest part is so obfuscated that it is difficult to understand what's going on. The Bitmap File Type is very simplistic, yet the datatype is overly complicated and very buggy!


I agree with you about the DataType, but the format isn't that simple, as it has a lot of variations.

Quote:

The BMP Picture DataType will need to be completely re-written!


Yes, that's what I concluded after making some limited improvements to it. It would be a pity to have to do so if Gunther's code could be used instead. So a "no" from him would be more useful than no answer

Posted on: 11/20 16:29
Transfer the post to other applications Transfer


Re: AROS BMP Picture DataType

Joined:
5/2 17:15
From California, United States
Group:
Member
Posts: 162
Offline
Thanks for the information. I'll try neural.bmp from the SVN source tree that is 463x339x8.

Could you message me about the correct way to upload images? I already have some test bitmaps selected that are small enough to upload.

Now that I have examined the code more closely, some parts may have to be revised, but for the most part it may work for us.

Gunther's code seems to include support for OS/2 bitmaps as well as Windows bitmaps. He posted a BMPdt to Aminet for Amiga OS 3.x with source but I haven't contacted him about it yet. Perhaps we could rescue our BMP datatype with a few revisions before trying to reinvent it. It's worth a try.

Update: the test file neural.bmp appeared black because the ColorMap data was missing. This happens when biClrUsed in the BitmapInfoHeader is set to zero {00 00 00 00} instead of {00 01 00 00} = 256. I set the value using a Hex Editor and then I could see the image but it has the banding in it. It is interesting that you are using the BMP datatype in ABIv0 and you aren't having issues with displaying the image but I am. Maybe my datatype file is corrupted? Not sure why.

Sure enough! Part of the puzzle is now solved. As a test I loaded up the Icaros Desktop Live DVD v2.2.0 because it would presumable have a different BMP Datatype binary from the v2.0.3 version that I had installed. As I suspected based on the fact that no one else is having issues with display, the test images showed up perfectly. I must conclude that the BMP Datatype I was using was somehow corrupted or not working correctly.

But the second issue does persist and that is that trying to save an 8bit BMP image results consistently in a file of 792 bytes (six empty bytes followed by junk bytes). When saving a 24bit BMP it results in an empty file of zero bytes. The Save BMP issues are still there but they aren't difficult to fix. So we are halfway there! Whew!

As a result of this revelation I'm going to update my Icaros Desktop to the newest version before I continue.


Posted on: 11/20 17:14

Edited by miker on 2017/11/20 17:40:52
Edited by miker on 2017/11/20 17:56:55
Edited by miker on 2017/11/20 17:57:25
Edited by miker on 2017/11/20 18:06:31
Transfer the post to other applications Transfer



« 1 2 (3) 4 5 »



You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.

[Advanced Search]


Search
Top Posters
1 paolone
paolone
4365
2 magorium
magorium
4095
3 phoenixkonsole
phoenixkonsole
3893
4 nikolaos
nikolaos
3694
5 deadwood
deadwood
2923
6 ncafferkey
ncafferkey
2648
7 mazze
mazze
2214
8 clusteruk
clusteruk
2111
9 Kalamatee
Kalamatee
2024
10 damocles
damocles
1789
© 2004-2017 AROS Exec