Jump to content
IGNORED

Quantizator


ilmenit

Recommended Posts

I really enjoyed that film clip too. Well, not so much the film itself but the concept that you can almost believe that it's a film on the Atari!!

 

OK, well here's what I've been wasting my electric on, after 119M evaluations, a scene from Alaska.

 

post-24134-0-83373600-1338566071_thumb.png

 

output.xex

Edited by snicklin
  • Like 1
Link to comment
Share on other sites

How long did it take to render the images?

 

About a day on 3 cores with the case fans on full blast. Wife asked, "Why is your computer so loud now?"

 

200000 evaluations per frame, 2092 frames.

 

Btw, next time try to play with higher values of /dither_val (=2 or 3) if your images get too gray. It works especially better with 'chess' dithering.

Also /distance=ciede may solve the grayness problem, but the initial preprocess can take a lot of time then.

 

I'll give dither_val a try! I really like the results of ciede but, man, it is slow. The IM clip may have been a bad choice to really show off RastaConverter since the film uses heavy filtering which squelches everything but blues and oranges, so it tends to look like B&W plus highlights of color. Nonetheless, RastaConverter is awesome.

Link to comment
Share on other sites

This didn't want to run for me in Altirra last night. Any special settings? I had disk set to burst mode, PAL, 320k RAM.

 

Hmm... What symptoms did you see?

 

The only settings that I could find that don't work are:

 

- 16K

- 5200

- NTSC

 

Otherwise, it seems to work with any other settings. If you enable basic the bottom of the screen is garbled, but it still plays. Burst settings don't apply to the image loader -- it's always 0-cycles to load the next block.

Link to comment
Share on other sites

This didn't want to run for me in Altirra last night. Any special settings? I had disk set to burst mode, PAL, 320k RAM.

 

Hmm... What symptoms did you see?

 

The only settings that I could find that don't work are:

 

- 16K

- 5200

- NTSC

 

Otherwise, it seems to work with any other settings. If you enable basic the bottom of the screen is garbled, but it still plays. Burst settings don't apply to the image loader -- it's always 0-cycles to load the next block.

I dragged the XEX onto Altirra, and it just stayed on the blue "bootup" screen.

Link to comment
Share on other sites

Our IDE interfaces would slow down to probably under 40% their top speeds since these pics use a display kernal which means 0% CPU available for however many scanlines the pic is.

On NTSC the hit would be even worse since any given display always takes a higher percentage of available time.

Link to comment
Share on other sites

Just as a silly question to all, what is the highest number of evaluations that you've allowed a picture to go to? Mine is 130M but I'm sure that some people have much higher than that.

 

As I've mentioned before , 1000 million for some pictures. But the changes get very low there.

Link to comment
Share on other sites

 

 

You should watch both pictures in fullscreen.

The 1st one has a screen full of dither pixels. The 2nd (b)one has a low count of dither pixels.

(B) takes a side step (searching the next close colour)to use the amount of colours that are really available in the A8 palette, instead of using the dither pixels. So it leaves the colour range a bit, but the image gets clearer.

Link to comment
Share on other sites

As you might have recognized. Many pictures use a full screen of dither pixels, while others don't show colours where they are simply available.

 

It would be really great, to have such a filter in the converter, using the amount of colours better for the image.

 

Filter rules are rather simple....

1. use the closest colour

2. check the amount of colours

3. make a crosschek with the real palette

4. exchange further colours to add details.

 

4a. closest colour check

4b. for missing brightness values, a step to the next available colour is the solution.

Sorting rules:

green is recognized brighter than brown

yellow is recognized brighter than green.

and so on.

 

As you might see in the "b" picture, the trees get more visible by the green colour, while the visual depth is still there.

Edited by emkay
Link to comment
Share on other sites

Wouldn't it be interesting if a similar concept to this was created for music?

 

It would probably work something like this.... You tell it how much space that you want to use, 32K for example.

 

Then it breaks the song down into it's constituent parts (like how an mp3 encoder works with all those fourier transforms), then it creates different instruments and applies those to the song, overlaying other sounds on other channels. The instruments would then be updated according to how much space they're allowed to use. However it is encoded, it would be in a format which would fit a 'player' routine which the Atari could handle easily. It'd almost be like an AtariMP3. It would have to work iteratively like RastaConverter.

 

To be honest, it'd be far more complex than doing it for images. It would also probably give terrible results. Though it may well be useful when given mod files from machines from a similar era, they'd also be easier to parse.

Link to comment
Share on other sites

6. I started recently CUDA programming so maybe in the future we will have this converter much faster ;-)

8. Multiprocessing won't increase the speed. The slowest part is execution of raster program and it can't be parallelized.

 

If it can not be parallelized then CUDA is no option. As far as I know the vector-computing efficiency of a (CUDA enabled) graphics card is not much better then on a modern CPU. Where CUDA stands out is when you can dispatch the task to 1000 Vector ALUs. Must admit though that my CUDA experience is 3 years old. There might have benn changes. Would be interested to hear about that.

 

However, I find it really cool that it seems to take hours on a modern PC to calculate an optimal A8 picture. I just found this thread and havent looked at the program. Do you try out every possible combination of GR15 and PMG and measure the "distance" from the original?

Is there any particular reason why this couldn`t be ported to CUDA ? Are there any direct dependencies betweem consequent iterations ?

Let`s say you have a card with 500 cores and you run 500 iterations. With each core working on a separate iteration, you`d get a result ~500 faster than if it was running on just on GPU core. Without actually implementing it, there`s no way to find out if the speed-up compared to CPU is going to be 0.5:1 or 100:1.

 

How much work there is after a single iteration is done with computations ? Are there a lot of memory transfers (those are usually the ones that make the cuda speed-ups lower than expected) at the end ?

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...