01 May 2015, 01:42 | #81 | |
Newbie Amiga programmer
Join Date: Jun 2012
Location: Front of my A500+
Age: 38
Posts: 372
|
Quote:
One is to quantize the image per N line pieces. This would result in a [(height / N) * no_colours] coloured image, which can be even more than 256, for example a 200 pixel tall picture quantized to 32 colours per 16 line would result in a 400 coloured picture. However, this can result in a slightly "striped" image, as the colours can differ in each N line tall stripe. Second is to specify the limit of colours (N), then begin to count colours from the top left corner. Whenever in a line, this colour limit is surpassed by X number of colours, then a copperlist entry would be made, with X palette entries changed to the new colours. This method would produce a result identical to the original image, however this method assumes, that the relevant lines don't contain more colours than N-X, which is highly unlikely to happen in a picture, which have very much colours. The picture can be quantized first (for example to 256 colours), but then the other method can result in higher colour numbers. But this method will still won't produce stripes. However, any method requires a copperlist chunk in the ILBM and a viewer, which can use it. Is this special chunk defined in any ILBM standard? I know about PCHG, but is that used in viewers? |
|
01 May 2015, 15:45 | #82 | |
Registered User
Join Date: Apr 2015
Location: Beauharnois,Qc,Canada
Posts: 227
|
Quote:
|
|
01 May 2015, 15:58 | #83 |
Moderator
Join Date: Jan 2002
Location: Chicago, IL
Posts: 3,375
|
I ++++ the idea of a new SSH client for Amiga. That would be nice to have.
|
01 May 2015, 21:13 | #84 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,748
|
Quote:
PCHG assume that color change need to be done during H Blank period and as such it is limited to maximum 10 - 12 but usually to 7 - 9 CLUT changes. I assume that converter should be Copper/CPU wise - cycles available cycles counted and adopted also some changes may be done in overlapping fashion (i.e. CLUT not used in near 8 pixels) may be changed by Copper during normal video line. Side to this there possibility to build special structure (pattern in BPLxDAT) and use more CLUT entries - if you look at Atari ST examples they look impressive and usually better than in Amiga approach (which should be not case). Clever color reduction for line (in interlace maybe 2 lines) with correct dithering should be sufficient to provide quasi true (12 bit) color (dreaming on hires). |
|
02 May 2015, 16:31 | #85 |
Newbie Amiga programmer
Join Date: Jun 2012
Location: Front of my A500+
Age: 38
Posts: 372
|
Well then, which IFF chunk do you suggest for copperlist storing?
Is dithering possible between two distinct images? Because if we quantize the image per N lines, those will be different images. |
03 May 2015, 00:48 | #86 | |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,748
|
Quote:
I understand that dithering is a way to distribute quantization error (and this can be tuned psycho-visually to make it less unpleasant) - see Ulichney paper http://www.hpl.hp.com/research/isl/h...ngWithBlue.pdf also http://www.compuphase.com/riemer.htm - i assume lines can overlap and as such good converter should verify interline correlation but generally yes - line or group of lines can be considered as independent picture but it will be good to do line/group of lines overlapping in a wise way. This is same issue as for HAM - normal dithering will give suboptimal results as quantization will be distributed trough HAM principle and usually is no longer correct dither but new error source (naive approach is to propagate error more to vertical direction as lines can be full independent where HAM pixels are linked - they depend from previous value and because full transitions require 2+1 pixels - problems are unavoidable - wise CLUT may help but correct dithering will be crucial). I still searching for details about proprietary STORM dither used by Moovid. |
|
03 May 2015, 11:46 | #87 |
Newbie Amiga programmer
Join Date: Jun 2012
Location: Front of my A500+
Age: 38
Posts: 372
|
If we only can replace cca. 8 colour per scanline, then we have to quantize by the following algorithm: we have to quantize to maximum 32 colours per line and pair up the two palettes of the current and previous line by searching the closest colour in the previous scanline colours for all current scanline colours. After this, we have to find the 8 most distant pairs and those colours will be replaced, the rest will be untouched. Unless we're not quantizing a picture which will have entirely different palettes per line, then it will be okay. By this method, we can get 32 + (height - 1) * 8 colours, for example 1624 colour in a 200 pixel tall image. But still, if the colours which fallen out from the list of 8 most distant are also very distant, then the image will be completely ruined.
Or we can do a little different thing. We quantize per line, but we quantize two lines at once. (Except for the last line of course.) Like this: quantize(image, 0, 0, 319, 1) quantize(image, 0, 1, 319, 2) quantize(image, 0, 2, 319, 3) ... quantize(image, 0, 198, 319, 199) quantize(image, 0, 199, 319, 199) With this method we can do dithering too. However, what viewers or programs actually support PCHG? Last edited by TCH; 03 May 2015 at 11:47. Reason: aa PCHG |
05 May 2015, 10:32 | #88 |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,748
|
Most of viewers support PCHG (i tested mostra for example, ham lab can show and convert, visage, ppshow and more).
8 - 12 colors is valid for hires, for lowres limitations are significantly reduced - side to this HAM can be used, sprites etc - generally most advanced software should be able to do tricks similar to copperchunky/plasma effect - not sure if PCHG can be flexible enough... IMHO counting colors on few lines is unavoidable as most of new color quantization algorithms trying to work on averaging method not independent pixels, side to this pattern errors detection/prevention is important (preventing dynahires stripes i.e. insufficient amount of colors). Perhaps good approach is reduce size of picture to for example half lines and for example 8 - 40 transition of colors - this create crude low res color map that can be addressed by Copper/CLUT changes, side to this normal color quantization need to be apply but focused on details. |
05 May 2015, 22:10 | #89 | |
Registered User
Join Date: Aug 2009
Location: Berkeley, USA
Posts: 15
|
Quote:
Another thing that I would love would be to have a decent enough version of emacs. Now you can either run something that is to resource hungry, think I have 18.6, or something like memacs which lacks a few too many things. Never, found an editor that I like on Amiga sadly, CED, VIM or FrexxEd doesn't really cut it for some reason. |
|
07 May 2015, 23:58 | #90 |
It's all in the reflexes!
Join Date: Nov 2009
Location: Wingkong warehouses
Posts: 206
|
A paint program with PCHG modes would be cool, but I guess it would be a lot of work to do it.
So instead, a cli program which could count the number of each line and then indicate those with more that 15 colors (the max allowed by HamLab) so that one could draw in 256 colors (out of 4096) with a paint program like Brilliance and then verify, thanks to this kind of scanline colour counting program, which scanline exceed the number of colour displayable by the PCHG format. It would help a lot ! |
08 May 2015, 23:35 | #91 |
Registered User
Join Date: Sep 2013
Location: Ireland
Posts: 800
|
+1 the SSH client. Althoiugh sftp might be more useful in my case given I wont be administering machines so much as using them for remote mass storage. I shouldn't need a 4GB CF if I can sftp into a 1TB machjne.
And, that machkne could have a headless dropbox client running as a service so I effectively have a dropbox client on my Amiga. |
09 May 2015, 20:10 | #92 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Source line debugger...source debugger...
|
13 May 2015, 20:53 | #93 |
Amigan
Join Date: Feb 2012
Location: London
Posts: 1,311
|
|
13 May 2015, 21:01 | #94 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Yes, and cpr from sasc. But we need modern c compilers and tools.
|
14 May 2015, 16:54 | #95 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
|
14 May 2015, 21:03 | #96 |
Amigan
Join Date: Feb 2012
Location: London
Posts: 1,311
|
|
14 May 2015, 21:07 | #97 |
AmigaMan
Join Date: Oct 2012
Location: Castro Urdiales/Spain
Posts: 760
|
Dont know but seen we have hardly c99 support I doubt it.
|
20 May 2015, 08:41 | #98 |
Registered User
Join Date: May 2015
Location: Kirkland, Washington, USA
Posts: 56
|
Hey y'all,
one of the suggestions on here was a full toolchain with everything pre-configured (just add Kickstart roms). I've just released such a thing - check it out here: http://www.pouet.net/prod.php?which=65625 I am particularly proud of the image converter - for example, the bob cutout functionality is very similar to what I used for Banshee over 20 years ago (as far as I can remember) |
21 May 2015, 01:21 | #99 |
Total Chaos forever!
Join Date: Aug 2007
Location: Waterville, MN, USA
Age: 49
Posts: 2,186
|
There's no backend for 68k on LLVM yet. I want to write one but got no farther than starting a project on SourceForge.net. The backend for GCC isn't good either.
|
21 May 2015, 21:14 | #100 | |
Amigan
Join Date: Feb 2012
Location: London
Posts: 1,311
|
Quote:
https://github.com/kwaters/llvm-m68k I compiled it and it does work (Debian Linux). But any C function call fails... test.c Code:
typedef unsigned int uint32_t; typedef char int8_t; uint32_t foo(uint32_t x, int8_t y) { return (x | (1 << 17)) + y; } ./llvm-m68k/build/bin/llc -march=m68k test.ll test.s Code:
SEG 'main' ; GLOBAL foo foo PROC ; @foo ; BB#0: move.l #131072, d1 or.l (a6), d1 move.b 4(a6), d0 ext.w d0 ext.l d0 add.l d1, d0 rts END |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
What is the best C software for Amiga | crosswire | Coders. General | 4 | 21 February 2013 14:41 |
Amiga Future: Amiga Software Database (ASD) Beta 2 Online | AndreasM | News | 0 | 12 January 2009 12:42 |
Amiga Software | madduck | Amiga websites reviews | 4 | 20 October 2002 23:16 |
New/Used Amiga Software | jmmijo | MarketPlace | 0 | 04 April 2002 22:30 |
PC -> Amiga Software | Shagra | request.Apps | 4 | 20 September 2001 23:50 |
|
|